tex_parser converted to independent repository
This commit is contained in:
parent
4d767f7a04
commit
325f7a739c
|
@ -1,148 +0,0 @@
|
|||
# This file is generated with smake.sh.
|
||||
# You can use this make file with instruction make to
|
||||
# use one of build mode: debug, profile, develop, release.
|
||||
# No need to call make clean if You make with other mode,
|
||||
# because the Makefile containes rules for automatically clean.
|
||||
# Some usage examples:
|
||||
# make # default mode is debug
|
||||
# CFLAGS="-O2 -march=core2 -mtune=core2 --msse4.1 mfpmath=sse -fomit-frame-pointer -pipe" LDFLAGS="-Wl,-O1 -Wl,-ass-needed" make mode=develop
|
||||
# CFLAGS="-O2 -march=amdfam10 -mtune=amdfam10 -msse4a --mfpmath=sse -fomit-frame-pointer -pipe" LDFLAGS="-Wl,-O1 -Wl,--as-needed" make mode=profile
|
||||
# CFLAGS="-O2 -march=k6-2 -mtune=k6-2 -m3dnow --mfpmath=387 -fomit-frame-pointer -pipe" LDFLAGS="-Wl,-O1 -Wl,--as-needed" make mode=release
|
||||
# Report bugs to <mecareful@gmail.com>
|
||||
|
||||
#_________________________________
|
||||
# ENVIRONMENT |
|
||||
#________________________________|
|
||||
CC=cc
|
||||
CXX=c++
|
||||
LIBRARIES=
|
||||
TARGET0=tex_parser_test
|
||||
TARGET= $(TARGET0)
|
||||
INCLUDE1=$(HOME)/projects/include
|
||||
INCLUDE2=/usr/local/include
|
||||
INCLUDE=-I$(INCLUDE1) -I$(INCLUDE2)
|
||||
|
||||
#________________________________________
|
||||
# BUILD SCRIPT (don't change) |
|
||||
#_______________________________________|
|
||||
ifeq ($(mode),)
|
||||
mode = debug
|
||||
endif
|
||||
ifeq ($(mode),debug)
|
||||
CFLAGS := -O0 -g -std=gnu99 -pedantic -Wextra -Wconversion $(CFLAGS)
|
||||
LDFLAGS := $(LDFLAGS)
|
||||
endif
|
||||
ifeq ($(mode),profile)
|
||||
CFLAGS := -O0 -g -p -ftest-coverage -Wcoverage-mismatch $(CFLAGS)
|
||||
LDFLAGS := -g -p $(LDFLAGS)
|
||||
endif
|
||||
ifeq ($(mode),develop)
|
||||
CFLAGS := -O2 -g $(CFLAGS)
|
||||
LDFLAGS := -O1 $(LDFLAGS)
|
||||
endif
|
||||
ifeq ($(mode),release)
|
||||
CFLAGS := -O2 $(CFLAGS)
|
||||
LDFLAGS := -O1 $(LDFLAGS)
|
||||
endif
|
||||
|
||||
CFLAGS += -Wall
|
||||
LDFLAGS += -Wall $(LIBRARIES)
|
||||
|
||||
all: change_make_options $(TARGET)
|
||||
|
||||
ifneq ($(mode),debug)
|
||||
ifneq ($(mode),profile)
|
||||
ifneq ($(mode),develop)
|
||||
ifneq ($(mode),release)
|
||||
@echo "Invalid build mode."
|
||||
@echo "Please use 'make mode=release', 'make mode=develop', 'make mode=profile' or 'make mode=debug'"
|
||||
@exit 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@echo ".........................."
|
||||
@echo "Building on "$(mode)" mode "
|
||||
@echo "CFLAGS=$(CFLAGS)"
|
||||
@echo "LDFLAGS=$(LDFLAGS)"
|
||||
@echo ".........................."
|
||||
|
||||
OLD_BUILD_MODE=$(shell grep ^MODE make_options.out 2>/dev/null | sed 's~^MODE=~~')
|
||||
OLD_BUILD_CFLAGS=$(shell grep ^CFLAGS make_options.out 2>/dev/null | sed 's~^CFLAGS=~~')
|
||||
OLD_BUILD_LDFLAGS=$(shell grep ^LDFLAGS make_options.out 2>/dev/null | sed 's~^LDFLAGS=~~')
|
||||
change_make_options:
|
||||
ifneq ($(mode)|$(CFLAGS)|$(LDFLAGS), $(OLD_BUILD_MODE)|$(OLD_BUILD_CFLAGS)|$(OLD_BUILD_LDFLAGS))
|
||||
@echo CLEANING...
|
||||
@make clean &>/dev/null
|
||||
@echo "MODE=$(mode)" > make_options.out
|
||||
@echo "CFLAGS=$(CFLAGS)" >> make_options.out
|
||||
@echo "LDFLAGS=$(LDFLAGS)" >> make_options.out
|
||||
endif
|
||||
|
||||
%.o :
|
||||
$(CC) -c $(CFLAGS) $(INCLUDE) -o $@ $<
|
||||
|
||||
clean:
|
||||
$(RM) *.o *.out callgrind.out.* *.gcno $(TARGET)
|
||||
|
||||
.PHONY: all change_make_options clean
|
||||
|
||||
#_________________________________
|
||||
# R U L E S |
|
||||
#________________________________|
|
||||
target_objs0 = \
|
||||
tex_parser_test.o \
|
||||
tex_parser.o \
|
||||
xalloc.o \
|
||||
xerror.o \
|
||||
zalloc.o \
|
||||
zalloc_ext.o \
|
||||
zerror.o
|
||||
|
||||
$(TARGET0): $(target_objs0)
|
||||
$(CC) $(LDFLAGS) -o $@ $(target_objs0)
|
||||
|
||||
|
||||
tex_parser_test.o: \
|
||||
tex_parser_test.c \
|
||||
tex_parser.h \
|
||||
$(INCLUDE1)/xalloc.h \
|
||||
$(INCLUDE1)/xerror.h \
|
||||
$(INCLUDE1)/zalloc.h \
|
||||
$(INCLUDE1)/zerror.h
|
||||
|
||||
tex_parser.o: \
|
||||
tex_parser.c \
|
||||
$(INCLUDE1)/c_const.h \
|
||||
tex_parser.h \
|
||||
tex_parser_const.h \
|
||||
tex_parser_tags.h \
|
||||
$(INCLUDE1)/xerror.h \
|
||||
$(INCLUDE1)/zalloc.h \
|
||||
$(INCLUDE1)/zalloc_ext.h \
|
||||
$(INCLUDE1)/zerror.h
|
||||
|
||||
xalloc.o: \
|
||||
$(INCLUDE1)/xalloc.c \
|
||||
$(INCLUDE1)/xalloc.h \
|
||||
$(INCLUDE1)/xerror.h
|
||||
|
||||
xerror.o: \
|
||||
$(INCLUDE1)/xerror.c \
|
||||
$(INCLUDE1)/xerror.h
|
||||
|
||||
zalloc.o: \
|
||||
$(INCLUDE1)/zalloc.c \
|
||||
$(INCLUDE1)/xerror.h \
|
||||
$(INCLUDE1)/zalloc.h
|
||||
|
||||
zerror.o: \
|
||||
$(INCLUDE1)/zerror.c \
|
||||
$(INCLUDE1)/xerror.h \
|
||||
$(INCLUDE1)/zerror.h
|
||||
|
||||
zalloc_ext.o: \
|
||||
$(INCLUDE1)/zalloc_ext.c \
|
||||
$(INCLUDE1)/zalloc.h \
|
||||
$(INCLUDE1)/zalloc_ext.h
|
||||
|
|
@ -1,196 +0,0 @@
|
|||
%\p{\tabularnewline}{\\}
|
||||
%\a{\b}{\\}
|
||||
|
||||
%%%%%
|
||||
%\c
|
||||
%\end
|
||||
|
||||
%~ \D{\c}{%
|
||||
%~ \f{T}\s\d\e{T}}
|
||||
%~ \D{\t}[1]{\l{\c #1}}
|
||||
%~ \A{\D{T}{}{}}
|
||||
|
||||
%% B
|
||||
%~ \p{\t}{\\}
|
||||
|
||||
%% U
|
||||
%~ \u[r]{b}
|
||||
|
||||
%~ \end{HA}
|
||||
|
||||
%\t{\T{p}}
|
||||
%\end{haha}
|
||||
|
||||
%% LyX 1.6.8 created this file. For more info, see http://www.lyx.org/.
|
||||
%% Do not edit unless you really know what you are doing.
|
||||
\documentclass[english,russian]{article}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[latin9,koi8-r]{inputenc}
|
||||
\usepackage{array}
|
||||
\usepackage{longtable}
|
||||
\usepackage{textcomp}
|
||||
|
||||
\makeatletter
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
|
||||
\DeclareRobustCommand{\cyrtext}{%
|
||||
\fontencoding{T2A}\selectfont\def\encodingdefault{T2A}}
|
||||
\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}}
|
||||
\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}}
|
||||
|
||||
%% Because html converters don't know tabularnewline
|
||||
\providecommand{\tabularnewline}{\\}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
|
||||
\usepackage[russian]{babel}
|
||||
\usepackage{array,longtable}
|
||||
\usepackage{rotating}
|
||||
\usepackage{setspace}
|
||||
\usepackage{geometry}
|
||||
\usepackage{float}
|
||||
\usepackage{multirow}
|
||||
\renewcommand{\multirowsetup}{\centering}
|
||||
|
||||
\makeatother
|
||||
|
||||
\usepackage{babel}
|
||||
|
||||
\begin{document}
|
||||
DrosselTable1
|
||||
|
||||
\begin{longtable}{|>{\centering}p{0.11\linewidth}|>{\raggedright}p{0.05\linewidth}|>{\centering}p{0.07\paperwidth}|>{\centering}p{0.07\paperwidth}|>{\centering}m{0.07\paperheight}|>{\centering}m{0.07\paperheight}|>{\centering}p{0.07\paperheight}|>{\centering}p{0.07\paperheight}|}
|
||||
\hline
|
||||
\multicolumn{8}{|c|}{ó×ÏÄÎÙÊ ÐÒÏÔÏËÏÌ ÒÅÚÕÌØÔÁÔÏ× ÉÓÐÙÔÁÎÉÑ Ä×ÉÇÁÔÅÌÑ ô÷7-117÷ \textnumero{}}\tabularnewline
|
||||
\multicolumn{8}{|c|}{óÔÅÎÄ \textnumero{}18 ~~ éõä óéë ~ äÁÔÁ: ~~~~~~~~ Ç. ÷ÒÅÍÑ:
|
||||
~~~~~~~~~ òÎ = ~~~ ÍÍ ÒÔ ÓÔ~~ t×È = ~~~ $\,^{\circ}\mbox{C}$}\tabularnewline
|
||||
\multicolumn{8}{|c|}{èÁÒÁËÔÅÒÉÓÔÉËÁ ~~~~~~~ áËÔ ÓÄÁÞÉ, ËÏÎÔÒÏÌØÎÙÅ ÔÏÞËÉ}\tabularnewline
|
||||
\hline
|
||||
\endhead
|
||||
\hline
|
||||
\multicolumn{2}{|>{\centering}m{0.11\linewidth}|}{\centering{}óÏÓÔÁ×ÉÌ} & \multicolumn{2}{c|}{éÎÖÅÎÅÒ ÐÏ ÉÓÐÙÔÁÎÉÑÍ} & îÁÞÁÌØÎÉË âôë & îÁÞÁÌØÎÉË ÕÞÁÓÔËÁ õéä óéë & \multicolumn{2}{c|}{ðÒÅÄÓÔÁ×ÉÔÅÌØ ÚÁËÁÚÞÉËÁ}\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\centering{}\textit{ðÏÄÐÉÓØ}} & \multicolumn{2}{c|}{\textit{ðÏÄÐÉÓØ}} & \centering{}\textit{ðÏÄÐÉÓØ} & \centering{}\textit{ðÏÄÐÉÓØ} & \multicolumn{2}{c|}{\textit{ðÏÄÐÉÓØ}}\tabularnewline
|
||||
\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\textit{ÆÁÍÉÌÉÑ}} & \multicolumn{2}{c|}{\textit{ÆÁÍÉÌÉÑ}} & \multicolumn{1}{c|}{\textit{ÆÁÍÉÌÉÑ}} & \textit{ÆÁÍÉÌÉÑ} & \multicolumn{2}{c|}{\textit{ÆÁÍÉÌÉÑ}}\tabularnewline
|
||||
\hline
|
||||
\endfoot
|
||||
\multicolumn{8}{|l|}{õÓÒÅÄΣÎÎÙÅ ÚÎÁÞÅÎÉÑ ÐÏ ÒÅÖÉÍÁÍ}\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|c|}{ðÁÒÁÍÅÔÒ} & NÅÐÒ & Ce & GÔ ÐÒ & nÔË ÐÒ & t{*}z ÓÔ ÐÒ & ðË\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|>{\centering}p{0.07\paperwidth}|}{\centering{}òÅÖÉÍ} & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{úíç} & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{0,4 Íð} & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{Ne1650} & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{íËÒ} & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{íð} & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{Ne2500} & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{÷ÚÌ} & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{30-ÍÉÎ.Í.} & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{8}{|c|}{úÁÍÅÒÅÎÎÙÅ ÐÁÒÁÍÅÔÒÙ}\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|c|}{ðÁÒÁÍÅÔÒ} & Ne & Ce & GÔ & nÔË & t{*}z ÓÔ & ðË\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{úíç} & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|l|}{2,5 ÍÉÎ.Í.} & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{8}{|c|}{ïÃÅÎËÁ ÒÅÖÉÍÏ× ÐÏ ôõ}\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|c|}{ðÁÒÁÍÅÔÒ} & \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.07\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{NeÐÒ}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.07\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{ÎÅ
|
||||
ÂÏÌÅÅ nÔË ÐÒ,\%}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.07\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{nÓÔ,\%}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.09\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{ÎÅ
|
||||
ÂÏÌÅÅ t{*}z ÓÔ ÐÒ,$\,^{\circ}\mbox{C}$}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.08\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{ÎÅ
|
||||
ÂÏÌÅÅ Ce Ç/Ì.Ó.Þ.}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.07\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{GÔ
|
||||
ÐÒ, ËÇ/ÞÁÓ}}\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\cline{1-2}
|
||||
\multicolumn{2}{|c|}{òÅÖÉÍ} & & & & & & \tabularnewline
|
||||
\hline
|
||||
& ôõ & 1900 & 93,0 & 98,0$\pm$0,5 & 680 & 221 & -\tabularnewline
|
||||
\cline{2-8}
|
||||
íËÒ & æÁËÔ & & & & & & \tabularnewline
|
||||
\cline{2-8}
|
||||
& ïÔËÌ. & & & & & & \tabularnewline
|
||||
\hline
|
||||
& ôõ & 2100 & 94,0 & 98,0$\pm$0,5 & 705 & - & -\tabularnewline
|
||||
\cline{2-8}
|
||||
íð & æÁËÔ & & & & & & \tabularnewline
|
||||
\cline{2-8}
|
||||
& ïÔËÌ. & & & & & & \tabularnewline
|
||||
\hline
|
||||
& ôõ & 2800 & 97,5 & 98,0$\pm$0,5 & 775 & 205 & -\tabularnewline
|
||||
\cline{2-8}
|
||||
÷ÚÌ & æÁËÔ & & & & & & \tabularnewline
|
||||
\cline{2-8}
|
||||
& ïÔËÌ. & & & & & & \tabularnewline
|
||||
\hline
|
||||
& ôõ & 3000 & 98,5 & 98,0$\pm$0,5 & 795 & - & -\tabularnewline
|
||||
\cline{2-8}
|
||||
30-ÍÉÎ.Í. & æÁËÔ & & & & & & \tabularnewline
|
||||
\cline{2-8}
|
||||
& ïÔËÌ. & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{8}{|c|}{úÁÍÅÒÅÎÎÙÅ ÐÁÒÁÍÅÔÒÙ}\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|c|}{ðÁÒÁÍÅÔÒ} & \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.07\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{Ne}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.07\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{ÎÅ
|
||||
ÂÏÌÅÅ nÔË,\%}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.07\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{nÓÔ,\%}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.09\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{ÎÅ
|
||||
ÂÏÌÅÅ t{*}z ÓÔ,$\,^{\circ}\mbox{C}$}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.08\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{ÎÅ
|
||||
ÂÏÌÅÅ Ce Ç/Ì.Ó.Þ.}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.07\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{GÔ,
|
||||
ËÇ/ÞÁÓ}}\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\cline{1-2}
|
||||
\multicolumn{2}{|c|}{òÅÖÉÍ} & & & & & & \tabularnewline
|
||||
\hline
|
||||
& ôõ & - & & 80,0$\pm$0,5 & - & - & -\tabularnewline
|
||||
\cline{2-8}
|
||||
úíç & æÁËÔ & & & & & & \tabularnewline
|
||||
\cline{2-8}
|
||||
& ïÔËÌ. & & & & & & \tabularnewline
|
||||
\hline
|
||||
& ôõ & - & 101,0 & 98,0$\pm$0,5 & 805 & - & -\tabularnewline
|
||||
\cline{2-8}
|
||||
2,5 ÍÉÎ.Í. & æÁËÔ & & & & & & \tabularnewline
|
||||
\cline{2-8}
|
||||
& ïÔËÌ. & & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{3}{|c|}{A0} & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{3}{|c|}{A1} & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{3}{|c|}{A2} & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{3}{|c|}{óëï} & & & & & \tabularnewline
|
||||
\hline
|
||||
\multicolumn{3}{|c|}{ðÒÉÍÅÞÁÎÉÅ} & \multicolumn{5}{c|}{}\tabularnewline
|
||||
\end{longtable}
|
||||
\end{document}
|
|
@ -1,419 +0,0 @@
|
|||
%% LyX 1.6.8 created this file. For more info, see http://www.lyx.org/.
|
||||
%% Do not edit unless you really know what you are doing.
|
||||
\documentclass[russian,english]{article}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[koi8-r,latin9]{inputenc}
|
||||
\usepackage{array}
|
||||
\usepackage{longtable}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{amstext}
|
||||
|
||||
\makeatletter
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
|
||||
\DeclareRobustCommand{\cyrtext}{%
|
||||
\fontencoding{T2A}\selectfont\def\encodingdefault{T2A}}
|
||||
\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}}
|
||||
\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}}
|
||||
|
||||
\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold}
|
||||
\text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi}
|
||||
|
||||
%% Because html converters don't know tabularnewline
|
||||
\providecommand{\tabularnewline}{\\}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
|
||||
\newcommand{\lyxaddress}[1]{
|
||||
\par {\raggedright #1
|
||||
\vspace{1.4em}
|
||||
\noindent\par}
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
|
||||
\usepackage[russian]{babel}
|
||||
\usepackage{array,longtable}
|
||||
\usepackage{rotating}
|
||||
\usepackage{setspace}
|
||||
\usepackage{geometry}
|
||||
\usepackage{float}
|
||||
\usepackage{multirow}
|
||||
\renewcommand{\multirowsetup}{\centering}
|
||||
|
||||
\makeatother
|
||||
|
||||
\usepackage{babel}
|
||||
|
||||
\begin{document}
|
||||
\begin{flushright}
|
||||
\textcyr{\char244}. 07-726\textcyr{\char192}
|
||||
\par\end{flushright}
|
||||
|
||||
\begin{center}
|
||||
\textbf{\textcyr{\char212\char238\char240\char236\char243\char235\char255\char240\char237\char251\char229}
|
||||
\textcyr{\char228\char224\char237\char237\char251\char229} \textcyr{\char239\char238}
|
||||
06\textcyr{\char194}.00.0100\textcyr{\char194\char210\char211}}
|
||||
\par\end{center}
|
||||
|
||||
\begin{center}
|
||||
\textcyr{\char228\char226\char232\char227\char224\char242\char229\char235\char255}
|
||||
\textcyr{\char210\char194}7-117\textcyr{\char194} \textnumero{}\rule[-1pt]{3.5cm}{0.4pt}
|
||||
\textcyr{\char210\char229\char236\char239\char229\char240\char224\char242\char243\char240\char224}
|
||||
\textcyr{\char237\char224\char240\char243\char230\char237\char238\char227\char238}
|
||||
\textcyr{\char226\char238\char231\char228\char243\char245\char224}
|
||||
$t_{\text{\textcyr{\char237}}}$, \rule[-1pt]{1cm}{0.4pt},\inputencoding{koi8-r}\foreignlanguage{russian}{
|
||||
$\,^{\circ}\mbox{C}$}
|
||||
\par\end{center}
|
||||
|
||||
\selectlanguage{russian}%
|
||||
\inputencoding{koi8-r}%
|
||||
ÏÔ\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt}\inputencoding{latin9}\foreignlanguage{english}{
|
||||
20~~~~\textcyr{\char227}.~~~~~~\textcyr{\char196\char224\char226\char235\char229\char237\char232\char229}
|
||||
\textcyr{\char237\char224\char240\char243\char230\char237\char238\char227\char238}
|
||||
\textcyr{\char226\char238\char231\char228\char243\char245\char224},
|
||||
$P_{\text{\textcyr{\char205}}}$\rule[-1pt]{1.0cm}{0.4pt} \textcyr{\char236\char236}.
|
||||
\textcyr{\char240\char242}. \textcyr{\char241\char242}.}
|
||||
|
||||
\inputencoding{koi8-r}Drossel55.Table1
|
||||
|
||||
\selectlanguage{english}%
|
||||
\inputencoding{latin9}\begin{longtable}{|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|}
|
||||
\hline
|
||||
\linebreak\multirow{2}{0.06\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{òÅÖÉÍ
|
||||
ÒÁÂÏÔÙ Ä×ÉÇÁÔÅÌÑ}} & & \linebreak\multirow{2}{0.1\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{íÏÝÎÏÓÔØ
|
||||
ÎÁ }\inputencoding{latin9}\textcyr{\char226\char251\char226\char238\char228\char237\char238\char236}
|
||||
\textcyr{\char226\char224\char235\char243} \textbf{N \textcyr{\char235}.\textcyr{\char241}.}\inputencoding{koi8-r}\foreignlanguage{russian}{}} & \multicolumn{2}{c|}{\inputencoding{latin9}%
|
||||
\textcyr{\char215\char224\char241\char242\char238\char242\char224}
|
||||
\textcyr{\char226\char240\char224\char249\char229\char237\char232\char255}
|
||||
\textcyr{\char240\char238\char242\char238\char240\char224}} & \multirow{2}{0.1\paperwidth}{\textcyr{\char210\char229\char236\char239\char229\char240\char224\char242\char243\char240\char224}
|
||||
\textcyr{\char227\char224\char231\char224} \textcyr{\char239\char229\char240\char229\char228}
|
||||
\textcyr{\char241\char226\char238\char225\char238\char228\char237\char238\char233\char242\char243\char240\char225\char232\char237\char238\char233}
|
||||
\textcyr{\char237\char229} \textcyr{\char225\char238\char235\char229\char229}
|
||||
\textbf{t$_{4}$},\inputencoding{koi8-r}\foreignlanguage{russian}{$\,^{\circ}\mbox{C}$}} & \inputencoding{latin9}\multirow{2}{0.09\paperwidth}{\textcyr{\char211\char228\char229\char235\char252\char237\char251\char233}
|
||||
\textcyr{\char240\char224\char241\char245\char238\char228} \textcyr{\char242\char238\char239\char235\char232\char226\char224}
|
||||
\textcyr{\char237\char229} \textcyr{\char225\char238\char235\char229\char229}
|
||||
\textbf{C$_{R\text{ \textcyr{\char239}\textcyr{\char240}}}$}\textcyr{\char227}/\textcyr{\char235}.\textcyr{\char241}.\textcyr{\char247}.\inputencoding{koi8-r}\foreignlanguage{russian}{}}\tabularnewline
|
||||
\cline{4-5}
|
||||
& & & \textcyr{\char242\char243\char240\char225\char238}-\textcyr{\char234\char238\char236\char239\char240\char229\char241\char241\char238\char240\char224}
|
||||
\textcyr{\char237\char229} \textcyr{\char225\char238\char235\char229\char229}
|
||||
\textbf{n$_{\text{\textcyr{\char242}\textcyr{\char234} \textcyr{\char239}\textcyr{\char240}}}$},
|
||||
\% & \textcyr{\char241\char226\char238\char225\char238\char228\char237\char238\char233}
|
||||
\textcyr{\char242\char243\char240\char225\char232\char237\char251}
|
||||
\textbf{n$_{\lyxmathsym{\textcyr{\char241}\textcyr{\char242}}}$},
|
||||
\% & & \centering{}\tabularnewline
|
||||
\hline
|
||||
\multirow{2}{0.11\paperwidth}{{*}2,5-\textcyr{\char236\char232\char237\char243\char242\char237\char238\char233}
|
||||
\textcyr{\char236\char238\char249\char237\char238\char241\char242\char232}\inputencoding{koi8-r}\foreignlanguage{russian}{}} & \inputencoding{latin9}%
|
||||
\textcyr{\char210\char211} & & 101,0 & \selectlanguage{russian}%
|
||||
\inputencoding{koi8-r}98$\pm$0,5\selectlanguage{english}
|
||||
& \inputencoding{latin9}805 & -\tabularnewline
|
||||
\cline{2-7}
|
||||
& \textcyr{\char212\char224\char234\char242} & & & & & \tabularnewline
|
||||
\hline
|
||||
\multirow{2}{0.1\paperwidth}{30-\textcyr{\char236\char232\char237\char243\char242\char237\char238\char233}
|
||||
\textcyr{\char236\char238\char249\char237\char238\char241\char242\char232}\inputencoding{koi8-r}\foreignlanguage{russian}{}} & \inputencoding{latin9}%
|
||||
\textcyr{\char210\char211} & 3000 & 98,5 & \selectlanguage{russian}%
|
||||
\inputencoding{koi8-r}98$\pm$0,5\selectlanguage{english}
|
||||
& \inputencoding{latin9}795 & -\tabularnewline
|
||||
\cline{2-7}
|
||||
& \textcyr{\char212\char224\char234\char242} & & & & & \tabularnewline
|
||||
\hline
|
||||
\multirow{2}{0.1\paperwidth}{\textcyr{\char194\char199\char203}\inputencoding{koi8-r}\foreignlanguage{russian}{}} & \inputencoding{latin9}%
|
||||
\textcyr{\char210\char211} & 2800 & 97,5 & \selectlanguage{russian}%
|
||||
\inputencoding{koi8-r}98$\pm$0,5\selectlanguage{english}
|
||||
& \inputencoding{latin9}775 & 205\tabularnewline
|
||||
\cline{2-7}
|
||||
& \textcyr{\char212\char224\char234\char242} & & & & & \tabularnewline
|
||||
\hline
|
||||
\multirow{2}{0.07\paperwidth}{\textcyr{\char204\char207}\inputencoding{koi8-r}\foreignlanguage{russian}{}} & \inputencoding{latin9}%
|
||||
\textcyr{\char210\char211} & 2100 & 94,0 & \selectlanguage{russian}%
|
||||
\inputencoding{koi8-r}98$\pm$0,5\selectlanguage{english}
|
||||
& \inputencoding{latin9}705 & -\tabularnewline
|
||||
\cline{2-7}
|
||||
& \textcyr{\char212\char224\char234\char242} & & & & & \tabularnewline
|
||||
\hline
|
||||
\multirow{2}{0.1\paperwidth}{\textcyr{\char204\char202\char240}\inputencoding{koi8-r}\foreignlanguage{russian}{}} & \inputencoding{latin9}%
|
||||
\textcyr{\char210\char211} & 1900 & 93,0 & \selectlanguage{russian}%
|
||||
\inputencoding{koi8-r}98$\pm$0,5\selectlanguage{english}
|
||||
& \inputencoding{latin9}680 & 221\tabularnewline
|
||||
\cline{2-7}
|
||||
& \textcyr{\char212\char224\char234\char242} & & & & & \tabularnewline
|
||||
\hline
|
||||
\multirow{2}{0.1\paperwidth}{{*} \textcyr{\char199\char204\char195}\inputencoding{koi8-r}\foreignlanguage{russian}{}} & \inputencoding{latin9}%
|
||||
\textcyr{\char210\char211} & - & - & \selectlanguage{russian}%
|
||||
\inputencoding{koi8-r}80$\pm$0,5\selectlanguage{english}
|
||||
& \inputencoding{latin9}- & -\tabularnewline
|
||||
\cline{2-7}
|
||||
& \textcyr{\char212\char224\char234\char242} & & & & & \tabularnewline
|
||||
\hline
|
||||
\end{longtable}
|
||||
|
||||
\begin{flushleft}
|
||||
{*} - \textcyr{\char232\char231\char236\char229\char240\char229\char237\char237\char251\char229}
|
||||
\textcyr{\char239\char224\char240\char224\char236\char229\char242\char240\char251}\hspace*{1in}\textbf{\textsc{\textcyr{\char205\char224\char241\char242\char240\char238\char229\char247\char237\char251\char229}
|
||||
\textcyr{\char239\char224\char240\char224\char236\char229\char242\char240\char251}}}
|
||||
\par\end{flushleft}
|
||||
|
||||
\selectlanguage{russian}%
|
||||
\begin{flushleft}
|
||||
\inputencoding{koi8-r}Drossel55.Table2\inputencoding{latin9}\foreignlanguage{english}{\textsc{}}\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|}
|
||||
\hline
|
||||
\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\selectlanguage{english}%
|
||||
\centering{}\textbf{\textcyr{\char207\char224\char240\char224\char236\char229\char242\char240}}\selectlanguage{russian}
|
||||
} & \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.1\paperwidth}{\textbf{\textcyr{\char206\char225\char238\char231\char237\char224\char247\char229\char237\char232\char229}}\inputencoding{koi8-r}\foreignlanguage{russian}{}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.1\paperwidth}{\textbf{\textcyr{\char208\char229\char230\char232\char236}}\inputencoding{koi8-r}\foreignlanguage{russian}{}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
|
||||
\lyxaddress{\inputencoding{latin9}\multirow{2}{0.1\paperwidth}{\textbf{\textcyr{\char199\char237\char224\char247\char229\char237\char232\char229},
|
||||
\textcyr{\char239\char238\char235\char243\char247\char229\char237\char237\char238\char229}
|
||||
\textcyr{\char239\char240\char232} \textcyr{\char232\char241\char239\char251\char242\char224\char237\char232\char232}}\inputencoding{koi8-r}\foreignlanguage{russian}{}}}\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\cline{1-2}
|
||||
\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{\selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\textbf{\textcyr{\char205\char224\char232\char236\char229\char237\char238\char226\char224\char237\char232\char229}
|
||||
\textcyr{\char232} \textcyr{\char229\char228\char232\char237\char232\char246\char224}
|
||||
\textcyr{\char232\char231\char236\char229\char240\char229\char237\char232\char255}}\selectlanguage{russian}
|
||||
} & \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\endhead
|
||||
\hline
|
||||
\multicolumn{2}{|c|}{\selectlanguage{english}%
|
||||
\inputencoding{latin9}1\selectlanguage{russian}
|
||||
} & \selectlanguage{english}%
|
||||
2\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}3\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
4\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{\selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\begin{minipage}[t]{0.45\columnwidth}%
|
||||
\textcyr{\char205\char224\char241\char242\char240\char238\char229\char247\char237\char224\char255}
|
||||
\textcyr{\char226\char229\char235\char232\char247\char232\char237\char224}
|
||||
\textcyr{\char247\char224\char241\char242\char238\char242\char251}
|
||||
\textcyr{\char226\char240\char224\char249\char229\char237\char232\char255}
|
||||
|
||||
\textcyr{\char240\char238\char242\char238\char240\char224} \textcyr{\char242\char243\char240\char225\char238\char234\char238\char236\char239\char240\char229\char241\char241\char238\char240\char224},
|
||||
\%%
|
||||
\end{minipage}\selectlanguage{russian}
|
||||
} & \selectlanguage{english}%
|
||||
\centering{}$n_{\text{\textcyr{\char242}\textcyr{\char234}\_\textcyr{\char236}\textcyr{\char227}}}0$\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\textcyr{\char204\char195}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{\selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\begin{minipage}[t]{0.45\columnwidth}%
|
||||
\textcyr{\char205\char224\char241\char242\char240\char238\char229\char247\char237\char224\char255}
|
||||
\textcyr{\char226\char229\char235\char232\char247\char232\char237\char224}
|
||||
\textcyr{\char247\char224\char241\char242\char238\char242\char251}
|
||||
\textcyr{\char226\char240\char224\char249\char229\char237\char232\char255}
|
||||
|
||||
\textcyr{\char240\char238\char242\char238\char240\char224} \textcyr{\char242\char243\char240\char225\char238\char234\char238\char236\char239\char240\char229\char241\char241\char238\char240\char224},
|
||||
\%%
|
||||
\end{minipage}\selectlanguage{russian}
|
||||
} & \selectlanguage{english}%
|
||||
\centering{}$n_{\text{\textcyr{\char242}\textcyr{\char234}\_\textcyr{\char226}\textcyr{\char231}\textcyr{\char235}}}0$\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}<<\textcyr{\char194\char231\char235\char188\char242}>>\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|c|}{\selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\begin{minipage}[c]{0.45\columnwidth}%
|
||||
\textcyr{\char205\char224\char241\char242\char240\char238\char229\char247\char237\char224\char255}
|
||||
\textcyr{\char226\char229\char235\char232\char247\char232\char237\char224}
|
||||
\textcyr{\char236\char232\char237\char232\char236\char224\char235\char252\char237\char238\char233}
|
||||
\textcyr{\char247\char224\char241\char242\char238\char242\char251}
|
||||
\textcyr{\char226\char240\char224\char249\char229\char237\char232\char255}
|
||||
\textcyr{\char240\char238\char242\char238\char240\char224} \textcyr{\char242\char243\char240\char225\char238\char234\char238\char236\char239\char240\char229\char241\char241\char238\char240\char224},
|
||||
\%%
|
||||
\end{minipage}\selectlanguage{russian}
|
||||
} & \selectlanguage{english}%
|
||||
\centering{}$n_{\text{\textcyr{\char242}\textcyr{\char234}\_\textcyr{\char236}\textcyr{\char232}\textcyr{\char237}}}0$\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\textcyr{\char204\char195}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|c|}{\selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\begin{minipage}[t]{0.45\columnwidth}%
|
||||
\textcyr{\char205\char224\char241\char242\char240\char238\char229\char247\char237\char224\char255}
|
||||
\textcyr{\char226\char229\char235\char232\char247\char232\char237\char224}
|
||||
\textcyr{\char239\char229\char240\char229\char241\char242\char240\char238\char233\char234\char232}
|
||||
\textcyr{\char247\char224\char241\char242\char238\char242\char251}
|
||||
\textcyr{\char226\char240\char224\char249\char229\char237\char232\char255}
|
||||
\textcyr{\char240\char238\char242\char238\char240\char224} \textcyr{\char242\char243\char240\char225\char238\char234\char238\char236\char239\char240\char229\char241\char241\char238\char240\char224}
|
||||
\textcyr{\char239\char240\char232} <<\textcyr{\char208\char224\char231\char240\char229\char248\char229\char237\char232\char232}
|
||||
\textcyr{\char208\char207\char204}>>,\%%
|
||||
\end{minipage}\selectlanguage{russian}
|
||||
} & \selectlanguage{english}%
|
||||
\centering{}$\Delta n_{\text{\textcyr{\char242}\textcyr{\char234}\_\textcyr{\char226}\textcyr{\char231}\textcyr{\char235}}}0$\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}<<\textcyr{\char194\char231\char235\char188\char242}>>\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{\selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\begin{minipage}[t]{0.45\columnwidth}%
|
||||
\textcyr{\char205\char224\char241\char242\char240\char238\char229\char247\char237\char224\char255}
|
||||
\textcyr{\char226\char229\char235\char232\char247\char232\char237\char224}
|
||||
\textcyr{\char239\char229\char240\char229\char241\char242\char240\char238\char233\char234\char232}
|
||||
\textcyr{\char247\char224\char241\char242\char238\char242\char251}
|
||||
\textcyr{\char226\char240\char224\char249\char229\char237\char232\char255}
|
||||
\textcyr{\char240\char238\char242\char238\char240\char224} \textcyr{\char242\char243\char240\char225\char238\char234\char238\char236\char239\char240\char229\char241\char241\char238\char240\char224}
|
||||
\textcyr{\char239\char238} \textcyr{\char234\char238\char236\char224\char237\char228\char229}
|
||||
<<\textcyr{\char210\char240\char229\char237\char232\char240\char238\char226\char238\char247\char237\char251\char233}
|
||||
\textcyr{\char240\char229\char230\char232\char236}>>, \%%
|
||||
\end{minipage}\selectlanguage{russian}
|
||||
} & \selectlanguage{english}%
|
||||
\centering{}$\Delta n_{\text{\textcyr{\char242}\textcyr{\char234}\_\textcyr{\char242}\textcyr{\char240}}}0$\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}<<\textcyr{\char194\char231\char235\char188\char242}>>\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|c|}{\selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\begin{minipage}[t]{0.45\columnwidth}%
|
||||
\textcyr{\char208\char224\char241\char245\char238\char228\char237\char251\char233}
|
||||
\textcyr{\char234\char238\char253\char244\char244\char232\char246\char232\char229\char237\char242}
|
||||
1-\textcyr{\char227\char238} \textcyr{\char234\char238\char237\char242\char243\char240\char224}
|
||||
\textcyr{\char244\char238\char240\char241\char243\char237\char238\char234}%
|
||||
\end{minipage}\selectlanguage{russian}
|
||||
} & \selectlanguage{english}%
|
||||
\centering{}$\Psi_{(\mu F)}$\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}-\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\hline
|
||||
\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{\selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\begin{minipage}[t]{0.45\columnwidth}%
|
||||
\textcyr{\char207\char240\char238\char227\char240\char224\char236\char236\char237\char251\char233}
|
||||
\textcyr{\char240\char224\char241\char245\char238\char228} \textcyr{\char242\char238\char239\char235\char232\char226\char224}
|
||||
\textcyr{\char226} \textcyr{\char208\char209}, \textcyr{\char234\char227}/\textcyr{\char247}%
|
||||
\end{minipage}\selectlanguage{russian}
|
||||
} & \selectlanguage{english}%
|
||||
\centering{}$G_{\text{\textcyr{\char242} \textcyr{\char239}\textcyr{\char240}\textcyr{\char238}\textcyr{\char227} \textcyr{\char208}\textcyr{\char209} \textcyr{\char204}\textcyr{\char195}}}$\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}-\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\hline
|
||||
\selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.15\paperwidth}{\inputencoding{koi8-r}\foreignlanguage{russian}{ðÁÒÁÍÅÔÒÙ
|
||||
ÉÚÍÅÒÉÔÅÌÑ ËÒÕÔÑÝÅÇÏ ÍÏÍÅÎÔÁ}}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\textcyr{\char205\char224\char247\char224\char235\char252\char237\char238\char229}
|
||||
\textcyr{\char241\char236\char229\char249\char229\char237\char232\char229},
|
||||
\textcyr{\char227\char240\char224\char228}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\centering{}$\phi_{\text{\textcyr{\char232}\textcyr{\char234}\textcyr{\char236}}}0$\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}\multirow{2}{0.1\paperwidth}{-}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\cline{2-3} \cline{5-5}
|
||||
\selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\inputencoding{latin9}%
|
||||
\textcyr{\char202\char238\char253\char244\char244\char232\char246\char232\char229\char237\char242}
|
||||
\textcyr{\char245\char224\char240\char224\char234\char242\char229\char240\char232\char241\char242\char232\char234\char232}\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\centering{}$K$\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
& \selectlanguage{english}%
|
||||
\selectlanguage{russian}
|
||||
\tabularnewline
|
||||
\hline
|
||||
\end{longtable}
|
||||
\par\end{flushleft}
|
||||
|
||||
\selectlanguage{english}%
|
||||
\textcyr{\char208\char224\char241\char245\char238\char228} \textcyr{\char236\char224\char241\char235\char224},
|
||||
\textcyr{\char235}/\textcyr{\char247} \rule[-1pt]{2.0cm}{0.4pt} (\textcyr{\char237\char229}
|
||||
\textcyr{\char225\char238\char235\char229\char229} 0,2)
|
||||
|
||||
\begin{flushleft}
|
||||
\textbf{\textcyr{\char199\char224\char226\char232\char241\char232\char236\char238\char241\char242\char252}
|
||||
\textcyr{\char236\char229\char230\char228\char243} \textcyr{\char239\char238\char235\char238\char230\char229\char237\char232\char229\char236}
|
||||
\textcyr{\char228\char238\char231\char232\char240\char243\char254\char249\char229\char233}
|
||||
\textcyr{\char232\char227\char235\char251} \textcyr{\char232} \textcyr{\char240\char224\char241\char245\char238\char228\char238\char236}
|
||||
\textcyr{\char242\char238\char239\char235\char232\char226\char224}
|
||||
$G_{\text{\textcyr{\char242}}}=f(\alpha_{\text{\textcyr{\char228}\textcyr{\char234}}})$}
|
||||
\par\end{flushleft}
|
||||
|
||||
\selectlanguage{russian}%
|
||||
\begin{flushleft}
|
||||
\inputencoding{koi8-r}Drossel55.Table3
|
||||
\par\end{flushleft}
|
||||
|
||||
\selectlanguage{english}%
|
||||
\begin{flushleft}
|
||||
\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|}
|
||||
\hline
|
||||
\multicolumn{2}{|c|}{\textcyr{\char207\char224\char240\char224\char236\char229\char242\char240}} & \multicolumn{10}{c|}{\textcyr{\char199\char237\char224\char247\char229\char237\char232\char229},
|
||||
\textcyr{\char239\char238\char235\char243\char247\char229\char237\char237\char238\char229}
|
||||
\textcyr{\char239\char240\char232} \textcyr{\char232\char241\char239\char251\char242\char224\char237\char232\char232}}\tabularnewline
|
||||
\hline
|
||||
\textcyr{\char205\char224\char232\char236\char229\char237\char238\char226\char224\char237\char232\char229}
|
||||
\textcyr{\char232} \textcyr{\char229\char228\char232\char237\char232\char246\char224}
|
||||
\textcyr{\char232\char231\char236\char229\char240\char229\char237\char232\char255} & \textcyr{\char206\char225\char238\char231\char237\char224\char247\char229\char237\char232\char229} & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline
|
||||
\hline
|
||||
\textcyr{\char207\char238\char235\char238\char230\char229\char237\char232\char229}
|
||||
\textcyr{\char228\char238\char231\char232\char240\char243\char254\char249\char229\char233}
|
||||
\textcyr{\char232\char227\char235\char251}, \textcyr{\char227\char240\char224\char228} & $(\alpha_{\text{\textcyr{\char228}\textcyr{\char234}}})$ & & & & & & & & & & \tabularnewline
|
||||
\hline
|
||||
\textcyr{\char208\char224\char241\char245\char238\char228} \textcyr{\char242\char238\char239\char235\char232\char226\char224},
|
||||
\textcyr{\char234\char227}/\textcyr{\char247} & $G_{\text{\textcyr{\char210}}}$ & & & & & & & & & & \tabularnewline
|
||||
\hline
|
||||
\textcyr{\char200\char241\char239\char238\char235\char237\char232\char242\char229\char235\char252} & \textcyr{\char200\char237\char230\char229\char237\char229\char240}
|
||||
\textcyr{\char239\char238} \textcyr{\char232\char241\char239\char251\char242\char224\char237\char232\char255\char236} & \multicolumn{3}{c|}{%
|
||||
\begin{minipage}[t]{0.1\columnwidth}%
|
||||
\textcyr{\char205\char224\char247\char224\char235\char252\char237\char232\char234}
|
||||
\textcyr{\char193\char210\char202} \textcyr{\char200\char202}%
|
||||
\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{%
|
||||
\begin{minipage}[t]{0.15\columnwidth}%
|
||||
\textcyr{\char205\char224\char247\char224\char235\char252\char237\char232\char234}
|
||||
\textcyr{\char243\char247\char224\char241\char242\char234\char224}
|
||||
\textcyr{\char200\char196}%
|
||||
\end{minipage}} & \multicolumn{3}{c|}{%
|
||||
\begin{minipage}[t]{0.15\columnwidth}%
|
||||
\textcyr{\char207\char240\char229\char228\char241\char242\char224\char226\char232\char242\char229\char235\char252}
|
||||
\textcyr{\char231\char224\char234\char224\char231\char247\char232\char234\char224}%
|
||||
\end{minipage}}\tabularnewline
|
||||
\hline
|
||||
& & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline
|
||||
\hline
|
||||
\end{longtable}
|
||||
\par\end{flushleft}
|
||||
\end{document}
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
cat $@ | iconv -f koi8-r -t utf-8 | sed 's/\\/\n\\/g' | grep '^\\[a-z]' | sed 's/\\\([a-z]*\).*$/\1/g' | sort | uniq | sed 's/\(.*\)/#define\t\1 "\1\"/g'
|
|
@ -1,305 +0,0 @@
|
|||
#include "tex_parser.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include "tex_parser_tags.h"
|
||||
#include "tex_parser_const.h"
|
||||
#include "zalloc_ext.h"
|
||||
#include "zalloc.h"
|
||||
#include "c_const.h"
|
||||
#include "xerror.h"
|
||||
#include "zerror.h"
|
||||
|
||||
/* only for debug */
|
||||
#define __TEX_PARSER_DEBUG
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
void tex_parse(const char *source, size_t len, struct tex_struct_s **tex_struct, struct zerror_s **error)
|
||||
{
|
||||
if (!len)
|
||||
len = strlen(source);
|
||||
|
||||
enum where_e
|
||||
{
|
||||
IN_UNDEF = 0, // undefined place
|
||||
IN_COMMENT, // any comment
|
||||
IN_TAG, // any tag
|
||||
IN_TAG_UNKNOWN, // unknown tag
|
||||
IN_SPACE, // space, \tag { for example
|
||||
IN_TAGPARM, // in \tag{} curly braces
|
||||
IN_TAG_BEGIN,
|
||||
IN_TAG_END,
|
||||
IN_TAG_TABULARNEWLINE,
|
||||
IN_FORMULA, // in $...$
|
||||
|
||||
} where_stack[MAX_TEX_STACK_LEVEL] = {IN_UNDEF};
|
||||
|
||||
enum object_e {
|
||||
OBJ_UNDEF = 0,
|
||||
OBJ_TABLE,
|
||||
OBJ_TABLE_PARAMS,
|
||||
OBJ_TABLE_SUBTABLE,
|
||||
OBJ_TABLE_HEADER,
|
||||
OBJ_TABLE_FIRSTHEADER,
|
||||
OBJ_TABLE_FOOTER,
|
||||
OBJ_TABLE_FIRSTFOOTER,
|
||||
OBJ_GRAPHICS
|
||||
|
||||
} object_stack[MAX_TEX_STACK_LEVEL] = {OBJ_UNDEF};
|
||||
|
||||
char *tag = NULL, *param = NULL;
|
||||
size_t i = 0;
|
||||
size_t tex_level = 0;
|
||||
size_t obj_level = 0;
|
||||
|
||||
for (i = 0; i < len; i++) {
|
||||
|
||||
/* stack checking */
|
||||
if (tex_level + 1 == MAX_TEX_STACK_LEVEL) {
|
||||
z_set_error(error, TEX_PARSER_DOMAIN, TEX_PARSER_ERROR_STACKOVERFLOW,
|
||||
"tex_parse(): stack overflow, symbol %c(0x%2.2x) at position %d",
|
||||
source[i], (u_int8_t)source[i], i);
|
||||
return;
|
||||
}
|
||||
|
||||
/* read one character from input stream */
|
||||
char c = source[i];
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
printf("tex_level = %lu, c = %c\n", tex_level, c);
|
||||
#endif
|
||||
|
||||
/* looking at where_stack and encountered character */
|
||||
switch (where_stack[tex_level]) {
|
||||
case IN_UNDEF:
|
||||
if (c == '\\') {
|
||||
zclear(&tag);
|
||||
where_stack[++tex_level] = IN_TAG;
|
||||
|
||||
} else if (isspace(c)) {
|
||||
where_stack[++tex_level] = IN_SPACE;
|
||||
|
||||
} else if (c == '%') {
|
||||
where_stack[++tex_level] = IN_COMMENT;
|
||||
|
||||
} else if (isgraph(c) || c < 0) {
|
||||
|
||||
} else {
|
||||
z_set_error(error, TEX_PARSER_DOMAIN, TEX_PARSER_ERROR_UNEXPECTED_SYMBOL,
|
||||
"tex_parse(): IN_UNDEF unexpected symbol %c(0x%2.2x) at position %d",
|
||||
source[i], (u_int8_t)source[i], i);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case IN_COMMENT:
|
||||
if (c == '\r' || c == '\n') {
|
||||
where_stack[tex_level--] = IN_UNDEF;
|
||||
}
|
||||
break;
|
||||
|
||||
case IN_TAG:
|
||||
if (isalnum(c)) {
|
||||
tag = zalloc_append8_str(tag, c);
|
||||
|
||||
} else if (!tag && (c == '\\' || c == ','
|
||||
|| c == '%' || c == '_')) {
|
||||
where_stack[tex_level--] = IN_UNDEF;
|
||||
|
||||
} else if (!tag) {
|
||||
z_set_error(error, TEX_PARSER_DOMAIN, TEX_PARSER_ERROR_UNEXPECTED_SYMBOL,
|
||||
"tex_parse(): IN_TAG empty tag, symbol %c(0x%2.2x) at position %d",
|
||||
source[i], (u_int8_t)source[i], i);
|
||||
return;
|
||||
|
||||
} else {
|
||||
if (!strcmp(tag, TEX_TAG_BEGIN))
|
||||
where_stack[tex_level] = IN_TAG_BEGIN;
|
||||
|
||||
else if (!strcmp(tag, TEX_TAG_END))
|
||||
where_stack[tex_level] = IN_TAG_END;
|
||||
|
||||
else if (!strcmp(tag, TEX_TAG_TABULARNEWLINE)) {
|
||||
where_stack[tex_level] = IN_TAG_TABULARNEWLINE;
|
||||
|
||||
} else {
|
||||
if (!strcmp(tag, TEX_TAG_ENDFIRSTHEAD)) {
|
||||
// subtable is first header - some actions here...
|
||||
object_stack[obj_level] = OBJ_TABLE_SUBTABLE;
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
puts("=OBJ_TABLE_SUBTABLE");
|
||||
#endif
|
||||
|
||||
} else if (!strcmp(tag, TEX_TAG_ENDHEAD)) {
|
||||
// subtable is header - some actions here...
|
||||
object_stack[obj_level] = OBJ_TABLE_SUBTABLE;
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
puts("=OBJ_TABLE_SUBTABLE");
|
||||
#endif
|
||||
|
||||
} else if (!strcmp(tag, TEX_TAG_ENDFIRSTFOOT)) {
|
||||
// subtable is first footer - some actions here...
|
||||
object_stack[obj_level] = OBJ_TABLE_SUBTABLE;
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
puts("=OBJ_TABLE_SUBTABLE");
|
||||
#endif
|
||||
|
||||
} else if (!strcmp(tag, TEX_TAG_ENDFOOT)) {
|
||||
// subtable is footer - some actions here...
|
||||
object_stack[obj_level] = OBJ_TABLE_SUBTABLE;
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
puts("=OBJ_TABLE_SUBTABLE");
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
where_stack[tex_level] = IN_TAG_UNKNOWN;
|
||||
}
|
||||
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
printf("\\%s\n", tag);
|
||||
#endif
|
||||
zclear(&tag);
|
||||
|
||||
i--;
|
||||
}
|
||||
break;
|
||||
|
||||
case IN_SPACE:
|
||||
if (!isspace(c)) {
|
||||
where_stack[tex_level--] = IN_UNDEF;
|
||||
i--;
|
||||
}
|
||||
break;
|
||||
|
||||
case IN_TAGPARM:
|
||||
if (c == '{' || c == '[') { // tag params
|
||||
zclear(¶m);
|
||||
where_stack[++tex_level] = IN_TAGPARM;
|
||||
|
||||
} else if (c == '}' || c == ']') { // end tag params
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
if (param)
|
||||
printf("IN_TAGPARM: {%s}\n", param);
|
||||
#endif
|
||||
|
||||
if (tex_level && where_stack[tex_level - 1] == IN_TAG_BEGIN
|
||||
&& !strcmp(param, TEX_PARAM_TABLE)) {
|
||||
object_stack[++obj_level] = OBJ_TABLE;
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
puts("->OBJ_TABLE");
|
||||
#endif
|
||||
|
||||
} else if (tex_level && where_stack[tex_level - 1] == IN_TAG_END
|
||||
&& !strcmp(param, TEX_PARAM_TABLE)) {
|
||||
object_stack[obj_level--] = OBJ_UNDEF;
|
||||
if (object_stack[obj_level] == OBJ_TABLE)
|
||||
object_stack[obj_level--] = OBJ_UNDEF;
|
||||
|
||||
else {
|
||||
z_set_error(error, TEX_PARSER_DOMAIN, TEX_PARSER_ERROR_STACKEMPTY,
|
||||
"tex_parse(): IN_TAGPARM unexpected symbol %c(0x%2.2x) at position %d",
|
||||
source[i], (u_int8_t)source[i], i);
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
puts("<-OBJ_UNDEF");
|
||||
puts("<-OBJ_UNDEF");
|
||||
#endif
|
||||
}
|
||||
|
||||
where_stack[tex_level--] = IN_UNDEF;
|
||||
|
||||
} else if (c == '\\') { // new tag
|
||||
zclear(&tag);
|
||||
where_stack[++tex_level] = IN_TAG;
|
||||
|
||||
} else if (c == '%') {
|
||||
where_stack[++tex_level] = IN_COMMENT;
|
||||
|
||||
} else if (isgraph(c) || isspace(c) || c < 0) {
|
||||
param = zalloc_append8_str(param, c);
|
||||
|
||||
} else {
|
||||
z_set_error(error, TEX_PARSER_DOMAIN, TEX_PARSER_ERROR_UNEXPECTED_SYMBOL,
|
||||
"tex_parse(): IN_TAGPARM unexpected symbol %c(0x%2.2x) at position %d",
|
||||
source[i], (u_int8_t)source[i], i);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case IN_TAG_UNKNOWN:
|
||||
case IN_TAG_BEGIN:
|
||||
case IN_TAG_END:
|
||||
case IN_TAG_TABULARNEWLINE:
|
||||
if (c == '{' || c == '[') {
|
||||
switch (object_stack[obj_level]) {
|
||||
case OBJ_TABLE:
|
||||
object_stack[++obj_level] = OBJ_TABLE_PARAMS;
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
puts("->OBJ_TABLE_PARAMS");
|
||||
#endif
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
zclear(¶m);
|
||||
where_stack[++tex_level] = IN_TAGPARM;
|
||||
|
||||
} else if (c == '}' || c == ']') {
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
if (param)
|
||||
printf("IN_TAGPARM: {%s}\n", param);
|
||||
#endif
|
||||
where_stack[tex_level--] = IN_UNDEF;
|
||||
i--;
|
||||
|
||||
} else if (c == '\\') {
|
||||
switch (object_stack[obj_level]) {
|
||||
case OBJ_TABLE_PARAMS:
|
||||
object_stack[obj_level] = OBJ_TABLE_SUBTABLE;
|
||||
#ifdef __TEX_PARSER_DEBUG
|
||||
puts("=OBJ_TABLE_SUBTABLE");
|
||||
#endif
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
zclear(&tag);
|
||||
where_stack[tex_level] = IN_TAG;
|
||||
|
||||
} else if (isspace(c)) {
|
||||
where_stack[++tex_level] = IN_SPACE;
|
||||
|
||||
} else if (c == '%')
|
||||
where_stack[++tex_level] = IN_COMMENT;
|
||||
|
||||
else if (isgraph(c) || c < 0) {
|
||||
|
||||
} else {
|
||||
z_set_error(error, TEX_PARSER_DOMAIN, TEX_PARSER_ERROR_UNEXPECTED_SYMBOL,
|
||||
"tex_parse(): IN_%d unexpected symbol %c(0x%2.2x) at position %d",
|
||||
where_stack[tex_level], source[i], (u_int8_t)source[i], i);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case IN_FORMULA:
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
z_set_error(error, TEX_PARSER_DOMAIN, TEX_PARSER_ERROR_PLACE_UNKNOWN,
|
||||
"tex_parse(): IN_%d unknown place, symbol %c(0x%2.2x) at position %d",
|
||||
where_stack[tex_level], source[i], (u_int8_t)source[i], i);
|
||||
return;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
|
||||
[indentation]
|
||||
indent_width=8
|
||||
indent_type=1
|
||||
indent_hard_tab_width=8
|
||||
detect_indent=false
|
||||
indent_mode=2
|
||||
|
||||
[project]
|
||||
name=tex_parser
|
||||
base_path=/home/kolan/dev/c/tex_parser/
|
||||
description=
|
||||
|
||||
[long line marker]
|
||||
long_line_behaviour=1
|
||||
long_line_column=72
|
||||
|
||||
[files]
|
||||
current_page=3
|
||||
FILE_NAME_0=259;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser_test.c;0
|
||||
FILE_NAME_1=3895;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser.c;0
|
||||
FILE_NAME_2=3453;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser.h;0
|
||||
FILE_NAME_3=579;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser_tags.h;0
|
||||
|
||||
[build-menu]
|
||||
NF_00_LB=_Сделать
|
||||
NF_00_CM=make
|
||||
NF_00_WD=%p
|
||||
NF_01_LB=Сделать заданную _цель
|
||||
NF_01_CM=make
|
||||
NF_01_WD=%p
|
||||
NF_02_LB=Сделать _объект
|
||||
NF_02_CM=make %e.o
|
||||
NF_02_WD=%p
|
||||
CFT_00_LB=_Скомпилировать
|
||||
CFT_00_CM=gcc -Wall -c "%f"
|
||||
CFT_00_WD=%p
|
||||
CFT_01_LB=_Сборка
|
||||
CFT_01_CM=gcc -Wall -o "%e" "%f" -lhash
|
||||
CFT_01_WD=%p
|
||||
CFT_02_LB=
|
||||
CFT_02_CM=
|
||||
CFT_02_WD=%p
|
||||
filetypes=C;
|
||||
EX_00_LB=_Выполнить
|
||||
EX_00_CM=./tex_parser_test ex1.tex
|
||||
EX_00_WD=%p
|
|
@ -1,144 +0,0 @@
|
|||
#ifndef _TEX_PARSER_H
|
||||
#define _TEX_PARSER_H
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "zerror.h"
|
||||
|
||||
#define TEX_PARSER_DOMAIN 0
|
||||
|
||||
/**
|
||||
* enum tex_parser_error - the LaTeX parser error codes
|
||||
*
|
||||
* @TEX_PARSER_NOERROR: Default state indicates no error.
|
||||
* @TEX_PARSER_ERROR_UNKNOWN: Uncontrolled error happen
|
||||
* @TEX_PARSER_ERROR_STACKOVERFLOW: Stack overflow
|
||||
* @TEX_PARSER_ERROR_PLACE_UNKNOWN: Unknown place (internal error)
|
||||
* @TEX_PARSER_ERROR_UNEXPECTED_SYMBOL: Unexpected symbol for current place
|
||||
*
|
||||
* Defines parser error codes, @TEX_PARSER_NOERROR = %0 is equivalent to no errors.
|
||||
*/
|
||||
enum tex_parser_error {
|
||||
TEX_PARSER_NOERROR = 0,
|
||||
TEX_PARSER_ERROR_UNKNOWN,
|
||||
TEX_PARSER_ERROR_STACKOVERFLOW,
|
||||
TEX_PARSER_ERROR_STACKEMPTY,
|
||||
TEX_PARSER_ERROR_PLACE_UNKNOWN,
|
||||
TEX_PARSER_ERROR_UNEXPECTED_SYMBOL,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct tex_table_row_s - LaTeX table row
|
||||
*
|
||||
* @over_line: Text over row (\hline for ex.)
|
||||
* @cells: Row cells
|
||||
* @under_line: Text under row (\cline{2-4} for ex.)
|
||||
*
|
||||
* @over_line, @cells, @under_line uses zalloc*() functions which stores
|
||||
* array dimensions.
|
||||
*/
|
||||
struct tex_table_row_s {
|
||||
char *over_line;
|
||||
char **cells;
|
||||
char *under_line;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct tex_table_s - LaTeX table
|
||||
*
|
||||
* @document_offset: Table offset (in symbols) in the LaTeX document
|
||||
* @document_size: Table size (in symbols) in the LaTeX document
|
||||
* @id: Id in report generator context (Request.Drossel1.Table1 for ex.)
|
||||
* @col_props: Column properties devided by '>' symbol
|
||||
* @head_table: Top rows devided by & and automaticaly added on page break
|
||||
* @foot_table: Bottom rows devided by & and automaticaly added on page break
|
||||
* @main_table: Central rows which can be devided horizontally and vertically
|
||||
*
|
||||
* @col_props, @head_table, @foot_table, @main_table uses zalloc*() functions to
|
||||
* determine array dimensions.
|
||||
*/
|
||||
struct tex_table_s {
|
||||
size_t document_offset;
|
||||
size_t document_size;
|
||||
char *id;
|
||||
char **col_props;
|
||||
struct tex_table_row_s *head_table;
|
||||
struct tex_table_row_s *foot_table;
|
||||
struct tex_table_row_s *main_table;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct tex_graphics - LaTeX graphics
|
||||
*
|
||||
* @prestr: Preceding string
|
||||
* @path: Path to image file
|
||||
* @poststr: Descendant string
|
||||
*
|
||||
* Need some description here...
|
||||
*/
|
||||
struct tex_graphics {
|
||||
char *prestr;
|
||||
char *path;
|
||||
char *poststr;
|
||||
};
|
||||
|
||||
/**
|
||||
* enum tex_element_type - Type of LaTeX element
|
||||
*
|
||||
* @TEX_ELEM_TEXT: Text containing non-arable code
|
||||
* @TEX_ELEM_TABLE: LaTeX table or longtable
|
||||
* @TEX_ELEM_GRAPHICS: LaTeX graphics (images, plots)
|
||||
*
|
||||
* Need some description here...
|
||||
*/
|
||||
enum tex_elem_type {
|
||||
TEX_ELEM_TEXT,
|
||||
TEX_ELEM_TABLE,
|
||||
TEX_ELEM_GRAPHICS
|
||||
};
|
||||
|
||||
/**
|
||||
* struct tex_elem_s - Element of LaTeX code
|
||||
*
|
||||
* @type: LaTeX element type
|
||||
* @data: Element data structure
|
||||
*
|
||||
* Need some description here...
|
||||
*/
|
||||
struct tex_elem_s {
|
||||
enum tex_elem_type type;
|
||||
|
||||
union {
|
||||
char *text;
|
||||
struct tex_table_s *table;
|
||||
struct tex_graphics_s *graphics;
|
||||
} data;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct tex_struct_s - LaTeX code structure
|
||||
*
|
||||
* @elems: List of LaTeX elements
|
||||
*
|
||||
* Need some description here...
|
||||
*/
|
||||
struct tex_struct_s {
|
||||
struct tex_elem_s *elems;
|
||||
};
|
||||
|
||||
/**
|
||||
* tex_parse() - Parse the LaTeX code
|
||||
*
|
||||
* @source: LaTeX code string
|
||||
* @len: Length of LaTeX string
|
||||
* @tex_struct: A return location for a #tex_struct_s
|
||||
* @error: A return location for a #zerror_s
|
||||
*
|
||||
* Parses LaTeX text string @source of length len to *@tex_struct.
|
||||
* If some error occurs, parser returns immediatly with error info in *@error.
|
||||
* @tex_struct or @error can't be %NULL; *@tex_struct *@error must be %NULL.
|
||||
*/
|
||||
void tex_parse(const char *source, size_t len, struct tex_struct_s **tex_struct, struct zerror_s **error);
|
||||
|
||||
#endif
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#ifndef _TEX_PARSER_CONST_H
|
||||
#define _TEX_PARSER_CONST_H
|
||||
|
||||
#define MAX_TEX_STACK_LEVEL 128
|
||||
|
||||
#endif
|
|
@ -1,20 +0,0 @@
|
|||
#ifndef _TEX_PARSER_TAGS_H
|
||||
#define _TEX_PARSER_TAGS_H
|
||||
|
||||
#define TEX_TAG_BEGIN "begin"
|
||||
#define TEX_TAG_CLINE "cline"
|
||||
#define TEX_TAG_END "end"
|
||||
#define TEX_TAG_ENDFIRSTHEAD "endfirsthead"
|
||||
#define TEX_TAG_ENDHEAD "endhead"
|
||||
#define TEX_TAG_ENDFIRSTFOOT "endfirstfoot"
|
||||
#define TEX_TAG_ENDFOOT "endfoot"
|
||||
#define TEX_TAG_HLINE "hline"
|
||||
#define TEX_TAG_HSPACE "hspace"
|
||||
#define TEX_TAG_MULTICOLUMN "multicolumn"
|
||||
#define TEX_TAG_MULTIROW "multirow"
|
||||
#define TEX_TAG_TABULARNEWLINE "tabularnewline"
|
||||
#define TEX_TAG_INCLUDEGRAPHICS "includegraphics"
|
||||
|
||||
#define TEX_PARAM_TABLE "longtable"
|
||||
|
||||
#endif
|
|
@ -1,51 +0,0 @@
|
|||
#include <sys/stat.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
//~ #include <locale.h>
|
||||
|
||||
#include "tex_parser.h"
|
||||
#include "zalloc.h"
|
||||
#include "xalloc.h"
|
||||
#include "xerror.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
if (argc != 2)
|
||||
xerrx(-1, "Usage: ./tex_parser_test /path/to/example.tex", NULL);
|
||||
|
||||
FILE *tex_file = fopen(argv[1], "rb");
|
||||
if (!tex_file)
|
||||
xerr(errno, "Cannot open %s", argv[1]);
|
||||
|
||||
struct stat stat_buf;
|
||||
if (fstat(fileno(tex_file), &stat_buf) == -1)
|
||||
xerr(errno, "Cannot stat %s", argv[1]);
|
||||
|
||||
char *tex_buf = (char *)xmalloc((size_t)stat_buf.st_size + 1);
|
||||
if (fread(tex_buf, 1, (size_t)stat_buf.st_size, tex_file) != (size_t)stat_buf.st_size)
|
||||
xerrx(-1, "Error reading %s", argv[1]);
|
||||
fclose(tex_file);
|
||||
tex_buf[stat_buf.st_size] = 0;
|
||||
|
||||
|
||||
struct tex_struct_s *tex_struct;
|
||||
struct zerror_s *error;
|
||||
memset(&tex_struct, 0, sizeof(tex_struct));
|
||||
memset(&error, 0, sizeof(error));
|
||||
|
||||
//~ setlocale(LC_ALL, "ru_RU.KOI8-R");
|
||||
|
||||
/* Коммент по-русски */
|
||||
tex_parse(tex_buf, (size_t)stat_buf.st_size, &tex_struct, &error);
|
||||
|
||||
//~ setlocale(LC_ALL, "");
|
||||
|
||||
if (error)
|
||||
puts(error->message);
|
||||
|
||||
xclear(&tex_buf);
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
Loading…
Reference in New Issue