commit 6b28eced44ef4f49f197a31d0c89d57265057407 Author: Andrey Astafyev Date: Thu Oct 20 19:57:13 2016 +0300 Начало diff --git a/espdafterpkg.sty b/espdafterpkg.sty new file mode 100644 index 0000000..f53e126 --- /dev/null +++ b/espdafterpkg.sty @@ -0,0 +1,58 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% +% The author of original code of this file is Alexander I. Rozhenko. +% The code is taken from afterpackage.sty from ncctools bundle. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdafterpkg}[2010/01/14 v0.98 Apply Commands After Package] + +\newcommand*\ESPD@after@package[1]{% + \expandafter\ifx\csname ver@#1.\@pkgextension\endcsname\relax + \@ifundefined{#1.\@pkgextension-@dd}{% + \expandafter\let\csname#1.\@pkgextension-@dd\endcsname\@empty + \expandafter\@onlypreamble\csname#1.\@pkgextension-@dd\endcsname + }{}% + \wlog{After Package Info: Collect commands for #1\on@line}% + \def\@tempa{% + \expandafter\g@addto@macro\csname#1.\@pkgextension-@dd\endcsname}% + \else + \ATP@apply@info{#1}% + \let\@tempa\@firstofone + \fi + \@tempa +} +\@onlypreamble\ESPD@after@package +\let\ESPD@ATP@popfilename\@popfilename +\@onlypreamble\ESPD@ATP@popfilename +\def\@popfilename{% + \@ifundefined{\@currname.\@currext-@dd}{}{% + \ESPD@ATP@apply@info{\@currname}% + \csname\@currname.\@currext-@dd\endcsname + \expandafter\let\csname\@currname.\@currext-@dd\endcsname\relax + }% + \ESPD@ATP@popfilename +} +\def\ESPD@ATP@apply@info#1{% + \wlog{After Package Info: Apply commands to #1\on@line}% +} +\@onlypreamble\ESPD@ATP@apply@info + diff --git a/espdappsheet.sty b/espdappsheet.sty new file mode 100644 index 0000000..baf194c --- /dev/null +++ b/espdappsheet.sty @@ -0,0 +1,73 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdappsheet}[2010/01/14 v0.98 Approving Sheet GOST 2.105] + +\RequirePackage{espdlang} +\RequirePackage{espdtitle} + +\newcount\ESPD@appsheet@doc@cnt +\ESPD@appsheet@doc@cnt = 0 + +\newcommand{\ESPDapprovingDoc}[1]{% + \advance \ESPD@appsheet@doc@cnt 1 + \@namedef{ESPD@appsheet@doc@\number\ESPD@appsheet@doc@cnt}{#1}} + +\renewcommand{\ESPDtheTitleFieldV}{% + \ESPDapprovingSheetName} + +\renewcommand{\ESPDtheTitleFieldVI}{% + \MakeUppercase{\ESPDtheSignature}} + +\renewcommand{\ESPDtheTitleFieldVII}{} + +\def\ESPDtheTitleFieldVIIIlb{} +\renewcommand{\ESPDtheTitleFieldVIIIlb}{% + \ESPD@tmpcnta = 1 + \ESPD@tmpcntb = \ESPD@appsheet@doc@cnt + \advance \ESPD@tmpcntb 1 + \loop + \ifnum \ESPD@tmpcnta < \ESPD@tmpcntb + \@nameuse{ESPD@appsheet@doc@\number\ESPD@tmpcnta}\par + \advance \ESPD@tmpcnta 2 + \repeat} +\def\ESPDtheTitleFieldVIIIrb{} +\renewcommand{\ESPDtheTitleFieldVIIIrb}{% + \ESPD@tmpcnta = 2 + \ESPD@tmpcntb = \ESPD@appsheet@doc@cnt + \advance \ESPD@tmpcntb 1 + \loop + \ifnum \ESPD@tmpcnta < \ESPD@tmpcntb + \@nameuse{ESPD@appsheet@doc@\number\ESPD@tmpcnta}\par + \advance \ESPD@tmpcnta 2 + \repeat} +\renewcommand{\ESPDtheTitleFieldVIII}{% + \ESPD@title@split@field{\ESPDtheTitleFieldVIIIl}{\ESPDtheTitleFieldVIIIr} + \par + \ESPD@title@split@field{\ESPDtheTitleFieldVIIIlb}{\ESPDtheTitleFieldVIIIrb}} + +\renewcommand{\ESPDtheTitleFieldX}{} + +\renewcommand{\ESPDtitleFontX}{\ESPDfontIII} + +\newcommand{\ESPDmakeApprovingSheet}{\maketitle} + diff --git a/espdbiblist.sty b/espdbiblist.sty new file mode 100644 index 0000000..db6be14 --- /dev/null +++ b/espdbiblist.sty @@ -0,0 +1,45 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdbiblist}[2010/01/14 v0.98 Bibliography List] + +\renewcommand{\@biblabel}[1]{#1.} + +\def\thebibliography#1{% + \section*{\refname}\addcontentsline{toc}{section}{\refname}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} +\def\endthebibliography{\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} + diff --git a/espdcap.sty b/espdcap.sty new file mode 100644 index 0000000..c11de4d --- /dev/null +++ b/espdcap.sty @@ -0,0 +1,36 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdcap}[2010/01/14 v0.98 Captions] + +\RequirePackage{caption} +\DeclareCaptionLabelSeparator{dash}{ \textendash{} } +\captionsetup[table]{% +labelsep=dash,justification=raggedright,singlelinecheck=false,% +aboveskip=3mm,belowskip=0mm} +\captionsetup[longtable]{% +labelsep=dash,justification=raggedright,singlelinecheck=false,% +aboveskip=3mm,belowskip=0mm} +\captionsetup[figure]{% +labelsep=dash,justification=centering,singlelinecheck=false,% +aboveskip=0mm,belowskip=3mm} + diff --git a/espdchngsheet.sty b/espdchngsheet.sty new file mode 100644 index 0000000..46e5264 --- /dev/null +++ b/espdchngsheet.sty @@ -0,0 +1,115 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdchngsheet}[2010/01/14 v0.98 Sheet of Changes GOST 2.503-90] + +\RequirePackage{espdlang} +\RequirePackage{espdstamp} +\RequirePackage{array} +\RequirePackage{longtable} +\RequirePackage{forloop} + +\newcommand{\ESPDchngColumnIwidth}{.08\textwidth} +\newcommand{\ESPDchngColumnIIwidth}{.08\textwidth} +\newcommand{\ESPDchngColumnIIIwidth}{.08\textwidth} +\newcommand{\ESPDchngColumnIVwidth}{.08\textwidth} +\newcommand{\ESPDchngColumnVwidth}{.08\textwidth} +\newcommand{\ESPDchngColumnVIwidth}{.15\textwidth} +\newcommand{\ESPDchngColumnVIIwidth}{.10\textwidth} +\newcommand{\ESPDchngColumnVIIIwidth}{.15\textwidth} +\newcommand{\ESPDchngColumnIXwidth}{.10\textwidth} +\newcommand{\ESPDchngColumnXwidth}{.10\textwidth} + +\newenvironment{ESPDchangeSheet}{% +\ESPDclearDoublePage +\setlength{\tabcolsep}{0.5mm} +\newcolumntype{s}{>{\ESPDfontTabBody}c} +\newcolumntype{S}{>{\ESPDfontTabHead}c} +\noindent +\renewcommand*{\arraystretch}{0.78}% Высота строк +\begin{longtable}{|*{10}{s|}} +\hline +\multicolumn{10}{|S|}{\ESPDchangeSheetName}\\\hline +&\multicolumn{4}{S|}{\ESPDchngColumnsIIhName}&&&&&\\\cline{2-5} +\parbox[c]{\ESPDchngColumnIwidth-2\tabcolsep-1.5\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXIVname}& +\parbox[c]{\ESPDchngColumnIIwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\ESPDfontTabHead\ESPDchngColumnIIname}& +\parbox[c]{\ESPDchngColumnIIIwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\ESPDfontTabHead\ESPDchngColumnIIIname}& +\parbox[c]{\ESPDchngColumnIVwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\ESPDfontTabHead\ESPDchngColumnIVname}& +\parbox[c]{\ESPDchngColumnVwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\ESPDfontTabHead\ESPDchngColumnVname}& +\parbox[c]{\ESPDchngColumnVIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDchngColumnVIname}& +\parbox[c]{\ESPDchngColumnVIIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIname}& +\parbox[c]{\ESPDchngColumnVIIIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDchngColumnVIIIname\vspace{1mm}}& +\parbox[c]{\ESPDchngColumnIXwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIIname}& +\parbox[c]{\ESPDchngColumnXwidth-2\tabcolsep-1.5\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIIIname}\\\hline +\endfirsthead +\hline +&\multicolumn{4}{S|}{\ESPDchngColumnsIIhName}&&&&&\\\cline{2-5} +\parbox[c]{\ESPDchngColumnIwidth-2\tabcolsep-1.5\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXIVname}& +\parbox[c]{\ESPDchngColumnIIwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\ESPDfontTabHead\ESPDchngColumnIIname}& +\parbox[c]{\ESPDchngColumnIIIwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\ESPDfontTabHead\ESPDchngColumnIIIname}& +\parbox[c]{\ESPDchngColumnIVwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\ESPDfontTabHead\ESPDchngColumnIVname}& +\parbox[c]{\ESPDchngColumnVwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\ESPDfontTabHead\ESPDchngColumnVname}& +\parbox[c]{\ESPDchngColumnVIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDchngColumnVIname}& +\parbox[c]{\ESPDchngColumnVIIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIname}& +\parbox[c]{\ESPDchngColumnVIIIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDchngColumnVIIIname\vspace{1mm}}& +\parbox[c]{\ESPDchngColumnIXwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIIname}& +\parbox[c]{\ESPDchngColumnXwidth-2\tabcolsep-1.5\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIIIname}\\\hline +\endhead +\hline +\endfoot}{\end{longtable}} + +\newcount\lincnt +\long\def\addto#1#2{% + \expandafter\def\expandafter#1\expandafter{#1#2}} + +\def\tabledata{}\lincnt=30 % Количество строк + \loop + \addto\tabledata{& & & & & & & & & \\ \hline} + \advance\lincnt -1 + \ifnum\lincnt>0 + \repeat + +\newcommand{\ESPDprintEmptyChangeSheet}{ +\begin{ESPDchangeSheet} +\tabledata +\end{ESPDchangeSheet}} + diff --git a/espddstu.sty b/espddstu.sty new file mode 100644 index 0000000..04661e0 --- /dev/null +++ b/espddstu.sty @@ -0,0 +1,49 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espddstu}[2010/01/20 v0.98 Ukrainian DSTU implementation] + + +% Настройка пояснений к формулам согласно ДСТУ 3008, п. 7.10.3 + +% временная длина для передачи внутрь окружения {list} +% величины абзацного отступа +\setlength{\ESPDexplanIndent}{\parindent} + +% определим нашу собственную команду для замены \makelabel +\newcommand{\ESPD@dstu@expl@label}[1]{% + \ifthenelse{\equal{}{#1}} + {} + {\hspace{\ESPDexplanIndent}#1}% +} + +\renewenvironment{ESPDexplanation}[1][\ESPDexplanWidth]{% + \begin{list}{}{\setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\labelsep}{0pt}% + \setlength{\labelwidth}{0pt}% + \setlength{\leftmargin}{0pt}% + \let\makelabel\ESPD@dstu@expl@label}}{% + \end{list}} + + diff --git a/espdexplan.sty b/espdexplan.sty new file mode 100644 index 0000000..e779b39 --- /dev/null +++ b/espdexplan.sty @@ -0,0 +1,41 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdexplan}[2010/01/19 v0.98 ESPD Explanation] + +\RequirePackage{espdlang} + +\newlength{\ESPDexplanIndent} +% По умолчанию пояснения к формулам прижимаются левому к краю страницы +% и не имеют отступа, так как ГОСТ 2.105-95 четко не говорит нужно ли +% ставить отступ перед пояснениями или нет. +\setlength{\ESPDexplanIndent}{0pt} + +\newenvironment{ESPDexplanation}[1][\ESPDexplanWidth]{% + \begin{list}{}{\setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\labelsep}{0pt}% + \setlength{\labelwidth}{#1}% + \setlength{\leftmargin}{\labelwidth+\ESPDexplanIndent}}}{% + \end{list}} + diff --git a/espdfont.sty b/espdfont.sty new file mode 100644 index 0000000..b22e51f --- /dev/null +++ b/espdfont.sty @@ -0,0 +1,67 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdfont}[2010/01/14 v0.98 Font Definitions] +\RequirePackage{gostfont} + +\newcommand{\ESPDfontBaseLineStretch}{1} + +\newcommand{\ESPDfontSetBaseLineStretch}{% + \renewcommand{\baselinestretch}{\ESPDfontBaseLineStretch}} + +\newcommand{\ESPDfontShape}{\rmfamily} + +\newcommand{\ESPDfontIIsize}{\fontsize{8pt}{10pt}} +\newcommand{\ESPDfontIIIsize}{\fontsize{10pt}{13pt}} +\newcommand{\ESPDfontIVsize}{\fontsize{12pt}{16pt}} +\newcommand{\ESPDfontVsize}{\fontsize{14pt}{18pt}} +\newcommand{\ESPDfontVIIsize}{\fontsize{18pt}{24pt}} +\newcommand{\ESPDfontXsize}{\fontsize{32pt}{40pt}} + +\newcommand{\ESPDfontII}{% + \ESPDfontSetBaseLineStretch + \ESPDfontIIsize\selectfont\ESPDfontShape} +\newcommand{\ESPDfontIII}{% + \ESPDfontSetBaseLineStretch + \ESPDfontIIIsize\selectfont\ESPDfontShape} +\newcommand{\ESPDfontIV}{% + \ESPDfontSetBaseLineStretch + \ESPDfontIVsize\selectfont\ESPDfontShape} +\newcommand{\ESPDfontV}{% + \ESPDfontSetBaseLineStretch + \ESPDfontVsize\selectfont\ESPDfontShape} +\newcommand{\ESPDfontVII}{% + \ESPDfontSetBaseLineStretch + \ESPDfontVIIsize\selectfont\ESPDfontShape} +\newcommand{\ESPDfontX}{% + \ESPDfontSetBaseLineStretch + \ESPDfontXsize\selectfont\ESPDfontShape} +\newcommand{\ESPDfontGostIII}{% + \ESPDfontSetBaseLineStretch + \ESPDfontIIIsize\selectfont\GostBFont} +\newcommand{\ESPDfontGostIV}{% + \ESPDfontSetBaseLineStretch + \ESPDfontIVsize\selectfont\GostBFont} + +\newcommand{\ESPDfontTabHead}{\ESPDfontV} +\newcommand{\ESPDfontTabBody}{\ESPDfontV} + diff --git a/espdfootnote.sty b/espdfootnote.sty new file mode 100644 index 0000000..1f27d94 --- /dev/null +++ b/espdfootnote.sty @@ -0,0 +1,82 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdfootnote}[2010/01/14 v0.98 Footnote Settings] + +% Нумероваться сноски должны в пределах одной страницы. +% Самое очевидное решение - переподчинить счетчик footnote счетчику page, +% но такой метод будет давать сбои, если сноска вставлена +% близко к концу страницы. +% Эту проблему решил Обердайк в своем пакете zref + +% пакет amsmath должен быть загружен ПЕРЕД zref +% возможно стоит загружать его в классе espdtext +% а не здесь +\RequirePackage{amsmath} +\RequirePackage{zref-perpage} + +% привязываем сброс счетчика сносок к границам страниц +\zmakeperpage{footnote} + +\let\footnotesize\small + +% Нижеследующая строка была взята из espddstu.sty. +% Согласно ГОСT 2.105-95 после метки сноски должна быть закрывающая скобка. +% Стандарт межгосударственный и данная строка будет более +% уместно смотреться здесь +\renewcommand{\thefootnote}{\arabic{footnote})} + +% Помимо арабских цифр с закрывающей скобкой +% стандарт допускает использование звездочек. +% Более четырех использовать <<не рекомендуется>>. +% Сложно сказать, что это значит. Наверное, +% на усмотрение нормоконтроля. +% Для удобства определим команду \fnasterisk +% по аналогии с \fnsymbol +\def\fnasterisk#1{\expandafter\@fnasterisk\csname c@#1\endcsname} +\def\@fnasterisk#1{% + \ifcase#1% + % empty for zero value + \or*% + \or**% + \or***% + \or****% + \else\PackageError{espdfootnote}{Too many asterisks}% + {GOST 2.105-95 does not recommend to use\MessageBreak + more then 4 asterisks in footnotes.\MessageBreak + Use 'footnotearabic' option in documentclass instead}% + \fi% +} + +% Принимаемые опции +\DeclareOption{footnotearabic}{\renewcommand{\thefootnote}{\arabic{footnote})}} +\DeclareOption{footnoteasterisk}{\renewcommand{\thefootnote}{\fnasterisk{footnote}}} +\ProcessOptions\relax + +% Метка сноски должна находиться по срезу абзацного отступа. +% Для этого вставляем пустой бокс шириной в абзацный отступ, +% после него бокс с меткой сноски, а за ним, собственно, текст. +\renewcommand\@makefntext[1]{% + \parindent 15mm% + \noindent% + \hbox to \parindent{}\hbox{\hss\@makefnmark} #1} + diff --git a/espdframe.sty b/espdframe.sty new file mode 100644 index 0000000..860ef20 --- /dev/null +++ b/espdframe.sty @@ -0,0 +1,80 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdframe}[2011/05/09 v0.98 Frame Page Style] + +\RequirePackage{espdstamp} +\RequirePackage{setspace} +\RequirePackage{calc} + +\def\ESPD@frame@vt{% + \setlength{\ESPD@tmpdimc}{% + \ESPDframeY+\ESPDframeH-\ESPD@padding@v}} + +\def\ESPD@frame@vb{% + \setlength{\ESPD@tmpdimc}{% + \ESPDframeY+\ESPD@padding@v-15mm}} + +\def\ESPD@frame@hl{% + \ifESPD@twoside + \ifodd\c@page\raggedright\else\raggedleft\fi + \else\raggedright\fi} + +\def\ESPD@frame@hr{% + \ifESPD@twoside + \ifodd\c@page\raggedleft\else\raggedright\fi + \else\raggedleft\fi} + +\def\ESPD@frame@hc{\centering} + +\let\ESPD@frame@ha\ESPD@frame@hc +\let\ESPD@frame@va\ESPD@frame@vb + +\DeclareOption{numbertop}{\let\ESPD@frame@va\ESPD@frame@vt} +\DeclareOption{numberbottom}{\let\ESPD@frame@va\ESPD@frame@vb} +\DeclareOption{numberleft}{\let\ESPD@frame@ha\ESPD@frame@hl} +\DeclareOption{numbercenter}{\let\ESPD@frame@ha\ESPD@frame@hc} +\DeclareOption{numberright}{\let\ESPD@frame@ha\ESPD@frame@hr} + +\ProcessOptions\relax + +% Колонтитул +\newcommand{\ESPDdrawFramePageNumber}{ + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPD@padding@h} + \setlength{\ESPD@tmpdimb}{\ESPDframeW-2\ESPD@padding@h} + \ESPD@frame@va + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimc}){% + \parbox[b][25mm][c]{\ESPD@tmpdimb}{% + \begin{singlespace} + \reset@font\normalsize + \ESPD@frame@ha\thepage \\ \MakeUppercase\ESPDtheSignature + \end{singlespace} + }}} + +\ESPDnewStyle{frame}{0mm} +\ESPDputOnStyle{frame}{pagenumber}{\ESPDdrawFramePageNumber} +\renewcommand{\ESPDdrawFrame}{} + +\ESPDdefaultTitleStyle{title} +\ESPDdefaultFirstStyle{frame} +\ESPDdefaultStyle{frame} + diff --git a/espdfreesize.sty b/espdfreesize.sty new file mode 100644 index 0000000..2656f61 --- /dev/null +++ b/espdfreesize.sty @@ -0,0 +1,176 @@ +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% Пакет предоставляет возможность вставки листа +% почти любого размера (ограничения описаны в руководстве +% пользователя espdx): + + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdfreesize}[2010/02/20 v0.98 Inserting Free Size Sheets] + +\RequirePackage{espdstamp} + +% переключение размера возможно только в pdflatex. +% Tем не менее, latex тоже сможет собрать такой документ, +% но все большие страницы +% обрежет по размерам формата, установленного в documentclass +\RequirePackage{ifpdf} +\ifpdf{} +\else{\PackageWarningNoLine{espdfreesize} + {It's better to compile this document with pdflatex.\MessageBreak + In DVI you will get only part of the inserted big sheet}} +\fi + + + +% в espdstamp для ускорения отрисовки рамки применен \savebox +% в нашем случае это неудобно, будем рисовать персонально +% на каждой странице +\newcommand{\ESPDdrawFrameFree}{% + \put(\ESPDltu{\ESPDframeX},\ESPDltu{\ESPDframeY}){% + \setlength{\unitlength}{1mm}% + \begin{picture}(0,0)(0,0) + \linethickness{\ESPDlineThick} + \put(0,\ESPDltu{\ESPDframeH}){\line(1,0){\ESPDltu{\ESPDframeW}}} + \put(0,0){\line(1,0){\ESPDltu{\ESPDframeW}}} + \put(0,0){\line(0,1){\ESPDltu{\ESPDframeH}}} + \put(\ESPDltu{\ESPDframeW},0){\line(0,1){\ESPDltu{\ESPDframeH}}} + \end{picture}}} + +% содержимое нестандартной графы 32 по умолчанию +\newcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDemptyFormatName}} + +% определим нашу собственную нестандартную графу 32 +\newcommand{\ESPDdrawColumnXXXIIfree}{% + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW-50mm}% + \setlength{\ESPD@tmpdimb}{\ESPDframeY-3.7mm}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \makebox[50mm][r]{\ESPDfontIII\ESPDtheColumnXXXIIfree}}} + + + +% Определим новый стиль. Подробнее про определение своих стилей +% можно прочитать в руководстве пользователя espdx, +% или заглянуть в espdstamp.sty, +% кусок оттуда был использован как основа для стиля freesize +\ESPDnewStyle{freesize}{8mm} +\ESPDputOnStyle{freesize}{frame}{\ESPDdrawFrameFree} +\ESPDputOnStyle{freesize}{stamp}{\ESPDdrawStampIIa} +\ifESPD@enable@columns@xix + \ESPDputOnStyle{freesize}{columnsxix}{\ESPDdrawColumnsXIX} +\fi +\ifESPD@enable@column@xxvi + \ESPDputOnStyle{freesize}{columnxxvi}{\ESPDdrawColumnXXVI} +\fi +\ifESPD@enable@columns@xxvii + \ESPDputOnStyle{freesize}{columnsxxvii}{\ESPDdrawColumnsXXVIIi} +\fi +\ifESPD@enable@column@xxxi + \ESPDputOnStyle{freesize}{columnxxxi}{\ESPDdrawColumnXXXI} +\fi +\ifESPD@enable@column@xxxii + % наша новая графа 32 + \ESPDputOnStyle{freesize}{columnxxxii}{\ESPDdrawColumnXXXIIfree} +\fi +\ifESPD@enable@column@xxxiii + \ESPDputOnStyle{freesize}{columnxxxiii}{\ESPDdrawColumnXXXIII} +\fi +\ifESPD@enable@column@xxxiv + \ESPDputOnStyle{freesize}{columnxxxiv}{\ESPDdrawColumnXXXIV} +\fi +\ifESPD@zonelabels% + \ESPDputOnStyle{freesize}{zonelabels}{\ESPDdrawZoneLabelsI} +\fi + + +% вспомогательные счетчики для записей в лог +\newcounter{ESPD@free@sizepagebegin} +\newcounter{ESPD@free@sizepageend} + +% теперь самое сложное - сам переключатель +\newcommand{\ESPDfreeSize}[3]{% + \ESPDclearDoublePage% + \setcounter{ESPD@free@sizepagebegin}{\value{page}}% запомним текущую страницу + \pdfpagewidth=#1% + \pdfpageheight=#2% + \setlength{\ESPD@origin@y}{#2-1in}% + \setlength{\ESPDframeW}{\pdfpagewidth-\ESPD@margin@si-\ESPD@margin@so}% + \setlength{\ESPDframeH}{\pdfpageheight-\ESPD@margin@t-\ESPD@margin@b}% + \ESPDstyle{freesize}% + \expandafter{#3}% + % зафиксируем факт вставки листа в \jobname.log + \ESPDclearDoublePage% + \renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDemptyFormatName}}% сброс графы 32 + \setcounter{ESPD@free@sizepageend}{\value{page}}% + \addtocounter{ESPD@free@sizepageend}{-1}% + \ifthenelse{\value{ESPD@free@sizepagebegin}<\value{ESPD@free@sizepageend}}% латех начал новую страницу + {\immediate\write0{espdfreesize: sheet(s) with size (#1 x #2) inserted + at page(s) \noexpand[\arabic{ESPD@free@sizepagebegin}% + -\arabic{ESPD@free@sizepageend}\noexpand]}} + {\immediate\write0{espdfreesize: sheet(s) with size (#1 x #2) inserted + at page(s) \noexpand[\arabic{ESPD@free@sizepageend}\noexpand]}} + % теперь вернем всё как было до нас + \setlength{\ESPD@origin@y}{\paperheight-1in}% + \pdfpageheight=\paperheight% + \pdfpagewidth=\paperwidth% + \setlength{\ESPDframeW}{\paperwidth-\ESPD@margin@si-\ESPD@margin@so}% + \setlength{\ESPDframeH}{\paperheight-\ESPD@margin@t-\ESPD@margin@b}% + \ESPDstyle{\ESPD@default@style@other}% + \newpage% +} + + +% Определим несколько готовых к употреблению форматов +\newcommand{\ESPDlandscapeAIII}[1]{% + \renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa3FormatName}}% + \ESPDfreeSize{420mm}{297mm}{#1}} + +\newcommand{\ESPDportraitAIII}[1]{% + \renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa3FormatName}}% + \ESPDfreeSize{297mm}{420mm}{#1}} + +\newcommand{\ESPDlandscapeAII}[1]{% + \renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa2FormatName}}% + \ESPDfreeSize{594mm}{420mm}{#1}} + +\newcommand{\ESPDportraitAII}[1]{% + \renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa2FormatName}}% + \ESPDfreeSize{420mm}{594mm}{#1}} + +\newcommand{\ESPDlandscapeAI}[1]{% + \renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa1FormatName}}% + \ESPDfreeSize{841mm}{594mm}{#1}} + +\newcommand{\ESPDportraitAI}[1]{% + \renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa1FormatName}}% + \ESPDfreeSize{594mm}{841mm}{#1}} + +\newcommand{\ESPDlandscapeAZERO}[1]{% + \renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa0FormatName}}% + \ESPDfreeSize{1189mm}{841mm}{#1}} + +\newcommand{\ESPDportraitAZERO}[1]{% + \renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa0FormatName}}% + \ESPDfreeSize{841mm}{1189mm}{#1}} + +\newcommand{\ESPDlandscapeBanner}[1]{% + % Пятиметровое полотно для подшивки гармошкой в обычную папку А4. + % Просто для демонстрации + \ESPDfreeSize{5000mm}{297mm}{#1}} diff --git a/espdgraph.cls b/espdgraph.cls new file mode 100644 index 0000000..823198f --- /dev/null +++ b/espdgraph.cls @@ -0,0 +1,52 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{espdgraph}[2010/01/14 v0.98 Graphical Documentation] + +\DeclareOption{russian}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{ukrainian}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{koi8-r}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{koi8-u}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{cp1251}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{iso8859-5}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{cp866}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{utf-8}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{utf8}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{draft}{\PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{twoside}{% + \ClassError{espdgraph}{Two side printing is not allowed for + graphical documentation}{}} +\DeclareOption{formII}{% + \ClassError{espdgraph}{formII style is for textual documentation}{}} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{espdstamp}} + +\ProcessOptions\relax + +\LoadClass{article} +\RequirePackage{espdlang} +\RequirePackage[formI,columnxxvi,ignorestamp]{espdstamp} +\RequirePackage{espdinfo} + +\newenvironment{ESPDdrawing}{% + \clearpage\mbox{}\strut\par\vspace{-\baselineskip}\vfill% + \begin{center}}{\end{center}\vfill\clearpage} + diff --git a/espdhash.sty b/espdhash.sty new file mode 100644 index 0000000..91cfb25 --- /dev/null +++ b/espdhash.sty @@ -0,0 +1,60 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdhash}[2010/01/14 v0.98 Hash Routines] + +\newcommand{\ESPD@hash@new}[1]{% + \global\expandafter\newcount\csname ESPD@hash@c@#1\endcsname + \global\csname ESPD@hash@c@#1\endcsname = 0 + \global\expandafter\newcount\csname ESPD@hash@p@#1\endcsname + \global\csname ESPD@hash@p@#1\endcsname = 0\relax} + +\newcommand{\ESPD@hash@set}[3]{% + \expandafter\ifx\csname ESPD@hash@v@#1@#2\endcsname\relax + \expandafter\gdef\csname ESPD@hash@k@#1@\expandafter\number\csname + ESPD@hash@c@#1\endcsname\endcsname{#2} + \expandafter\advance\csname ESPD@hash@c@#1\endcsname 1 + \fi + \expandafter\gdef\csname ESPD@hash@v@#1@#2\endcsname{#3}} + +\newcommand{\ESPD@hash@get}[2]{% + \csname ESPD@hash@v@#1@#2\endcsname} + +\newcommand{\ESPD@hash@reset}[1]{% + \csname ESPD@hash@p@#1\endcsname = 0\relax} + +\newcommand{\ESPD@hash@next@key}[1]{% + \csname ESPD@hash@k@#1@\expandafter\number\csname + ESPD@hash@p@#1\endcsname\endcsname + \expandafter\advance\csname ESPD@hash@p@#1\endcsname 1\relax} + +\newcommand{\ESPD@hash@next@value}[1]{% + \csname ESPD@hash@v@#1@\csname ESPD@hash@k@#1@\expandafter\number\csname + ESPD@hash@p@#1\endcsname\endcsname\endcsname + \expandafter\advance\csname ESPD@hash@p@#1\endcsname 1\relax} + +\newcommand{\ESPD@hash@count}[1]{% + \expandafter\number\csname ESPD@hash@c@#1\endcsname} + +\newcommand{\ESPD@hash@pos}[1]{% + \expandafter\number\csname ESPD@hash@p@#1\endcsname} + diff --git a/espdindent.sty b/espdindent.sty new file mode 100644 index 0000000..26b216f --- /dev/null +++ b/espdindent.sty @@ -0,0 +1,27 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdindent}[2010/01/14 v0.98 Paragraph Indent] + +\RequirePackage{indentfirst} +\setlength{\parindent}{12.5mm} + diff --git a/espdinfo.sty b/espdinfo.sty new file mode 100644 index 0000000..8618748 --- /dev/null +++ b/espdinfo.sty @@ -0,0 +1,105 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdinfo}[2010/01/14 v0.98 Document Information] + +\newcommand{\ESPDtheDepartment}{} +\newcommand{\ESPDdepartment}[1]{\renewcommand{\ESPDtheDepartment}{#1}} + +\newcommand{\ESPDtheCompany}{} +\newcommand{\ESPDcompany}[1]{\renewcommand{\ESPDtheCompany}{#1}} + +\newcommand{\ESPDtheClassCode}{} +\newcommand{\ESPDclassCode}[1]{\renewcommand{\ESPDtheClassCode}{#1}} + +\newcommand{\ESPDtheUnitName}{} +\newcommand{\ESPDunitName}[1]{% + \renewcommand{\ESPDtheUnitName}{#1}% + \renewcommand{\@title}{#1}} +\newcommand{\ESPDtheTitle}{\ESPDtheUnitName} +\newcommand{\ESPDtitle}[1]{\ESPDunitName{#1}} +\renewcommand{\title}[1]{\ESPDunitName{#1}} + +\newcommand{\ESPDtheDocName}{} +\newcommand{\ESPDdocName}[1]{\renewcommand{\ESPDtheDocName}{#1}} + +\newcommand{\ESPDtheSignature}{} +\newcommand{\ESPDsignature}[1]{\renewcommand{\ESPDtheSignature}{#1}} + +\newcommand{\ESPDtheFileName}{} +\newcommand{\ESPDfileName}[1]{\renewcommand{\ESPDtheFileName}{#1}} + +\newcommand{\ESPDtheLetterI}{} +\newcommand{\ESPDtheLetterII}{} +\newcommand{\ESPDtheLetterIII}{} +\newcommand{\ESPDletter}[3]{% + \renewcommand{\ESPDtheLetterI}{#1}% + \renewcommand{\ESPDtheLetterII}{#2}% + \renewcommand{\ESPDtheLetterIII}{#3}} + +\newcommand{\ESPDtheMaterial}{} +\newcommand{\ESPDmaterial}[1]{% + \renewcommand{\ESPDtheMaterial}{#1}} + +\newcommand{\ESPDtheMass}{} +\newcommand{\ESPDmass}[1]{% + \renewcommand{\ESPDtheMass}{#1}} + +\newcommand{\ESPDtheScale}{} +\newcommand{\ESPDscale}[1]{% + \renewcommand{\ESPDtheScale}{#1}} + +\newcommand{\ESPDtheGroup}{} +\newcommand{\ESPDgroup}[1]{\renewcommand{\ESPDtheGroup}{#1}} + +\newcommand{\ESPDtheAuthor}{} +\newcommand{\ESPDauthor}[1]{% + \renewcommand{\ESPDtheAuthor}{#1}% + \renewcommand{\@author}{#1}} +\renewcommand{\author}[1]{\ESPDauthor{#1}} + +\newcommand{\ESPDtheChecker}{} +\newcommand{\ESPDchecker}[1]{\renewcommand{\ESPDtheChecker}{#1}} + +\newcommand{\ESPDtheNormContr}{} +\newcommand{\ESPDnormContr}[1]{\renewcommand{\ESPDtheNormContr}{#1}} + +\newcommand{\ESPDtheApprovedBy}{} +\newcommand{\ESPDapprovedBy}[1]{\renewcommand{\ESPDtheApprovedBy}{#1}} + +\newcommand{\ESPDtheYear}{\number\year} +\newcommand{\ESPDtheMonth}{\number\month} +\newcommand{\ESPDtheDay}{\number\day} +\def\ESPD@set@date#1/#2/#3 enddate{% + \renewcommand{\ESPDtheYear}{#1}% + \renewcommand{\ESPDtheMonth}{#2}% + \renewcommand{\ESPDtheDay}{#3}} +\newcommand{\ESPDdate}[1]{% + \ESPD@set@date #1 enddate% + \renewcommand{\@date}{#1}} +\renewcommand{\date}[1]{\ESPDdate{#1}} + +\RequirePackage{espdafterpkg} +\ESPD@after@package{hyperref}{% + \hypersetup{breaklinks,pdftitle=\ESPDtheUnitName,% + pdfsubject=\ESPDtheDocName,pdfauthor=\ESPDtheAuthor}} + diff --git a/espdlang.sty b/espdlang.sty new file mode 100644 index 0000000..c60b013 --- /dev/null +++ b/espdlang.sty @@ -0,0 +1,44 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdlang}[2010/01/14 v0.98 Language] + +\newcommand{\ESPD@lang}{russian} + +\newif\ifESPD@given@encoding +\ESPD@given@encodingfalse + +\DeclareOption{russian}{\renewcommand{\ESPD@lang}{russian}} +\DeclareOption{ukrainian}{\renewcommand{\ESPD@lang}{ukrainian}} +\DeclareOption*{% + \PassOptionsToPackage{\CurrentOption}{inputenc}% + \ESPD@given@encodingtrue} + +\ProcessOptions\relax + +\ifESPD@given@encoding + \RequirePackage{inputenc} +\fi + +\RequirePackage[\ESPD@lang]{babel} +\input{espd\ESPD@lang.def} + diff --git a/espdlist.sty b/espdlist.sty new file mode 100644 index 0000000..9b15ded --- /dev/null +++ b/espdlist.sty @@ -0,0 +1,68 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdlist}[2010/01/14 v0.98 List] +\RequirePackage{calc} +\RequirePackage{enumitem}% убрать вертикальный отступ перед списками + +\setlist[itemize]{% + topsep=0pt, + parsep=0pt, + leftmargin=0cm, + listparindent=\parindent{}, + itemindent=\labelwidth{} +} +\setlist[enumerate]{% + topsep=0pt, + parsep=0pt, + leftmargin=0cm, + listparindent=\parindent{}, + itemindent=\labelwidth{} +} + +\AddEnumerateCounter{\asbuk}{\@asbuk}{\cyra} + +\renewcommand{\theenumi}{\arabic{enumi}} +\renewcommand{\labelenumi}{\theenumi)} +\renewcommand{\theenumii}{\asbuk{enumi}} +\renewcommand{\labelenumii}{\theenumii)} + +\renewcommand{\labelitemi}{\bfseries\textendash} +\renewcommand{\labelitemii}{\bfseries\textendash} +\renewcommand{\labelitemiii}{\bfseries\textendash} +\renewcommand{\labelitemiv}{\bfseries\textendash} + +\renewcommand{\@listi}{% + \setlength{\itemsep}{0pt}} +\renewcommand{\@listii}{% + \setlength{\itemsep}{0pt}} +\renewcommand{\@listiii}{% + \setlength{\itemsep}{0pt}} +\renewcommand{\@listiv}{% + \setlength{\itemsep}{0pt}} +\let\@listI\@listi +\@listi + +\setlength{\labelwidth}{\parindent+.7em+\labelsep} +\setlength{\itemindent}{0pt} +\setlength{\leftmargin}{\labelwidth} + diff --git a/espdpara.sty b/espdpara.sty new file mode 100644 index 0000000..1b3645a --- /dev/null +++ b/espdpara.sty @@ -0,0 +1,51 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdpara}[2010/01/14 v0.98 Paragraphs] + +\RequirePackage{espdsect} + +\newcommand{\ESPDparagraphAlign}{\ESPDsectAlignLeft} +\newcommand{\ESPDsubparagraphAlign}{\ESPDsectAlignLeft} + +\newcommand{\ESPDparagraphStyle}{\normalfont\normalsize\bfseries} +\newcommand{\ESPDsubparagraphStyle}{\normalfont\normalsize\bfseries} + +\newlength{\ESPDparagraphSkipBefore} +\newlength{\ESPDparagraphSkipAfter} +\setlength{\ESPDparagraphSkipBefore}{-15mm \@plus -3mm \@minus -2mm} +\setlength{\ESPDparagraphSkipAfter}{15mm \@plus 1mm \@minus 2mm} +\newlength{\ESPDsubparagraphSkipBefore} +\newlength{\ESPDsubparagraphSkipAfter} +\setlength{\ESPDsubparagraphSkipBefore}{-15mm \@plus -3mm \@minus -2mm} +\setlength{\ESPDsubparagraphSkipAfter}{15mm \@plus 1mm \@minus 2mm} + +\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% + {\ESPDparagraphSkipBefore}% + {\ESPDparagraphSkipAfter}% + {\ESPDparagraphAlign\ESPDparagraphStyle}} +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {\ESPDsubparagraphSkipBefore}% + {\ESPDsubparagraphSkipAfter}% + {\ESPDsubparagraphAlign\ESPDsubparagraphStyle}} + diff --git a/espdplain.sty b/espdplain.sty new file mode 100644 index 0000000..8cf7404 --- /dev/null +++ b/espdplain.sty @@ -0,0 +1,78 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdplain}[2011/05/09 v0.98 Plain Page Style] + +\RequirePackage{espdstamp} +\RequirePackage{setspace} +\RequirePackage{calc} + +\def\ESPD@plain@vt{% + \setlength{\ESPD@tmpdimc}{% + \ESPDframeY+\ESPDframeH-\ESPD@padding@v}} + +\def\ESPD@plain@vb{% + \setlength{\ESPD@tmpdimc}{% + \ESPDframeY+\ESPD@padding@v-15mm}} + +\def\ESPD@plain@hl{% + \ifESPD@twoside + \ifodd\c@page\raggedright\else\raggedleft\fi + \else\raggedright\fi} + +\def\ESPD@plain@hr{% + \ifESPD@twoside + \ifodd\c@page\raggedleft\else\raggedright\fi + \else\raggedleft\fi} + +\def\ESPD@plain@hc{\centering} + +\let\ESPD@plain@ha\ESPD@plain@hc +\let\ESPD@plain@va\ESPD@plain@vb + +\DeclareOption{numbertop}{\let\ESPD@plain@va\ESPD@plain@vt} +\DeclareOption{numberbottom}{\let\ESPD@plain@va\ESPD@plain@vb} +\DeclareOption{numberleft}{\let\ESPD@plain@ha\ESPD@plain@hl} +\DeclareOption{numbercenter}{\let\ESPD@plain@ha\ESPD@plain@hc} +\DeclareOption{numberright}{\let\ESPD@plain@ha\ESPD@plain@hr} + +\ProcessOptions\relax + +\newcommand{\ESPDdrawPlainPageNumber}{ + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPD@padding@h} + \setlength{\ESPD@tmpdimb}{\ESPDframeW-2\ESPD@padding@h} + \ESPD@plain@va + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimc}){% + \parbox[b][15mm][c]{\ESPD@tmpdimb}{% + \begin{singlespace} + \reset@font\normalsize + \ESPD@plain@ha\thepage \\ \MakeUppercase\ESPDtheSignature + \end{singlespace} + }}} + +\ESPDnewStyle{plain}{0mm} +\ESPDputOnStyle{plain}{pagenumber}{\ESPDdrawPlainPageNumber} + +\ESPDdefaultTitleStyle{empty} +\ESPDdefaultFirstStyle{plain} +\ESPDdefaultStyle{plain} + diff --git a/espdrussian.def b/espdrussian.def new file mode 100644 index 0000000..f65c3c9 --- /dev/null +++ b/espdrussian.def @@ -0,0 +1,178 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\ProvidesFile{espdrussian.def}[2010/01/17 v0.98 Language File] + +\newcommand{\ESPDcolumnIVname}{% + \cyr\CYRL\cyri\cyrt.} +\newcommand{\ESPDcolumnVname}{% + \cyr\CYRM\cyra\cyrs\cyrs\cyra} +\newcommand{\ESPDcolumnVIname}{% + \cyr\CYRM\cyra\cyrs\cyrsh\cyrt\cyra\cyrb} +\newcommand{\ESPDcolumnVIIname}{% + \cyr\CYRL\cyri\cyrs\cyrt} +\newcommand{\ESPDcolumnVIItwosideName}{% + \cyr\CYRS\cyrt\cyrr.} +\newcommand{\ESPDcolumnVIIIname}{% + \cyr\CYRL\cyri\cyrs\cyrt\cyro\cyrv} +\newcommand{\ESPDcolumnVIIItwosideName}{% + \cyr\CYRS\cyrt\cyrr\cyra\cyrn\cyri\cyrc} +\newcommand{\ESPDcolumnXfIname}{% + \cyr\CYRR\cyra\cyrz\cyrr\cyra\cyrb.} +\newcommand{\ESPDcolumnXfIIname}{% + \cyr\CYRP\cyrr\cyro\cyrv.} +\newcommand{\ESPDcolumnXfIIIname}{% + \cyr\CYRT. \cyrk\cyro\cyrn\cyrt\cyrr.} +\newcommand{\ESPDcolumnXfIVname}{} +\newcommand{\ESPDcolumnXfVname}{% + \cyr\CYRN. \cyrk\cyro\cyrn\cyrt\cyrr.} +\newcommand{\ESPDcolumnXfVIname}{% + \cyr\CYRU\cyrt\cyrv.} +\newcommand{\ESPDcolumnXIVname}{% + \cyr\CYRI\cyrz\cyrm.} +\newcommand{\ESPDcolumnXVname}{% + \cyr\CYRL\cyri\cyrs\cyrt} +\newcommand{\ESPDcolumnXVIname}{% + \textnumero\ \cyr\cyrd\cyro\cyrk\cyru\cyrm.} +\newcommand{\ESPDcolumnXVIIname}{% + \cyr\CYRP\cyro\cyrd\cyrp.} +\newcommand{\ESPDcolumnXVIIIname}{% + \cyr\CYRD\cyra\cyrt\cyra} +\newcommand{\ESPDcolumnXIXname}{% + \cyr\CYRI\cyrn\cyrv. \textnumero\ \cyrp\cyro\cyrd\cyrl.} +\newcommand{\ESPDcolumnXXname}{% + \cyr\CYRP\cyro\cyrd\cyrp. \cyri\ \cyrd\cyra\cyrt\cyra} +\newcommand{\ESPDcolumnXXIname}{% + \cyr\CYRV\cyrz\cyra\cyrm. \cyri\cyrn\cyrv. \textnumero} +\newcommand{\ESPDcolumnXXIIname}{% + \cyr\CYRI\cyrn\cyrv. \textnumero\ \cyrd\cyru\cyrb\cyrl.} +\newcommand{\ESPDcolumnXXIIIname}{% + \cyr\CYRP\cyro\cyrd\cyrp. \cyri\ \cyrd\cyra\cyrt\cyra} +\newcommand{\ESPDcolumnXXIVname}{% + \cyr\CYRS\cyrp\cyrr\cyra\cyrv. \textnumero} +\newcommand{\ESPDcolumnXXVname}{% + \cyr\CYRP\cyre\cyrr\cyrv. \cyrp\cyrr\cyri\cyrm\cyre\cyrn.} +\newcommand{\ESPDcolumnXXXIname}{% + \cyr\CYRK\cyro\cyrp\cyri\cyrr\cyro\cyrv\cyra\cyrl} +\@namedef{ESPDa0FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}0} +\@namedef{ESPDa1FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}1} +\@namedef{ESPDa2FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}2} +\@namedef{ESPDa3FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}3} +\@namedef{ESPDa4FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}4} +\@namedef{ESPDemptyFormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \ \ \ } +\newcommand{\ESPDcolumnXXXIIIname}{% + \cyr\CYRZ\cyro\cyrn\cyra} + +\newcommand{\ESPDagreedName}{% + \cyr\CYRS\cyro\cyrg\cyrl\cyra\cyrs\cyro\cyrv\cyra\cyrn\cyro} +\newcommand{\ESPDapprovingName}{% + \cyr\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyra\cyryu} +\newcommand{\ESPDapprovedName}{% + \cyr\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn} +\newcommand{\ESPDapprovingSheetName}{% + \cyr\CYRL\cyri\cyrs\cyrt\ % + \cyru\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyrya} + +\newlength{\ESPDexplanWidth} +\setlength{\ESPDexplanWidth}{1.8em} + +\addto\captionsrussian{% + \def\tablename{{\cyr\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra}}% + \def\figurename{{\cyr\CYRR\cyri\cyrs\cyru\cyrn\cyro\cyrk}}% +} + +\newcommand{\ESPDspecColumnIname}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt} +\newcommand{\ESPDspecColumnIIname}{% + \cyr\CYRZ\cyro\cyrn\cyra} +\newcommand{\ESPDspecColumnIIIname}{% + \cyr\CYRP\cyro\cyrz.} +\newcommand{\ESPDspecColumnIVname}{% + \cyr\CYRO\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri\cyre} +\newcommand{\ESPDspecColumnVname}{% + \cyr\CYRN\cyra\cyri\cyrm\cyre\cyrn\cyro\cyrv\cyra\cyrn\cyri\cyre} +\newcommand{\ESPDspecColumnVIname}{% + \cyr\CYRK\cyro\cyrl.} +\newcommand{\ESPDspecColumnVIIname}{% + \cyr\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyre} + +\newcommand{\ESPDspecIIcolumnIname}{\ESPDspecColumnIname} +\newcommand{\ESPDspecIIcolumnIIname}{\ESPDspecColumnIIname} +\newcommand{\ESPDspecIIcolumnIIIname}{\ESPDspecColumnIIIname} +\newcommand{\ESPDspecIIcolumnIVname}{\ESPDspecColumnIVname} +\newcommand{\ESPDspecIIcolumnVname}{\ESPDspecColumnVname} +\newcommand{\ESPDspecIIcolumnVIname}{\ESPDspecColumnVIname} +\newcommand{\ESPDspecIIcolumnVIIname}{% + \cyr\CYRM\cyra\cyrs\cyrs\cyra} +\newcommand{\ESPDspecIIcolumnVIIIname}{% + \cyr\CYRM\cyra\cyrt\cyre\cyrr\cyri\cyra\cyrl} +\newcommand{\ESPDspecIIcolumnIXname}{\ESPDspecColumnVIIname} + +\newcommand{\ESPDchangeSheetName}{% + \cyr\CYRL\cyri\cyrs\cyrt\ % + \cyrr\cyre\cyrg\cyri\cyrs\cyrt\cyrr\cyra\cyrc\cyri\cyri\ % + \cyri\cyrz\cyrm\cyre\cyrn\cyre\cyrn\cyri\cyrishrt} +\newcommand{\ESPDchngColumnsIIhName}{% + \cyr\CYRN\cyro\cyrm\cyre\cyrr\cyra\ \cyrl\cyri\cyrs\cyrt\cyro\cyrv\ % + (\cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc)} +\newcommand{\ESPDchngColumnIIname}{% + \cyr\cyri\cyrz\-\cyrm\cyre\-\cyrn\cyre\cyrn\-\cyrn\cyrery\cyrh} +\newcommand{\ESPDchngColumnIIIname}{% + \cyr\cyrz\cyra\-\cyrm\cyre\-\cyrn\cyre\cyrn\-\cyrn\cyrery\cyrh} +\newcommand{\ESPDchngColumnIVname}{% + \cyr\cyrn\cyro\-\cyrv\cyrery\cyrh} +\newcommand{\ESPDchngColumnVname}{% + \cyr\cyra\cyrn\-\cyrn\cyru\-\cyrl\cyri\-\cyrr\cyro\-\cyrv\cyra\cyrn\-% + \cyrn\cyrery\cyrh} +\newcommand{\ESPDchngColumnVIname}{% + \cyr\CYRV\cyrs\cyre\cyrg\cyro\ \cyrl\cyri\cyrs\cyrt\cyro\cyrv\ % + (\cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc) \cyrv\ \cyrd\cyro\cyrk\cyru\cyrm.} +\newcommand{\ESPDchngColumnVIIIname}{% + \cyr\CYRV\cyrh\cyro\cyrd\cyrya\cyrshch\cyri\cyrishrt\ \textnumero\ % + \cyrs\cyro\cyrp\cyrr\cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn + \cyrn\cyro\cyrg\cyro\ \cyrd\cyro\cyrk\cyru\cyrm. \cyri\ % + \cyrd\cyra\cyrt\cyra} + +\def\@Asbuk#1{\ifcase#1\or + \CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or + \CYRI\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or + \CYRP\or\CYRR\or\CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or + \CYRC\or\CYRSH\or\CYRSHCH\or\CYREREV\or\CYRYU\or + \CYRYA\else{\@tempcnta \number #1\relax + \advance\@tempcnta -25\relax + \protect\number\@tempcnta} + \fi} +\def\@asbuk#1{\ifcase#1\or + \cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or\cyrzh\or + \cyri\or\cyrk\or\cyrl\or\cyrm\or\cyrn\or + \cyrp\or\cyrr\or\cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or + \cyrc\or\cyrsh\or\cyrshch\or\cyrerev\or\cyryu\or + \cyrya\else{\@tempcnta \number #1\relax + \advance\@tempcnta -25\relax + \protect\number\@tempcnta} + \fi} + diff --git a/espdsect.sty b/espdsect.sty new file mode 100644 index 0000000..851b4de --- /dev/null +++ b/espdsect.sty @@ -0,0 +1,248 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdsect}[2010/01/14 v0.98 Sectioning] +\RequirePackage{calc} + +\newcommand{\ESPD@point@style}{single} + +\DeclareOption{pointsingle}{\renewcommand{\ESPD@point@style}{single}} +\DeclareOption{pointsection}{\renewcommand{\ESPD@point@style}{section}} +\DeclareOption{pointsubsection}{\renewcommand{\ESPD@point@style}{subsection}} + +\ProcessOptions\relax + +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par + \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa \@afterindentfalse + \fi + \if@nobreak + \everypar{}% + \divide \@tempskipa by 2 + \vskip -\@tempskipa + \vskip\z@skip + \else + \addpenalty\@secpenalty\addvspace\@tempskipa + \fi + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} + +\newcommand{\ESPDsectAlignLeft}{% + \let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip% + \leftskip\z@skip} +\newcommand{\ESPDsectAlignRight}{% + \let\\\@centercr\rightskip\z@skip\leftskip\@flushglue + \parindent\z@\parfillskip\z@skip} +\newcommand{\ESPDsectAlignCenter}{% + \let\\\@centercr + \rightskip\@flushglue\leftskip\@flushglue + \parindent\z@\parfillskip\z@skip} + +\newcommand{\ESPDsectionAlign}{\ESPDsectAlignLeft} +\newcommand{\ESPDsubsectionAlign}{\ESPDsectAlignLeft} +\newcommand{\ESPDsubsubsectionAlign}{\ESPDsectAlignLeft} + +\newcommand{\ESPDsectAlign}[2]{% + \expandafter\renewcommand\csname\string ESPD#1Align\endcsname{% + \@nameuse{ESPDsectAlign#2}}} + +\newcommand{\ESPDsectionStyle}{\normalfont\normalsize\MakeUppercase} +\newcommand{\ESPDsubsectionStyle}{\normalfont\normalsize} +\newcommand{\ESPDsubsubsectionStyle}{\normalfont\normalsize} + +\newcommand{\ESPDsectStyle}[2]{% + \expandafter\renewcommand\csname\string ESPD#1Style\endcsname{#2}} + +\newlength{\ESPDsectionSkipBefore} +\newlength{\ESPDsectionSkipAfter} +\setlength{\ESPDsectionSkipBefore}{-5mm \@plus -3mm \@minus -2mm} +\setlength{\ESPDsectionSkipAfter}{5mm \@plus 1mm \@minus 2mm} +\newlength{\ESPDsubsectionSkipBefore} +\newlength{\ESPDsubsectionSkipAfter} +\setlength{\ESPDsubsectionSkipBefore}{-5mm \@plus -3mm \@minus -2mm} +\setlength{\ESPDsubsectionSkipAfter}{5mm \@plus 1mm \@minus 2mm} +\newlength{\ESPDsubsubsectionSkipBefore} +\newlength{\ESPDsubsubsectionSkipAfter} +\setlength{\ESPDsubsubsectionSkipBefore}{-5mm \@plus -3mm \@minus -2mm} +\setlength{\ESPDsubsubsectionSkipAfter}{5mm \@plus 1mm \@minus 2mm} + +\providecommand{\plus}{\@plus} +\providecommand{\minus}{\@minus} + +\newcommand{\ESPDsectSkip}[3]{% + \expandafter\setlength\csname\string ESPD#1SkipBefore\endcsname{#2}% + \expandafter\setlength\csname\string ESPD#1SkipAfter\endcsname{#3}} + +\renewcommand\section{\@startsection {section}{1}{\parindent}% + {\ESPDsectionSkipBefore}% + {\ESPDsectionSkipAfter}% + {\ESPDsectionAlign\ESPDsectionStyle}} +\renewcommand\subsection{\@startsection{subsection}{2}{\parindent}% + {\ESPDsubsectionSkipBefore}% + {\ESPDsubsectionSkipAfter}% + {\ESPDsubsectionAlign\ESPDsubsectionStyle}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\parindent}% + {\ESPDsubsubsectionSkipBefore}% + {\ESPDsubsubsectionSkipAfter}% + {\ESPDsubsubsectionAlign\ESPDsubsubsectionStyle}} + +\let\oldsection\section +\renewcommand\section{\clearpage\oldsection} + +\renewcommand{\thesection}{\arabic{section}.} +\renewcommand{\thesubsection}{\thesection\arabic{subsection}.} +\renewcommand{\thesubsubsection}{\thesubsection\arabic{subsubsection}.} +\newif\ifESPD@point@style@single +\ESPD@point@style@singlefalse + +\newcommand{\ESPD@point@style@single}{ + \newcounter{point} + \renewcommand{\thepoint}{\arabic{point}} + \newcommand{\theHpoint}{\arabic{point}} + \ESPD@point@style@singletrue} + +\newcommand{\ESPD@point@style@section}{ + \newcounter{point}[section] + \renewcommand{\thepoint}{\thesection.\arabic{point}} + \newcommand{\theHpoint}{\theHsection.\arabic{point}}} + +\newcommand{\ESPD@point@style@subsection}{ + \newcounter{point}[subsection] + \renewcommand{\thepoint}{\thesubsection.\arabic{point}} + \newcommand{\theHpoint}{\theHsubsection.\arabic{point}}} + +\@nameuse{ESPD@point@style@\ESPD@point@style} +\newcounter{subpoint}[point] +\newcounter{subsubpoint}[subpoint] +\renewcommand{\thesubpoint}{\thepoint.\arabic{subpoint}} +\newcommand{\theHsubpoint}{\theHpoint.\arabic{subpoint}} +\renewcommand{\thesubsubpoint}{\thesubpoint.\arabic{subsubpoint}} +\newcommand{\theHsubsubpoint}{\theHsubpoint.\arabic{subsubpoint}} + +\newcommand{\point}{% + \par\refstepcounter{point}\thepoint\quad} +\newcommand{\subpoint}{% + \par\refstepcounter{subpoint}\thesubpoint\quad} +\newcommand{\subsubpoint}{% + \par\refstepcounter{subsubpoint}\thesubsubpoint\quad} + + +\newcounter{pointII}[section] +\newcounter{pointIII}[subsection] +\newcounter{pointIV}[subsubsection] + +\renewcommand{\thepointII}{\thesection\arabic{pointII}.} +\renewcommand{\thepointIII}{\thesubsection\arabic{pointIII}.} +\renewcommand{\thepointIV}{\thesubsubsection\arabic{pointIV}.} + +\newcommand{\pointII}{% + \par\refstepcounter{pointII}\thepointII\quad} +\newcommand{\pointIII}{% + \par\refstepcounter{pointIII}\thepointIII\quad} +\newcommand{\pointIV}{% + \par\refstepcounter{pointIV}\thepointIV\quad} + +\newcounter{subpointIII}[pointII] +\newcounter{subpointIV}[pointIII] + +\renewcommand{\thesubpointIII}{\thepointII\arabic{subpointIII}.} +\renewcommand{\thesubpointIV}{\thepointIII\arabic{subpointIV}.} + +\newcommand{\subpointIII}{% + \par\refstepcounter{subpointIII}\thesubpointIII\quad} +\newcommand{\subpointIV}{% + \par\refstepcounter{subpointIV}\thesubpointIV\quad} + + + + +\newcounter{appendix} +\renewcommand{\theappendix}{\Asbuk{appendix}} +\newlength{\ESPDappendixSkip} +\setlength{\ESPDappendixSkip}{15mm \@plus 3mm \@minus 10mm} + +\newcommand{\ESPDappendix}[2]{% + \ESPDclearDoublePage% + \refstepcounter{appendix}% + \setcounter{point}{0}% + \ifESPD@point@style@single% + \renewcommand{\thepoint}{\theappendix.\arabic{point}}% + \fi + \setcounter{section}{0}% + \renewcommand{\thesection}{\theappendix.\arabic{section}}% + \setcounter{equation}{0}% + \renewcommand{\theequation}{\theappendix.\arabic{equation}}% + \setcounter{figure}{0}% + \renewcommand{\thefigure}{\theappendix.\arabic{figure}}% + \setcounter{table}{0}% + \renewcommand{\thetable}{\theappendix.\arabic{table}}% + \addcontentsline{toc}{section}{\appendixname\ \theappendix\ #2}% + \begin{list}{}{% + \setlength{\itemindent}{0mm}% + \setlength{\labelwidth}{0mm}% + \setlength{\labelsep}{0mm}% + \setlength{\leftmargin}{0mm}% + \setlength{\topsep}{0mm}% + \setlength{\parskip}{0mm}% + \setlength{\partopsep}{0mm}% + \setlength{\itemsep}{0mm}% + \setlength{\parsep}{0mm}} + \item\centering\appendixname\ \theappendix + \ifx#1\@empty\else\\(#1)\fi\\ + \item\centering\bf #2 + \end{list}% + \par\nobreak\addvspace{\ESPDappendixSkip}} + +%\renewcommand\tableofcontents{% +% \begingroup +% \ESPDsectAlign{section}{Center} +% \section*{\contentsname +% \@mkboth{% +% \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% +% \endgroup +% \@starttoc{toc}} + +\RequirePackage[style]{abstract} +\renewcommand{\abstitlestyle}[1]{\center\normalsize\MakeUppercase #1} +\ESPDsectAlign{section}{Center} + +\RequirePackage[titles]{tocloft} +\renewcommand{\cftsecfont}{\normalfont\normalsize} +\renewcommand{\cftsubsecfont}{\normalfont\normalsize} +\renewcommand{\cftsubsubsecfont}{\normalfont\normalsize} +\renewcommand{\cftsecpagefont}{\normalfont\normalsize} +\renewcommand{\cftsubsecpagefont}{\normalfont\normalsize} +\renewcommand{\cftsubsubsecpagefont}{\normalfont\normalsize} +\renewcommand\cftsecafterpnum{\vskip0pt} +\renewcommand\cftsubsecafterpnum{\vskip0pt} +\renewcommand\cftsubsubsecafterpnum{\vskip0pt} +\renewcommand\cftbeforesecskip{0pt} +\renewcommand\cftbeforesubsecskip{0pt} +\renewcommand\cftbeforesubsubsecskip{0pt} + +\renewcommand{\cftdot}{} + diff --git a/espdspec.sty b/espdspec.sty new file mode 100644 index 0000000..404fd90 --- /dev/null +++ b/espdspec.sty @@ -0,0 +1,93 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdspec}[2010/01/14 v0.98 Specification GOST 2.106.95] + +\RequirePackage{espdlang} +\RequirePackage{espdstamp} +\RequirePackage{rotating} +\RequirePackage{array} +\RequirePackage{longtable} + +\newcommand{\ESPDdrawSpecification}{ + \put(\ESPDltu{\ESPDframeX},\ESPDltu{\ESPDframeY}){% + \begin{picture}(0,0) + \ESPD@tmpdimb=\ESPDframeH + \ESPD@tmpdima=\ESPD@style@sh@formII + \ESPD@tmpdimc=8mm + \advance\ESPD@tmpdimb -\ESPD@tmpdima + \advance\ESPD@tmpdimb -15mm + \divide\ESPD@tmpdimb by \ESPD@tmpdimc + \ESPD@tmpcnta=\ESPD@tmpdimb + \ESPD@tmpdimb=\ESPD@tmpdimc + \multiply\ESPD@tmpdimb by \ESPD@tmpcnta + \advance\ESPD@tmpdimb 15mm + \ESPD@tmpdima=\ESPDframeH + \advance\ESPD@tmpdima -\ESPD@tmpdimb + \linethickness{\ESPDlineThick} + \put(6,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}} + \put(12,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}} + \put(20,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}} + \put(90,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}} + \put(153,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}} + \put(163,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}} + \ESPD@tmpdimb=\ESPDframeH + \advance\ESPD@tmpdimb -15mm + \put(0,\ESPDltu{\ESPD@tmpdimb}){\line(1,0){\ESPDltu{\ESPDframeW}}} + \linethickness{\ESPDlineThin} + \multiput(0,\ESPDltu{\ESPD@tmpdima})(0, 8){\the\ESPD@tmpcnta}{% + \line(1,0){\ESPDltu{\ESPDframeW}}} + \end{picture}}} + +\newenvironment{ESPDspecification}{% +\ESPDputOnStyle{formII}{specification}{\ESPDdrawSpecification} +\ESPDputOnStyle{formIIab}{specification}{\ESPDdrawSpecification} +\begin{ESPDzeroPadding}% +\setlength{\tabcolsep}{0.5mm}% +\setlength{\LTpre}{0mm}% +\setlength{\LTpost}{0mm}% +\setlength{\LTleft}{0mm}% +\setlength{\LTright}{\fill}% +\newcolumntype{s}{>{\ESPDfontTabBody}c}% +\newcolumntype{n}{>{\parbox[c][8mm][c]{1mm}{% + \rule{0mm}{0mm}}\ESPDfontTabBody}l}% +\noindent% +\begin{longtable}{ssssnss} +\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\ESPDfontTabHead% +\ESPDspecColumnIname\end{sideways}}& +\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\ESPDfontTabHead% +\ESPDspecColumnIIname\end{sideways}}& +\parbox[c][15mm][c]{7mm}{\centering\begin{sideways}\ESPDfontTabHead% +\ESPDspecColumnIIIname\end{sideways}}& +\parbox[c][15mm][c]{69mm}{\centering\ESPDfontTabHead% +\ESPDspecColumnIVname}& +\parbox[c][15mm][c]{61mm}{\centering\ESPDfontTabHead% +\ESPDspecColumnVname}& +\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\ESPDfontTabHead% +\ESPDspecColumnVIname\end{sideways}}& +\parbox[c][15mm][c]{21mm}{\centering\ESPDfontTabHead% +\ESPDspecColumnVIIname}\endhead}{% +\end{longtable}% +\end{ESPDzeroPadding}% +\ESPDremoveFromStyle{formII}{spec}% +\ESPDremoveFromStyle{formIIab}{spec}} + diff --git a/espdspecii.sty b/espdspecii.sty new file mode 100644 index 0000000..a63418f --- /dev/null +++ b/espdspecii.sty @@ -0,0 +1,179 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdspecii}[2010/01/14 v0.98 Specification GOST 2.106.95 Form 2] + +\RequirePackage{espdlang} +\RequirePackage{espdstamp} +\RequirePackage{rotating} +\RequirePackage{chngpage} +\RequirePackage{lscape} +\RequirePackage{array} +\RequirePackage{longtable} + +\newcommand{\ESPDdrawSpecificationII}{ + \put(\ESPDltu{\ESPDframeX},\ESPDltu{\ESPDframeY}){% + \begin{picture}(0,0) + \ESPD@tmpdimb=\ESPDframeW + \ESPD@tmpdimc=8mm + \advance\ESPD@tmpdimb -70mm + \divide\ESPD@tmpdimb by \ESPD@tmpdimc + \ESPD@tmpcnta=\ESPD@tmpdimb + \ESPD@tmpdimb=\ESPD@tmpdimc + \multiply\ESPD@tmpdimb by \ESPD@tmpcnta + \advance\ESPD@tmpdimb 15mm + \linethickness{\ESPDlineThick} + \put(0,6){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}} + \put(0,12){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}} + \put(0,20){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}} + \put(0,90){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}} + \put(0,162){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}} + \put(0,172){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}} + \put(0,182){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}} + \put(0,257){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}} + \put(15,0){\line(0,1){\ESPDltu{\ESPDframeH}}} + \linethickness{\ESPDlineThin} + \multiput(23,0)(8, 0){\the\ESPD@tmpcnta}{% + \line(0,1){\ESPDltu{\ESPDframeH}}} + \end{picture}}} + +\newcommand{\ESPDdrawSpecIIstampII}{% + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW} + \setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-185mm} + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \begin{sideways}\usebox{\ESPD@stamp@ii@box}\end{sideways}} + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \begin{sideways}\ESPD@stamp@ii@var\end{sideways}}} + +\newcommand{\ESPDdrawSpecIIstampIIa}{% + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW} + \setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-185mm} + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \begin{sideways}\usebox{\ESPD@stamp@ii@a@box}\end{sideways}} + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \begin{sideways}\ESPD@stamp@ii@a@var\end{sideways}}} + +\ifESPD@enable@columns@xxvii +\newcommand{\ESPDdrawSpecIIcolumnsXXVII}{% + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW-48mm} + \setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-120mm} + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \begin{sideways}\usebox{\ESPD@columns@xxvii@ii@box}\end{sideways}}% + \addtolength{\ESPD@tmpdima}{8mm}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \begin{sideways}\usebox{\ESPD@column@xxx@box}\end{sideways}}} +\fi + +\ifESPD@enable@column@xxxi +\newcommand{\ESPDdrawSpecIIcolumnXXXI}{% + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW+1.2mm}% + \setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-120mm}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \begin{sideways}% + \makebox[70mm][r]{\ESPDfontIII\ESPDcolumnXXXIname\hspace{4em}}% + \end{sideways}}} +\fi + +\ifESPD@enable@column@xxxii +\newcommand{\ESPDdrawSpecIIcolumnXXXII}{% + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW+1.2mm}% + \setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-50mm}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \begin{sideways}% + \makebox[50mm][r]{\ESPDfontIII\ESPDtheColumnXXXII}% + \end{sideways}}} +\fi + +\ESPDnewStyle{specII}{0mm} +\ESPDputOnStyle{specII}{frame}{\ESPDdrawFrame} +\ESPDputOnStyle{specII}{stamp}{\ESPDdrawSpecIIstampII} +\ESPDputOnStyle{specII}{specification}{\ESPDdrawSpecificationII} +\ifESPD@enable@columns@xix + \ESPDputOnStyle{specII}{columnsxix}{\ESPDdrawColumnsXIX} +\fi +\ifESPD@enable@columns@xxiv + \ESPDputOnStyle{specII}{columnsxxiv}{\ESPDdrawColumnsXXIV} +\fi +\ifESPD@enable@columns@xxvii + \ESPDputOnStyle{specII}{columnsxxvii}{\ESPDdrawSpecIIcolumnsXXVII} +\fi +\ifESPD@enable@column@xxxi + \ESPDputOnStyle{specII}{columnxxxi}{\ESPDdrawSpecIIcolumnXXXI} +\fi +\ifESPD@enable@column@xxxii + \ESPDputOnStyle{specII}{columnxxxii}{\ESPDdrawSpecIIcolumnXXXII} +\fi + +\ESPDnewStyle{specIIa}{0mm} +\ESPDputOnStyle{specIIa}{frame}{\ESPDdrawFrame} +\ESPDputOnStyle{specIIa}{stamp}{\ESPDdrawSpecIIstampIIa} +\ESPDputOnStyle{specIIa}{specification}{\ESPDdrawSpecificationII} +\ifESPD@enable@columns@xix + \ESPDputOnStyle{specIIa}{columnsxix}{\ESPDdrawColumnsXIX} +\fi +\ifESPD@enable@column@xxxi + \ESPDputOnStyle{specIIa}{columnxxxi}{\ESPDdrawSpecIIcolumnXXXI} +\fi +\ifESPD@enable@column@xxxii + \ESPDputOnStyle{specIIa}{columnxxxii}{\ESPDdrawSpecIIcolumnXXXII} +\fi + +\ESPDdefaultFirstStyle{specII} +\ESPDdefaultStyle{specIIa} + +\newenvironment{ESPDspecificationII}{% +\begin{ESPDzeroPadding}% +\changetext{}{-55mm}{}{}{}% +\begin{landscape} +\setlength{\tabcolsep}{0.5mm}% +\setlength{\LTpre}{0mm}% +\setlength{\LTpost}{0mm}% +\setlength{\LTleft}{0mm}% +\setlength{\LTright}{\fill}% +\newcolumntype{s}{>{\ESPDfontTabBody}c}% +\newcolumntype{n}{>{\parbox[c][8mm][c]{1mm}{% + \rule{0mm}{0mm}}\ESPDfontTabBody}l}% +\noindent% +\begin{longtable}{ssssnssss} +\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\ESPDfontTabHead% +\ESPDspecIIcolumnIname\end{sideways}}& +\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\ESPDfontTabHead% +\ESPDspecIIcolumnIIname\end{sideways}}& +\parbox[c][15mm][c]{7mm}{\centering\begin{sideways}\ESPDfontTabHead% +\ESPDspecIIcolumnIIIname\end{sideways}}& +\parbox[c][15mm][c]{69mm}{\centering\ESPDfontTabHead% +\ESPDspecIIcolumnIVname}& +\parbox[c][15mm][c]{71mm}{\centering\ESPDfontTabHead% +\ESPDspecIIcolumnVname}& +\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\ESPDfontTabHead% +\ESPDspecIIcolumnVIname\end{sideways}}& +\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\ESPDfontTabHead% +\ESPDspecIIcolumnVIIname\end{sideways}}& +\parbox[c][15mm][c]{74mm}{\centering\ESPDfontTabHead% +\ESPDspecIIcolumnVIIIname}& +\parbox[c][15mm][c]{29mm}{\centering\ESPDfontTabHead% +\ESPDspecIIcolumnIXname}\endhead}{% +\end{longtable}% +\end{landscape}% +\changetext{}{55mm}{}{}{}% +\end{ESPDzeroPadding}} + diff --git a/espdstamp.sty b/espdstamp.sty new file mode 100644 index 0000000..3317e8a --- /dev/null +++ b/espdstamp.sty @@ -0,0 +1,1140 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdstamp}[2011/05/06 v0.98 Stamp GOST 2.104-68] + +\RequirePackage{calc} + +\newcommand{\ESPD@paper}{a4} + +\newif\ifESPD@landscape +\ESPD@landscapefalse +\newif\ifESPD@given@landscape +\ESPD@given@landscapefalse + +\newcommand{\ESPD@default@style@title}{title} +\newcommand{\ESPD@default@style@first}{formII} +\newcommand{\ESPD@default@style@other}{formIIab} + +\newlength{\ESPD@margin@si} +\newlength{\ESPD@margin@so} +\newlength{\ESPD@margin@t} +\newlength{\ESPD@margin@b} +\setlength{\ESPD@margin@si}{20mm} +\setlength{\ESPD@margin@so}{5mm} +\setlength{\ESPD@margin@t}{5mm} +\setlength{\ESPD@margin@b}{5mm} + +\newlength{\ESPDlineThick} +\newlength{\ESPDlineThin} +\setlength{\ESPDlineThick}{.4mm} +\setlength{\ESPDlineThin}{.2mm} + +\newlength{\ESPD@padding@h} +\newlength{\ESPD@padding@v} +\setlength{\ESPD@padding@h}{0mm} +\setlength{\ESPD@padding@v}{5mm} + +\newif\ifESPD@ignstamp +\ESPD@ignstampfalse + +\newif\ifESPD@enable@column@vii +\ESPD@enable@column@viitrue +\newif\ifESPD@given@column@vii +\ESPD@given@column@viifalse + +\newif\ifESPD@enable@column@viii +\ESPD@enable@column@viiitrue + +\newif\ifESPD@enable@columns@xix +\ESPD@enable@columns@xixtrue + +\newif\ifESPD@enable@columns@xxiv +\ESPD@enable@columns@xxivfalse + +\newif\ifESPD@enable@column@xxvi +\ESPD@enable@column@xxvifalse + +\newif\ifESPD@enable@columns@xxvii +\ESPD@enable@columns@xxviifalse + +\newif\ifESPD@enable@column@xxxi +\ESPD@enable@column@xxxitrue + +\newif\ifESPD@enable@column@xxxii +\ESPD@enable@column@xxxiitrue + +\newif\ifESPD@enable@column@xxxiii +\ESPD@enable@column@xxxiiifalse + +\newif\ifESPD@enable@column@xxxiv +\ESPD@enable@column@xxxivfalse + +\newif\ifESPD@twoside +\ESPD@twosidefalse + +\newif\ifESPD@zonelabels +\ESPD@zonelabelsfalse + +\RequirePackage{keyval} + +\DeclareOption{a0paper}{\renewcommand{\ESPD@paper}{a0}} +\DeclareOption{a1paper}{\renewcommand{\ESPD@paper}{a1}} +\DeclareOption{a2paper}{\renewcommand{\ESPD@paper}{a2}} +\DeclareOption{a3paper}{\renewcommand{\ESPD@paper}{a3}} +\DeclareOption{a4paper}{\renewcommand{\ESPD@paper}{a4}} +\DeclareOption{landscape}{% + \ESPD@landscapetrue% + \ESPD@given@landscapetrue} +\DeclareOption{portrait}{% + \ESPD@landscapefalse% + \ESPD@given@landscapetrue} +\define@key{espd}{reduceheight}{\addtolength{\ESPD@margin@b}{#1}} +\DeclareOption{formI}{% + \renewcommand{\ESPD@default@style@first}{formI} + \renewcommand{\ESPD@default@style@other}{formIIab} + \renewcommand{\ESPD@default@style@title}{title}} +\DeclareOption{formII}{% + \renewcommand{\ESPD@default@style@first}{formII} + \renewcommand{\ESPD@default@style@other}{formIIab} + \renewcommand{\ESPD@default@style@title}{title}} +\DeclareOption{emptystyle}{% + \renewcommand{\ESPD@default@style@first}{empty} + \renewcommand{\ESPD@default@style@other}{empty} + \renewcommand{\ESPD@default@style@title}{empty}} +\DeclareOption{espd}{% + \setlength{\ESPD@margin@t}{20mm}% + \setlength{\ESPD@margin@b}{10mm}% + \setlength{\ESPD@margin@si}{20mm} + \setlength{\ESPD@margin@so}{10mm} + \renewcommand{\ESPD@default@style@first}{empty} + \renewcommand{\ESPD@default@style@other}{empty} + \renewcommand{\ESPD@default@style@title}{espdtitle}} +\DeclareOption{stitching}{\setlength{\ESPD@margin@si}{20mm}} +\DeclareOption{nostitching}{% + \setlength{\ESPD@margin@si}{5mm}% + \ESPD@enable@columns@xixfalse% + \ESPD@enable@columns@xxivfalse} +\DeclareOption{ignorestamp}{\ESPD@ignstamptrue} +\DeclareOption{noignorestamp}{\ESPD@ignstampfalse} +\DeclareOption{columnvii}{% + \ESPD@enable@column@viitrue% + \ESPD@given@column@viitrue} +\DeclareOption{nocolumnvii}{ + \ESPD@enable@column@viifalse% + \ESPD@given@column@viitrue} +\DeclareOption{columnviii}{\ESPD@enable@column@viiitrue} +\DeclareOption{nocolumnviii}{\ESPD@enable@column@viiifalse} +\DeclareOption{columnsxix}{\ESPD@enable@columns@xixtrue} +\DeclareOption{nocolumnsxix}{\ESPD@enable@columns@xixfalse} +\DeclareOption{columnsxxiv}{\ESPD@enable@columns@xxivtrue} +\DeclareOption{nocolumnsxxiv}{\ESPD@enable@columns@xxivfalse} +\DeclareOption{columnxxvi}{\ESPD@enable@column@xxvitrue} +\DeclareOption{nocolumnxxvi}{\ESPD@enable@column@xxvifalse} +\DeclareOption{columnsxxvii}{\ESPD@enable@columns@xxviitrue} +\DeclareOption{nocolumnsxxvii}{\ESPD@enable@columns@xxviifalse} +\DeclareOption{columnxxxi}{\ESPD@enable@column@xxxitrue} +\DeclareOption{nocolumnxxxi}{\ESPD@enable@column@xxxifalse} +\DeclareOption{columnxxxii}{\ESPD@enable@column@xxxiitrue} +\DeclareOption{nocolumnxxxii}{\ESPD@enable@column@xxxiifalse} +\DeclareOption{columnxxxiii}{\ESPD@enable@column@xxxiiitrue} +\DeclareOption{nocolumnxxxiii}{\ESPD@enable@column@xxxiiifalse} +\DeclareOption{columnxxxiv}{\ESPD@enable@column@xxxivtrue} +\DeclareOption{nocolumnxxxiv}{\ESPD@enable@column@xxxivfalse} +\DeclareOption{simple}{% + \ESPD@enable@columns@xixfalse% + \ESPD@enable@column@xxxifalse% + \ESPD@enable@column@xxxiifalse} +\DeclareOption{twoside}{\ESPD@twosidetrue} +\DeclareOption{oneside}{\ESPD@twosidefalse} +\DeclareOption{zonelabels}{\ESPD@zonelabelstrue} +\DeclareOption{nozonelabels}{\ESPD@zonelabelsfalse} +\define@key{espd}{linethick}{\setlength{\ESPDlineThick}{#1}} +\define@key{espd}{linethin}{\setlength{\ESPDlineThin}{#1}} +\define@key{espd}{vpadding}{\setlength{\ESPD@padding@v}{#1}} +\define@key{espd}{hpadding}{\setlength{\ESPD@padding@h}{#1}} + +\DeclareOption*{\edef\@tempa{\noexpand\setkeys{espd}{\CurrentOption}}\@tempa} + +\ProcessOptions\relax + +\newcommand{\ESPD@cmp@empty}{} +\newcommand{\ESPD@cmp@aIVpaper}{a4} +\newcommand{\ESPD@cmp@landscape}{landscape} + +\ifESPD@given@landscape\else + \ifx\ESPD@paper\ESPD@cmp@aIVpaper% + \ESPD@landscapefalse + \else + \ESPD@landscapetrue + \fi +\fi + +\RequirePackage[\ESPD@paper paper,% +\ifESPD@landscape landscape\else portrait\fi,% +tmargin=\ESPD@margin@t+\ESPD@padding@v,% +bmargin=\ESPD@margin@b+\ESPD@padding@v,% +inner=\ESPD@margin@si+\ESPD@padding@h,% +outer=\ESPD@margin@so+\ESPD@padding@h,% +marginparsep=0mm,marginparwidth=0mm,% +headheight=0mm,headsep=0mm,footskip=0mm]{geometry} + +%\RequirePackage[a4paper,portrait, +%tmargin=25mm,% +%bmargin=0mm,% +%inner=20mm,% +%outer=10mm,% +%headheight=0mm,% +%headsep=0mm,% +%textheight=267mm, +%marginparsep=0mm,% +%marginparwidth=0mm,% +%footskip=0mm]{geometry} + +\RequirePackage{lastpage} + +\def\ESPD@secondof#1#2#3endof{#2} +\def\ESPD@p@genum#1{% + \ifx#1\relax 0\else + \expandafter\ESPD@secondof#1endof + \fi} +\def\ESPD@pagenum#1{\expandafter\ESPD@p@genum\csname r@#1\endcsname} + +\ifESPD@given@column@vii\else + \AtBeginDocument{% + \ifnum \ESPD@pagenum{LastPage} = 1 + \ESPD@enable@column@viifalse% + \fi} +\fi + +\newif\ifESPD@column@xxvi@portrait +\ESPD@column@xxvi@portraittrue +\ifESPD@landscape\ESPD@column@xxvi@portraitfalse\fi +\ifx\ESPD@paper\ESPD@cmp@aIVpaper\ESPD@column@xxvi@portraitfalse\fi + +\newlength{\ESPD@tmpdima} +\newlength{\ESPD@tmpdimb} +\newlength{\ESPD@tmpdimc} + +\newcount\ESPD@tmpcnta +\newcount\ESPD@tmpcntb + +\newcount\ESPD@zonelabel@hc +\newcount\ESPD@zonelabel@vc +\newlength{\ESPD@zonelabel@hs} +\newlength{\ESPD@zonelabel@vs} +\newcount\ESPD@zonelabel@cnt +\ifESPD@zonelabels + \@namedef{ESPD@zonelabel@init@a4}{% + \ESPD@zonelabel@hc = 1 \ESPD@zonelabel@vc = 1\relax} + \@namedef{ESPD@zonelabel@init@a3}{% + \ESPD@zonelabel@hc = 1 \ESPD@zonelabel@vc = 2\relax} + \@namedef{ESPD@zonelabel@init@a2}{% + \ESPD@zonelabel@hc = 2 \ESPD@zonelabel@vc = 2\relax} + \@namedef{ESPD@zonelabel@init@a1}{% + \ESPD@zonelabel@hc = 2 \ESPD@zonelabel@vc = 4\relax} + \@namedef{ESPD@zonelabel@init@a0}{% + \ESPD@zonelabel@hc = 4 \ESPD@zonelabel@vc = 4\relax} + \@nameuse{ESPD@zonelabel@init@\ESPD@paper} + \ifESPD@landscape + \ESPD@tmpcnta = \ESPD@zonelabel@hc + \ESPD@zonelabel@hc = \ESPD@zonelabel@vc + \ESPD@zonelabel@vc = \ESPD@tmpcnta + \fi + \ESPD@zonelabel@hs = \paperwidth + \ESPD@zonelabel@vs = \paperheight + \divide \ESPD@zonelabel@hs by \ESPD@zonelabel@hc + \divide \ESPD@zonelabel@vs by \ESPD@zonelabel@vc + \ESPD@zonelabel@cnt = 0 +\fi + +\newlength{\ESPD@origin@x} +\newlength{\ESPD@origin@y} +\setlength{\ESPD@origin@x}{1in} +\setlength{\ESPD@origin@y}{\paperheight-1in} + +\newlength{\ESPDframeX} +\newlength{\ESPDframeY} + +\newlength{\ESPDframeW} +\newlength{\ESPDframeH} +\setlength{\ESPDframeW}{\paperwidth-\ESPD@margin@si-\ESPD@margin@so} +\setlength{\ESPDframeH}{\paperheight-\ESPD@margin@t-\ESPD@margin@b} + +\newlength{\ESPDstampX} +\newlength{\ESPDstampY} + +\RequirePackage{espdfont} +\RequirePackage{espdlang} + +\newcommand*{\ESPDltu}[1]{#1\@gobble} + +\newcommand{\ESPDonFrontSideOnly}[1]{% + \ifESPD@twoside\ifodd\c@page#1\fi\else#1\fi} + +\RequirePackage{rotating} + +\newsavebox{\ESPD@frame@box} +\AtBeginDocument{% +\savebox{\ESPD@frame@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\ESPDlineThick} +\put(0,\ESPDltu{\ESPDframeH}){\line(1,0){\ESPDltu{\ESPDframeW}}} +\put(0,0){\line(1,0){\ESPDltu{\ESPDframeW}}} +\put(0,0){\line(0,1){\ESPDltu{\ESPDframeH}}} +\put(\ESPDltu{\ESPDframeW},0){\line(0,1){\ESPDltu{\ESPDframeH}}} +\end{picture}}} +\newcommand{\ESPDdrawFrame}{% + \put(\ESPDltu{\ESPDframeX},\ESPDltu{\ESPDframeY}){% + \usebox{\ESPD@frame@box}}} + +\newsavebox{\ESPD@stamp@i@box} +\AtBeginDocument{% +\savebox{\ESPD@stamp@i@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\ESPDlineThick} +\put(0,55){\line(1,0){185}} +\put(65,40){\line(1,0){120}} +\put(0,35){\line(1,0){65}} +\put(135,35){\line(1,0){50}} +\put(0,30){\line(1,0){65}} +\put(135,20){\line(1,0){50}} +\put(65,15){\line(1,0){120}} +\linethickness{\ESPDlineThin} +\multiput(0,50)(0,-5){3}{\line(1,0){65}} +\multiput(0,25)(0,-5){5}{\line(1,0){65}} +\linethickness{\ESPDlineThick} +\put(0,0){\line(0,1){55}} +\put(7,30){\line(0,1){25}} +\put(17,0){\line(0,1){55}} +\put(40,0){\line(0,1){55}} +\put(55,0){\line(0,1){55}} +\put(65,0){\line(0,1){55}} +\put(135,0){\line(0,1){40}} +\put(150,20){\line(0,1){20}} +\put(155,15){\line(0,1){5}} +\put(167,20){\line(0,1){20}} +\linethickness{\ESPDlineThin} +\multiput(140,20)(5,0){2}{\line(0,1){15}} +\put(67, 41){\parbox[b][13mm][c]{106mm}{\centering\ESPDfontVII\ESPDtheColumnII}} +\put(135, 36.3){\makebox[15mm]{\ESPDfontIII\ESPDcolumnIVname}} +\put(150, 36.3){\makebox[17mm]{\ESPDfontIII\ESPDcolumnVname}} +\put(167, 36.3){\makebox[18mm]{\ESPDfontIII\ESPDcolumnVIname}} +\put(0.5, 26.3){\makebox[16mm][l]{\ESPDfontIII\ESPDcolumnXfIname}} +\put(0.5, 21.3){\makebox[16mm][l]{\ESPDfontIII\ESPDcolumnXfIIname}} +\put(0.5, 16.3){\makebox[16mm][l]{\ESPDfontIII\ESPDcolumnXfIIIname}} +\put(0.5, 11.3){\makebox[16mm][l]{\ESPDfontIII\ESPDcolumnXfIVname}} +\put(0.5, 6.3){\makebox[16mm][l]{\ESPDfontIII\ESPDcolumnXfVname}} +\put(0.5, 1.3){\makebox[16mm][l]{\ESPDfontIII\ESPDcolumnXfVIname}} +\put(17.5, 26.3){\makebox[22mm][l]{\ESPDfontIII\ESPDtheColumnXIfI}} +\put(17.5, 21.3){\makebox[22mm][l]{\ESPDfontIII\ESPDtheColumnXIfII}} +\put(17.5, 16.3){\makebox[22mm][l]{\ESPDfontIII\ESPDtheColumnXIfIII}} +\put(17.5, 11.3){\makebox[22mm][l]{\ESPDfontIII\ESPDtheColumnXIfIV}} +\put(17.5, 6.3){\makebox[22mm][l]{\ESPDfontIII\ESPDtheColumnXIfV}} +\put(17.5, 1.3){\makebox[22mm][l]{\ESPDfontIII\ESPDtheColumnXIfVI}} +\put(0, 31.3){\makebox[7mm]{\ESPDfontIII\ESPDcolumnXIVname}} +\put(7, 31.3){\makebox[10mm]{\ESPDfontIII\ESPDcolumnXVname}} +\put(17, 31.3){\makebox[23mm]{\ESPDfontIII\ESPDcolumnXVIname}} +\put(40, 31.3){\makebox[15mm]{\ESPDfontIII\ESPDcolumnXVIIname}} +\put(55, 31.3){\makebox[10mm]{\ESPDfontIII\ESPDcolumnXVIIIname}} +\end{picture}}} +\newcommand{\ESPD@stamp@i@var}{% +\begin{picture}(0,0)(0,0) +\ifnum \c@page = 1 + \put(67, 16){\parbox[b][23mm][c]{66mm}{\centering\ESPDfontV\ESPDtheColumnI}} + \put(67, 1){\parbox[b][13mm][c]{66mm}{\centering\ESPDfontV\ESPDtheColumnIII}} + \put(135, 26.3){\makebox[5mm]{\ESPDfontIII\ESPDtheColumnIVfI}} + \put(140, 26.3){\makebox[5mm]{\ESPDfontIII\ESPDtheColumnIVfII}} + \put(145, 26.3){\makebox[5mm]{\ESPDfontIII\ESPDtheColumnIVfIII}} + \put(151, 21){\parbox[b][13mm][c]{15mm}{\centering\ESPDfontIII\ESPDtheColumnV}} + \put(168, 21){\parbox[b][13mm][c]{16mm}{\centering\ESPDfontIII\ESPDtheColumnVI}} + \ifESPD@enable@column@viii + \put(155, 16.3){\makebox[30mm]{\ESPDfontIII% + \ifESPD@twoside\ESPDcolumnVIIItwosideName\else\ESPDcolumnVIIIname\fi% + \ \pageref{LastPage}}} + \fi + \put(137, 1){\parbox[b][13mm][c]{46mm}{\centering\ESPDfontV\ESPDtheColumnIX}} +\fi +\ifESPD@enable@column@vii + \put(135, 16.3){\makebox[20mm]{\ESPDfontIII% + \ifESPD@twoside\ESPDcolumnVIItwosideName\else\ESPDcolumnVIIname\fi\ \thepage}} +\fi +\end{picture}} +\newcommand{\ESPDdrawStampI}{% + \put(\ESPDltu{\ESPDstampX},\ESPDltu{\ESPDstampY}){% + \usebox{\ESPD@stamp@i@box}} + \put(\ESPDltu{\ESPDstampX},\ESPDltu{\ESPDstampY}){% + \ESPD@stamp@i@var}} + +\newsavebox{\ESPD@stamp@ii@box} +\AtBeginDocument{% +\savebox{\ESPD@stamp@ii@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\ESPDlineThick} +\put(0,40){\line(1,0){185}} +\put(0,30){\line(1,0){65}} +\put(0,25){\line(1,0){185}} +\put(135,20){\line(1,0){50}} +\put(135,15){\line(1,0){50}} +\linethickness{\ESPDlineThin} +\put(0,35){\line(1,0){65}} +\multiput(0,20)(0,-5){4}{\line(1,0){65}} +\linethickness{\ESPDlineThick} +\put(0,0){\line(0,1){40}} +\put(7,25){\line(0,1){15}} +\put(17,0){\line(0,1){40}} +\put(40,0){\line(0,1){40}} +\put(55,0){\line(0,1){40}} +\put(65,0){\line(0,1){40}} +\put(135,0){\line(0,1){25}} +\put(140,15){\line(0,1){5}} +\put(145,15){\line(0,1){5}} +\put(150,15){\line(0,1){10}} +\put(165,15){\line(0,1){10}} +\put(67, 1){\parbox[b][23mm][c]{66mm}{\centering\ESPDfontV\ESPDtheColumnI}} +\put(67, 26){\parbox[b][13mm][c]{106mm}{\centering\ESPDfontVII\ESPDtheColumnII}} +\put(135, 21.3){\makebox[15mm]{\ESPDfontIII\ESPDcolumnIVname}} +\put(135, 16.3){\makebox[5mm][c]{\ESPDfontIII\ESPDtheColumnIVfI}} +\put(140, 16.3){\makebox[5mm][c]{\ESPDfontIII\ESPDtheColumnIVfII}} +\put(145, 16.3){\makebox[5mm][c]{\ESPDfontIII\ESPDtheColumnIVfIII}} +\put(150, 21.3){\makebox[15mm]{\ESPDfontIII% + \ifESPD@twoside\ESPDcolumnVIItwosideName\else\ESPDcolumnVIIname\fi}} +\put(165, 21.3){\makebox[20mm]{\ESPDfontIII% + \ifESPD@twoside\ESPDcolumnVIIItwosideName\else\ESPDcolumnVIIIname\fi}} +\put(137, 1){\parbox[b][13mm][c]{46mm}{\centering\ESPDfontV\ESPDtheColumnIX}} +\put(0.5, 21.3){\makebox[16mm][l]{\ESPDfontIII\ESPDcolumnXfIname}} +\put(0.5, 16.3){\makebox[16mm][l]{\ESPDfontIII\ESPDcolumnXfIIname}} +\put(0.5, 11.3){\makebox[16mm][l]{\ESPDfontIII\ESPDcolumnXfIVname}} +\put(0.5, 6.3){\makebox[16mm][l]{\ESPDfontIII\ESPDcolumnXfVname}} +\put(0.5, 1.3){\makebox[16mm][l]{\ESPDfontIII\ESPDcolumnXfVIname}} +\put(17.5, 21.3){\makebox[22mm][l]{\ESPDfontIII\ESPDtheColumnXIfI}} +\put(17.5, 16.3){\makebox[22mm][l]{\ESPDfontIII\ESPDtheColumnXIfII}} +\put(17.5, 11.3){\makebox[22mm][l]{\ESPDfontIII\ESPDtheColumnXIfIV}} +\put(17.5, 6.3){\makebox[22mm][l]{\ESPDfontIII\ESPDtheColumnXIfV}} +\put(17.5, 1.3){\makebox[22mm][l]{\ESPDfontIII\ESPDtheColumnXIfVI}} +\put(0, 26.3){\makebox[7mm]{\ESPDfontIII\ESPDcolumnXIVname}} +\put(7, 26.3){\makebox[10mm]{\ESPDfontIII\ESPDcolumnXVname}} +\put(17, 26.3){\makebox[23mm]{\ESPDfontIII\ESPDcolumnXVIname}} +\put(40, 26.3){\makebox[15mm]{\ESPDfontIII\ESPDcolumnXVIIname}} +\put(55, 26.3){\makebox[10mm]{\ESPDfontIII\ESPDcolumnXVIIIname}} +\end{picture}}} +\newcommand{\ESPD@stamp@ii@var}{% +\begin{picture}(0,0)(0,0) +\ifESPD@enable@column@vii + \put(150, 16.3){\makebox[15mm]{\ESPDfontIII\thepage}} +\fi +\ifESPD@enable@column@viii + \put(165, 16.3){\makebox[20mm]{\ESPDfontIII\pageref{LastPage}}} +\fi +\end{picture}} +\newcommand{\ESPDdrawStampII}{% + \put(\ESPDltu{\ESPDstampX},\ESPDltu{\ESPDstampY}){% + \usebox{\ESPD@stamp@ii@box}} + \put(\ESPDltu{\ESPDstampX},\ESPDltu{\ESPDstampY}){% + \ESPD@stamp@ii@var}} + +\newsavebox{\ESPD@stamp@ii@a@box} +\AtBeginDocument{% +\savebox{\ESPD@stamp@ii@a@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\ESPDlineThick} +\put(0,15){\line(1,0){185}} +\put(175,8){\line(1,0){10}} +\put(0,5){\line(1,0){65}} +\linethickness{\ESPDlineThin} +\put(0,10){\line(1,0){65}} +\linethickness{\ESPDlineThick} +\put(0,0){\line(0,1){15}} +\put(7,0){\line(0,1){15}} +\put(17,0){\line(0,1){15}} +\put(40,0){\line(0,1){15}} +\put(55,0){\line(0,1){15}} +\put(65,0){\line(0,1){15}} +\put(175,0){\line(0,1){15}} +\put(67, 1){\parbox[b][13mm][c]{106mm}{\centering\ESPDfontVII\ESPDtheColumnII}} +\put(175, 10.3){\makebox[10mm]{\ESPDfontIII% + \ifESPD@twoside\ESPDcolumnVIItwosideName\else\ESPDcolumnVIIname\fi}} +\put(0, 1.3){\makebox[7mm]{\ESPDfontIII\ESPDcolumnXIVname}} +\put(7, 1.3){\makebox[10mm]{\ESPDfontIII\ESPDcolumnXVname}} +\put(17, 1.3){\makebox[23mm]{\ESPDfontIII\ESPDcolumnXVIname}} +\put(40, 1.3){\makebox[15mm]{\ESPDfontIII\ESPDcolumnXVIIname}} +\put(55, 1.3){\makebox[10mm]{\ESPDfontIII\ESPDcolumnXVIIIname}} +\end{picture}}} +\newcommand{\ESPD@stamp@ii@a@var}{% +\begin{picture}(0,0)(0,0) +\ifESPD@enable@column@vii + \put(175, 3){\makebox[10mm]{\ESPDfontIII\thepage}} +\fi +\end{picture}} +\newcommand{\ESPDdrawStampIIa}{% + \put(\ESPDltu{\ESPDstampX},\ESPDltu{\ESPDstampY}){% + \usebox{\ESPD@stamp@ii@a@box}} + \put(\ESPDltu{\ESPDstampX},\ESPDltu{\ESPDstampY}){% + \ESPD@stamp@ii@a@var}} + +\newsavebox{\ESPD@stamp@ii@b@box} +\AtBeginDocument{% +\savebox{\ESPD@stamp@ii@b@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\ESPDlineThick} +\put(0,15){\line(1,0){185}} +\put(0,8){\line(1,0){10}} +\put(120,5){\line(1,0){65}} +\linethickness{\ESPDlineThin} +\put(120,10){\line(1,0){65}} +\linethickness{\ESPDlineThick} +\put(0,0){\line(0,1){15}} +\put(10,0){\line(0,1){15}} +\put(120,0){\line(0,1){15}} +\put(127,0){\line(0,1){15}} +\put(137,0){\line(0,1){15}} +\put(160,0){\line(0,1){15}} +\put(175,0){\line(0,1){15}} +\put(12, 1){\parbox[b][13mm][c]{106mm}{\centering\ESPDfontVII\ESPDtheColumnII}} +\put(0, 10.3){\makebox[10mm]{\ESPDfontIII% + \ifESPD@twoside\ESPDcolumnVIItwosideName\else\ESPDcolumnVIIname\fi}} +\put(120, 1.3){\makebox[7mm]{\ESPDfontIII\ESPDcolumnXIVname}} +\put(127, 1.3){\makebox[10mm]{\ESPDfontIII\ESPDcolumnXVname}} +\put(137, 1.3){\makebox[23mm]{\ESPDfontIII\ESPDcolumnXVIname}} +\put(160, 1.3){\makebox[15mm]{\ESPDfontIII\ESPDcolumnXVIIname}} +\put(175, 1.3){\makebox[10mm]{\ESPDfontIII\ESPDcolumnXVIIIname}} +\end{picture}}} +\newcommand{\ESPD@stamp@ii@b@var}{% +\begin{picture}(0,0)(0,0) +\ifESPD@enable@column@vii + \put(0, 3){\makebox[10mm]{\ESPDfontIII\thepage}} +\fi +\end{picture}} +\newcommand{\ESPDdrawStampIIb}{% + \put(\ESPDltu{\ESPDstampX},\ESPDltu{\ESPDstampY}){% + \usebox{\ESPD@stamp@ii@b@box}} + \put(\ESPDltu{\ESPDstampX},\ESPDltu{\ESPDstampY}){% + \ESPD@stamp@ii@b@var}} + +% ### Рамка +\ifESPD@enable@columns@xix +\newsavebox{\ESPD@columns@xix@box} +\AtBeginDocument{% +\savebox{\ESPD@columns@xix@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(-5,0) +\linethickness{\ESPDlineThick} +\put(0,12){\line(1,0){145}} +\put(0,7){\line(1,0){145}} +\put(0,0){\line(1,0){145}} +\put(0,0){\line(0,1){12}} +\put(25,0){\line(0,1){12}} +\put(60,0){\line(0,1){12}} +\put(85,0){\line(0,1){12}} +\put(110,0){\line(0,1){12}} +\put(145,0){\line(0,1){12}} +\put(0, 8.3){\makebox[25mm]{\ESPDfontGostIV\ESPDcolumnXIXname}} +\put(0, 2.3){\makebox[25mm]{\ESPDfontGostIV\ESPDtheColumnXIX}} +\put(25, 8.3){\makebox[35mm]{\ESPDfontGostIV\ESPDcolumnXXname}} +\put(60, 8.3){\makebox[25mm]{\ESPDfontGostIV\ESPDcolumnXXIname}} +\put(60, 2.3){\makebox[25mm]{\ESPDfontGostIV\ESPDtheColumnXXI}} +\put(85, 8.3){\makebox[25mm]{\ESPDfontGostIV\ESPDcolumnXXIIname}} +\put(85, 2.3){\makebox[25mm]{\ESPDfontGostIV\ESPDtheColumnXXII}} +\put(110, 8.3){\makebox[35mm]{\ESPDfontGostIV\ESPDcolumnXXIIIname}} +\end{picture}}} +\newcommand{\ESPDdrawColumnsXIX}{% + \ESPDonFrontSideOnly{% + \put(\ESPDltu{\ESPDframeX},\ESPDltu{\ESPDframeY}){% + \begin{turn}{90}\usebox{\ESPD@columns@xix@box}\end{turn}}}} +\fi + +\ifESPD@enable@columns@xxiv +\newsavebox{\ESPD@columns@xxiv@box} +\AtBeginDocument{% +\savebox{\ESPD@columns@xxiv@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\ESPDlineThick} +\put(0,12){\line(1,0){120}} +\put(0,7){\line(1,0){120}} +\put(0,0){\line(0,1){12}} +\put(60,0){\line(0,1){12}} +\put(120,0){\line(0,1){12}} +\put(0, 8.3){\makebox[60mm]{\ESPDfontIII\ESPDcolumnXXIVname}} +\put(0, 2.3){\makebox[60mm]{\ESPDfontIII\ESPDtheColumnXXIV}} +\put(60, 8.3){\makebox[60mm]{\ESPDfontIII\ESPDcolumnXXVname}} +\put(60, 2.3){\makebox[60mm]{\ESPDfontIII\ESPDtheColumnXXV}} +\end{picture}}} +\newcommand{\ESPDdrawColumnsXXIV}{% + \setlength{\ESPD@tmpdima}{\ESPDframeY+167mm} + \put(\ESPDltu{\ESPDframeX},\ESPDltu{\ESPD@tmpdima}){% + \begin{turn}{90}\usebox{\ESPD@columns@xxiv@box}\end{turn}}} +\fi + +\ifESPD@enable@column@xxvi +\newsavebox{\ESPD@column@xxvi@box} +\AtBeginDocument{% +\savebox{\ESPD@column@xxvi@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\ESPDlineThick} +\put(0,0){\line(1,0){70}} +\put(70,0){\line(0,1){14}} +\put(1,13){\begin{turn}{180}\parbox[b][12mm][c]{68mm}{% + \centering\ESPDfontV\ESPDtheColumnII}\end{turn}} +\end{picture}}} +\newcommand{\ESPDdrawColumnXXVI}{% + \ifESPD@column@xxvi@portrait% + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW-14mm}% + \setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \begin{turn}{270}\usebox{\ESPD@column@xxvi@box}\end{turn}}% + \else% + \setlength{\ESPD@tmpdima}{\ESPDframeY+\ESPDframeH-14mm}% + \put(\ESPDltu{\ESPDframeX},\ESPDltu{\ESPD@tmpdima}){% + \usebox{\ESPD@column@xxvi@box}}% + \fi} +\fi + +\ifESPD@enable@columns@xxvii +\newsavebox{\ESPD@columns@xxvii@i@box} +\AtBeginDocument{% +\savebox{\ESPD@columns@xxvii@i@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\ESPDlineThick} +\put(14,7){\line(1,0){53}} +\put(0,0){\line(1,0){67}} +\put(14,0){\line(0,1){14}} +\put(67,0){\line(0,1){14}} +\put(0,13){\begin{turn}{180}\parbox[b][12mm][c]{14mm}{% + \centering\ESPDfontV\ESPDtheColumnXXVII}\end{turn}} +\put(14,11.7){\begin{turn}{180}\makebox[53mm][c]{% + \ESPDfontIII\ESPDtheColumnXXVIII}\end{turn}} +\put(14,4.7){\begin{turn}{180}\makebox[53mm][c]{% + \ESPDfontIII\ESPDtheColumnXXIX}\end{turn}} +\end{picture}}} +\newsavebox{\ESPD@columns@xxvii@ii@box} +\AtBeginDocument{% +\savebox{\ESPD@columns@xxvii@ii@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\ESPDlineThick} +\put(0,14){\line(1,0){120}} +\put(0,0){\line(0,1){14}} +\put(14,0){\line(0,1){14}} +\put(67,0){\line(0,1){14}} +\put(0,0){\parbox[b][14mm][c]{14mm}{% + \centering\ESPDfontIII\ESPDtheColumnXXVII}} +\put(15,0){\parbox[b][14mm][c]{51mm}{% + \centering\ESPDfontIII\ESPDtheColumnXXVIII}} +\put(68,0){\parbox[b][14mm][c]{51mm}{% + \centering\ESPDfontIII\ESPDtheColumnXXIX}} +\end{picture}}} +\newsavebox{\ESPD@column@xxx@box} +\AtBeginDocument{% +\savebox{\ESPD@column@xxx@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\ESPDlineThick} +\put(0,8){\line(1,0){120}} +\put(0,0){\line(0,1){8}} +\put(1,1){\parbox[b][6mm][c]{118mm}{\centering\ESPDfontV\ESPDtheColumnXXX}} +\end{picture}}} +\newcommand{\ESPDdrawColumnsXXVIIi}{% + \ifESPD@column@xxvi@portrait% + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW-14mm}% + \setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-70mm}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \begin{turn}{270}\usebox{\ESPD@columns@xxvii@i@box}\end{turn}}% + \else% + \setlength{\ESPD@tmpdima}{\ESPDframeX+70mm}% + \setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-14mm}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \usebox{\ESPD@columns@xxvii@i@box}}% + \fi% + \setlength{\ESPD@tmpdima}{\ESPDstampX+65mm}% + \setlength{\ESPD@tmpdimb}{\ESPDstampY+55mm}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \usebox{\ESPD@column@xxx@box}}}% +\newcommand{\ESPDdrawColumnsXXVIIii}{% + \setlength{\ESPD@tmpdima}{\ESPDstampX+65mm} + \setlength{\ESPD@tmpdimb}{\ESPDstampY+48mm} + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \usebox{\ESPD@columns@xxvii@ii@box}}% + \setlength{\ESPD@tmpdimb}{\ESPDstampY+40mm}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \usebox{\ESPD@column@xxx@box}}} +\fi + +\ifESPD@enable@column@xxxi +\newcommand{\ESPDdrawColumnXXXI}{% + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW-120mm}% + \setlength{\ESPD@tmpdimb}{\ESPDframeY-3.7mm}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \makebox[70mm][r]{\ESPDfontIII\ESPDcolumnXXXIname\hspace{4em}}}} +\fi + +\ifESPD@enable@column@xxxii +\newcommand{\ESPDdrawColumnXXXII}{% + \setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW-50mm}% + \setlength{\ESPD@tmpdimb}{\ESPDframeY-3.7mm}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \makebox[50mm][r]{\ESPDfontIII\ESPDtheColumnXXXII}}} +\fi + +\ifESPD@enable@column@xxxiii +\newsavebox{\ESPD@column@xxxiii@box} +\AtBeginDocument{% +\savebox{\ESPD@column@xxxiii@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\ESPDlineThick} +\put(0,25){\line(1,0){20}} +\put(0,5){\line(1,0){20}} +\put(0,0){\line(1,0){20}} +\put(0,0){\line(0,1){25}} +\linethickness{\ESPDlineThin} +\multiput(0,20)(0,-5){3}{\line(1,0){20}} +\put(0,1.3){\makebox[20mm][c]{\ESPDfontIII\ESPDcolumnXXXIIIname}} +\end{picture}}} +\newcommand{\ESPDdrawColumnXXXIII}{% + \setlength{\ESPD@tmpdima}{\ESPDstampX-20mm}% + \setlength{\ESPD@tmpdimb}{\ESPDstampY+30mm}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \usebox{\ESPD@column@xxxiii@box}}} +\fi + +\ifESPD@enable@column@xxxiv +\newsavebox{\ESPD@column@xxxiv@box} +\AtBeginDocument{% +\savebox{\ESPD@column@xxxiv@box}{% +\setlength{\fboxrule}{\ESPDlineThick}% +\setlength{\fboxsep}{1.3mm}% +\parbox[b][100mm+\fboxrule][t]{70mm+\fboxrule}{% + \framebox{% + \parbox{70mm-2\fboxsep-\fboxrule}{\centering\ESPDfontIII% + \ESPDtheColumnXXXIV\rule{0mm}{7mm-2\fboxsep-\fboxrule}}}}}} +\newcommand{\ESPDdrawColumnXXXIV}{% + \ifESPD@column@xxvi@portrait% + \setlength{\ESPD@tmpdima}{% + \ESPDframeX+\ESPDframeW-114mm-.5\ESPDlineThick}% + \setlength{\ESPD@tmpdimb}{% + \ESPDframeY+\ESPDframeH+.5\ESPDlineThick}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \begin{turn}{270}\usebox{\ESPD@column@xxxiv@box}\end{turn}}% + \else% + \setlength{\ESPD@tmpdima}{\ESPDframeX-.5\ESPDlineThick}% + \setlength{\ESPD@tmpdimb}{% + \ESPDframeY+\ESPDframeH-114mm-.5\ESPDlineThick}% + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \usebox{\ESPD@column@xxxiv@box}}% + \fi} +\fi + +\ifESPD@zonelabels +\newcommand{\ESPD@make@h@zonelabels}{ + \ESPD@tmpcnta = 1 + \ESPD@tmpdima = \paperwidth + \ESPD@tmpdimb = \ESPDframeY + \advance \ESPD@tmpdimb \ESPDframeH + \ESPD@tmpdimc = \ESPDframeY + \advance \ESPD@tmpdimc -5mm + \loop + \advance \ESPD@tmpdima -\ESPD@zonelabel@hs + \global\advance \ESPD@zonelabel@cnt 1 + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){% + \parbox[b][5mm][c]{\ESPD@zonelabel@hs}{% + \centering\ESPDfontIII\number\ESPD@zonelabel@cnt}} + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimc}){% + \parbox[b][5mm][c]{\ESPD@zonelabel@hs}{% + \centering\ESPDfontIII\number\ESPD@zonelabel@cnt}} + \ifnum \ESPD@tmpcnta < \ESPD@zonelabel@hc + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){\line(0,1){5}} + \put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimc}){\line(0,1){5}} + \advance \ESPD@tmpcnta 1 + \repeat +} +\newcommand{\ESPD@make@v@zonelabels}[1]{ + \ESPD@tmpcnta = 1 + \ESPD@tmpdima = 0mm + \ESPD@tmpdimb = \ESPDframeX + \advance \ESPD@tmpdimb -5mm + \ESPD@tmpdimc = \ESPDframeX + \advance \ESPD@tmpdimc \ESPDframeW + \loop + \put(\ESPDltu{\ESPD@tmpdimb},\ESPDltu{\ESPD@tmpdima}){% + \parbox[b][\ESPD@zonelabel@vs][c]{5mm}{% + \centering\ESPDfontIII\@Alph\ESPD@tmpcnta + \ifnum\ESPD@tmpcnta = 1 + \ifESPD@enable@columns@xix + \par\rule{0mm}{3.5mm-\ESPD@zonelabel@vs+310mm} + \fi + \fi}} + \put(\ESPDltu{\ESPD@tmpdimc},\ESPDltu{\ESPD@tmpdima}){% + \parbox[b][\ESPD@zonelabel@vs][c]{5mm}{% + \centering\ESPDfontIII\@Alph\ESPD@tmpcnta}} + \ifnum \ESPD@tmpcnta < \ESPD@zonelabel@vc + \advance \ESPD@tmpdima \ESPD@zonelabel@vs + \ifnum \ESPD@tmpcnta = #1\else + \put(\ESPDltu{\ESPD@tmpdimb},\ESPDltu{\ESPD@tmpdima}){\line(1,0){5}} + \fi + \put(\ESPDltu{\ESPD@tmpdimc},\ESPDltu{\ESPD@tmpdima}){\line(1,0){5}} + \advance \ESPD@tmpcnta 1 + \repeat +} +\newcommand{\ESPDdrawZoneLabelsI}{% +\linethickness{\ESPDlineThick} +\ESPD@make@h@zonelabels +\ifESPD@enable@columns@xxiv + \ifdim \ESPD@zonelabel@vs < 292mm + \ESPD@make@v@zonelabels{1}\else + \ESPD@make@v@zonelabels{0}\fi +\else + \ESPD@make@v@zonelabels{0} +\fi +\ifdim \ESPD@margin@si > 5mm + \ESPD@tmpdima = \ESPDframeY + \ESPD@tmpdimb = \ESPDframeX + \advance \ESPD@tmpdimb -5mm + \ifESPD@enable@columns@xix\else + \put(\ESPDltu{\ESPD@tmpdimb},\ESPDltu{\ESPD@tmpdima}){% + \line(0,1){145}} + \fi + \advance \ESPD@tmpdima 145mm + \put(\ESPDltu{\ESPD@tmpdimb},\ESPDltu{\ESPD@tmpdima}){% + \line(0,1){22}} + \advance \ESPD@tmpdima 22mm + \ifESPD@enable@columns@xxiv\else + \put(\ESPDltu{\ESPD@tmpdimb},\ESPDltu{\ESPD@tmpdima}){% + \line(0,1){120}} + \fi + \advance \ESPD@tmpdima 120mm + \ESPD@tmpdimc = \ESPDframeY + \advance \ESPD@tmpdimc \ESPDframeH + \advance \ESPD@tmpdimc -\ESPD@tmpdima + \put(\ESPDltu{\ESPD@tmpdimb},\ESPDltu{\ESPD@tmpdima}){% + \line(0,1){\ESPDltu{\ESPD@tmpdimc}}} + \advance \ESPD@tmpdima \ESPD@tmpdimc + \put(\ESPDltu{\ESPD@tmpdimb},\ESPDltu{\ESPD@tmpdima}){% + \line(1,0){5}} +\fi} +\newcommand{\ESPDdrawZoneLabelsII}{% +\linethickness{\ESPDlineThick} +\ESPD@make@h@zonelabels +\ESPD@make@v@zonelabels{0} +\ifdim \ESPD@margin@si > 5mm + \ESPD@tmpdima = \ESPDframeY + \ESPD@tmpdimb = \ESPDframeX + \advance \ESPD@tmpdimb -5mm + \ifESPD@enable@columns@xix\else + \put(\ESPDltu{\ESPD@tmpdimb},\ESPDltu{\ESPD@tmpdima}){% + \line(0,1){145}} + \fi + \advance \ESPD@tmpdima 145mm + \ESPD@tmpdimc = \ESPDframeY + \advance \ESPD@tmpdimc \ESPDframeH + \advance \ESPD@tmpdimc -\ESPD@tmpdima + \put(\ESPDltu{\ESPD@tmpdimb},\ESPDltu{\ESPD@tmpdima}){% + \line(0,1){\ESPDltu{\ESPD@tmpdimc}}} + \advance \ESPD@tmpdima \ESPD@tmpdimc + \put(\ESPDltu{\ESPD@tmpdimb},\ESPDltu{\ESPD@tmpdima}){% + \line(1,0){5}} +\fi} +\fi + +\RequirePackage{espdhash} + +\newcommand{\ESPDnewStyle}[2]{% + \ESPD@hash@new{@style@draw@#1}% + \@namedef{ESPD@style@sh@#1}{#2}} + +\newcommand{\ESPDputOnStyle}[3]{% + \ESPD@hash@set{@style@draw@#1}{#2}{#3}} +\newcommand{\ESPDremoveFromStyle}[2]{% + \ESPD@hash@set{@style@draw@#1}{#2}{}} + +\ESPDnewStyle{empty}{0mm} + +\ESPDnewStyle{title}{0mm} +\ESPDputOnStyle{title}{frame}{\ESPDdrawFrame} +\ifESPD@enable@columns@xix + \ESPDputOnStyle{title}{columnsxix}{\ESPDdrawColumnsXIX} +\fi + +\ESPDnewStyle{formI}{\ifESPD@enable@columns@xxvii 63mm\else 55mm\fi} +\ESPDputOnStyle{formI}{frame}{\ESPDdrawFrame} +\ESPDputOnStyle{formI}{stamp}{\ESPDdrawStampI} +\ifESPD@enable@columns@xix + \ESPDputOnStyle{formI}{columnsxix}{\ESPDdrawColumnsXIX} +\fi +\ifESPD@enable@columns@xxiv + \ESPDputOnStyle{formI}{columnsxxiv}{\ESPDdrawColumnsXXIV} +\fi +\ifESPD@enable@column@xxvi + \ESPDputOnStyle{formI}{columnxxvi}{\ESPDdrawColumnXXVI} +\fi +\ifESPD@enable@columns@xxvii + \ESPDputOnStyle{formI}{columnsxxvii}{\ESPDdrawColumnsXXVIIi} +\fi +\ifESPD@enable@column@xxxi + \ESPDputOnStyle{formI}{columnxxxi}{\ESPDdrawColumnXXXI} +\fi +\ifESPD@enable@column@xxxii + \ESPDputOnStyle{formI}{columnxxxii}{\ESPDdrawColumnXXXII} +\fi +\ifESPD@enable@column@xxxiii + \ESPDputOnStyle{formI}{columnxxxiii}{\ESPDdrawColumnXXXIII} +\fi +\ifESPD@enable@column@xxxiv + \ESPDputOnStyle{formI}{columnxxxiv}{\ESPDdrawColumnXXXIV} +\fi +\ifESPD@zonelabels% + \ESPDputOnStyle{formI}{zonelabels}{\ESPDdrawZoneLabelsI} +\fi + +\ESPDnewStyle{formII}{\ifESPD@enable@columns@xxvii 62mm\else 40mm\fi} +\ESPDputOnStyle{formII}{frame}{\ESPDdrawFrame} +\ESPDputOnStyle{formII}{stamp}{\ESPDdrawStampII} +\ifESPD@enable@columns@xix + \ESPDputOnStyle{formII}{columnsxix}{\ESPDdrawColumnsXIX} +\fi +\ifESPD@enable@columns@xxiv + \ESPDputOnStyle{formII}{columnsxxiv}{\ESPDdrawColumnsXXIV} +\fi +\ifESPD@enable@columns@xxvii + \ESPDputOnStyle{formII}{columnsxxvii}{\ESPDdrawColumnsXXVIIii} +\fi +\ifESPD@enable@column@xxxi + \ESPDputOnStyle{formII}{columnxxxi}{\ESPDdrawColumnXXXI} +\fi +\ifESPD@enable@column@xxxii + \ESPDputOnStyle{formII}{columnxxxii}{\ESPDdrawColumnXXXII} +\fi + +\ESPDnewStyle{formIIab}{15mm} +\ESPDputOnStyle{formIIab}{frame}{\ESPDdrawFrame} +\ESPDputOnStyle{formIIab}{stamp}{% + \ifESPD@twoside% + \ifodd\c@page\ESPDdrawStampIIa\else\ESPDdrawStampIIb\fi% + \else\ESPDdrawStampIIa\fi} +\ifESPD@enable@columns@xix + \ESPDputOnStyle{formIIab}{columnsxix}{% + \ifESPD@twoside\ifodd\c@page\ESPDdrawColumnsXIX\fi% + \else\ESPDdrawColumnsXIX\fi} +\fi +\ifESPD@enable@column@xxxi + \ESPDputOnStyle{formIIab}{columnxxxi}{\ESPDdrawColumnXXXI} +\fi +\ifESPD@enable@column@xxxii + \ESPDputOnStyle{formIIab}{columnxxxii}{\ESPDdrawColumnXXXII} +\fi +\ifESPD@zonelabels + \ESPDputOnStyle{formIIab}{zonelabels}{\ESPDdrawZoneLabelsII} +\fi + +\ESPDnewStyle{espdtitle}{0mm} +\ifESPD@enable@columns@xix + \ESPDputOnStyle{espdtitle}{columnsxix}{\ESPDdrawColumnsXIX} +\fi + +\newlength{\ESPD@curpad@h} +\newlength{\ESPD@curpad@v} +\setlength{\ESPD@curpad@h}{\ESPD@padding@h} +\setlength{\ESPD@curpad@v}{\ESPD@padding@v} + +\RequirePackage{everyshi} +\def\ESPD@curstyle{} +\def\ESPD@thisstyle{} +\def\ESPD@extra@Hook{} +\def\ESPD@extra@ThisHook{} +\newcommand{\ESPD@ShipoutPicture}{% + \bgroup + \ifESPD@twoside + \ifodd\c@page + \ESPDframeX=\ESPD@margin@si + \else + \ESPDframeX=\ESPD@margin@so + \fi + \else + \ESPDframeX=\ESPD@margin@si + \fi + \ESPDframeY=\ESPD@margin@b + \ESPDstampX=\ESPDframeX + \advance\ESPDstampX \ESPDframeW + \advance\ESPDstampX -185mm + \ESPDstampY=\ESPDframeY + \unitlength=1mm + \global\setbox\@cclv\vbox{% + \vbox{\let\protect\relax + \begin{picture}(0,0)(\ESPDltu{\ESPD@origin@x},\ESPDltu{\ESPD@origin@y})% + \ifx\ESPD@thisstyle\@empty + \let\ESPD@thisstyle\ESPD@curstyle + \fi + \loop + \ifnum \ESPD@hash@pos{@style@draw@\ESPD@thisstyle} % + < \ESPD@hash@count{@style@draw@\ESPD@thisstyle} + \ESPD@hash@next@value{@style@draw@\ESPD@thisstyle}\relax + \repeat + \ifx\ESPD@extra@ThisHook\@empty% + \ESPD@extra@Hook\else\ESPD@extra@ThisHook% + \fi% + \global\let\ESPD@thisstyle\@empty% + \global\let\ESPD@extra@ThisHook\@empty% + \end{picture}}% + \nointerlineskip% + \box\@cclv}% + \egroup +} +\EveryShipout{\ESPD@ShipoutPicture} + +\RequirePackage{chngpage} +\RequirePackage{ifpdf} + +% \ESPD@tmpdima --- width +% \ESPD@tmpdimb --- height +\newcommand{\ESPDstyle}[1]{% +\pagestyle{empty}% +\def\ESPD@curstyle{#1}% +\ifpdf% + \setlength{\ESPD@tmpdimb}{\pdfpageheight}% + \setlength{\ESPD@tmpdima}{\pdfpagewidth}% +\else% + \setlength{\ESPD@tmpdima}{\paperwidth}% + \setlength{\ESPD@tmpdimb}{\paperheight}% +\fi% +\changetext{\ESPD@tmpdimb-\ESPD@margin@t-\ESPD@margin@b-2\ESPD@curpad@v% + \expandafter-\@nameuse{ESPD@style@sh@\ifESPD@ignstamp empty\else #1\fi}-\textheight}% + {\ESPD@tmpdima-\ESPD@margin@si-\ESPD@margin@so-2\ESPD@padding@h-\textwidth}{}{}{}% +\let\ESPD@thisstyle\@empty} + +\newcommand{\ESPDthisStyle}[1]{% +\thispagestyle{empty}% +\def\ESPD@thisstyle{#1}% +\ifpdf% + \setlength{\ESPD@tmpdimb}{\pdfpageheight}% +\else% + \setlength{\ESPD@tmpdimb}{\paperheight}% +\fi% +\setlength{\vsize}{\ESPD@tmpdimb-\ESPD@margin@t-\ESPD@margin@b-2\ESPD@curpad@v% + \expandafter-\@nameuse{ESPD@style@sh@\ifESPD@ignstamp empty\else #1\fi}}% +\setlength{\@colht}{\vsize}\setlength{\@colroom}{\vsize}} + +\newcommand{\ESPDput}[1]{\def\ESPD@extra@Hook{#1}} +\newcommand{\ESPDthisPut}[1]{\def\ESPD@extra@ThisHook{#1}} + +\newcommand{\ESPDclearDoublePage}{% + \ifESPD@twoside% + \clearpage% + \ifodd\c@page\else\ESPDthisStyle{empty}\rule{0mm}{0mm}\newpage\fi% + \else\clearpage\fi} + +\ESPDstyle{\ESPD@default@style@other} +\AtBeginDocument{% + \ifx\ESPD@default@style@first\ESPD@default@style@other\else + \ESPDthisStyle{\ESPD@default@style@first}% + \fi} + +\newcommand{\ESPDdefaultTitleStyle}[1]{% + \renewcommand{\ESPD@default@style@title}{#1}} +\newcommand{\ESPDdefaultFirstStyle}[1]{% + \renewcommand{\ESPD@default@style@first}{#1}} +\newcommand{\ESPDdefaultStyle}[1]{% + \renewcommand{\ESPD@default@style@other}{#1}% + \ESPDstyle{#1}} + +\newcommand{\ESPDsetPadding}[2]{% + \changepage{% + 2\ESPD@curpad@v-#2-#2}{% + 2\ESPD@curpad@h-#1-#1}{% + #1-\ESPD@curpad@h}{% + #1-\ESPD@curpad@h}{}{% + #2-\ESPD@curpad@v}{}{}{} + \setlength{\ESPD@curpad@h}{#1} + \setlength{\ESPD@curpad@v}{#2} + \edef\ESPD@tmpcmda{\ESPD@thisstyle} + \ifx\ESPD@tmpcmda\@empty\else + \ESPDthisStyle{\ESPD@tmpcmda} + \fi} + +\newenvironment{ESPDpadding}[2]{% + \newpage\ESPDsetPadding{#1}{#2}}{% + \clearpage\ESPDsetPadding{\ESPD@padding@h}{\ESPD@padding@v}} + +\newenvironment{ESPDzeroPadding}{% + \begin{ESPDpadding}{0mm}{0mm}}{\end{ESPDpadding}} + +\RequirePackage{espdinfo} + +\newcommand{\ESPDtheColumnI}{\ESPDtheTitle\par\ESPDtheDocName} +\newcommand{\ESPDcolumnI}[1]{\renewcommand{\ESPDtheColumnI}{#1}} +\newcommand{\ESPDtheColumnII}{\ESPDtheSignature} +\newcommand{\ESPDcolumnII}[1]{\renewcommand{\ESPDtheColumnII}{#1}} +\newcommand{\ESPDtheColumnIII}{\ESPDtheMaterial} +\newcommand{\ESPDcolumnIII}[1]{\renewcommand{\ESPDtheColumnIII}{#1}} +\newcommand{\ESPDtheColumnIVfI}{\ESPDtheLetterI} +\newcommand{\ESPDcolumnIVfI}[1]{\renewcommand{\ESPDtheColumnIVfI}{#1}} +\newcommand{\ESPDtheColumnIVfII}{\ESPDtheLetterII} +\newcommand{\ESPDcolumnIVfII}[1]{\renewcommand{\ESPDtheColumnIVfII}{#1}} +\newcommand{\ESPDtheColumnIVfIII}{\ESPDtheLetterIII} +\newcommand{\ESPDcolumnIVfIII}[1]{\renewcommand{\ESPDtheColumnIVfIII}{#1}} +\newcommand{\ESPDtheColumnV}{\ESPDtheMass} +\newcommand{\ESPDcolumnV}[1]{\renewcommand{\ESPDtheColumnV}{#1}} +\newcommand{\ESPDtheColumnVI}{\ESPDtheScale} +\newcommand{\ESPDcolumnVI}[1]{\renewcommand{\ESPDtheColumnVI}{#1}} +\newcommand{\ESPDtheColumnIX}{\ESPDtheGroup} +\newcommand{\ESPDcolumnIX}[1]{\renewcommand{\ESPDtheColumnIX}{#1}} +\newcommand{\ESPDtheColumnXIfI}{\ESPDtheAuthor} +\newcommand{\ESPDcolumnXIfI}[1]{\renewcommand{\ESPDtheColumnXIfI}{#1}} +\newcommand{\ESPDtheColumnXIfII}{\ESPDtheChecker} +\newcommand{\ESPDcolumnXIfII}[1]{\renewcommand{\ESPDtheColumnXIfII}{#1}} +\newcommand{\ESPDtheColumnXIfIII}{} +\newcommand{\ESPDcolumnXIfIII}[1]{\renewcommand{\ESPDtheColumnXIfIII}{#1}} +\newcommand{\ESPDtheColumnXIfIV}{} +\newcommand{\ESPDcolumnXIfIV}[1]{\renewcommand{\ESPDtheColumnXIfIV}{#1}} +\newcommand{\ESPDtheColumnXIfV}{\ESPDtheNormContr} +\newcommand{\ESPDcolumnXIfV}[1]{\renewcommand{\ESPDtheColumnXIfV}{#1}} +\newcommand{\ESPDtheColumnXIfVI}{\ESPDtheApprovedBy} +\newcommand{\ESPDcolumnXIfVI}[1]{\renewcommand{\ESPDtheColumnXIfVI}{#1}} +\newcommand{\ESPDtheColumnXIX}{} +\newcommand{\ESPDcolumnXIX}[1]{\renewcommand{\ESPDtheColumnXIX}{#1}} +\newcommand{\ESPDtheColumnXXI}{} +\newcommand{\ESPDcolumnXXI}[1]{\renewcommand{\ESPDtheColumnXXI}{#1}} +\newcommand{\ESPDtheColumnXXII}{} +\newcommand{\ESPDcolumnXXII}[1]{\renewcommand{\ESPDtheColumnXXII}{#1}} +\newcommand{\ESPDtheColumnXXIV}{} +\newcommand{\ESPDcolumnXXIV}[1]{\renewcommand{\ESPDtheColumnXXIV}{#1}} +\newcommand{\ESPDtheColumnXXV}{} +\newcommand{\ESPDcolumnXXV}[1]{\renewcommand{\ESPDtheColumnXXV}{#1}} +\newcommand{\ESPDtheColumnXXVII}{} +\newcommand{\ESPDcolumnXXVII}[1]{\renewcommand{\ESPDtheColumnXXVII}{#1}} +\newcommand{\ESPDtheColumnXXVIII}{} +\newcommand{\ESPDcolumnXXVIII}[1]{\renewcommand{\ESPDtheColumnXXVIII}{#1}} +\newcommand{\ESPDtheColumnXXIX}{} +\newcommand{\ESPDcolumnXXIX}[1]{\renewcommand{\ESPDtheColumnXXIX}{#1}} +\newcommand{\ESPDtheColumnXXX}{} +\newcommand{\ESPDcolumnXXX}[1]{\renewcommand{\ESPDtheColumnXXX}{#1}} +\newcommand{\ESPDtheColumnXXXII}{\@nameuse{ESPD\ESPD@paper FormatName}} +\newcommand{\ESPDcolumnXXXII}[1]{\renewcommand{\ESPDtheColumnXXXII}{#1}} +\newcommand{\ESPDtheColumnXXXIV}{} +\newcommand{\ESPDcolumnXXXIV}[1]{\renewcommand{\ESPDtheColumnXXXIV}{#1}} + diff --git a/espdtab.cls b/espdtab.cls new file mode 100644 index 0000000..1b46907 --- /dev/null +++ b/espdtab.cls @@ -0,0 +1,50 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{espdtab}[2010/01/14 v0.98 Tabular Documentation] + +\DeclareOption{russian}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{ukrainian}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{koi8-r}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{koi8-u}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{cp1251}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{iso8859-5}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{cp866}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{utf-8}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{utf8}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{twoside}{% + \PassOptionsToClass{\CurrentOption}{article}% + \PassOptionsToPackage{\CurrentOption}{espdstamp}} +\DeclareOption{draft}{\PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{formI}{% + \ClassError{espdtext}{formI style is for graphical documentaion}{}} +\DeclareOption{zonelabels}{% + \ClassError{espdtext}{Zone labels is not allowed for tabular documentaion}{}} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{espdstamp}} + +\ProcessOptions\relax + +\LoadClass{article} +\RequirePackage{espdlang} +\RequirePackage[a4paper,formII]{espdstamp} +\RequirePackage{espdinfo} + diff --git a/espdtext.cls b/espdtext.cls new file mode 100644 index 0000000..6abb97f --- /dev/null +++ b/espdtext.cls @@ -0,0 +1,112 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{espdtext}[2010/01/14 v0.98 Textual Documentation] + +\newcommand{\ESPD@docfont}{14pt} +\newcommand{\ESPD@float@style}{single} +\newcommand{\ESPD@equation@style}{single} + +\DeclareOption{russian}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{ukrainian}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{koi8-r}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{koi8-u}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{cp1251}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{iso8859-5}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{cp866}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{utf-8}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{utf8}{\PassOptionsToPackage{\CurrentOption}{espdlang}} +\DeclareOption{12pt}{\renewcommand{\ESPD@docfont}{12pt}} +\DeclareOption{14pt}{\renewcommand{\ESPD@docfont}{14pt}} +\DeclareOption{pointsingle}{\PassOptionsToPackage{\CurrentOption}{espdsect}} +\DeclareOption{pointsection}{\PassOptionsToPackage{\CurrentOption}{espdsect}} +\DeclareOption{pointsubsection}{\PassOptionsToPackage{\CurrentOption}{espdsect}} +\DeclareOption{floatsingle}{\renewcommand{\ESPD@float@style}{single}} +\DeclareOption{floatsection}{\renewcommand{\ESPD@float@style}{section}} +\DeclareOption{floatsubsection}{\renewcommand{\ESPD@float@style}{subsection}} +\DeclareOption{equationsingle}{\renewcommand{\ESPD@equation@style}{single}} +\DeclareOption{equationsection}{\renewcommand{\ESPD@equation@style}{section}} +\DeclareOption{equationsubsection}{\renewcommand{\ESPD@equation@style}{subsection}} +\DeclareOption{footnotearabic}{\PassOptionsToPackage{\CurrentOption}{espdfootnote}} +\DeclareOption{footnoteasterisk}{\PassOptionsToPackage{\CurrentOption}{espdfootnote}} +\DeclareOption{twoside}{% + \PassOptionsToClass{\CurrentOption}{extarticle}% + \PassOptionsToPackage{\CurrentOption}{espdstamp}} +\DeclareOption{draft}{\PassOptionsToClass{\CurrentOption}{extarticle}} +\DeclareOption{formI}{% + \ClassError{espdtext}{formI style is for graphical documentaion}{}} +\DeclareOption{zonelabels}{% + \ClassError{espdtext}{Zone labels is not allowed for textual documentaion}{}} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{espdstamp}} + +\ProcessOptions\relax + +\LoadClass[\ESPD@docfont]{extarticle} +\RequirePackage{espdlang} +\RequirePackage[a4paper,espd]{espdstamp} +\RequirePackage{espdindent} +\RequirePackage{espdlist} +\RequirePackage{espdsect} +\RequirePackage{espdcap} +\RequirePackage{espdfootnote} +\RequirePackage{espdbiblist} +\RequirePackage{espdexplan} +\RequirePackage{espdinfo} +\RequirePackage{espdtitlebase} +\RequirePackage{espdtitle} + +\linespread{1.5} + +\newcommand{\ESPD@float@style@single}{} + +\newcommand{\ESPD@float@style@section}{ + \@addtoreset{figure}{section} + \@addtoreset{table}{section} + \renewcommand{\thefigure}{% + \ifnum \c@section>\z@ \thesection.\fi \arabic{figure}} + \renewcommand{\thetable}{% + \ifnum \c@section>\z@ \thesection.\fi \arabic{table}}} + +\newcommand{\ESPD@float@style@subsection}{ + \@addtoreset{figure}{subsection} + \@addtoreset{table}{subsection} + \renewcommand{\thefigure}{% + \ifnum \c@subsection>\z@ \thesubsection.\fi \arabic{figure}} + \renewcommand{\thetable}{% + \ifnum \c@subsection>\z@ \thesubsection.\fi \arabic{table}}} + +\@nameuse{ESPD@float@style@\ESPD@float@style} + +\newcommand{\ESPD@equation@style@single}{} + +\newcommand{\ESPD@equation@style@section}{ + \@addtoreset{equation}{section} + \renewcommand{\theequation}{% + \ifnum \c@section>\z@ \thesection.\fi \arabic{equation}}} + +\newcommand{\ESPD@equation@style@subsection}{ + \@addtoreset{equation}{subsection} + \renewcommand{\theequation}{% + \ifnum \c@subsection>\z@ \thesubsection.\fi \arabic{equation}}} + +\@nameuse{ESPD@equation@style@\ESPD@equation@style} + diff --git a/espdtitle.sty b/espdtitle.sty new file mode 100644 index 0000000..fa20514 --- /dev/null +++ b/espdtitle.sty @@ -0,0 +1,152 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdtitle}[2010/01/14 v0.98 Title GOST 2.105] + +\RequirePackage{espdstamp} +\RequirePackage{espdlang} +\RequirePackage{espdinfo} +\RequirePackage{espdtotal} +\RequirePackage{espdtitlebase} +\RequirePackage{ifthen} + +\newcommand{\ESPD@title@split@field}[2]{% + \parbox[t]{.4\hsize}{\raggedright#1}\hfill + \parbox[t]{.4\hsize}{\raggedright#2}} + +\renewcommand{\ESPDtheTitleFieldI}{% + \ESPDtheDepartment\par\ESPDtheCompany} + +\def\ESPDtheTitleFieldIIl{} +\renewcommand{\ESPDtheTitleFieldIIl}{% + \ESPDtheClassCode} +\def\ESPDtheTitleFieldIIr{} +\renewcommand{\ESPDtheTitleFieldIIr}{} +\renewcommand{\ESPDtheTitleFieldII}{% + \ESPD@title@split@field{\ESPDtheTitleFieldIIl}{\ESPDtheTitleFieldIIr}} + +\def\ESPDtheTitleFieldIIIl{} +\renewcommand{\ESPDtheTitleFieldIIIl}{% + \ifx\ESPD@title@approving@sheet\@undefined + \expandafter\ifx\csname ESPD@title@agreed@name@1\endcsname\relax\else + \text{\MakeUppercase{\ESPDagreedName}}\\ + \ESPD@title@make@stamp{agreed}{1} + \fi + \else + \textrm{\MakeUppercase{\ESPDapprovedName}}\\ + \ESPD@title@approving@sheet + \fi} +\def\ESPDtheTitleFieldIIIr{} +\renewcommand{\ESPDtheTitleFieldIIIr}{% + \ifx\ESPD@title@approving@sheet\@undefined + \expandafter\ifx\csname ESPD@title@approved@name@1\endcsname\relax\else + \text{\MakeUppercase{\ESPDapprovingName}}\\ + \ESPD@title@make@stamp{approved}{1} + \fi + \fi} +\renewcommand{\ESPDtheTitleFieldIII}{% + \ESPD@title@split@field{\ESPDtheTitleFieldIIIl}{\ESPDtheTitleFieldIIIr}} + +\renewcommand{\ESPDtheTitleFieldIV}{% + \MakeUppercase{\ESPDtheTitle}\par\ESPDtheDocName} + +\renewcommand{\ESPDtheTitleFieldV}{} + +\renewcommand{\ESPDtheTitleFieldVI}{% + \MakeUppercase{\ESPDtheSignature}} + +\renewcommand{\ESPDtheTitleFieldVIa}{% + {\ESPDtheFileName}} + +%\renewcommand{\ESPDtheTitleFieldVII}{} +\renewcommand{\ESPDtheTitleFieldVII}{\normalfont\cyr\CYRL\cyri\cyrs\cyrt\cyro\cyrv\ \ESPDtotal{page}} + +\def\ESPDtheTitleFieldVIIIl{} +\renewcommand{\ESPDtheTitleFieldVIIIl}{% + \ifx\ESPD@title@approving@sheet\@undefined + \ESPD@tmpcnta = 1 + \loop + \ifnum \ESPD@tmpcnta < \ESPD@title@agreed@cnt + \advance \ESPD@tmpcnta 1 + \ESPD@title@make@stamp{agreed}{\number\ESPD@tmpcnta} + \par\vspace{5mm} + \repeat + \fi} +\def\ESPDtheTitleFieldVIIIr{} +\renewcommand{\ESPDtheTitleFieldVIIIr}{% + \ifx\ESPD@title@approving@sheet\@undefined + \ESPD@tmpcnta = 0 + \loop + \ifnum \ESPD@tmpcnta < \ESPD@title@designed@cnt + \advance \ESPD@tmpcnta 1 + \ESPD@title@make@stamp{designed}{\number\ESPD@tmpcnta} + \par\vspace{5mm} + \repeat + \fi} +\renewcommand{\ESPDtheTitleFieldVIII}{% + \ESPD@title@split@field{\ESPDtheTitleFieldVIIIl}{\ESPDtheTitleFieldVIIIr}} + +\renewcommand{\ESPDtheTitleFieldX}{\ESPDtheYear} +\renewcommand{\ESPDtheTitleFieldXI}{\cyr\CYRL\cyri\cyrt\cyre\cyrr\cyra} + +\renewcommand{\ESPDtitleFontI}{\ESPDfontV} +\renewcommand{\ESPDtitleFontII}{\ESPDfontV} +\renewcommand{\ESPDtitleFontIII}{\ESPDfontV} +\renewcommand{\ESPDtitleFontIV}{\ESPDfontV} +\renewcommand{\ESPDtitleFontV}{\ESPDfontV} +\renewcommand{\ESPDtitleFontVI}{\ESPDfontV} +\renewcommand{\ESPDtitleFontVIa}{\ESPDfontV} +\renewcommand{\ESPDtitleFontVII}{\ESPDfontV} +\renewcommand{\ESPDtitleFontVIII}{\ESPDfontIII} +\renewcommand{\ESPDtitleFontX}{\ESPDfontV} +\renewcommand{\ESPDtitleFontXI}{\ESPDfontV} + +\renewcommand{\maketitle}{% + \begin{ESPDtitlePage} + \setlength{\topsep}{0mm} + \noindent + \parbox[c][.28\vsize][t]{\hsize}{% +% \vspace{5mm \@plus 15mm \@minus 3mm} +% \begin{center}\ESPDtitleFontI\bfseries\ESPDtheTitleFieldI\end{center} +% \vspace{5mm \@plus 15mm \@minus 3mm} +% \begin{center}\ESPDtitleFontII\ESPDtheTitleFieldII\end{center}} + \vspace{5mm \@plus 15mm \@minus 3mm} + \begin{center}\ESPDtitleFontIII\ESPDtheTitleFieldIII\end{center}} + \par\vspace{10mm \@plus 2mm \@minus 4mm}\noindent + \parbox[c][.30\vsize][t]{\hsize}{% + \ifthenelse{\equal{\ESPDtheTitleFieldIV}{}}{} + {\begin{center}\ESPDtitleFontIV\ESPDtheTitleFieldIV\end{center}} + \ifthenelse{\equal{\ESPDtheTitleFieldV}{}}{} + {\begin{center}\ESPDtitleFontV\ESPDtheTitleFieldV\end{center}} + \ifthenelse{\equal{\ESPDtheTitleFieldVI}{}}{} + {\begin{center}\ESPDtitleFontVI\ESPDtheTitleFieldVI\end{center}} + \ifthenelse{\equal{\ESPDtheTitleFieldVIa}{}}{} + {\begin{center}\ESPDtitleFontVI\ESPDtheTitleFieldVIa\end{center}} + \ifthenelse{\equal{\ESPDtheTitleFieldVII}{}}{} + {\begin{center}\ESPDtitleFontVII\ESPDtheTitleFieldVII\end{center}}} + \par\vspace{4mm \@plus 2mm \@minus 2mm}\noindent + \begin{center}\ESPDtitleFontVIII\ESPDtheTitleFieldVIII\end{center} + \vfill + \begin{center}\ESPDtitleFontX\ESPDtheTitleFieldX\end{center} + \begin{flushright}\ESPDtitleFontXI\ESPDtheTitleFieldXI\hspace{20mm}\enspace\end{flushright}% Литера + \end{ESPDtitlePage}} + diff --git a/espdtitlebase.sty b/espdtitlebase.sty new file mode 100644 index 0000000..c61d6cf --- /dev/null +++ b/espdtitlebase.sty @@ -0,0 +1,92 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdtitlebase}[2010/01/14 v0.98 Base Title Commands] + +\newcommand{\ESPDtitleApprovedBy}[2]{% + \@namedef{ESPD@title@approved@post@1}{#1} + \@namedef{ESPD@title@approved@name@1}{#2}} + +\newcount\ESPD@title@agreed@cnt +\newcount\ESPD@title@designed@cnt +\ESPD@title@agreed@cnt = 0 +\ESPD@title@designed@cnt = 0 + +\newcommand{\ESPDtitleAgreedBy}[2]{% + \advance \ESPD@title@agreed@cnt 1 + \@namedef{ESPD@title@agreed@post@\number\ESPD@title@agreed@cnt}{#1} + \@namedef{ESPD@title@agreed@name@\number\ESPD@title@agreed@cnt}{#2}} + +\newcommand{\ESPDtitleDesignedBy}[2]{% + \advance \ESPD@title@designed@cnt 1 + \@namedef{ESPD@title@designed@post@\number\ESPD@title@designed@cnt}{#1} + \@namedef{ESPD@title@designed@name@\number\ESPD@title@designed@cnt}{#2}} + +\let\ESPD@title@approving@sheet\@undefinded +\newcommand{\ESPDtitleApprovingSheet}[1]{% + \def\ESPD@title@approving@sheet{#1}} + +\newcommand{\ESPDtitleMakeStamp}[2]{#1\\\rule{2cm}{.1mm}\ #2\\ +``\rule{.8cm}{.1mm}'' \rule{2.3cm}{.1mm}\ \rule{1.5cm}{.1mm}} + +\newcommand{\ESPD@title@make@stamp}[2]{% + \ESPDtitleMakeStamp{% + \@nameuse{ESPD@title@#1@post@#2}}{% + \@nameuse{ESPD@title@#1@name@#2}}} + +\newcommand{\ESPDtheTitleFieldI}{} +\newcommand{\ESPDtheTitleFieldII}{} +\newcommand{\ESPDtheTitleFieldIII}{} +\newcommand{\ESPDtheTitleFieldIV}{} +\newcommand{\ESPDtheTitleFieldV}{} +\newcommand{\ESPDtheTitleFieldVI}{} +\newcommand{\ESPDtheTitleFieldVIa}{} +\newcommand{\ESPDtheTitleFieldVII}{} +\newcommand{\ESPDtheTitleFieldVIII}{} +\newcommand{\ESPDtheTitleFieldIX}{} +\newcommand{\ESPDtheTitleFieldX}{} +\newcommand{\ESPDtheTitleFieldXI}{} +\newcommand{\ESPDtitleFontI}{} +\newcommand{\ESPDtitleFontII}{} +\newcommand{\ESPDtitleFontIII}{} +\newcommand{\ESPDtitleFontIV}{} +\newcommand{\ESPDtitleFontV}{} +\newcommand{\ESPDtitleFontVI}{} +\newcommand{\ESPDtitleFontVIa}{} +\newcommand{\ESPDtitleFontVII}{} +\newcommand{\ESPDtitleFontVIII}{} +\newcommand{\ESPDtitleFontIX}{} +\newcommand{\ESPDtitleFontX}{} +\newcommand{\ESPDtitleFontXI}{} + +\def\ESPD@title@after@page{% + \ESPDclearDoublePage + \ESPDstyle{\ESPD@default@style@other} + \ESPDthisStyle{\ESPD@default@style@first}} + +% ### Выравнивание титульной страницы +\newenvironment{ESPDtitlePage}{% + \begin{ESPDpadding}{0mm}{5mm} + \ESPDstyle{\ESPD@default@style@title}}{% + \end{ESPDpadding} + \aftergroup\ESPD@title@after@page} + diff --git a/espdtotal.sty b/espdtotal.sty new file mode 100644 index 0000000..225f0ca --- /dev/null +++ b/espdtotal.sty @@ -0,0 +1,59 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{espdtotal}[2010/01/14 v0.98 Total number of tables, figures, etc] + +\RequirePackage{espdsect} + +\let\ESPD@old@caption\@caption +\let\ESPD@old@bibitem\bibitem + +\newcounter{ESPD@figure} +\newcounter{ESPD@table} +\newcounter{ESPD@bibitem} + +\long\def\@caption#1[#2]#3{% + \stepcounter{ESPD@#1}% + \ESPD@old@caption{#1}[#2]{#3}} + +\long\def\bibitem{% + \stepcounter{ESPD@bibitem}% + \ESPD@old@bibitem} + +\def\ESPD@total@save#1#2{% + \immediate\write\@auxout{% + \string\gdef\string\ESPD@total@saved@\string#1{\arabic{#2}}}} + +\AtEndDocument{% + \ESPD@total@save{figure}{ESPD@figure} + \ESPD@total@save{table}{ESPD@table} + \ESPD@total@save{bibitem}{ESPD@bibitem} + \ESPD@total@save{appendix}{appendix} + \clearpage + \addtocounter{page}{-1} + \ESPD@total@save{page}{page} + \addtocounter{page}{1}} + +\newcommand{\ESPDtotal}[1]{% + \@ifundefined{ESPD@total@saved@#1}{?}{% + \@nameuse{ESPD@total@saved@#1}}} + diff --git a/espdukrainian.def b/espdukrainian.def new file mode 100644 index 0000000..f9176a7 --- /dev/null +++ b/espdukrainian.def @@ -0,0 +1,180 @@ +% Copyright 2006 Konstantin Korikov +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% This Current Maintainer of this work is Konstantin Korikov. +% +% This work consists of all files listed in manifest.txt. +% + +% +% This is automaticaly generated file, do not edit it. +% + +\ProvidesFile{espdukrainian.def}[2010/01/17 v0.98 Language File] + +\newcommand{\ESPDcolumnIVname}{% + \cyr\CYRL\cyri\cyrt.} +\newcommand{\ESPDcolumnVname}{% + \cyr\CYRM\cyra\cyrs\cyra} +\newcommand{\ESPDcolumnVIname}{% + \cyr\CYRM\cyra\cyrs\cyrsh\cyrt\cyra\cyrb} +\newcommand{\ESPDcolumnVIIname}{% + \cyr\CYRA\cyrr\cyrk\cyru\cyrsh} +\newcommand{\ESPDcolumnVIItwosideName}{% + \cyr\CYRS\cyrt\cyro\cyrr.} +\newcommand{\ESPDcolumnVIIIname}{% + \cyr\CYRA\cyrr\cyrk\cyru\cyrsh\cyrii\cyrv} +\newcommand{\ESPDcolumnVIIItwosideName}{% + \cyr\CYRS\cyrt\cyro\cyrr\cyrii\cyrn\cyro\cyrk} +\newcommand{\ESPDcolumnXfIname}{% + \cyr\CYRR\cyro\cyrz\cyrr\cyro\cyrb\cyri\cyrv} +\newcommand{\ESPDcolumnXfIIname}{% + \cyr\CYRP\cyre\cyrr\cyre\cyrv\cyrii\cyrr\cyri\cyrv} +\newcommand{\ESPDcolumnXfIIIname}{% + \cyr\CYRT. \cyrk\cyro\cyrn\cyrt\cyrr.} +\newcommand{\ESPDcolumnXfIVname}{} +\newcommand{\ESPDcolumnXfVname}{% + \cyr\CYRN. \cyrk\cyro\cyrn\cyrt\cyrr.} +\newcommand{\ESPDcolumnXfVIname}{% + \cyr\CYRZ\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyri\cyrv} +\newcommand{\ESPDcolumnXIVname}{% + \cyr\CYRZ\cyrm.} +\newcommand{\ESPDcolumnXVname}{% + \cyr\CYRL\cyri\cyrs\cyrt} +\newcommand{\ESPDcolumnXVIname}{% + \textnumero\ \cyr\cyrd\cyro\cyrk\cyru\cyrm.} +\newcommand{\ESPDcolumnXVIIname}{% + \cyr\CYRP\cyrii\cyrd\cyrp.} +\newcommand{\ESPDcolumnXVIIIname}{% + \cyr\CYRD\cyra\cyrt\cyra} +\newcommand{\ESPDcolumnXIXname}{% + \cyr\CYRII\cyrn\cyrv. \textnumero\ \cyro\cyrr\cyrii\cyrg.} +\newcommand{\ESPDcolumnXXname}{% + \cyr\CYRP\cyrii\cyrd\cyrp. \cyrii\ \cyrd\cyra\cyrt\cyra} +\newcommand{\ESPDcolumnXXIname}{% + \cyr\CYRV\cyrz\cyra\cyrm. \cyrii\cyrn\cyrv. \textnumero} +\newcommand{\ESPDcolumnXXIIname}{% + \cyr\CYRII\cyrn\cyrv. \textnumero\ \cyrd\cyru\cyrb\cyrl.} +\newcommand{\ESPDcolumnXXIIIname}{% + \cyr\CYRP\cyrii\cyrd\cyrp. \cyrii\ \cyrd\cyra\cyrt\cyra} +\newcommand{\ESPDcolumnXXIVname}{% + \cyr\CYRS\cyrp\cyrr\cyra\cyrv. \textnumero} +\newcommand{\ESPDcolumnXXVname}{% + \cyr\CYRP\cyre\cyrr\cyrsh. \cyrz\cyra\cyrs\cyrt.} +\newcommand{\ESPDcolumnXXXIname}{% + \cyr\CYRK\cyro\cyrp\cyrii\cyryu\cyrv\cyra\cyrv} +\@namedef{ESPDa0FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}0} +\@namedef{ESPDa1FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}1} +\@namedef{ESPDa2FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}2} +\@namedef{ESPDa3FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}3} +\@namedef{ESPDa4FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}4} +\@namedef{ESPDemptyFormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \ \ \ } +\newcommand{\ESPDcolumnXXXIIIname}{% + \cyr\CYRZ\cyro\cyrn\cyra} + +\newcommand{\ESPDagreedName}{% + \cyr\CYRP\cyro\cyrg\cyro\cyrd\cyrzh\cyre\cyrn\cyro} +\newcommand{\ESPDapprovingName}{% + \cyr\CYRZ\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyru\cyryu} +\newcommand{\ESPDapprovedName}{% + \cyr\CYRZ\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyro} +\newcommand{\ESPDapprovingSheetName}{% + \cyr\CYRL\cyri\cyrs\cyrt\ % + \cyrz\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn\cyrya} + +\newlength{\ESPDexplanWidth} +\setlength{\ESPDexplanWidth}{1.5em} + +\addto\captionsukrainian{% + \def\tablename{{\cyr\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrya}}% + \def\figurename{{\cyr\CYRR\cyri\cyrs\cyru\cyrn\cyro\cyrk}}% + \def\refname{{\cyr\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk\ + \cyrp\cyro\cyrs\cyri\cyrl\cyra\cyrn\cyrsftsn}}} + +\newcommand{\ESPDspecColumnIname}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt} +\newcommand{\ESPDspecColumnIIname}{% + \cyr\CYRZ\cyro\cyrn\cyra} +\newcommand{\ESPDspecColumnIIIname}{% + \cyr\CYRP\cyro\cyrz.} +\newcommand{\ESPDspecColumnIVname}{% + \cyr\CYRP\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya} +\newcommand{\ESPDspecColumnVname}{% + \cyr\CYRN\cyra\cyrishrt\cyrm\cyre\cyrn\cyru\cyrv\cyra\cyrn\cyrn\cyrya} +\newcommand{\ESPDspecColumnVIname}{% + \cyr\CYRK\cyrii\cyrl\cyrsftsn\cyrk.} +\newcommand{\ESPDspecColumnVIIname}{% + \cyr\CYRP\cyrr\cyri\cyrm\cyrii\cyrt\cyrk\cyra} + +\newcommand{\ESPDspecIIcolumnIname}{\ESPDspecColumnIname} +\newcommand{\ESPDspecIIcolumnIIname}{\ESPDspecColumnIIname} +\newcommand{\ESPDspecIIcolumnIIIname}{\ESPDspecColumnIIIname} +\newcommand{\ESPDspecIIcolumnIVname}{\ESPDspecColumnIVname} +\newcommand{\ESPDspecIIcolumnVname}{\ESPDspecColumnVname} +\newcommand{\ESPDspecIIcolumnVIname}{\ESPDspecColumnVIname} +\newcommand{\ESPDspecIIcolumnVIIname}{% + \cyr\CYRM\cyra\cyrs\cyra} +\newcommand{\ESPDspecIIcolumnVIIIname}{% + \cyr\CYRM\cyra\cyrt\cyre\cyrr\cyrii\cyra\cyrl} +\newcommand{\ESPDspecIIcolumnIXname}{\ESPDspecColumnVIIname} + +\newcommand{\ESPDchangeSheetName}{% + \cyr\CYRL\cyri\cyrs\cyrt\ % + \cyrr\cyre\cyrie\cyrs\cyrt\cyrr\cyra\cyrc\cyri\cyryi\ % + \cyrz\cyrm\cyrii\cyrn} +\newcommand{\ESPDchngColumnsIIhName}{% + \cyr\CYRN\cyro\cyrm\cyre\cyrr\cyri\ \cyra\cyrr\cyrk\cyru\cyrsh\cyrii\cyrv\ % + (\cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyro\cyrk)} +\newcommand{\ESPDchngColumnIIname}{% + \cyr\cyrz\cyrm\cyrii\-\cyrn\cyre\-\cyrn\cyri\cyrh} +\newcommand{\ESPDchngColumnIIIname}{% + \cyr\cyrz\cyra\-\cyrm\cyrii\-\cyrn\cyre\-\cyrn\cyri\cyrh} +\newcommand{\ESPDchngColumnIVname}{% + \cyr\cyrn\cyro\-\cyrv\cyri\cyrh} +\newcommand{\ESPDchngColumnVname}{% + \cyr\cyra\cyrn\cyru\-\cyrl\cyrsftsn\cyro\cyrv\cyra\-\cyrn\cyri\cyrh} +\newcommand{\ESPDchngColumnVIname}{% + \cyr\CYRR\cyra\cyrz\cyro\cyrm\ \cyra\cyrr\cyrk\cyru\cyrsh\cyrii\cyrv\ % + (\cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyro\cyrk) \cyrv\ \cyrd\cyro\cyrk\cyru\cyrm.} +\newcommand{\ESPDchngColumnVIIIname}{% + \cyr\CYRV\cyrh\cyrii\cyrd\cyrn\cyri\cyrishrt\ \textnumero\ % + \cyrs\cyru\cyrp\cyrr\cyro\cyrv\cyrii\cyrd\cyrn\cyro\cyrg\cyro\ % + \cyrd\cyro\cyrk\cyru\cyrm. \cyrii\ % + \cyrd\cyra\cyrt\cyra} + +\def\@Asbuk#1{\ifcase#1\or + \CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or + \CYRZH\or\CYRI\or + \CYRK\or\CYRL\or\CYRM\or\CYRN\or\CYRP\or\CYRR\or + \CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or\CYRC\or + \CYRSH\or\CYRSHCH\or\CYRYU\or + \CYRYA\else{\@tempcnta \number #1\relax + \advance\@tempcnta -24\relax + \protect\number\@tempcnta} + \fi} +\def\@asbuk#1{\ifcase#1\or + \cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or + \cyrzh\or\cyri\or + \cyrk\or\cyrl\or\cyrm\or\cyrn\or\cyrp\or\cyrr\or + \cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or\cyrc\or + \cyrsh\or\cyrshch\or\cyryu\or + \cyrya\else{\@tempcnta \number #1\relax + \advance\@tempcnta -24\relax + \protect\number\@tempcnta} + \fi} +