From 4d0c770e6115aed8993e1263cbf246e3485a9439 Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Mon, 1 Jul 2019 06:29:20 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=81=D1=91=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xespdafterpkg.sty | 58 +++ xespdappsheet.sty | 73 +++ xespdbiblist.sty | 45 ++ xespdcap.sty | 37 ++ xespdchngsheet.sty | 97 ++++ xespddstu.sty | 49 ++ xespdexplan.sty | 41 ++ xespdfont.sty | 103 ++++ xespdfootnote.sty | 82 ++++ xespdframe.sty | 58 +++ xespdfreesize.sty | 176 +++++++ xespdgraph.cls | 52 ++ xespdhash.sty | 60 +++ xespdindent.sty | 27 ++ xespdinfo.sty | 102 ++++ xespdlang.sty | 59 +++ xespdlist.sty | 68 +++ xespdpara.sty | 51 ++ xespdplain.sty | 75 +++ xespdprotocol.sty | 82 ++++ xespdrtis.sty | 117 +++++ xespdrussian.def | 183 +++++++ xespdsect.sty | 232 +++++++++ xespdspec.sty | 93 ++++ xespdspecii.sty | 179 +++++++ xespdstamp.sty | 1128 ++++++++++++++++++++++++++++++++++++++++++++ xespdtab.cls | 50 ++ xespdtext.cls | 112 +++++ xespdtitle.sty | 153 ++++++ xespdtitlebase.sty | 92 ++++ xespdtotal.sty | 59 +++ xespdtz.sty | 18 + xespdukrainian.def | 180 +++++++ 33 files changed, 3991 insertions(+) create mode 100644 xespdafterpkg.sty create mode 100644 xespdappsheet.sty create mode 100644 xespdbiblist.sty create mode 100644 xespdcap.sty create mode 100644 xespdchngsheet.sty create mode 100644 xespddstu.sty create mode 100644 xespdexplan.sty create mode 100644 xespdfont.sty create mode 100644 xespdfootnote.sty create mode 100644 xespdframe.sty create mode 100644 xespdfreesize.sty create mode 100644 xespdgraph.cls create mode 100644 xespdhash.sty create mode 100644 xespdindent.sty create mode 100644 xespdinfo.sty create mode 100644 xespdlang.sty create mode 100644 xespdlist.sty create mode 100644 xespdpara.sty create mode 100644 xespdplain.sty create mode 100644 xespdprotocol.sty create mode 100644 xespdrtis.sty create mode 100644 xespdrussian.def create mode 100644 xespdsect.sty create mode 100644 xespdspec.sty create mode 100644 xespdspecii.sty create mode 100644 xespdstamp.sty create mode 100644 xespdtab.cls create mode 100644 xespdtext.cls create mode 100644 xespdtitle.sty create mode 100644 xespdtitlebase.sty create mode 100644 xespdtotal.sty create mode 100644 xespdtz.sty create mode 100644 xespdukrainian.def diff --git a/xespdafterpkg.sty b/xespdafterpkg.sty new file mode 100644 index 0000000..8f55453 --- /dev/null +++ b/xespdafterpkg.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{xespdafterpkg}[2010/01/14 v0.98 Apply Commands After Package] + +\newcommand*\XESPD@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\XESPD@after@package +\let\XESPD@ATP@popfilename\@popfilename +\@onlypreamble\XESPD@ATP@popfilename +\def\@popfilename{% + \@ifundefined{\@currname.\@currext-@dd}{}{% + \XESPD@ATP@apply@info{\@currname}% + \csname\@currname.\@currext-@dd\endcsname + \expandafter\let\csname\@currname.\@currext-@dd\endcsname\relax + }% + \XESPD@ATP@popfilename +} +\def\XESPD@ATP@apply@info#1{% + \wlog{After Package Info: Apply commands to #1\on@line}% +} +\@onlypreamble\XESPD@ATP@apply@info + diff --git a/xespdappsheet.sty b/xespdappsheet.sty new file mode 100644 index 0000000..87cc313 --- /dev/null +++ b/xespdappsheet.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{xespdappsheet}[2010/01/14 v0.98 Approving Sheet GOST 2.105] + +\RequirePackage{xespdlang} +\RequirePackage{xespdtitle} + +\newcount\XESPD@appsheet@doc@cnt +\XESPD@appsheet@doc@cnt = 0 + +\newcommand{\XESPDapprovingDoc}[1]{% + \advance \XESPD@appsheet@doc@cnt 1 + \@namedef{XESPD@appsheet@doc@\number\XESPD@appsheet@doc@cnt}{#1}} + +\renewcommand{\XESPDtheTitleFieldV}{% + \XESPDapprovingSheetName} + +\renewcommand{\XESPDtheTitleFieldVI}{% + \MakeUppercase{\XESPDtheSignature}} + +\renewcommand{\XESPDtheTitleFieldVII}{} + +\def\XESPDtheTitleFieldVIIIlb{} +\renewcommand{\XESPDtheTitleFieldVIIIlb}{% + \XESPD@tmpcnta = 1 + \XESPD@tmpcntb = \XESPD@appsheet@doc@cnt + \advance \XESPD@tmpcntb 1 + \loop + \ifnum \XESPD@tmpcnta < \XESPD@tmpcntb + \@nameuse{XESPD@appsheet@doc@\number\XESPD@tmpcnta}\par + \advance \XESPD@tmpcnta 2 + \repeat} +\def\XESPDtheTitleFieldVIIIrb{} +\renewcommand{\XESPDtheTitleFieldVIIIrb}{% + \XESPD@tmpcnta = 2 + \XESPD@tmpcntb = \XESPD@appsheet@doc@cnt + \advance \XESPD@tmpcntb 1 + \loop + \ifnum \XESPD@tmpcnta < \XESPD@tmpcntb + \@nameuse{XESPD@appsheet@doc@\number\XESPD@tmpcnta}\par + \advance \XESPD@tmpcnta 2 + \repeat} +\renewcommand{\XESPDtheTitleFieldVIII}{% + \XESPD@title@split@field{\XESPDtheTitleFieldVIIIl}{\XESPDtheTitleFieldVIIIr} + \par + \XESPD@title@split@field{\XESPDtheTitleFieldVIIIlb}{\XESPDtheTitleFieldVIIIrb}} + +\renewcommand{\XESPDtheTitleFieldX}{} + +\renewcommand{\XESPDtitleFontX}{\XESPDfontIII} + +\newcommand{\XESPDmakeApprovingSheet}{\maketitle} + diff --git a/xespdbiblist.sty b/xespdbiblist.sty new file mode 100644 index 0000000..91408ee --- /dev/null +++ b/xespdbiblist.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{xespdbiblist}[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/xespdcap.sty b/xespdcap.sty new file mode 100644 index 0000000..d3514eb --- /dev/null +++ b/xespdcap.sty @@ -0,0 +1,37 @@ +% 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{xespdcap}[2010/01/14 v0.98 Captions] + +\RequirePackage{caption} +\DeclareCaptionLabelSeparator{endash}{ \textendash{}\ } +\DeclareCaptionLabelSeparator{dot}{.\ } +\captionsetup[table]{% +labelsep=endash,justification=raggedright,singlelinecheck=false,% +aboveskip=0mm,belowskip=0mm} +\captionsetup[figure]{% +labelsep=endash,justification=centering,singlelinecheck=false,% +aboveskip=4mm,belowskip=0mm} +\captionsetup[longtable]{% +labelsep=endash,justification=raggedright,singlelinecheck=false,% +aboveskip=0mm,belowskip=0mm} + diff --git a/xespdchngsheet.sty b/xespdchngsheet.sty new file mode 100644 index 0000000..387c764 --- /dev/null +++ b/xespdchngsheet.sty @@ -0,0 +1,97 @@ +% 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{xespdchngsheet}[2010/01/14 v0.98 Sheet of Changes GOST 2.503-90] + +\RequirePackage{xespdlang} +\RequirePackage{xespdstamp} +\RequirePackage{array} +\RequirePackage{longtable} + +\newcommand{\XESPDchngColumnIwidth}{.08\textwidth} +\newcommand{\XESPDchngColumnIIwidth}{.08\textwidth} +\newcommand{\XESPDchngColumnIIIwidth}{.08\textwidth} +\newcommand{\XESPDchngColumnIVwidth}{.08\textwidth} +\newcommand{\XESPDchngColumnVwidth}{.08\textwidth} +\newcommand{\XESPDchngColumnVIwidth}{.15\textwidth} +\newcommand{\XESPDchngColumnVIIwidth}{.10\textwidth} +\newcommand{\XESPDchngColumnVIIIwidth}{.15\textwidth} +\newcommand{\XESPDchngColumnIXwidth}{.10\textwidth} +\newcommand{\XESPDchngColumnXwidth}{.10\textwidth} + +\newenvironment{XESPDchangeSheet}{% +\XESPDclearDoublePage +\setlength{\tabcolsep}{0.5mm} +\newcolumntype{s}{>{\XESPDfontTabBody}c} +\newcolumntype{S}{>{\XESPDfontTabHead}c} +\noindent +\begin{longtable}{|*{10}{s|}} +\hline +\multicolumn{10}{|S|}{\XESPDchangeSheetName}\\\hline +&\multicolumn{4}{S|}{\XESPDchngColumnsIIhName}&&&&&\\\cline{2-5} +\parbox[c]{\XESPDchngColumnIwidth-2\tabcolsep-1.5\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXIVname}& +\parbox[c]{\XESPDchngColumnIIwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\XESPDfontTabHead\XESPDchngColumnIIname}& +\parbox[c]{\XESPDchngColumnIIIwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\XESPDfontTabHead\XESPDchngColumnIIIname}& +\parbox[c]{\XESPDchngColumnIVwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\XESPDfontTabHead\XESPDchngColumnIVname}& +\parbox[c]{\XESPDchngColumnVwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\XESPDfontTabHead\XESPDchngColumnVname}& +\parbox[c]{\XESPDchngColumnVIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDchngColumnVIname}& +\parbox[c]{\XESPDchngColumnVIIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIname}& +\parbox[c]{\XESPDchngColumnVIIIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDchngColumnVIIIname\vspace{1mm}}& +\parbox[c]{\XESPDchngColumnIXwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIIname}& +\parbox[c]{\XESPDchngColumnXwidth-2\tabcolsep-1.5\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIIIname}\\\hline +\endfirsthead +\hline +&\multicolumn{4}{S|}{\XESPDchngColumnsIIhName}&&&&&\\\cline{2-5} +\parbox[c]{\XESPDchngColumnIwidth-2\tabcolsep-1.5\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXIVname}& +\parbox[c]{\XESPDchngColumnIIwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\XESPDfontTabHead\XESPDchngColumnIIname}& +\parbox[c]{\XESPDchngColumnIIIwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\XESPDfontTabHead\XESPDchngColumnIIIname}& +\parbox[c]{\XESPDchngColumnIVwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\XESPDfontTabHead\XESPDchngColumnIVname}& +\parbox[c]{\XESPDchngColumnVwidth-2\tabcolsep-\arrayrulewidth}{% + \centering\XESPDfontTabHead\XESPDchngColumnVname}& +\parbox[c]{\XESPDchngColumnVIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDchngColumnVIname}& +\parbox[c]{\XESPDchngColumnVIIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIname}& +\parbox[c]{\XESPDchngColumnVIIIwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDchngColumnVIIIname\vspace{1mm}}& +\parbox[c]{\XESPDchngColumnIXwidth-2\tabcolsep-\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIIname}& +\parbox[c]{\XESPDchngColumnXwidth-2\tabcolsep-1.5\arrayrulewidth}{% + \vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIIIname}\\\hline +\endhead +\hline +\endfoot}{\end{longtable}} + diff --git a/xespddstu.sty b/xespddstu.sty new file mode 100644 index 0000000..54eac09 --- /dev/null +++ b/xespddstu.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{xespddstu}[2010/01/20 v0.98 Ukrainian DSTU implementation] + + +% Настройка пояснений к формулам согласно ДСТУ 3008, п. 7.10.3 + +% временная длина для передачи внутрь окружения {list} +% величины абзацного отступа +\setlength{\XESPDexplanIndent}{\parindent} + +% определим нашу собственную команду для замены \makelabel +\newcommand{\XESPD@dstu@expl@label}[1]{% + \ifthenelse{\equal{}{#1}} + {} + {\hspace{\XESPDexplanIndent}#1}% +} + +\renewenvironment{XESPDexplanation}[1][\XESPDexplanWidth]{% + \begin{list}{}{\setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\labelsep}{0pt}% + \setlength{\labelwidth}{0pt}% + \setlength{\leftmargin}{0pt}% + \let\makelabel\XESPD@dstu@expl@label}}{% + \end{list}} + + diff --git a/xespdexplan.sty b/xespdexplan.sty new file mode 100644 index 0000000..d234114 --- /dev/null +++ b/xespdexplan.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{xespdexplan}[2010/01/19 v0.98 XESPD Explanation] + +\RequirePackage{xespdlang} + +\newlength{\XESPDexplanIndent} +% По умолчанию пояснения к формулам прижимаются левому к краю страницы +% и не имеют отступа, так как ГОСТ 2.105-95 четко не говорит нужно ли +% ставить отступ перед пояснениями или нет. +\setlength{\XESPDexplanIndent}{0pt} + +\newenvironment{XESPDexplanation}[1][\XESPDexplanWidth]{% + \begin{list}{}{\setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\labelsep}{0pt}% + \setlength{\labelwidth}{#1}% + \setlength{\leftmargin}{\labelwidth+\XESPDexplanIndent}}}{% + \end{list}} + diff --git a/xespdfont.sty b/xespdfont.sty new file mode 100644 index 0000000..1589cd0 --- /dev/null +++ b/xespdfont.sty @@ -0,0 +1,103 @@ +% 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{xespdfont}[2010/01/14 v0.98 Font Definitions] + +\newcommand{\XESPDfontBaseLineStretch}{1} + +\newcommand{\XESPDfontSetBaseLineStretch}{% + \renewcommand{\baselinestretch}{\XESPDfontBaseLineStretch}} + + +\RequirePackage{ifxetex} +\ifxetex + \RequirePackage{fontspec} +% \defaultfontfeatures{Scale=MatchLowercase} +\fi + +\newcommand{\XESPDfontShape}{\rmfamily} + +\newcommand{\XESPDfontIIsize}{\fontsize{8pt}{10pt}} +\newcommand{\XESPDfontIIIsize}{\fontsize{10pt}{13pt}} +\newcommand{\XESPDfontIVsize}{\fontsize{12pt}{16pt}} +\newcommand{\XESPDfontVsize}{\fontsize{14pt}{18pt}} +\newcommand{\XESPDfontVIIsize}{\fontsize{18pt}{24pt}} +\newcommand{\XESPDfontXsize}{\fontsize{32pt}{40pt}} + +\newcommand{\XESPDfontII}{% + \XESPDfontSetBaseLineStretch + \XESPDfontIIsize\selectfont\XESPDfontShape} +\newcommand{\XESPDfontIII}{% + \XESPDfontSetBaseLineStretch + \XESPDfontIIIsize\selectfont\XESPDfontShape} +\newcommand{\XESPDfontIV}{% + \XESPDfontSetBaseLineStretch + \XESPDfontIVsize\selectfont\XESPDfontShape} +\newcommand{\XESPDfontV}{% + \XESPDfontSetBaseLineStretch + \XESPDfontVsize\selectfont\XESPDfontShape} +\newcommand{\XESPDfontVII}{% + \XESPDfontSetBaseLineStretch + \XESPDfontVIIsize\selectfont\XESPDfontShape} +\newcommand{\XESPDfontX}{% + \XESPDfontSetBaseLineStretch + \XESPDfontXsize\selectfont\XESPDfontShape} + +\RequirePackage{ifxetex} +\ifxetex + \newcommand{\XESPDtheGostFontName}{} + \newcommand{\XESPDgostFontName}[1]{\renewcommand{\XESPDtheGostFontName}{#1}} + \newcommand{\XESPDfontGostIII}{% + \XESPDfontSetBaseLineStretch + \XESPDfontIIIsize\setmainfont{\XESPDtheGostFontName}} + \newcommand{\XESPDfontGostIV}{% + \XESPDfontSetBaseLineStretch + \XESPDfontIVsize\setmainfont{\XESPDtheGostFontName}} + \XESPDgostFontName{GOST A} + \setsansfont[Mapping=tex-text]{Arial} + \setromanfont[Mapping=tex-text]{XITS} + \setmainfont[Ligatures=TeX]{Times New Roman} + \newfontfamily\cyrillicfont{Times New Roman}[Script=Cyrillic] + \setmonofont[Mapping=tex-text]{Pragmata Pro Mono} + \newfontfamily\listingsfont{Pragmata Pro Mono Bold} + \newfontfamily\listingsfontinline{Pragmata Pro Mono Bold} + \RequirePackage{amsmath} + \DeclareSymbolFont{letters}{\encodingdefault}{\rmdefault}{m}{it} + \usepackage{unicode-math} + \setmathfont{XITS Math} +\else + \RequirePackage{mathptmx} + \RequirePackage{gostfont} + \RequirePackage[defaultroman]{mstimes} + \RequirePackage[defaultsans]{msarial} + \RequirePackage[defaultmono]{pragmatapro} + \newcommand{\XESPDfontGostIII}{% + \XESPDfontSetBaseLineStretch + \XESPDfontIIIsize\selectfont\GostBFont} + \newcommand{\XESPDfontGostIV}{% + \XESPDfontSetBaseLineStretch + \XESPDfontIVsize\selectfont\GostBFont} +\fi + +\newcommand{\XESPDfontTabHead}{\XESPDfontV} +\newcommand{\XESPDfontTabBody}{\XESPDfontV} + diff --git a/xespdfootnote.sty b/xespdfootnote.sty new file mode 100644 index 0000000..d8540d1 --- /dev/null +++ b/xespdfootnote.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{xespdfootnote}[2010/01/14 v0.98 Footnote Settings] + +% Нумероваться сноски должны в пределах одной страницы. +% Самое очевидное решение - переподчинить счетчик footnote счетчику page, +% но такой метод будет давать сбои, если сноска вставлена +% близко к концу страницы. +% Эту проблему решил Обердайк в своем пакете zref + +% пакет amsmath должен быть загружен ПЕРЕД zref +% возможно стоит загружать его в классе xespdtext +% а не здесь +\RequirePackage{amsmath} +\RequirePackage{zref-perpage} + +% привязываем сброс счетчика сносок к границам страниц +\zmakeperpage{footnote} + +\let\footnotesize\small + +% Нижеследующая строка была взята из xespddstu.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{xespdfootnote}{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/xespdframe.sty b/xespdframe.sty new file mode 100644 index 0000000..477425e --- /dev/null +++ b/xespdframe.sty @@ -0,0 +1,58 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{xespdframe}[2019/05/09 v0.98 Frame Page Style] + +\RequirePackage{xespdstamp} +\RequirePackage{calc} +\RequirePackage{setspace} + +\def\XESPD@frame@vt{% + \setlength{\XESPD@tmpdimc}{% + \XESPDframeY+\XESPDframeH-\XESPD@padding@v}} + +\def\XESPD@frame@vb{% + \setlength{\XESPD@tmpdimc}{% + \XESPDframeY+\XESPD@padding@v-15mm}} + +\def\XESPD@frame@hl{% + \ifXESPD@twoside + \ifodd\c@page\raggedright\else\raggedleft\fi + \else\raggedright\fi} + +\def\XESPD@frame@hr{% + \ifXESPD@twoside + \ifodd\c@page\raggedleft\else\raggedright\fi + \else\raggedleft\fi} + +\def\XESPD@frame@hc{\centering} + +\let\XESPD@frame@ha\XESPD@frame@hc +\let\XESPD@frame@va\XESPD@frame@vb + +\DeclareOption{numbertop}{\let\XESPD@frame@va\XESPD@frame@vt} +\DeclareOption{numberbottom}{\let\XESPD@frame@va\XESPD@frame@vb} +\DeclareOption{numberleft}{\let\XESPD@frame@ha\XESPD@frame@hl} +\DeclareOption{numbercenter}{\let\XESPD@frame@ha\XESPD@frame@hc} +\DeclareOption{numberright}{\let\XESPD@frame@ha\XESPD@frame@hr} + +\ProcessOptions\relax + +% Колонтитул +\newcommand{\XESPDdrawFramePageNumber}{ + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPD@padding@h} + \setlength{\XESPD@tmpdimb}{\XESPDframeW-2\XESPD@padding@h} + \XESPD@frame@va + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimc}){% + \parbox[b][25mm][c]{\XESPD@tmpdimb}{% + \begin{singlespace} + \reset@font\normalsize + \XESPD@frame@ha\thepage \\ \MakeUppercase\XESPDtheSignature + \end{singlespace}}}} + +\XESPDnewStyle{frame}{0mm} +\XESPDputOnStyle{frame}{pagenumber}{\XESPDdrawFramePageNumber} +\renewcommand{\XESPDdrawFrame}{} + +\XESPDdefaultTitleStyle{title} +\XESPDdefaultFirstStyle{frame} +\XESPDdefaultStyle{frame} + diff --git a/xespdfreesize.sty b/xespdfreesize.sty new file mode 100644 index 0000000..b375cb6 --- /dev/null +++ b/xespdfreesize.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. +% + +% Пакет предоставляет возможность вставки листа +% почти любого размера (ограничения описаны в руководстве +% пользователя xespdx): + + +% +% This is automaticaly generated file, do not edit it. +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{xespdfreesize}[2010/02/20 v0.98 Inserting Free Size Sheets] + +\RequirePackage{xespdstamp} + +% переключение размера возможно только в pdflatex. +% Tем не менее, latex тоже сможет собрать такой документ, +% но все большие страницы +% обрежет по размерам формата, установленного в documentclass +\RequirePackage{ifpdf} +\ifpdf{} +\else{\PackageWarningNoLine{xespdfreesize} + {It's better to compile this document with pdflatex.\MessageBreak + In DVI you will get only part of the inserted big sheet}} +\fi + + + +% в xespdstamp для ускорения отрисовки рамки применен \savebox +% в нашем случае это неудобно, будем рисовать персонально +% на каждой странице +\newcommand{\XESPDdrawFrameFree}{% + \put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPDframeY}){% + \setlength{\unitlength}{1mm}% + \begin{picture}(0,0)(0,0) + \linethickness{\XESPDlineThick} + \put(0,\XESPDltu{\XESPDframeH}){\line(1,0){\XESPDltu{\XESPDframeW}}} + \put(0,0){\line(1,0){\XESPDltu{\XESPDframeW}}} + \put(0,0){\line(0,1){\XESPDltu{\XESPDframeH}}} + \put(\XESPDltu{\XESPDframeW},0){\line(0,1){\XESPDltu{\XESPDframeH}}} + \end{picture}}} + +% содержимое нестандартной графы 32 по умолчанию +\newcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDemptyFormatName}} + +% определим нашу собственную нестандартную графу 32 +\newcommand{\XESPDdrawColumnXXXIIfree}{% + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW-50mm}% + \setlength{\XESPD@tmpdimb}{\XESPDframeY-3.7mm}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \makebox[50mm][r]{\XESPDfontIII\XESPDtheColumnXXXIIfree}}} + + + +% Определим новый стиль. Подробнее про определение своих стилей +% можно прочитать в руководстве пользователя xespdx, +% или заглянуть в xespdstamp.sty, +% кусок оттуда был использован как основа для стиля freesize +\XESPDnewStyle{freesize}{8mm} +\XESPDputOnStyle{freesize}{frame}{\XESPDdrawFrameFree} +\XESPDputOnStyle{freesize}{stamp}{\XESPDdrawStampIIa} +\ifXESPD@enable@columns@xix + \XESPDputOnStyle{freesize}{columnsxix}{\XESPDdrawColumnsXIX} +\fi +\ifXESPD@enable@column@xxvi + \XESPDputOnStyle{freesize}{columnxxvi}{\XESPDdrawColumnXXVI} +\fi +\ifXESPD@enable@columns@xxvii + \XESPDputOnStyle{freesize}{columnsxxvii}{\XESPDdrawColumnsXXVIIi} +\fi +\ifXESPD@enable@column@xxxi + \XESPDputOnStyle{freesize}{columnxxxi}{\XESPDdrawColumnXXXI} +\fi +\ifXESPD@enable@column@xxxii + % наша новая графа 32 + \XESPDputOnStyle{freesize}{columnxxxii}{\XESPDdrawColumnXXXIIfree} +\fi +\ifXESPD@enable@column@xxxiii + \XESPDputOnStyle{freesize}{columnxxxiii}{\XESPDdrawColumnXXXIII} +\fi +\ifXESPD@enable@column@xxxiv + \XESPDputOnStyle{freesize}{columnxxxiv}{\XESPDdrawColumnXXXIV} +\fi +\ifXESPD@zonelabels% + \XESPDputOnStyle{freesize}{zonelabels}{\XESPDdrawZoneLabelsI} +\fi + + +% вспомогательные счетчики для записей в лог +\newcounter{XESPD@free@sizepagebegin} +\newcounter{XESPD@free@sizepageend} + +% теперь самое сложное - сам переключатель +\newcommand{\XESPDfreeSize}[3]{% + \XESPDclearDoublePage% + \setcounter{XESPD@free@sizepagebegin}{\value{page}}% запомним текущую страницу + \pdfpagewidth=#1% + \pdfpageheight=#2% + \setlength{\XESPD@origin@y}{#2-1in}% + \setlength{\XESPDframeW}{\pdfpagewidth-\XESPD@margin@si-\XESPD@margin@so}% + \setlength{\XESPDframeH}{\pdfpageheight-\XESPD@margin@t-\XESPD@margin@b}% + \XESPDstyle{freesize}% + \expandafter{#3}% + % зафиксируем факт вставки листа в \jobname.log + \XESPDclearDoublePage% + \renewcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDemptyFormatName}}% сброс графы 32 + \setcounter{XESPD@free@sizepageend}{\value{page}}% + \addtocounter{XESPD@free@sizepageend}{-1}% + \ifthenelse{\value{XESPD@free@sizepagebegin}<\value{XESPD@free@sizepageend}}% латех начал новую страницу + {\immediate\write0{xespdfreesize: sheet(s) with size (#1 x #2) inserted + at page(s) \noexpand[\arabic{XESPD@free@sizepagebegin}% + -\arabic{XESPD@free@sizepageend}\noexpand]}} + {\immediate\write0{xespdfreesize: sheet(s) with size (#1 x #2) inserted + at page(s) \noexpand[\arabic{XESPD@free@sizepageend}\noexpand]}} + % теперь вернем всё как было до нас + \setlength{\XESPD@origin@y}{\paperheight-1in}% + \pdfpageheight=\paperheight% + \pdfpagewidth=\paperwidth% + \setlength{\XESPDframeW}{\paperwidth-\XESPD@margin@si-\XESPD@margin@so}% + \setlength{\XESPDframeH}{\paperheight-\XESPD@margin@t-\XESPD@margin@b}% + \XESPDstyle{\XESPD@default@style@other}% + \newpage% +} + + +% Определим несколько готовых к употреблению форматов +\newcommand{\XESPDlandscapeAIII}[1]{% + \renewcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDa3FormatName}}% + \XESPDfreeSize{420mm}{297mm}{#1}} + +\newcommand{\XESPDportraitAIII}[1]{% + \renewcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDa3FormatName}}% + \XESPDfreeSize{297mm}{420mm}{#1}} + +\newcommand{\XESPDlandscapeAII}[1]{% + \renewcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDa2FormatName}}% + \XESPDfreeSize{594mm}{420mm}{#1}} + +\newcommand{\XESPDportraitAII}[1]{% + \renewcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDa2FormatName}}% + \XESPDfreeSize{420mm}{594mm}{#1}} + +\newcommand{\XESPDlandscapeAI}[1]{% + \renewcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDa1FormatName}}% + \XESPDfreeSize{841mm}{594mm}{#1}} + +\newcommand{\XESPDportraitAI}[1]{% + \renewcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDa1FormatName}}% + \XESPDfreeSize{594mm}{841mm}{#1}} + +\newcommand{\XESPDlandscapeAZERO}[1]{% + \renewcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDa0FormatName}}% + \XESPDfreeSize{1189mm}{841mm}{#1}} + +\newcommand{\XESPDportraitAZERO}[1]{% + \renewcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDa0FormatName}}% + \XESPDfreeSize{841mm}{1189mm}{#1}} + +\newcommand{\XESPDlandscapeBanner}[1]{% + % Пятиметровое полотно для подшивки гармошкой в обычную папку А4. + % Просто для демонстрации + \XESPDfreeSize{5000mm}{297mm}{#1}} diff --git a/xespdgraph.cls b/xespdgraph.cls new file mode 100644 index 0000000..bad6251 --- /dev/null +++ b/xespdgraph.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{xespdgraph}[2010/01/14 v0.98 Graphical Documentation] + +\DeclareOption{russian}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{ukrainian}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{koi8-r}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{koi8-u}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{cp1251}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{iso8859-5}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{cp866}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{utf-8}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{utf8}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{draft}{\PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{twoside}{% + \ClassError{xespdgraph}{Two side printing is not allowed for + graphical documentation}{}} +\DeclareOption{formII}{% + \ClassError{xespdgraph}{formII style is for textual documentation}{}} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xespdstamp}} + +\ProcessOptions\relax + +\LoadClass{article} +\RequirePackage{xespdlang} +\RequirePackage[formI,columnxxvi,ignorestamp]{xespdstamp} +\RequirePackage{xespdinfo} + +\newenvironment{XESPDdrawing}{% + \clearpage\mbox{}\strut\par\vspace{-\baselineskip}\vfill% + \begin{center}}{\end{center}\vfill\clearpage} + diff --git a/xespdhash.sty b/xespdhash.sty new file mode 100644 index 0000000..6cca755 --- /dev/null +++ b/xespdhash.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{xespdhash}[2010/01/14 v0.98 Hash Routines] + +\newcommand{\XESPD@hash@new}[1]{% + \global\expandafter\newcount\csname XESPD@hash@c@#1\endcsname + \global\csname XESPD@hash@c@#1\endcsname = 0 + \global\expandafter\newcount\csname XESPD@hash@p@#1\endcsname + \global\csname XESPD@hash@p@#1\endcsname = 0\relax} + +\newcommand{\XESPD@hash@set}[3]{% + \expandafter\ifx\csname XESPD@hash@v@#1@#2\endcsname\relax + \expandafter\gdef\csname XESPD@hash@k@#1@\expandafter\number\csname + XESPD@hash@c@#1\endcsname\endcsname{#2} + \expandafter\advance\csname XESPD@hash@c@#1\endcsname 1 + \fi + \expandafter\gdef\csname XESPD@hash@v@#1@#2\endcsname{#3}} + +\newcommand{\XESPD@hash@get}[2]{% + \csname XESPD@hash@v@#1@#2\endcsname} + +\newcommand{\XESPD@hash@reset}[1]{% + \csname XESPD@hash@p@#1\endcsname = 0\relax} + +\newcommand{\XESPD@hash@next@key}[1]{% + \csname XESPD@hash@k@#1@\expandafter\number\csname + XESPD@hash@p@#1\endcsname\endcsname + \expandafter\advance\csname XESPD@hash@p@#1\endcsname 1\relax} + +\newcommand{\XESPD@hash@next@value}[1]{% + \csname XESPD@hash@v@#1@\csname XESPD@hash@k@#1@\expandafter\number\csname + XESPD@hash@p@#1\endcsname\endcsname\endcsname + \expandafter\advance\csname XESPD@hash@p@#1\endcsname 1\relax} + +\newcommand{\XESPD@hash@count}[1]{% + \expandafter\number\csname XESPD@hash@c@#1\endcsname} + +\newcommand{\XESPD@hash@pos}[1]{% + \expandafter\number\csname XESPD@hash@p@#1\endcsname} + diff --git a/xespdindent.sty b/xespdindent.sty new file mode 100644 index 0000000..26b216f --- /dev/null +++ b/xespdindent.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/xespdinfo.sty b/xespdinfo.sty new file mode 100644 index 0000000..2b5b9f0 --- /dev/null +++ b/xespdinfo.sty @@ -0,0 +1,102 @@ +% 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{xespdinfo}[2010/01/14 v0.98 Document Information] + +\newcommand{\XESPDtheDepartment}{} +\newcommand{\XESPDdepartment}[1]{\renewcommand{\XESPDtheDepartment}{#1}} + +\newcommand{\XESPDtheCompany}{} +\newcommand{\XESPDcompany}[1]{\renewcommand{\XESPDtheCompany}{#1}} + +\newcommand{\XESPDtheClassCode}{} +\newcommand{\XESPDclassCode}[1]{\renewcommand{\XESPDtheClassCode}{#1}} + +\newcommand{\XESPDtheUnitName}{} +\newcommand{\XESPDunitName}[1]{% + \renewcommand{\XESPDtheUnitName}{#1}% + \renewcommand{\@title}{#1}} +\newcommand{\XESPDtheTitle}{\XESPDtheUnitName} +\newcommand{\XESPDtitle}[1]{\XESPDunitName{#1}} +\renewcommand{\title}[1]{\XESPDunitName{#1}} + +\newcommand{\XESPDtheDocName}{} +\newcommand{\XESPDdocName}[1]{\renewcommand{\XESPDtheDocName}{#1}} + +\newcommand{\XESPDtheSignature}{} +\newcommand{\XESPDsignature}[1]{\renewcommand{\XESPDtheSignature}{#1}} + +\newcommand{\XESPDtheLetterI}{} +\newcommand{\XESPDtheLetterII}{} +\newcommand{\XESPDtheLetterIII}{} +\newcommand{\XESPDletter}[3]{% + \renewcommand{\XESPDtheLetterI}{#1}% + \renewcommand{\XESPDtheLetterII}{#2}% + \renewcommand{\XESPDtheLetterIII}{#3}} + +\newcommand{\XESPDtheMaterial}{} +\newcommand{\XESPDmaterial}[1]{% + \renewcommand{\XESPDtheMaterial}{#1}} + +\newcommand{\XESPDtheMass}{} +\newcommand{\XESPDmass}[1]{% + \renewcommand{\XESPDtheMass}{#1}} + +\newcommand{\XESPDtheScale}{} +\newcommand{\XESPDscale}[1]{% + \renewcommand{\XESPDtheScale}{#1}} + +\newcommand{\XESPDtheGroup}{} +\newcommand{\XESPDgroup}[1]{\renewcommand{\XESPDtheGroup}{#1}} + +\newcommand{\XESPDtheAuthor}{} +\newcommand{\XESPDauthor}[1]{% + \renewcommand{\XESPDtheAuthor}{#1}% + \renewcommand{\@author}{#1}} +\renewcommand{\author}[1]{\XESPDauthor{#1}} + +\newcommand{\XESPDtheChecker}{} +\newcommand{\XESPDchecker}[1]{\renewcommand{\XESPDtheChecker}{#1}} + +\newcommand{\XESPDtheNormContr}{} +\newcommand{\XESPDnormContr}[1]{\renewcommand{\XESPDtheNormContr}{#1}} + +\newcommand{\XESPDtheApprovedBy}{} +\newcommand{\XESPDapprovedBy}[1]{\renewcommand{\XESPDtheApprovedBy}{#1}} + +\newcommand{\XESPDtheYear}{\number\year} +\newcommand{\XESPDtheMonth}{\number\month} +\newcommand{\XESPDtheDay}{\number\day} +\def\XESPD@set@date#1/#2/#3 enddate{% + \renewcommand{\XESPDtheYear}{#1}% + \renewcommand{\XESPDtheMonth}{#2}% + \renewcommand{\XESPDtheDay}{#3}} +\newcommand{\XESPDdate}[1]{% + \XESPD@set@date #1 enddate% + \renewcommand{\@date}{#1}} +\renewcommand{\date}[1]{\XESPDdate{#1}} + +\RequirePackage{xespdafterpkg} +\XESPD@after@package{hyperref}{% + \hypersetup{breaklinks,pdftitle=\XESPDtheUnitName,% + pdfsubject=\XESPDtheDocName,pdfauthor=\XESPDtheAuthor}} + diff --git a/xespdlang.sty b/xespdlang.sty new file mode 100644 index 0000000..d0cdab7 --- /dev/null +++ b/xespdlang.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{xespdlang}[2010/01/14 v0.98 Language] + +\newcommand{\XESPD@lang}{russian} + +\newif\ifXESPD@given@encoding +\XESPD@given@encodingfalse + +\DeclareOption{russian}{\renewcommand{\XESPD@lang}{russian}} +\DeclareOption{ukrainian}{\renewcommand{\XESPD@lang}{ukrainian}} +\DeclareOption*{% + \PassOptionsToPackage{\CurrentOption}{inputenc}% + \XESPD@given@encodingtrue} + +\ProcessOptions\relax + +\RequirePackage[T2A]{fontenc} +\RequirePackage{ifxetex} +\ifxetex + \RequirePackage[\XESPD@lang]{babel} + \RequirePackage{textcase} + \RequirePackage{xltxtra} + \RequirePackage{xunicode} + \RequirePackage{polyglossia} + \RequirePackage{xecyr} + \setmainlanguage{russian} + \setkeys{\XESPD@lang}{babelshorthands=true} + \setotherlanguage{english} +\else + \RequirePackage{cmap} + \ifXESPD@given@encoding + \RequirePackage{inputenc} + \fi + \RequirePackage[\XESPD@lang]{babel} +\fi + +\input{xespd\XESPD@lang.def} + diff --git a/xespdlist.sty b/xespdlist.sty new file mode 100644 index 0000000..e999140 --- /dev/null +++ b/xespdlist.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{xespdlist}[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/xespdpara.sty b/xespdpara.sty new file mode 100644 index 0000000..d818d35 --- /dev/null +++ b/xespdpara.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{xespdpara}[2010/01/14 v0.98 Paragraphs] + +\RequirePackage{xespdsect} + +\newcommand{\XESPDparagraphAlign}{\XESPDsectAlignLeft} +\newcommand{\XESPDsubparagraphAlign}{\XESPDsectAlignLeft} + +\newcommand{\XESPDparagraphStyle}{\normalfont\normalsize\bfseries} +\newcommand{\XESPDsubparagraphStyle}{\normalfont\normalsize\bfseries} + +\newlength{\XESPDparagraphSkipBefore} +\newlength{\XESPDparagraphSkipAfter} +\setlength{\XESPDparagraphSkipBefore}{-15mm \@plus -3mm \@minus -2mm} +\setlength{\XESPDparagraphSkipAfter}{15mm \@plus 1mm \@minus 2mm} +\newlength{\XESPDsubparagraphSkipBefore} +\newlength{\XESPDsubparagraphSkipAfter} +\setlength{\XESPDsubparagraphSkipBefore}{-15mm \@plus -3mm \@minus -2mm} +\setlength{\XESPDsubparagraphSkipAfter}{15mm \@plus 1mm \@minus 2mm} + +\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% + {\XESPDparagraphSkipBefore}% + {\XESPDparagraphSkipAfter}% + {\XESPDparagraphAlign\XESPDparagraphStyle}} +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {\XESPDsubparagraphSkipBefore}% + {\XESPDsubparagraphSkipAfter}% + {\XESPDsubparagraphAlign\XESPDsubparagraphStyle}} + diff --git a/xespdplain.sty b/xespdplain.sty new file mode 100644 index 0000000..a5b683b --- /dev/null +++ b/xespdplain.sty @@ -0,0 +1,75 @@ +% 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{xespdplain}[2011/05/09 v0.98 Plain Page Style] + +\RequirePackage{xespdstamp} +\RequirePackage{calc} +\RequirePackage{setspace} + +\def\XESPD@plain@vt{% + \setlength{\XESPD@tmpdimc}{% + \XESPDframeY+\XESPDframeH-\XESPD@padding@v}} + +\def\XESPD@plain@vb{% + \setlength{\XESPD@tmpdimc}{% + \XESPDframeY+\XESPD@padding@v-15mm}} + +\def\XESPD@plain@hl{% + \ifXESPD@twoside + \ifodd\c@page\raggedright\else\raggedleft\fi + \else\raggedright\fi} + +\def\XESPD@plain@hr{% + \ifXESPD@twoside + \ifodd\c@page\raggedleft\else\raggedright\fi + \else\raggedleft\fi} + +\def\XESPD@plain@hc{\centering} + +\let\XESPD@plain@ha\XESPD@plain@hc +\let\XESPD@plain@va\XESPD@plain@vb + +\DeclareOption{numbertop}{\let\XESPD@plain@va\XESPD@plain@vt} +\DeclareOption{numberbottom}{\let\XESPD@plain@va\XESPD@plain@vb} +\DeclareOption{numberleft}{\let\XESPD@plain@ha\XESPD@plain@hl} +\DeclareOption{numbercenter}{\let\XESPD@plain@ha\XESPD@plain@hc} +\DeclareOption{numberright}{\let\XESPD@plain@ha\XESPD@plain@hr} + +\ProcessOptions\relax + +\newcommand{\XESPDdrawPlainPageNumber}{ + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPD@padding@h} + \setlength{\XESPD@tmpdimb}{\XESPDframeW-2\XESPD@padding@h} + \XESPD@plain@va + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimc}){% + \parbox[b][15mm][c]{\XESPD@tmpdimb}{% + \reset@font\normalsize\normalsfcodes + \XESPD@plain@ha\thepage}}} + +\XESPDnewStyle{plain}{0mm} +\XESPDputOnStyle{plain}{pagenumber}{\XESPDdrawPlainPageNumber} + +\XESPDdefaultTitleStyle{empty} +\XESPDdefaultFirstStyle{plain} +\XESPDdefaultStyle{plain} + diff --git a/xespdprotocol.sty b/xespdprotocol.sty new file mode 100644 index 0000000..2879bbe --- /dev/null +++ b/xespdprotocol.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{xespdplain}[2011/05/09 v0.98 Plain Page Style] + +\RequirePackage{xespdstamp} +\RequirePackage{setspace} +\RequirePackage{calc} + +\def\XESPD@plain@vt{% + \setlength{\XESPD@tmpdimc}{% + \XESPDframeY+\XESPDframeH-\XESPD@padding@v}} + +\def\XESPD@plain@vb{% + \setlength{\XESPD@tmpdimc}{% + \XESPDframeY+\XESPD@padding@v-15mm}} + +\def\XESPD@plain@hl{% + \ifESPD@twoside + \ifodd\c@page\raggedright\else\raggedleft\fi + \else\raggedright\fi} + +\def\XESPD@plain@hr{% + \ifESPD@twoside + \ifodd\c@page\raggedleft\else\raggedright\fi + \else\raggedleft\fi} + +\def\XESPD@plain@hc{\centering} + +\let\XESPD@plain@ha\XESPD@plain@hc +\let\XESPD@plain@va\XESPD@plain@vb + +\DeclareOption{numbertop}{\let\XESPD@plain@va\XESPD@plain@vt} +\DeclareOption{numberbottom}{\let\XESPD@plain@va\XESPD@plain@vb} +\DeclareOption{numberleft}{\let\XESPD@plain@ha\XESPD@plain@hl} +\DeclareOption{numbercenter}{\let\XESPD@plain@ha\XESPD@plain@hc} +\DeclareOption{numberright}{\let\XESPD@plain@ha\XESPD@plain@hr} + +\ProcessOptions\relax + +\newcommand{\XESPDdrawPlainPageNumber}{ + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPD@padding@h} + \setlength{\XESPD@tmpdimb}{\XESPDframeW-2\XESPD@padding@h} + \XESPD@plain@va + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimc}){% + \parbox[b][20mm][c]{\XESPD@tmpdimb}{% + \begin{singlespace} + \reset@font\normalsize + \XESPD@plain@ha\thepage \\ \MakeUppercase\XESPDtheSignature + \end{singlespace}}}} + +\XESPDnewStyle{plain}{0mm} +\XESPDputOnStyle{plain}{pagenumber}{\XESPDdrawPlainPageNumber} + +\XESPDdefaultTitleStyle{empty} +\XESPDdefaultFirstStyle{plain} +\XESPDdefaultStyle{plain} + +\renewcommand{\XESPDtheTitleFieldIII}{} +\renewcommand{\XESPDtheTitleFieldVII}{} +\renewcommand{\XESPDtheTitleFieldX}{} +\renewcommand{\XESPDtheTitleFieldXI}{} + diff --git a/xespdrtis.sty b/xespdrtis.sty new file mode 100644 index 0000000..042e1cc --- /dev/null +++ b/xespdrtis.sty @@ -0,0 +1,117 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{xespdrtis}[2018/09/30 v0.98 Document Information] + +\RequirePackage{calc} +\RequirePackage{indentfirst} +\RequirePackage[defaultlines=3,all]{nowidow} +\RequirePackage{bookmark} + +% Обязательно переносить при достижении полей +\sloppy + +% При переносе оставлять минимум 3 символа на первой строке и 3 на второй +\renewcommand\russianhyphenmins{33} + +% Обязательно (полуторный интервал) +\linespread{1.5} + +% Обязательно: отступ первой строки +\setlength{\parindent}{12.5mm} + +% Использовать для кавычек-ёлочек данные символы +\renewcommand{\flqq}{«} +\renewcommand{\frqq}{»} + +\providecommand{\strong}[1]{\textbf{#1}} + +\setlength{\XESPD@padding@h}{0mm} +\setlength{\XESPD@padding@v}{5mm} + +\newcounter{fontsnotfound} +\newcommand{\iffontsexist}[3]{ + \setcounter{fontsnotfound}{0} + \expandafter\forcsvlist\expandafter\checkfont\expandafter{#1} + \ifnum\value{fontsnotfound}=0 + #2 + \else + #3 + \fi +} + +\ifthenelse{\equal{\XESPDtheDocName}{Техническое задание на разработку}}{ + \RequirePackage[numbertop,numbercenter]{xespdplain} % без рамок +}{ % Если не ТЗР + \RequirePackage[numbertop,numbercenter]{xespdframe} % рамки + \RequirePackage{xespdchngsheet} + \newcommand{\XESPDtheFileName}{} + \newcommand{\XESPDfileName}[1]{\renewcommand{\XESPDtheFileName}{#1}} + + \newcommand{\XESPDtheREVMBase}{} + \newcommand{\XESPDREVMBase}[1]{\renewcommand{\XESPDtheREVMBase}{#1}} + + \newcommand{\XESPDtheREVMType}{} + \newcommand{\XESPDREVMType}[1]{\renewcommand{\XESPDtheREVMType}{#1}} + + \XESPDsignature{РЕВМ.\XESPDtheREVMBase{}\textendash{}\XESPDtheREVMType{}} + \XESPDtitleApprovingSheet{РЕВМ.\XESPDtheREVMBase{}\textendash{}\XESPDtheREVMType{}\textendash{}ЛУ} + \ifthenelse{\equal{\XESPDtheDocName}{Описание программы}}{% + \XESPDREVMType{01 13 01} + \XESPDfileName{\XESPDtheREVMBase{}or} + }{} + \ifthenelse{\equal{\XESPDtheDocName}{Текст программы}}{ + \XESPDREVMType{01 12 01} + \XESPDfileName{\XESPDtheREVMBase{}tp} + }{} + \ifthenelse{\equal{\XESPDtheDocName}{Программа и методика испытаний}}{ + \XESPDREVMType{01 51 01} + \XESPDfileName{\XESPDtheREVMBase{}pm} + }{} + \ifthenelse{\equal{\XESPDtheDocName}{Руководство оператора}}{ + \XESPDREVMType{01 34 01} + \XESPDfileName{\XESPDtheREVMBase{}ro} + }{} +} + +%\XESPDdepartment{Ведомство} +%\XESPDcompany{Предприятие} +%\XESPDclassCode{Код по классификатору} +%\XESPDtitleApprovedBy{Должность утверждающего}{Фам. утвер.} +%\XESPDtitleAgreedBy{Должность первого согласовавшего}{Фам. первого согл.} +%\XESPDtitleAgreedBy{Должность второго согласовавшего}{Фам. второго согл.} +%\XESPDtitleAgreedBy{Должность третьего согласовавшего}{Фам. третьего согл.} +%\XESPDtitleDesignedBy{Должность первого автора}{Фам. первого автора} +%\XESPDtitleDesignedBy{Должность второго автора}{Фам. второго автора} + +\RequirePackage{forloop} +\RequirePackage{makecell} + +\newcount\lincnt +\long\def\addto#1#2{% + \expandafter\def\expandafter#1\expandafter{#1#2}} + +\def\changeSheetLine{}\lincnt=28 % Количество строк +% \addto\changeSheetLine{ 1 & & Все & & & & \makecell{РЕВМ.57 \\ 1/2} & & & \makecell{20.04. \\ 17} \\ \hline} + \loop + \addto\changeSheetLine{& & & & & & & & & \\ \hline} + \advance\lincnt -1 + \ifnum\lincnt>0 + \repeat + +\newcommand{\XESPDprintEmptyChangeSheet}{ +\renewcommand*{\arraystretch}{0.8}% Высота строк +\begin{XESPDchangeSheet} +\changeSheetLine +\end{XESPDchangeSheet}} + +%\RequirePackage{setspace} +%\newcommand{\XESPDdrawPlainPageNumber}{ +% \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPD@padding@h} +% \setlength{\XESPD@tmpdimb}{\XESPDframeW-2\XESPD@padding@h} +% \XESPD@plain@va +% \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimc}){% +% \parbox[b][15mm][c]{\XESPD@tmpdimb}{% +% \begin{singlespace} +% \reset@font\normalsize +% \XESPD@plain@ha\thepage \\ \MakeUppercase\XESPDtheSignature +% \end{singlespace}}}} + diff --git a/xespdrussian.def b/xespdrussian.def new file mode 100644 index 0000000..89e4091 --- /dev/null +++ b/xespdrussian.def @@ -0,0 +1,183 @@ +% 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{xespdrussian.def}[2010/01/17 v0.98 Language File] + +\newcommand{\XESPDcolumnIVname}{% + \cyr\CYRL\cyri\cyrt.} +\newcommand{\XESPDcolumnVname}{% + \cyr\CYRM\cyra\cyrs\cyrs\cyra} +\newcommand{\XESPDcolumnVIname}{% + \cyr\CYRM\cyra\cyrs\cyrsh\cyrt\cyra\cyrb} +\newcommand{\XESPDcolumnVIIname}{% + \cyr\CYRL\cyri\cyrs\cyrt} +\newcommand{\XESPDcolumnVIItwosideName}{% + \cyr\CYRS\cyrt\cyrr.} +\newcommand{\XESPDcolumnVIIIname}{% + \cyr\CYRL\cyri\cyrs\cyrt\cyro\cyrv} +\newcommand{\XESPDcolumnVIIItwosideName}{% + \cyr\CYRS\cyrt\cyrr\cyra\cyrn\cyri\cyrc} +\newcommand{\XESPDcolumnXfIname}{% + \cyr\CYRR\cyra\cyrz\cyrr\cyra\cyrb.} +\newcommand{\XESPDcolumnXfIIname}{% + \cyr\CYRP\cyrr\cyro\cyrv.} +\newcommand{\XESPDcolumnXfIIIname}{% + \cyr\CYRT. \cyrk\cyro\cyrn\cyrt\cyrr.} +\newcommand{\XESPDcolumnXfIVname}{} +\newcommand{\XESPDcolumnXfVname}{% + \cyr\CYRN. \cyrk\cyro\cyrn\cyrt\cyrr.} +\newcommand{\XESPDcolumnXfVIname}{% + \cyr\CYRU\cyrt\cyrv.} +\newcommand{\XESPDcolumnXIVname}{% + \cyr\CYRI\cyrz\cyrm.} +\newcommand{\XESPDcolumnXVname}{% + \cyr\CYRL\cyri\cyrs\cyrt} +\newcommand{\XESPDcolumnXVIname}{% + \textnumero\ \cyr\cyrd\cyro\cyrk\cyru\cyrm.} +\newcommand{\XESPDcolumnXVIIname}{% + \cyr\CYRP\cyro\cyrd\cyrp.} +\newcommand{\XESPDcolumnXVIIIname}{% + \cyr\CYRD\cyra\cyrt\cyra} +\newcommand{\XESPDcolumnXIXname}{% + \cyr\CYRI\cyrn\cyrv. \textnumero\ \cyrp\cyro\cyrd\cyrl.} +\newcommand{\XESPDcolumnXXname}{% + \cyr\CYRP\cyro\cyrd\cyrp. \cyri\ \cyrd\cyra\cyrt\cyra} +\newcommand{\XESPDcolumnXXIname}{% + \cyr\CYRV\cyrz\cyra\cyrm. \cyri\cyrn\cyrv. \textnumero} +\newcommand{\XESPDcolumnXXIIname}{% + \cyr\CYRI\cyrn\cyrv. \textnumero\ \cyrd\cyru\cyrb\cyrl.} +\newcommand{\XESPDcolumnXXIIIname}{% + \cyr\CYRP\cyro\cyrd\cyrp. \cyri\ \cyrd\cyra\cyrt\cyra} +\newcommand{\XESPDcolumnXXIVname}{% + \cyr\CYRS\cyrp\cyrr\cyra\cyrv. \textnumero} +\newcommand{\XESPDcolumnXXVname}{% + \cyr\CYRP\cyre\cyrr\cyrv. \cyrp\cyrr\cyri\cyrm\cyre\cyrn.} +\newcommand{\XESPDcolumnXXXIname}{% + \cyr\CYRK\cyro\cyrp\cyri\cyrr\cyro\cyrv\cyra\cyrl} +\@namedef{XESPDa0FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}0} +\@namedef{XESPDa1FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}1} +\@namedef{XESPDa2FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}2} +\@namedef{XESPDa3FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}3} +\@namedef{XESPDa4FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}4} +\@namedef{XESPDemptyFormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \ \ \ } +\newcommand{\XESPDcolumnXXXIIIname}{% + \cyr\CYRZ\cyro\cyrn\cyra} + +\newcommand{\XESPDagreedName}{% + \cyr\CYRS\cyro\cyrg\cyrl\cyra\cyrs\cyro\cyrv\cyra\cyrn\cyro} +\newcommand{\XESPDapprovingName}{% + \cyr\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyra\cyryu} +\newcommand{\XESPDapprovedName}{% + \cyr\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn} +\newcommand{\XESPDapprovingSheetName}{% + \cyr\CYRL\cyri\cyrs\cyrt\ % + \cyru\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyrya} + +\newlength{\XESPDexplanWidth} +\setlength{\XESPDexplanWidth}{1.8em} + +\addto\captionsrussian{% + \def\tablename{{\cyr\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra}}% + \def\figurename{{\cyr\CYRR\cyri\cyrs.}}% +} + +\newcommand{\XESPDspecColumnIname}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt} +\newcommand{\XESPDspecColumnIIname}{% + \cyr\CYRZ\cyro\cyrn\cyra} +\newcommand{\XESPDspecColumnIIIname}{% + \cyr\CYRP\cyro\cyrz.} +\newcommand{\XESPDspecColumnIVname}{% + \cyr\CYRO\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri\cyre} +\newcommand{\XESPDspecColumnVname}{% + \cyr\CYRN\cyra\cyri\cyrm\cyre\cyrn\cyro\cyrv\cyra\cyrn\cyri\cyre} +\newcommand{\XESPDspecColumnVIname}{% + \cyr\CYRK\cyro\cyrl.} +\newcommand{\XESPDspecColumnVIIname}{% + \cyr\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyre} + +\newcommand{\XESPDspecIIcolumnIname}{\XESPDspecColumnIname} +\newcommand{\XESPDspecIIcolumnIIname}{\XESPDspecColumnIIname} +\newcommand{\XESPDspecIIcolumnIIIname}{\XESPDspecColumnIIIname} +\newcommand{\XESPDspecIIcolumnIVname}{\XESPDspecColumnIVname} +\newcommand{\XESPDspecIIcolumnVname}{\XESPDspecColumnVname} +\newcommand{\XESPDspecIIcolumnVIname}{\XESPDspecColumnVIname} +\newcommand{\XESPDspecIIcolumnVIIname}{% + \cyr\CYRM\cyra\cyrs\cyrs\cyra} +\newcommand{\XESPDspecIIcolumnVIIIname}{% + \cyr\CYRM\cyra\cyrt\cyre\cyrr\cyri\cyra\cyrl} +\newcommand{\XESPDspecIIcolumnIXname}{\XESPDspecColumnVIIname} + +\newcommand{\XESPDchangeSheetName}{% + \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{\XESPDchngColumnsIIhName}{% + \cyr\CYRN\cyro\cyrm\cyre\cyrr\cyra\ \cyrl\cyri\cyrs\cyrt\cyro\cyrv\ % + (\cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc)} +\newcommand{\XESPDchngColumnIIname}{% + \cyr\cyri\cyrz\-\cyrm\cyre\-\cyrn\cyre\cyrn\-\cyrn\cyrery\cyrh} +\newcommand{\XESPDchngColumnIIIname}{% + \cyr\cyrz\cyra\-\cyrm\cyre\-\cyrn\cyre\cyrn\-\cyrn\cyrery\cyrh} +\newcommand{\XESPDchngColumnIVname}{% + \cyr\cyrn\cyro\-\cyrv\cyrery\cyrh} +\newcommand{\XESPDchngColumnVname}{% + \cyr\cyra\cyrn\-\cyrn\cyru\-\cyrl\cyri\-\cyrr\cyro\-\cyrv\cyra\cyrn\-% + \cyrn\cyrery\cyrh} +\newcommand{\XESPDchngColumnVIname}{% + \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{\XESPDchngColumnVIIIname}{% + \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} +\newcommand{\XESPDforewordName}{% + \cyr\CYRV\cyrv\cyre\cyrd\cyre\cyrn\cyri\cyre} +\newcommand{\XESPDabbreviationsListName}{% + \cyr\CYRP\cyre\cyrr\cyre\cyrch\cyre\cyrn\cyrsftsn\ % + \cyrs\cyro\cyrk\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrishrt} + +\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/xespdsect.sty b/xespdsect.sty new file mode 100644 index 0000000..f0096e4 --- /dev/null +++ b/xespdsect.sty @@ -0,0 +1,232 @@ +% 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{xespdsect}[2010/01/14 v0.98 Sectioning] +\RequirePackage{calc} + +\newcommand{\XESPD@point@style}{single} + +\DeclareOption{pointsingle}{\renewcommand{\XESPD@point@style}{single}} +\DeclareOption{pointsection}{\renewcommand{\XESPD@point@style}{section}} +\DeclareOption{pointsubsection}{\renewcommand{\XESPD@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{\XESPDsectAlignLeft}{% + \let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip% + \leftskip\z@skip} +\newcommand{\XESPDsectAlignRight}{% + \let\\\@centercr\rightskip\z@skip\leftskip\@flushglue + \parindent\z@\parfillskip\z@skip} +\newcommand{\XESPDsectAlignCenter}{% + \let\\\@centercr + \rightskip\@flushglue\leftskip\@flushglue + \parindent\z@\parfillskip\z@skip} + +\newcommand{\XESPDsectionAlign}{\XESPDsectAlignLeft} +\newcommand{\XESPDsubsectionAlign}{\XESPDsectAlignLeft} +\newcommand{\XESPDsubsubsectionAlign}{\XESPDsectAlignLeft} + +\newcommand{\XESPDsectAlign}[2]{% + \expandafter\renewcommand\csname\string XESPD#1Align\endcsname{% + \@nameuse{XESPDsectAlign#2}}} + +\newcommand{\XESPDsectionStyle}{\normalfont\normalsize\MakeUppercase} +\newcommand{\XESPDsubsectionStyle}{\normalfont\normalsize} +\newcommand{\XESPDsubsubsectionStyle}{\normalfont\normalsize} + +\newcommand{\XESPDsectStyle}[2]{% + \expandafter\renewcommand\csname\string XESPD#1Style\endcsname{#2}} + +\newlength{\XESPDsectionSkipBefore} +\newlength{\XESPDsectionSkipAfter} +\setlength{\XESPDsectionSkipBefore}{-5mm \@plus -3mm \@minus -2mm} +\setlength{\XESPDsectionSkipAfter}{5mm \@plus 1mm \@minus 2mm} +\newlength{\XESPDsubsectionSkipBefore} +\newlength{\XESPDsubsectionSkipAfter} +\setlength{\XESPDsubsectionSkipBefore}{-6pt \@plus -0mm \@minus -0mm} +\setlength{\XESPDsubsectionSkipAfter}{6pt \@plus 0mm \@minus 0mm} +\newlength{\XESPDsubsubsectionSkipBefore} +\newlength{\XESPDsubsubsectionSkipAfter} +\setlength{\XESPDsubsubsectionSkipBefore}{-6pt \@plus -0mm \@minus -0mm} +\setlength{\XESPDsubsubsectionSkipAfter}{6pt \@plus 0mm \@minus 0mm} + +\providecommand{\plus}{\@plus} +\providecommand{\minus}{\@minus} + +\newcommand{\XESPDsectSkip}[3]{% + \expandafter\setlength\csname\string XESPD#1SkipBefore\endcsname{#2}% + \expandafter\setlength\csname\string XESPD#1SkipAfter\endcsname{#3}} + +\renewcommand\section{\@startsection {section}{1}{\parindent}% + {\XESPDsectionSkipBefore}% + {\XESPDsectionSkipAfter}% + {\XESPDsectionAlign\XESPDsectionStyle}} +\renewcommand\subsection{\@startsection{subsection}{2}{\parindent}% + {\XESPDsubsectionSkipBefore}% + {\XESPDsubsectionSkipAfter}% + {\XESPDsubsectionAlign\XESPDsubsectionStyle}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\parindent}% + {\XESPDsubsubsectionSkipBefore}% + {\XESPDsubsubsectionSkipAfter}% + {\XESPDsubsubsectionAlign\XESPDsubsubsectionStyle}} + +\let\oldsection\section +\renewcommand\section{\clearpage\oldsection} + +\renewcommand{\thesection}{\arabic{section}} +\renewcommand{\thesubsection}{\thesection.\arabic{subsection}} +\renewcommand{\thesubsubsection}{\thesubsection.\arabic{subsubsection}} +\newif\ifXESPD@point@style@single +\XESPD@point@style@singlefalse + +\newcommand{\XESPD@point@style@single}{ + \newcounter{point} + \renewcommand{\thepoint}{\arabic{point}} + \newcommand{\theHpoint}{\arabic{point}} + \XESPD@point@style@singletrue} + +\newcommand{\XESPD@point@style@section}{ + \newcounter{point}[section] + \renewcommand{\thepoint}{\thesection.\arabic{point}} + \newcommand{\theHpoint}{\theHsection.\arabic{point}}} + +\newcommand{\XESPD@point@style@subsection}{ + \newcounter{point}[subsection] + \renewcommand{\thepoint}{\thesubsection.\arabic{point}} + \newcommand{\theHpoint}{\theHsubsection.\arabic{point}}} + +\@nameuse{XESPD@point@style@\XESPD@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\hspace{0.45em}} +\newcommand{\subpoint}{% + \par\refstepcounter{subpoint}\thesubpoint\hspace{0.45em}} +\newcommand{\subsubpoint}{% + \par\refstepcounter{subsubpoint}\thesubsubpoint\hspace{0.45em}} + +\newcommand{\XESPDforeword}{\section*{\MakeTextUppercase{\XESPDforewordName{}}}} + +\newcommand{\XESPDabbreviationsList}{ + \section*{\MakeUppercase{\XESPDabbreviationsListName{}}} + \pdfbookmark[1]{\XESPDabbreviationsListName{}}{toc} + \addcontentsline{toc}{section}{\XESPDabbreviationsListName{}}} + +\newcounter{appendix} +\renewcommand{\theappendix}{\Asbuk{appendix}} +\newlength{\XESPDappendixSkip} +\setlength{\XESPDappendixSkip}{15mm \@plus 3mm \@minus 10mm} + +\newcommand{\XESPDappendix}[2]{% + \XESPDclearDoublePage% + \refstepcounter{appendix}% + \setcounter{point}{0}% + \ifXESPD@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{\XESPDappendixSkip}} + +%\renewcommand\tableofcontents{% +% \begingroup +% \XESPDsectAlign{section}{Center} +% \section*{\contentsname +% \@mkboth{% +% \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% +% \endgroup +% \@starttoc{toc}} + +\RequirePackage[style]{abstract} +\renewcommand{\abstitlestyle}[1]{\center\normalsize\MakeUppercase #1} +\XESPDsectAlign{section}{Center} + +\makeatletter +\renewcommand*{\@seccntformat}[1]{\csname the#1\endcsname.\hspace{0.45em}} +\makeatother + +\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{\cftsecaftersnum}{.} +\renewcommand{\cftsubsecaftersnum}{.} +\renewcommand{\cftsubsubsecaftersnum}{.} +\renewcommand{\cftsecafterpnum}{\vskip0pt} +\renewcommand{\cftsubsecafterpnum}{\vskip0pt} +\renewcommand{\cftsubsubsecafterpnum}{\vskip0pt} +\renewcommand{\cftbeforesecskip}{0pt} +\renewcommand{\cftbeforesubsecskip}{0pt} +\renewcommand{\cftbeforesubsubsecskip}{0pt} + +\renewcommand{\cftdot}{} + diff --git a/xespdspec.sty b/xespdspec.sty new file mode 100644 index 0000000..e5a7c10 --- /dev/null +++ b/xespdspec.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{xespdspec}[2010/01/14 v0.98 Specification GOST 2.106.95] + +\RequirePackage{xespdlang} +\RequirePackage{xespdstamp} +\RequirePackage{rotating} +\RequirePackage{array} +\RequirePackage{longtable} + +\newcommand{\XESPDdrawSpecification}{ + \put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPDframeY}){% + \begin{picture}(0,0) + \XESPD@tmpdimb=\XESPDframeH + \XESPD@tmpdima=\XESPD@style@sh@formII + \XESPD@tmpdimc=8mm + \advance\XESPD@tmpdimb -\XESPD@tmpdima + \advance\XESPD@tmpdimb -15mm + \divide\XESPD@tmpdimb by \XESPD@tmpdimc + \XESPD@tmpcnta=\XESPD@tmpdimb + \XESPD@tmpdimb=\XESPD@tmpdimc + \multiply\XESPD@tmpdimb by \XESPD@tmpcnta + \advance\XESPD@tmpdimb 15mm + \XESPD@tmpdima=\XESPDframeH + \advance\XESPD@tmpdima -\XESPD@tmpdimb + \linethickness{\XESPDlineThick} + \put(6,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}} + \put(12,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}} + \put(20,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}} + \put(90,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}} + \put(153,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}} + \put(163,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}} + \XESPD@tmpdimb=\XESPDframeH + \advance\XESPD@tmpdimb -15mm + \put(0,\XESPDltu{\XESPD@tmpdimb}){\line(1,0){\XESPDltu{\XESPDframeW}}} + \linethickness{\XESPDlineThin} + \multiput(0,\XESPDltu{\XESPD@tmpdima})(0, 8){\the\XESPD@tmpcnta}{% + \line(1,0){\XESPDltu{\XESPDframeW}}} + \end{picture}}} + +\newenvironment{XESPDspecification}{% +\XESPDputOnStyle{formII}{specification}{\XESPDdrawSpecification} +\XESPDputOnStyle{formIIab}{specification}{\XESPDdrawSpecification} +\begin{XESPDzeroPadding}% +\setlength{\tabcolsep}{0.5mm}% +\setlength{\LTpre}{0mm}% +\setlength{\LTpost}{0mm}% +\setlength{\LTleft}{0mm}% +\setlength{\LTright}{\fill}% +\newcolumntype{s}{>{\XESPDfontTabBody}c}% +\newcolumntype{n}{>{\parbox[c][8mm][c]{1mm}{% + \rule{0mm}{0mm}}\XESPDfontTabBody}l}% +\noindent% +\begin{longtable}{ssssnss} +\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\XESPDfontTabHead% +\XESPDspecColumnIname\end{sideways}}& +\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\XESPDfontTabHead% +\XESPDspecColumnIIname\end{sideways}}& +\parbox[c][15mm][c]{7mm}{\centering\begin{sideways}\XESPDfontTabHead% +\XESPDspecColumnIIIname\end{sideways}}& +\parbox[c][15mm][c]{69mm}{\centering\XESPDfontTabHead% +\XESPDspecColumnIVname}& +\parbox[c][15mm][c]{61mm}{\centering\XESPDfontTabHead% +\XESPDspecColumnVname}& +\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\XESPDfontTabHead% +\XESPDspecColumnVIname\end{sideways}}& +\parbox[c][15mm][c]{21mm}{\centering\XESPDfontTabHead% +\XESPDspecColumnVIIname}\endhead}{% +\end{longtable}% +\end{XESPDzeroPadding}% +\XESPDremoveFromStyle{formII}{spec}% +\XESPDremoveFromStyle{formIIab}{spec}} + diff --git a/xespdspecii.sty b/xespdspecii.sty new file mode 100644 index 0000000..9b83ac4 --- /dev/null +++ b/xespdspecii.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{xespdspecii}[2010/01/14 v0.98 Specification GOST 2.106.95 Form 2] + +\RequirePackage{xespdlang} +\RequirePackage{xespdstamp} +\RequirePackage{rotating} +\RequirePackage{chngpage} +\RequirePackage{lscape} +\RequirePackage{array} +\RequirePackage{longtable} + +\newcommand{\XESPDdrawSpecificationII}{ + \put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPDframeY}){% + \begin{picture}(0,0) + \XESPD@tmpdimb=\XESPDframeW + \XESPD@tmpdimc=8mm + \advance\XESPD@tmpdimb -70mm + \divide\XESPD@tmpdimb by \XESPD@tmpdimc + \XESPD@tmpcnta=\XESPD@tmpdimb + \XESPD@tmpdimb=\XESPD@tmpdimc + \multiply\XESPD@tmpdimb by \XESPD@tmpcnta + \advance\XESPD@tmpdimb 15mm + \linethickness{\XESPDlineThick} + \put(0,6){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}} + \put(0,12){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}} + \put(0,20){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}} + \put(0,90){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}} + \put(0,162){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}} + \put(0,172){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}} + \put(0,182){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}} + \put(0,257){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}} + \put(15,0){\line(0,1){\XESPDltu{\XESPDframeH}}} + \linethickness{\XESPDlineThin} + \multiput(23,0)(8, 0){\the\XESPD@tmpcnta}{% + \line(0,1){\XESPDltu{\XESPDframeH}}} + \end{picture}}} + +\newcommand{\XESPDdrawSpecIIstampII}{% + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW} + \setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-185mm} + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \begin{sideways}\usebox{\XESPD@stamp@ii@box}\end{sideways}} + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \begin{sideways}\XESPD@stamp@ii@var\end{sideways}}} + +\newcommand{\XESPDdrawSpecIIstampIIa}{% + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW} + \setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-185mm} + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \begin{sideways}\usebox{\XESPD@stamp@ii@a@box}\end{sideways}} + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \begin{sideways}\XESPD@stamp@ii@a@var\end{sideways}}} + +\ifXESPD@enable@columns@xxvii +\newcommand{\XESPDdrawSpecIIcolumnsXXVII}{% + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW-48mm} + \setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-120mm} + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \begin{sideways}\usebox{\XESPD@columns@xxvii@ii@box}\end{sideways}}% + \addtolength{\XESPD@tmpdima}{8mm}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \begin{sideways}\usebox{\XESPD@column@xxx@box}\end{sideways}}} +\fi + +\ifXESPD@enable@column@xxxi +\newcommand{\XESPDdrawSpecIIcolumnXXXI}{% + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW+1.2mm}% + \setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-120mm}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \begin{sideways}% + \makebox[70mm][r]{\XESPDfontIII\XESPDcolumnXXXIname\hspace{4em}}% + \end{sideways}}} +\fi + +\ifXESPD@enable@column@xxxii +\newcommand{\XESPDdrawSpecIIcolumnXXXII}{% + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW+1.2mm}% + \setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-50mm}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \begin{sideways}% + \makebox[50mm][r]{\XESPDfontIII\XESPDtheColumnXXXII}% + \end{sideways}}} +\fi + +\XESPDnewStyle{specII}{0mm} +\XESPDputOnStyle{specII}{frame}{\XESPDdrawFrame} +\XESPDputOnStyle{specII}{stamp}{\XESPDdrawSpecIIstampII} +\XESPDputOnStyle{specII}{specification}{\XESPDdrawSpecificationII} +\ifXESPD@enable@columns@xix + \XESPDputOnStyle{specII}{columnsxix}{\XESPDdrawColumnsXIX} +\fi +\ifXESPD@enable@columns@xxiv + \XESPDputOnStyle{specII}{columnsxxiv}{\XESPDdrawColumnsXXIV} +\fi +\ifXESPD@enable@columns@xxvii + \XESPDputOnStyle{specII}{columnsxxvii}{\XESPDdrawSpecIIcolumnsXXVII} +\fi +\ifXESPD@enable@column@xxxi + \XESPDputOnStyle{specII}{columnxxxi}{\XESPDdrawSpecIIcolumnXXXI} +\fi +\ifXESPD@enable@column@xxxii + \XESPDputOnStyle{specII}{columnxxxii}{\XESPDdrawSpecIIcolumnXXXII} +\fi + +\XESPDnewStyle{specIIa}{0mm} +\XESPDputOnStyle{specIIa}{frame}{\XESPDdrawFrame} +\XESPDputOnStyle{specIIa}{stamp}{\XESPDdrawSpecIIstampIIa} +\XESPDputOnStyle{specIIa}{specification}{\XESPDdrawSpecificationII} +\ifXESPD@enable@columns@xix + \XESPDputOnStyle{specIIa}{columnsxix}{\XESPDdrawColumnsXIX} +\fi +\ifXESPD@enable@column@xxxi + \XESPDputOnStyle{specIIa}{columnxxxi}{\XESPDdrawSpecIIcolumnXXXI} +\fi +\ifXESPD@enable@column@xxxii + \XESPDputOnStyle{specIIa}{columnxxxii}{\XESPDdrawSpecIIcolumnXXXII} +\fi + +\XESPDdefaultFirstStyle{specII} +\XESPDdefaultStyle{specIIa} + +\newenvironment{XESPDspecificationII}{% +\begin{XESPDzeroPadding}% +\changetext{}{-55mm}{}{}{}% +\begin{landscape} +\setlength{\tabcolsep}{0.5mm}% +\setlength{\LTpre}{0mm}% +\setlength{\LTpost}{0mm}% +\setlength{\LTleft}{0mm}% +\setlength{\LTright}{\fill}% +\newcolumntype{s}{>{\XESPDfontTabBody}c}% +\newcolumntype{n}{>{\parbox[c][8mm][c]{1mm}{% + \rule{0mm}{0mm}}\XESPDfontTabBody}l}% +\noindent% +\begin{longtable}{ssssnssss} +\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\XESPDfontTabHead% +\XESPDspecIIcolumnIname\end{sideways}}& +\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\XESPDfontTabHead% +\XESPDspecIIcolumnIIname\end{sideways}}& +\parbox[c][15mm][c]{7mm}{\centering\begin{sideways}\XESPDfontTabHead% +\XESPDspecIIcolumnIIIname\end{sideways}}& +\parbox[c][15mm][c]{69mm}{\centering\XESPDfontTabHead% +\XESPDspecIIcolumnIVname}& +\parbox[c][15mm][c]{71mm}{\centering\XESPDfontTabHead% +\XESPDspecIIcolumnVname}& +\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\XESPDfontTabHead% +\XESPDspecIIcolumnVIname\end{sideways}}& +\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\XESPDfontTabHead% +\XESPDspecIIcolumnVIIname\end{sideways}}& +\parbox[c][15mm][c]{74mm}{\centering\XESPDfontTabHead% +\XESPDspecIIcolumnVIIIname}& +\parbox[c][15mm][c]{29mm}{\centering\XESPDfontTabHead% +\XESPDspecIIcolumnIXname}\endhead}{% +\end{longtable}% +\end{landscape}% +\changetext{}{55mm}{}{}{}% +\end{XESPDzeroPadding}} + diff --git a/xespdstamp.sty b/xespdstamp.sty new file mode 100644 index 0000000..58db99f --- /dev/null +++ b/xespdstamp.sty @@ -0,0 +1,1128 @@ +% 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{xespdstamp}[2011/05/06 v0.98 Stamp GOST 2.104-68] + +\RequirePackage{calc} + +\newcommand{\XESPD@paper}{a4} + +\newif\ifXESPD@landscape +\XESPD@landscapefalse +\newif\ifXESPD@given@landscape +\XESPD@given@landscapefalse + +\newcommand{\XESPD@default@style@title}{title} +\newcommand{\XESPD@default@style@first}{formII} +\newcommand{\XESPD@default@style@other}{formIIab} + +\newlength{\XESPD@margin@si} +\newlength{\XESPD@margin@so} +\newlength{\XESPD@margin@t} +\newlength{\XESPD@margin@b} +\setlength{\XESPD@margin@si}{20mm} +\setlength{\XESPD@margin@so}{5mm} +\setlength{\XESPD@margin@t}{5mm} +\setlength{\XESPD@margin@b}{5mm} + +\newlength{\XESPDlineThick} +\newlength{\XESPDlineThin} +\setlength{\XESPDlineThick}{.4mm} +\setlength{\XESPDlineThin}{.2mm} + +\newlength{\XESPD@padding@h} +\newlength{\XESPD@padding@v} +\setlength{\XESPD@padding@h}{0mm} +\setlength{\XESPD@padding@v}{5mm} + +\newif\ifXESPD@ignstamp +\XESPD@ignstampfalse + +\newif\ifXESPD@enable@column@vii +\XESPD@enable@column@viitrue +\newif\ifXESPD@given@column@vii +\XESPD@given@column@viifalse + +\newif\ifXESPD@enable@column@viii +\XESPD@enable@column@viiitrue + +\newif\ifXESPD@enable@columns@xix +\XESPD@enable@columns@xixtrue + +\newif\ifXESPD@enable@columns@xxiv +\XESPD@enable@columns@xxivfalse + +\newif\ifXESPD@enable@column@xxvi +\XESPD@enable@column@xxvifalse + +\newif\ifXESPD@enable@columns@xxvii +\XESPD@enable@columns@xxviifalse + +\newif\ifXESPD@enable@column@xxxi +\XESPD@enable@column@xxxitrue + +\newif\ifXESPD@enable@column@xxxii +\XESPD@enable@column@xxxiitrue + +\newif\ifXESPD@enable@column@xxxiii +\XESPD@enable@column@xxxiiifalse + +\newif\ifXESPD@enable@column@xxxiv +\XESPD@enable@column@xxxivfalse + +\newif\ifXESPD@twoside +\XESPD@twosidefalse + +\newif\ifXESPD@zonelabels +\XESPD@zonelabelsfalse + +\RequirePackage{keyval} + +\DeclareOption{a0paper}{\renewcommand{\XESPD@paper}{a0}} +\DeclareOption{a1paper}{\renewcommand{\XESPD@paper}{a1}} +\DeclareOption{a2paper}{\renewcommand{\XESPD@paper}{a2}} +\DeclareOption{a3paper}{\renewcommand{\XESPD@paper}{a3}} +\DeclareOption{a4paper}{\renewcommand{\XESPD@paper}{a4}} +\DeclareOption{landscape}{% + \XESPD@landscapetrue% + \XESPD@given@landscapetrue} +\DeclareOption{portrait}{% + \XESPD@landscapefalse% + \XESPD@given@landscapetrue} +\define@key{xespd}{reduceheight}{\addtolength{\XESPD@margin@b}{#1}} +\DeclareOption{formI}{% + \renewcommand{\XESPD@default@style@first}{formI} + \renewcommand{\XESPD@default@style@other}{formIIab} + \renewcommand{\XESPD@default@style@title}{title}} +\DeclareOption{formII}{% + \renewcommand{\XESPD@default@style@first}{formII} + \renewcommand{\XESPD@default@style@other}{formIIab} + \renewcommand{\XESPD@default@style@title}{title}} +\DeclareOption{emptystyle}{% + \renewcommand{\XESPD@default@style@first}{empty} + \renewcommand{\XESPD@default@style@other}{empty} + \renewcommand{\XESPD@default@style@title}{empty}} +\DeclareOption{xespd}{% + \setlength{\XESPD@margin@t}{20mm}% + \setlength{\XESPD@margin@b}{10mm}% + \setlength{\XESPD@margin@si}{20mm} + \setlength{\XESPD@margin@so}{10mm} + \renewcommand{\XESPD@default@style@first}{empty} + \renewcommand{\XESPD@default@style@other}{empty} + \renewcommand{\XESPD@default@style@title}{xespdtitle}} +\DeclareOption{stitching}{\setlength{\XESPD@margin@si}{20mm}} +\DeclareOption{nostitching}{% + \setlength{\XESPD@margin@si}{5mm}% + \XESPD@enable@columns@xixfalse% + \XESPD@enable@columns@xxivfalse} +\DeclareOption{ignorestamp}{\XESPD@ignstamptrue} +\DeclareOption{noignorestamp}{\XESPD@ignstampfalse} +\DeclareOption{columnvii}{% + \XESPD@enable@column@viitrue% + \XESPD@given@column@viitrue} +\DeclareOption{nocolumnvii}{ + \XESPD@enable@column@viifalse% + \XESPD@given@column@viitrue} +\DeclareOption{columnviii}{\XESPD@enable@column@viiitrue} +\DeclareOption{nocolumnviii}{\XESPD@enable@column@viiifalse} +\DeclareOption{columnsxix}{\XESPD@enable@columns@xixtrue} +\DeclareOption{nocolumnsxix}{\XESPD@enable@columns@xixfalse} +\DeclareOption{columnsxxiv}{\XESPD@enable@columns@xxivtrue} +\DeclareOption{nocolumnsxxiv}{\XESPD@enable@columns@xxivfalse} +\DeclareOption{columnxxvi}{\XESPD@enable@column@xxvitrue} +\DeclareOption{nocolumnxxvi}{\XESPD@enable@column@xxvifalse} +\DeclareOption{columnsxxvii}{\XESPD@enable@columns@xxviitrue} +\DeclareOption{nocolumnsxxvii}{\XESPD@enable@columns@xxviifalse} +\DeclareOption{columnxxxi}{\XESPD@enable@column@xxxitrue} +\DeclareOption{nocolumnxxxi}{\XESPD@enable@column@xxxifalse} +\DeclareOption{columnxxxii}{\XESPD@enable@column@xxxiitrue} +\DeclareOption{nocolumnxxxii}{\XESPD@enable@column@xxxiifalse} +\DeclareOption{columnxxxiii}{\XESPD@enable@column@xxxiiitrue} +\DeclareOption{nocolumnxxxiii}{\XESPD@enable@column@xxxiiifalse} +\DeclareOption{columnxxxiv}{\XESPD@enable@column@xxxivtrue} +\DeclareOption{nocolumnxxxiv}{\XESPD@enable@column@xxxivfalse} +\DeclareOption{simple}{% + \XESPD@enable@columns@xixfalse% + \XESPD@enable@column@xxxifalse% + \XESPD@enable@column@xxxiifalse} +\DeclareOption{twoside}{\XESPD@twosidetrue} +\DeclareOption{oneside}{\XESPD@twosidefalse} +\DeclareOption{zonelabels}{\XESPD@zonelabelstrue} +\DeclareOption{nozonelabels}{\XESPD@zonelabelsfalse} +\define@key{xespd}{linethick}{\setlength{\XESPDlineThick}{#1}} +\define@key{xespd}{linethin}{\setlength{\XESPDlineThin}{#1}} +\define@key{xespd}{vpadding}{\setlength{\XESPD@padding@v}{#1}} +\define@key{xespd}{hpadding}{\setlength{\XESPD@padding@h}{#1}} + +\DeclareOption*{\edef\@tempa{\noexpand\setkeys{xespd}{\CurrentOption}}\@tempa} + +\ProcessOptions\relax + +\newcommand{\XESPD@cmp@empty}{} +\newcommand{\XESPD@cmp@aIVpaper}{a4} +\newcommand{\XESPD@cmp@landscape}{landscape} + +\ifXESPD@given@landscape\else + \ifx\XESPD@paper\XESPD@cmp@aIVpaper% + \XESPD@landscapefalse + \else + \XESPD@landscapetrue + \fi +\fi + +\RequirePackage[\XESPD@paper paper,% +\ifXESPD@landscape landscape\else portrait\fi,% +tmargin=\XESPD@margin@t+\XESPD@padding@v,% +bmargin=\XESPD@margin@b+\XESPD@padding@v,% +inner=\XESPD@margin@si+\XESPD@padding@h,% +outer=\XESPD@margin@so+\XESPD@padding@h,% +marginparsep=0mm,marginparwidth=0mm,% +headheight=0mm,headsep=0mm,footskip=0mm]{geometry} + +\RequirePackage{lastpage} + +\def\XESPD@secondof#1#2#3endof{#2} +\def\XESPD@p@genum#1{% + \ifx#1\relax 0\else + \expandafter\XESPD@secondof#1endof + \fi} +\def\XESPD@pagenum#1{\expandafter\XESPD@p@genum\csname r@#1\endcsname} + +\ifXESPD@given@column@vii\else + \AtBeginDocument{% + \ifnum \XESPD@pagenum{LastPage} = 1 + \XESPD@enable@column@viifalse% + \fi} +\fi + +\newif\ifXESPD@column@xxvi@portrait +\XESPD@column@xxvi@portraittrue +\ifXESPD@landscape\XESPD@column@xxvi@portraitfalse\fi +\ifx\XESPD@paper\XESPD@cmp@aIVpaper\XESPD@column@xxvi@portraitfalse\fi + +\newlength{\XESPD@tmpdima} +\newlength{\XESPD@tmpdimb} +\newlength{\XESPD@tmpdimc} + +\newcount\XESPD@tmpcnta +\newcount\XESPD@tmpcntb + +\newcount\XESPD@zonelabel@hc +\newcount\XESPD@zonelabel@vc +\newlength{\XESPD@zonelabel@hs} +\newlength{\XESPD@zonelabel@vs} +\newcount\XESPD@zonelabel@cnt +\ifXESPD@zonelabels + \@namedef{XESPD@zonelabel@init@a4}{% + \XESPD@zonelabel@hc = 1 \XESPD@zonelabel@vc = 1\relax} + \@namedef{XESPD@zonelabel@init@a3}{% + \XESPD@zonelabel@hc = 1 \XESPD@zonelabel@vc = 2\relax} + \@namedef{XESPD@zonelabel@init@a2}{% + \XESPD@zonelabel@hc = 2 \XESPD@zonelabel@vc = 2\relax} + \@namedef{XESPD@zonelabel@init@a1}{% + \XESPD@zonelabel@hc = 2 \XESPD@zonelabel@vc = 4\relax} + \@namedef{XESPD@zonelabel@init@a0}{% + \XESPD@zonelabel@hc = 4 \XESPD@zonelabel@vc = 4\relax} + \@nameuse{XESPD@zonelabel@init@\XESPD@paper} + \ifXESPD@landscape + \XESPD@tmpcnta = \XESPD@zonelabel@hc + \XESPD@zonelabel@hc = \XESPD@zonelabel@vc + \XESPD@zonelabel@vc = \XESPD@tmpcnta + \fi + \XESPD@zonelabel@hs = \paperwidth + \XESPD@zonelabel@vs = \paperheight + \divide \XESPD@zonelabel@hs by \XESPD@zonelabel@hc + \divide \XESPD@zonelabel@vs by \XESPD@zonelabel@vc + \XESPD@zonelabel@cnt = 0 +\fi + +\newlength{\XESPD@origin@x} +\newlength{\XESPD@origin@y} +\setlength{\XESPD@origin@x}{1in} +\setlength{\XESPD@origin@y}{\paperheight-1in} + +\newlength{\XESPDframeX} +\newlength{\XESPDframeY} + +\newlength{\XESPDframeW} +\newlength{\XESPDframeH} +\setlength{\XESPDframeW}{\paperwidth-\XESPD@margin@si-\XESPD@margin@so} +\setlength{\XESPDframeH}{\paperheight-\XESPD@margin@t-\XESPD@margin@b} + +\newlength{\XESPDstampX} +\newlength{\XESPDstampY} + +\RequirePackage{xespdfont} +\RequirePackage{xespdlang} + +\newcommand*{\XESPDltu}[1]{#1\@gobble} + +\newcommand{\XESPDonFrontSideOnly}[1]{% + \ifXESPD@twoside\ifodd\c@page#1\fi\else#1\fi} + +\RequirePackage{rotating} + +\newsavebox{\XESPD@frame@box} +\AtBeginDocument{% +\savebox{\XESPD@frame@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\XESPDlineThick} +\put(0,\XESPDltu{\XESPDframeH}){\line(1,0){\XESPDltu{\XESPDframeW}}} +\put(0,0){\line(1,0){\XESPDltu{\XESPDframeW}}} +\put(0,0){\line(0,1){\XESPDltu{\XESPDframeH}}} +\put(\XESPDltu{\XESPDframeW},0){\line(0,1){\XESPDltu{\XESPDframeH}}} +\end{picture}}} +\newcommand{\XESPDdrawFrame}{% + \put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPDframeY}){% + \usebox{\XESPD@frame@box}}} + +\newsavebox{\XESPD@stamp@i@box} +\AtBeginDocument{% +\savebox{\XESPD@stamp@i@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\XESPDlineThick} +\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{\XESPDlineThin} +\multiput(0,50)(0,-5){3}{\line(1,0){65}} +\multiput(0,25)(0,-5){5}{\line(1,0){65}} +\linethickness{\XESPDlineThick} +\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{\XESPDlineThin} +\multiput(140,20)(5,0){2}{\line(0,1){15}} +\put(67, 41){\parbox[b][13mm][c]{106mm}{\centering\XESPDfontVII\XESPDtheColumnII}} +\put(135, 36.3){\makebox[15mm]{\XESPDfontIII\XESPDcolumnIVname}} +\put(150, 36.3){\makebox[17mm]{\XESPDfontIII\XESPDcolumnVname}} +\put(167, 36.3){\makebox[18mm]{\XESPDfontIII\XESPDcolumnVIname}} +\put(0.5, 26.3){\makebox[16mm][l]{\XESPDfontIII\XESPDcolumnXfIname}} +\put(0.5, 21.3){\makebox[16mm][l]{\XESPDfontIII\XESPDcolumnXfIIname}} +\put(0.5, 16.3){\makebox[16mm][l]{\XESPDfontIII\XESPDcolumnXfIIIname}} +\put(0.5, 11.3){\makebox[16mm][l]{\XESPDfontIII\XESPDcolumnXfIVname}} +\put(0.5, 6.3){\makebox[16mm][l]{\XESPDfontIII\XESPDcolumnXfVname}} +\put(0.5, 1.3){\makebox[16mm][l]{\XESPDfontIII\XESPDcolumnXfVIname}} +\put(17.5, 26.3){\makebox[22mm][l]{\XESPDfontIII\XESPDtheColumnXIfI}} +\put(17.5, 21.3){\makebox[22mm][l]{\XESPDfontIII\XESPDtheColumnXIfII}} +\put(17.5, 16.3){\makebox[22mm][l]{\XESPDfontIII\XESPDtheColumnXIfIII}} +\put(17.5, 11.3){\makebox[22mm][l]{\XESPDfontIII\XESPDtheColumnXIfIV}} +\put(17.5, 6.3){\makebox[22mm][l]{\XESPDfontIII\XESPDtheColumnXIfV}} +\put(17.5, 1.3){\makebox[22mm][l]{\XESPDfontIII\XESPDtheColumnXIfVI}} +\put(0, 31.3){\makebox[7mm]{\XESPDfontIII\XESPDcolumnXIVname}} +\put(7, 31.3){\makebox[10mm]{\XESPDfontIII\XESPDcolumnXVname}} +\put(17, 31.3){\makebox[23mm]{\XESPDfontIII\XESPDcolumnXVIname}} +\put(40, 31.3){\makebox[15mm]{\XESPDfontIII\XESPDcolumnXVIIname}} +\put(55, 31.3){\makebox[10mm]{\XESPDfontIII\XESPDcolumnXVIIIname}} +\end{picture}}} +\newcommand{\XESPD@stamp@i@var}{% +\begin{picture}(0,0)(0,0) +\ifnum \c@page = 1 + \put(67, 16){\parbox[b][23mm][c]{66mm}{\centering\XESPDfontV\XESPDtheColumnI}} + \put(67, 1){\parbox[b][13mm][c]{66mm}{\centering\XESPDfontV\XESPDtheColumnIII}} + \put(135, 26.3){\makebox[5mm]{\XESPDfontIII\XESPDtheColumnIVfI}} + \put(140, 26.3){\makebox[5mm]{\XESPDfontIII\XESPDtheColumnIVfII}} + \put(145, 26.3){\makebox[5mm]{\XESPDfontIII\XESPDtheColumnIVfIII}} + \put(151, 21){\parbox[b][13mm][c]{15mm}{\centering\XESPDfontIII\XESPDtheColumnV}} + \put(168, 21){\parbox[b][13mm][c]{16mm}{\centering\XESPDfontIII\XESPDtheColumnVI}} + \ifXESPD@enable@column@viii + \put(155, 16.3){\makebox[30mm]{\XESPDfontIII% + \ifXESPD@twoside\XESPDcolumnVIIItwosideName\else\XESPDcolumnVIIIname\fi% + \ \pageref{LastPage}}} + \fi + \put(137, 1){\parbox[b][13mm][c]{46mm}{\centering\XESPDfontV\XESPDtheColumnIX}} +\fi +\ifXESPD@enable@column@vii + \put(135, 16.3){\makebox[20mm]{\XESPDfontIII% + \ifXESPD@twoside\XESPDcolumnVIItwosideName\else\XESPDcolumnVIIname\fi\ \thepage}} +\fi +\end{picture}} +\newcommand{\XESPDdrawStampI}{% + \put(\XESPDltu{\XESPDstampX},\XESPDltu{\XESPDstampY}){% + \usebox{\XESPD@stamp@i@box}} + \put(\XESPDltu{\XESPDstampX},\XESPDltu{\XESPDstampY}){% + \XESPD@stamp@i@var}} + +\newsavebox{\XESPD@stamp@ii@box} +\AtBeginDocument{% +\savebox{\XESPD@stamp@ii@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\XESPDlineThick} +\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{\XESPDlineThin} +\put(0,35){\line(1,0){65}} +\multiput(0,20)(0,-5){4}{\line(1,0){65}} +\linethickness{\XESPDlineThick} +\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\XESPDfontV\XESPDtheColumnI}} +\put(67, 26){\parbox[b][13mm][c]{106mm}{\centering\XESPDfontVII\XESPDtheColumnII}} +\put(135, 21.3){\makebox[15mm]{\XESPDfontIII\XESPDcolumnIVname}} +\put(135, 16.3){\makebox[5mm][c]{\XESPDfontIII\XESPDtheColumnIVfI}} +\put(140, 16.3){\makebox[5mm][c]{\XESPDfontIII\XESPDtheColumnIVfII}} +\put(145, 16.3){\makebox[5mm][c]{\XESPDfontIII\XESPDtheColumnIVfIII}} +\put(150, 21.3){\makebox[15mm]{\XESPDfontIII% + \ifXESPD@twoside\XESPDcolumnVIItwosideName\else\XESPDcolumnVIIname\fi}} +\put(165, 21.3){\makebox[20mm]{\XESPDfontIII% + \ifXESPD@twoside\XESPDcolumnVIIItwosideName\else\XESPDcolumnVIIIname\fi}} +\put(137, 1){\parbox[b][13mm][c]{46mm}{\centering\XESPDfontV\XESPDtheColumnIX}} +\put(0.5, 21.3){\makebox[16mm][l]{\XESPDfontIII\XESPDcolumnXfIname}} +\put(0.5, 16.3){\makebox[16mm][l]{\XESPDfontIII\XESPDcolumnXfIIname}} +\put(0.5, 11.3){\makebox[16mm][l]{\XESPDfontIII\XESPDcolumnXfIVname}} +\put(0.5, 6.3){\makebox[16mm][l]{\XESPDfontIII\XESPDcolumnXfVname}} +\put(0.5, 1.3){\makebox[16mm][l]{\XESPDfontIII\XESPDcolumnXfVIname}} +\put(17.5, 21.3){\makebox[22mm][l]{\XESPDfontIII\XESPDtheColumnXIfI}} +\put(17.5, 16.3){\makebox[22mm][l]{\XESPDfontIII\XESPDtheColumnXIfII}} +\put(17.5, 11.3){\makebox[22mm][l]{\XESPDfontIII\XESPDtheColumnXIfIV}} +\put(17.5, 6.3){\makebox[22mm][l]{\XESPDfontIII\XESPDtheColumnXIfV}} +\put(17.5, 1.3){\makebox[22mm][l]{\XESPDfontIII\XESPDtheColumnXIfVI}} +\put(0, 26.3){\makebox[7mm]{\XESPDfontIII\XESPDcolumnXIVname}} +\put(7, 26.3){\makebox[10mm]{\XESPDfontIII\XESPDcolumnXVname}} +\put(17, 26.3){\makebox[23mm]{\XESPDfontIII\XESPDcolumnXVIname}} +\put(40, 26.3){\makebox[15mm]{\XESPDfontIII\XESPDcolumnXVIIname}} +\put(55, 26.3){\makebox[10mm]{\XESPDfontIII\XESPDcolumnXVIIIname}} +\end{picture}}} +\newcommand{\XESPD@stamp@ii@var}{% +\begin{picture}(0,0)(0,0) +\ifXESPD@enable@column@vii + \put(150, 16.3){\makebox[15mm]{\XESPDfontIII\thepage}} +\fi +\ifXESPD@enable@column@viii + \put(165, 16.3){\makebox[20mm]{\XESPDfontIII\pageref{LastPage}}} +\fi +\end{picture}} +\newcommand{\XESPDdrawStampII}{% + \put(\XESPDltu{\XESPDstampX},\XESPDltu{\XESPDstampY}){% + \usebox{\XESPD@stamp@ii@box}} + \put(\XESPDltu{\XESPDstampX},\XESPDltu{\XESPDstampY}){% + \XESPD@stamp@ii@var}} + +\newsavebox{\XESPD@stamp@ii@a@box} +\AtBeginDocument{% +\savebox{\XESPD@stamp@ii@a@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\XESPDlineThick} +\put(0,15){\line(1,0){185}} +\put(175,8){\line(1,0){10}} +\put(0,5){\line(1,0){65}} +\linethickness{\XESPDlineThin} +\put(0,10){\line(1,0){65}} +\linethickness{\XESPDlineThick} +\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\XESPDfontVII\XESPDtheColumnII}} +\put(175, 10.3){\makebox[10mm]{\XESPDfontIII% + \ifXESPD@twoside\XESPDcolumnVIItwosideName\else\XESPDcolumnVIIname\fi}} +\put(0, 1.3){\makebox[7mm]{\XESPDfontIII\XESPDcolumnXIVname}} +\put(7, 1.3){\makebox[10mm]{\XESPDfontIII\XESPDcolumnXVname}} +\put(17, 1.3){\makebox[23mm]{\XESPDfontIII\XESPDcolumnXVIname}} +\put(40, 1.3){\makebox[15mm]{\XESPDfontIII\XESPDcolumnXVIIname}} +\put(55, 1.3){\makebox[10mm]{\XESPDfontIII\XESPDcolumnXVIIIname}} +\end{picture}}} +\newcommand{\XESPD@stamp@ii@a@var}{% +\begin{picture}(0,0)(0,0) +\ifXESPD@enable@column@vii + \put(175, 3){\makebox[10mm]{\XESPDfontIII\thepage}} +\fi +\end{picture}} +\newcommand{\XESPDdrawStampIIa}{% + \put(\XESPDltu{\XESPDstampX},\XESPDltu{\XESPDstampY}){% + \usebox{\XESPD@stamp@ii@a@box}} + \put(\XESPDltu{\XESPDstampX},\XESPDltu{\XESPDstampY}){% + \XESPD@stamp@ii@a@var}} + +\newsavebox{\XESPD@stamp@ii@b@box} +\AtBeginDocument{% +\savebox{\XESPD@stamp@ii@b@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\XESPDlineThick} +\put(0,15){\line(1,0){185}} +\put(0,8){\line(1,0){10}} +\put(120,5){\line(1,0){65}} +\linethickness{\XESPDlineThin} +\put(120,10){\line(1,0){65}} +\linethickness{\XESPDlineThick} +\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\XESPDfontVII\XESPDtheColumnII}} +\put(0, 10.3){\makebox[10mm]{\XESPDfontIII% + \ifXESPD@twoside\XESPDcolumnVIItwosideName\else\XESPDcolumnVIIname\fi}} +\put(120, 1.3){\makebox[7mm]{\XESPDfontIII\XESPDcolumnXIVname}} +\put(127, 1.3){\makebox[10mm]{\XESPDfontIII\XESPDcolumnXVname}} +\put(137, 1.3){\makebox[23mm]{\XESPDfontIII\XESPDcolumnXVIname}} +\put(160, 1.3){\makebox[15mm]{\XESPDfontIII\XESPDcolumnXVIIname}} +\put(175, 1.3){\makebox[10mm]{\XESPDfontIII\XESPDcolumnXVIIIname}} +\end{picture}}} +\newcommand{\XESPD@stamp@ii@b@var}{% +\begin{picture}(0,0)(0,0) +\ifXESPD@enable@column@vii + \put(0, 3){\makebox[10mm]{\XESPDfontIII\thepage}} +\fi +\end{picture}} +\newcommand{\XESPDdrawStampIIb}{% + \put(\XESPDltu{\XESPDstampX},\XESPDltu{\XESPDstampY}){% + \usebox{\XESPD@stamp@ii@b@box}} + \put(\XESPDltu{\XESPDstampX},\XESPDltu{\XESPDstampY}){% + \XESPD@stamp@ii@b@var}} + +% Рамка +\ifXESPD@enable@columns@xix +\newsavebox{\XESPD@columns@xix@box} +\AtBeginDocument{% +\savebox{\XESPD@columns@xix@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(-5,0) +\linethickness{\XESPDlineThick} +\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]{\XESPDfontGostIV\XESPDcolumnXIXname}} +\put(0, 2.3){\makebox[25mm]{\XESPDfontGostIV\XESPDtheColumnXIX}} +\put(25, 8.3){\makebox[35mm]{\XESPDfontGostIV\XESPDcolumnXXname}} +\put(60, 8.3){\makebox[25mm]{\XESPDfontGostIV\XESPDcolumnXXIname}} +\put(60, 2.3){\makebox[25mm]{\XESPDfontGostIV\XESPDtheColumnXXI}} +\put(85, 8.3){\makebox[25mm]{\XESPDfontGostIV\XESPDcolumnXXIIname}} +\put(85, 2.3){\makebox[25mm]{\XESPDfontGostIV\XESPDtheColumnXXII}} +\put(110, 8.3){\makebox[35mm]{\XESPDfontGostIV\XESPDcolumnXXIIIname}} +\end{picture}}} +\newcommand{\XESPDdrawColumnsXIX}{% + \XESPDonFrontSideOnly{% + \put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPDframeY}){% + \begin{turn}{90}\usebox{\XESPD@columns@xix@box}\end{turn}}}} +\fi + +\ifXESPD@enable@columns@xxiv +\newsavebox{\XESPD@columns@xxiv@box} +\AtBeginDocument{% +\savebox{\XESPD@columns@xxiv@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\XESPDlineThick} +\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]{\XESPDfontIII\XESPDcolumnXXIVname}} +\put(0, 2.3){\makebox[60mm]{\XESPDfontIII\XESPDtheColumnXXIV}} +\put(60, 8.3){\makebox[60mm]{\XESPDfontIII\XESPDcolumnXXVname}} +\put(60, 2.3){\makebox[60mm]{\XESPDfontIII\XESPDtheColumnXXV}} +\end{picture}}} +\newcommand{\XESPDdrawColumnsXXIV}{% + \setlength{\XESPD@tmpdima}{\XESPDframeY+167mm} + \put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPD@tmpdima}){% + \begin{turn}{90}\usebox{\XESPD@columns@xxiv@box}\end{turn}}} +\fi + +\ifXESPD@enable@column@xxvi +\newsavebox{\XESPD@column@xxvi@box} +\AtBeginDocument{% +\savebox{\XESPD@column@xxvi@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\XESPDlineThick} +\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\XESPDfontV\XESPDtheColumnII}\end{turn}} +\end{picture}}} +\newcommand{\XESPDdrawColumnXXVI}{% + \ifXESPD@column@xxvi@portrait% + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW-14mm}% + \setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \begin{turn}{270}\usebox{\XESPD@column@xxvi@box}\end{turn}}% + \else% + \setlength{\XESPD@tmpdima}{\XESPDframeY+\XESPDframeH-14mm}% + \put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPD@tmpdima}){% + \usebox{\XESPD@column@xxvi@box}}% + \fi} +\fi + +\ifXESPD@enable@columns@xxvii +\newsavebox{\XESPD@columns@xxvii@i@box} +\AtBeginDocument{% +\savebox{\XESPD@columns@xxvii@i@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\XESPDlineThick} +\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\XESPDfontV\XESPDtheColumnXXVII}\end{turn}} +\put(14,11.7){\begin{turn}{180}\makebox[53mm][c]{% + \XESPDfontIII\XESPDtheColumnXXVIII}\end{turn}} +\put(14,4.7){\begin{turn}{180}\makebox[53mm][c]{% + \XESPDfontIII\XESPDtheColumnXXIX}\end{turn}} +\end{picture}}} +\newsavebox{\XESPD@columns@xxvii@ii@box} +\AtBeginDocument{% +\savebox{\XESPD@columns@xxvii@ii@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\XESPDlineThick} +\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\XESPDfontIII\XESPDtheColumnXXVII}} +\put(15,0){\parbox[b][14mm][c]{51mm}{% + \centering\XESPDfontIII\XESPDtheColumnXXVIII}} +\put(68,0){\parbox[b][14mm][c]{51mm}{% + \centering\XESPDfontIII\XESPDtheColumnXXIX}} +\end{picture}}} +\newsavebox{\XESPD@column@xxx@box} +\AtBeginDocument{% +\savebox{\XESPD@column@xxx@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\XESPDlineThick} +\put(0,8){\line(1,0){120}} +\put(0,0){\line(0,1){8}} +\put(1,1){\parbox[b][6mm][c]{118mm}{\centering\XESPDfontV\XESPDtheColumnXXX}} +\end{picture}}} +\newcommand{\XESPDdrawColumnsXXVIIi}{% + \ifXESPD@column@xxvi@portrait% + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW-14mm}% + \setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-70mm}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \begin{turn}{270}\usebox{\XESPD@columns@xxvii@i@box}\end{turn}}% + \else% + \setlength{\XESPD@tmpdima}{\XESPDframeX+70mm}% + \setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-14mm}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \usebox{\XESPD@columns@xxvii@i@box}}% + \fi% + \setlength{\XESPD@tmpdima}{\XESPDstampX+65mm}% + \setlength{\XESPD@tmpdimb}{\XESPDstampY+55mm}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \usebox{\XESPD@column@xxx@box}}}% +\newcommand{\XESPDdrawColumnsXXVIIii}{% + \setlength{\XESPD@tmpdima}{\XESPDstampX+65mm} + \setlength{\XESPD@tmpdimb}{\XESPDstampY+48mm} + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \usebox{\XESPD@columns@xxvii@ii@box}}% + \setlength{\XESPD@tmpdimb}{\XESPDstampY+40mm}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \usebox{\XESPD@column@xxx@box}}} +\fi + +\ifXESPD@enable@column@xxxi +\newcommand{\XESPDdrawColumnXXXI}{% + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW-120mm}% + \setlength{\XESPD@tmpdimb}{\XESPDframeY-3.7mm}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \makebox[70mm][r]{\XESPDfontIII\XESPDcolumnXXXIname\hspace{4em}}}} +\fi + +\ifXESPD@enable@column@xxxii +\newcommand{\XESPDdrawColumnXXXII}{% + \setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW-50mm}% + \setlength{\XESPD@tmpdimb}{\XESPDframeY-3.7mm}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \makebox[50mm][r]{\XESPDfontIII\XESPDtheColumnXXXII}}} +\fi + +\ifXESPD@enable@column@xxxiii +\newsavebox{\XESPD@column@xxxiii@box} +\AtBeginDocument{% +\savebox{\XESPD@column@xxxiii@box}{% +\setlength{\unitlength}{1mm}% +\begin{picture}(0,0)(0,0) +\linethickness{\XESPDlineThick} +\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{\XESPDlineThin} +\multiput(0,20)(0,-5){3}{\line(1,0){20}} +\put(0,1.3){\makebox[20mm][c]{\XESPDfontIII\XESPDcolumnXXXIIIname}} +\end{picture}}} +\newcommand{\XESPDdrawColumnXXXIII}{% + \setlength{\XESPD@tmpdima}{\XESPDstampX-20mm}% + \setlength{\XESPD@tmpdimb}{\XESPDstampY+30mm}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \usebox{\XESPD@column@xxxiii@box}}} +\fi + +\ifXESPD@enable@column@xxxiv +\newsavebox{\XESPD@column@xxxiv@box} +\AtBeginDocument{% +\savebox{\XESPD@column@xxxiv@box}{% +\setlength{\fboxrule}{\XESPDlineThick}% +\setlength{\fboxsep}{1.3mm}% +\parbox[b][100mm+\fboxrule][t]{70mm+\fboxrule}{% + \framebox{% + \parbox{70mm-2\fboxsep-\fboxrule}{\centering\XESPDfontIII% + \XESPDtheColumnXXXIV\rule{0mm}{7mm-2\fboxsep-\fboxrule}}}}}} +\newcommand{\XESPDdrawColumnXXXIV}{% + \ifXESPD@column@xxvi@portrait% + \setlength{\XESPD@tmpdima}{% + \XESPDframeX+\XESPDframeW-114mm-.5\XESPDlineThick}% + \setlength{\XESPD@tmpdimb}{% + \XESPDframeY+\XESPDframeH+.5\XESPDlineThick}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \begin{turn}{270}\usebox{\XESPD@column@xxxiv@box}\end{turn}}% + \else% + \setlength{\XESPD@tmpdima}{\XESPDframeX-.5\XESPDlineThick}% + \setlength{\XESPD@tmpdimb}{% + \XESPDframeY+\XESPDframeH-114mm-.5\XESPDlineThick}% + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \usebox{\XESPD@column@xxxiv@box}}% + \fi} +\fi + +\ifXESPD@zonelabels +\newcommand{\XESPD@make@h@zonelabels}{ + \XESPD@tmpcnta = 1 + \XESPD@tmpdima = \paperwidth + \XESPD@tmpdimb = \XESPDframeY + \advance \XESPD@tmpdimb \XESPDframeH + \XESPD@tmpdimc = \XESPDframeY + \advance \XESPD@tmpdimc -5mm + \loop + \advance \XESPD@tmpdima -\XESPD@zonelabel@hs + \global\advance \XESPD@zonelabel@cnt 1 + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){% + \parbox[b][5mm][c]{\XESPD@zonelabel@hs}{% + \centering\XESPDfontIII\number\XESPD@zonelabel@cnt}} + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimc}){% + \parbox[b][5mm][c]{\XESPD@zonelabel@hs}{% + \centering\XESPDfontIII\number\XESPD@zonelabel@cnt}} + \ifnum \XESPD@tmpcnta < \XESPD@zonelabel@hc + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){\line(0,1){5}} + \put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimc}){\line(0,1){5}} + \advance \XESPD@tmpcnta 1 + \repeat +} +\newcommand{\XESPD@make@v@zonelabels}[1]{ + \XESPD@tmpcnta = 1 + \XESPD@tmpdima = 0mm + \XESPD@tmpdimb = \XESPDframeX + \advance \XESPD@tmpdimb -5mm + \XESPD@tmpdimc = \XESPDframeX + \advance \XESPD@tmpdimc \XESPDframeW + \loop + \put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){% + \parbox[b][\XESPD@zonelabel@vs][c]{5mm}{% + \centering\XESPDfontIII\@Alph\XESPD@tmpcnta + \ifnum\XESPD@tmpcnta = 1 + \ifXESPD@enable@columns@xix + \par\rule{0mm}{3.5mm-\XESPD@zonelabel@vs+310mm} + \fi + \fi}} + \put(\XESPDltu{\XESPD@tmpdimc},\XESPDltu{\XESPD@tmpdima}){% + \parbox[b][\XESPD@zonelabel@vs][c]{5mm}{% + \centering\XESPDfontIII\@Alph\XESPD@tmpcnta}} + \ifnum \XESPD@tmpcnta < \XESPD@zonelabel@vc + \advance \XESPD@tmpdima \XESPD@zonelabel@vs + \ifnum \XESPD@tmpcnta = #1\else + \put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(1,0){5}} + \fi + \put(\XESPDltu{\XESPD@tmpdimc},\XESPDltu{\XESPD@tmpdima}){\line(1,0){5}} + \advance \XESPD@tmpcnta 1 + \repeat +} +\newcommand{\XESPDdrawZoneLabelsI}{% +\linethickness{\XESPDlineThick} +\XESPD@make@h@zonelabels +\ifXESPD@enable@columns@xxiv + \ifdim \XESPD@zonelabel@vs < 292mm + \XESPD@make@v@zonelabels{1}\else + \XESPD@make@v@zonelabels{0}\fi +\else + \XESPD@make@v@zonelabels{0} +\fi +\ifdim \XESPD@margin@si > 5mm + \XESPD@tmpdima = \XESPDframeY + \XESPD@tmpdimb = \XESPDframeX + \advance \XESPD@tmpdimb -5mm + \ifXESPD@enable@columns@xix\else + \put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){% + \line(0,1){145}} + \fi + \advance \XESPD@tmpdima 145mm + \put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){% + \line(0,1){22}} + \advance \XESPD@tmpdima 22mm + \ifXESPD@enable@columns@xxiv\else + \put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){% + \line(0,1){120}} + \fi + \advance \XESPD@tmpdima 120mm + \XESPD@tmpdimc = \XESPDframeY + \advance \XESPD@tmpdimc \XESPDframeH + \advance \XESPD@tmpdimc -\XESPD@tmpdima + \put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){% + \line(0,1){\XESPDltu{\XESPD@tmpdimc}}} + \advance \XESPD@tmpdima \XESPD@tmpdimc + \put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){% + \line(1,0){5}} +\fi} +\newcommand{\XESPDdrawZoneLabelsII}{% +\linethickness{\XESPDlineThick} +\XESPD@make@h@zonelabels +\XESPD@make@v@zonelabels{0} +\ifdim \XESPD@margin@si > 5mm + \XESPD@tmpdima = \XESPDframeY + \XESPD@tmpdimb = \XESPDframeX + \advance \XESPD@tmpdimb -5mm + \ifXESPD@enable@columns@xix\else + \put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){% + \line(0,1){145}} + \fi + \advance \XESPD@tmpdima 145mm + \XESPD@tmpdimc = \XESPDframeY + \advance \XESPD@tmpdimc \XESPDframeH + \advance \XESPD@tmpdimc -\XESPD@tmpdima + \put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){% + \line(0,1){\XESPDltu{\XESPD@tmpdimc}}} + \advance \XESPD@tmpdima \XESPD@tmpdimc + \put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){% + \line(1,0){5}} +\fi} +\fi + +\RequirePackage{xespdhash} + +\newcommand{\XESPDnewStyle}[2]{% + \XESPD@hash@new{@style@draw@#1}% + \@namedef{XESPD@style@sh@#1}{#2}} + +\newcommand{\XESPDputOnStyle}[3]{% + \XESPD@hash@set{@style@draw@#1}{#2}{#3}} +\newcommand{\XESPDremoveFromStyle}[2]{% + \XESPD@hash@set{@style@draw@#1}{#2}{}} + +\XESPDnewStyle{empty}{0mm} + +\XESPDnewStyle{title}{0mm} +\XESPDputOnStyle{title}{frame}{\XESPDdrawFrame} +\ifXESPD@enable@columns@xix + \XESPDputOnStyle{title}{columnsxix}{\XESPDdrawColumnsXIX} +\fi + +\XESPDnewStyle{formI}{\ifXESPD@enable@columns@xxvii 63mm\else 55mm\fi} +\XESPDputOnStyle{formI}{frame}{\XESPDdrawFrame} +\XESPDputOnStyle{formI}{stamp}{\XESPDdrawStampI} +\ifXESPD@enable@columns@xix + \XESPDputOnStyle{formI}{columnsxix}{\XESPDdrawColumnsXIX} +\fi +\ifXESPD@enable@columns@xxiv + \XESPDputOnStyle{formI}{columnsxxiv}{\XESPDdrawColumnsXXIV} +\fi +\ifXESPD@enable@column@xxvi + \XESPDputOnStyle{formI}{columnxxvi}{\XESPDdrawColumnXXVI} +\fi +\ifXESPD@enable@columns@xxvii + \XESPDputOnStyle{formI}{columnsxxvii}{\XESPDdrawColumnsXXVIIi} +\fi +\ifXESPD@enable@column@xxxi + \XESPDputOnStyle{formI}{columnxxxi}{\XESPDdrawColumnXXXI} +\fi +\ifXESPD@enable@column@xxxii + \XESPDputOnStyle{formI}{columnxxxii}{\XESPDdrawColumnXXXII} +\fi +\ifXESPD@enable@column@xxxiii + \XESPDputOnStyle{formI}{columnxxxiii}{\XESPDdrawColumnXXXIII} +\fi +\ifXESPD@enable@column@xxxiv + \XESPDputOnStyle{formI}{columnxxxiv}{\XESPDdrawColumnXXXIV} +\fi +\ifXESPD@zonelabels% + \XESPDputOnStyle{formI}{zonelabels}{\XESPDdrawZoneLabelsI} +\fi + +\XESPDnewStyle{formII}{\ifXESPD@enable@columns@xxvii 62mm\else 40mm\fi} +\XESPDputOnStyle{formII}{frame}{\XESPDdrawFrame} +\XESPDputOnStyle{formII}{stamp}{\XESPDdrawStampII} +\ifXESPD@enable@columns@xix + \XESPDputOnStyle{formII}{columnsxix}{\XESPDdrawColumnsXIX} +\fi +\ifXESPD@enable@columns@xxiv + \XESPDputOnStyle{formII}{columnsxxiv}{\XESPDdrawColumnsXXIV} +\fi +\ifXESPD@enable@columns@xxvii + \XESPDputOnStyle{formII}{columnsxxvii}{\XESPDdrawColumnsXXVIIii} +\fi +\ifXESPD@enable@column@xxxi + \XESPDputOnStyle{formII}{columnxxxi}{\XESPDdrawColumnXXXI} +\fi +\ifXESPD@enable@column@xxxii + \XESPDputOnStyle{formII}{columnxxxii}{\XESPDdrawColumnXXXII} +\fi + +\XESPDnewStyle{formIIab}{15mm} +\XESPDputOnStyle{formIIab}{frame}{\XESPDdrawFrame} +\XESPDputOnStyle{formIIab}{stamp}{% + \ifXESPD@twoside% + \ifodd\c@page\XESPDdrawStampIIa\else\XESPDdrawStampIIb\fi% + \else\XESPDdrawStampIIa\fi} +\ifXESPD@enable@columns@xix + \XESPDputOnStyle{formIIab}{columnsxix}{% + \ifXESPD@twoside\ifodd\c@page\XESPDdrawColumnsXIX\fi% + \else\XESPDdrawColumnsXIX\fi} +\fi +\ifXESPD@enable@column@xxxi + \XESPDputOnStyle{formIIab}{columnxxxi}{\XESPDdrawColumnXXXI} +\fi +\ifXESPD@enable@column@xxxii + \XESPDputOnStyle{formIIab}{columnxxxii}{\XESPDdrawColumnXXXII} +\fi +\ifXESPD@zonelabels + \XESPDputOnStyle{formIIab}{zonelabels}{\XESPDdrawZoneLabelsII} +\fi + +\XESPDnewStyle{xespdtitle}{0mm} +\ifXESPD@enable@columns@xix + \XESPDputOnStyle{xespdtitle}{columnsxix}{\XESPDdrawColumnsXIX} +\fi + +\newlength{\XESPD@curpad@h} +\newlength{\XESPD@curpad@v} +\setlength{\XESPD@curpad@h}{\XESPD@padding@h} +\setlength{\XESPD@curpad@v}{\XESPD@padding@v} + +\RequirePackage{everyshi} +\def\XESPD@curstyle{} +\def\XESPD@thisstyle{} +\def\XESPD@extra@Hook{} +\def\XESPD@extra@ThisHook{} +\newcommand{\XESPD@ShipoutPicture}{% + \bgroup + \ifXESPD@twoside + \ifodd\c@page + \XESPDframeX=\XESPD@margin@si + \else + \XESPDframeX=\XESPD@margin@so + \fi + \else + \XESPDframeX=\XESPD@margin@si + \fi + \XESPDframeY=\XESPD@margin@b + \XESPDstampX=\XESPDframeX + \advance\XESPDstampX \XESPDframeW + \advance\XESPDstampX -185mm + \XESPDstampY=\XESPDframeY + \unitlength=1mm + \global\setbox\@cclv\vbox{% + \vbox{\let\protect\relax + \begin{picture}(0,0)(\XESPDltu{\XESPD@origin@x},\XESPDltu{\XESPD@origin@y})% + \ifx\XESPD@thisstyle\@empty + \let\XESPD@thisstyle\XESPD@curstyle + \fi + \loop + \ifnum \XESPD@hash@pos{@style@draw@\XESPD@thisstyle} % + < \XESPD@hash@count{@style@draw@\XESPD@thisstyle} + \XESPD@hash@next@value{@style@draw@\XESPD@thisstyle}\relax + \repeat + \ifx\XESPD@extra@ThisHook\@empty% + \XESPD@extra@Hook\else\XESPD@extra@ThisHook% + \fi% + \global\let\XESPD@thisstyle\@empty% + \global\let\XESPD@extra@ThisHook\@empty% + \end{picture}}% + \nointerlineskip% + \box\@cclv}% + \egroup +} +\EveryShipout{\XESPD@ShipoutPicture} + +\RequirePackage{chngpage} +\RequirePackage{ifpdf} + +% \XESPD@tmpdima --- width +% \XESPD@tmpdimb --- height +\newcommand{\XESPDstyle}[1]{% +\pagestyle{empty}% +\def\XESPD@curstyle{#1}% +\ifpdf% + \setlength{\XESPD@tmpdimb}{\pdfpageheight}% + \setlength{\XESPD@tmpdima}{\pdfpagewidth}% +\else% + \setlength{\XESPD@tmpdima}{\paperwidth}% + \setlength{\XESPD@tmpdimb}{\paperheight}% +\fi% +\changetext{\XESPD@tmpdimb-\XESPD@margin@t-\XESPD@margin@b-2\XESPD@curpad@v% + \expandafter-\@nameuse{XESPD@style@sh@\ifXESPD@ignstamp empty\else #1\fi}-\textheight}% + {\XESPD@tmpdima-\XESPD@margin@si-\XESPD@margin@so-2\XESPD@padding@h-\textwidth}{}{}{}% +\let\XESPD@thisstyle\@empty} + +\newcommand{\XESPDthisStyle}[1]{% +\thispagestyle{empty}% +\def\XESPD@thisstyle{#1}% +\ifpdf% + \setlength{\XESPD@tmpdimb}{\pdfpageheight}% +\else% + \setlength{\XESPD@tmpdimb}{\paperheight}% +\fi% +\setlength{\vsize}{\XESPD@tmpdimb-\XESPD@margin@t-\XESPD@margin@b-2\XESPD@curpad@v% + \expandafter-\@nameuse{XESPD@style@sh@\ifXESPD@ignstamp empty\else #1\fi}}% +\setlength{\@colht}{\vsize}\setlength{\@colroom}{\vsize}} + +\newcommand{\XESPDput}[1]{\def\XESPD@extra@Hook{#1}} +\newcommand{\XESPDthisPut}[1]{\def\XESPD@extra@ThisHook{#1}} + +\newcommand{\XESPDclearDoublePage}{% + \ifXESPD@twoside% + \clearpage% + \ifodd\c@page\else\XESPDthisStyle{empty}\rule{0mm}{0mm}\newpage\fi% + \else\clearpage\fi} + +\XESPDstyle{\XESPD@default@style@other} +\AtBeginDocument{% + \ifx\XESPD@default@style@first\XESPD@default@style@other\else + \XESPDthisStyle{\XESPD@default@style@first}% + \fi} + +\newcommand{\XESPDdefaultTitleStyle}[1]{% + \renewcommand{\XESPD@default@style@title}{#1}} +\newcommand{\XESPDdefaultFirstStyle}[1]{% + \renewcommand{\XESPD@default@style@first}{#1}} +\newcommand{\XESPDdefaultStyle}[1]{% + \renewcommand{\XESPD@default@style@other}{#1}% + \XESPDstyle{#1}} + +\newcommand{\XESPDsetPadding}[2]{% + \changepage{% + 2\XESPD@curpad@v-#2-#2}{% + 2\XESPD@curpad@h-#1-#1}{% + #1-\XESPD@curpad@h}{% + #1-\XESPD@curpad@h}{}{% + #2-\XESPD@curpad@v}{}{}{} + \setlength{\XESPD@curpad@h}{#1} + \setlength{\XESPD@curpad@v}{#2} + \edef\XESPD@tmpcmda{\XESPD@thisstyle} + \ifx\XESPD@tmpcmda\@empty\else + \XESPDthisStyle{\XESPD@tmpcmda} + \fi} + +\newenvironment{XESPDpadding}[2]{% + \newpage\XESPDsetPadding{#1}{#2}}{% + \clearpage\XESPDsetPadding{\XESPD@padding@h}{\XESPD@padding@v}} + +\newenvironment{XESPDzeroPadding}{% + \begin{XESPDpadding}{0mm}{0mm}}{\end{XESPDpadding}} + +\RequirePackage{xespdinfo} + +\newcommand{\XESPDtheColumnI}{\XESPDtheTitle\par\XESPDtheDocName} +\newcommand{\XESPDcolumnI}[1]{\renewcommand{\XESPDtheColumnI}{#1}} +\newcommand{\XESPDtheColumnII}{\XESPDtheSignature} +\newcommand{\XESPDcolumnII}[1]{\renewcommand{\XESPDtheColumnII}{#1}} +\newcommand{\XESPDtheColumnIII}{\XESPDtheMaterial} +\newcommand{\XESPDcolumnIII}[1]{\renewcommand{\XESPDtheColumnIII}{#1}} +\newcommand{\XESPDtheColumnIVfI}{\XESPDtheLetterI} +\newcommand{\XESPDcolumnIVfI}[1]{\renewcommand{\XESPDtheColumnIVfI}{#1}} +\newcommand{\XESPDtheColumnIVfII}{\XESPDtheLetterII} +\newcommand{\XESPDcolumnIVfII}[1]{\renewcommand{\XESPDtheColumnIVfII}{#1}} +\newcommand{\XESPDtheColumnIVfIII}{\XESPDtheLetterIII} +\newcommand{\XESPDcolumnIVfIII}[1]{\renewcommand{\XESPDtheColumnIVfIII}{#1}} +\newcommand{\XESPDtheColumnV}{\XESPDtheMass} +\newcommand{\XESPDcolumnV}[1]{\renewcommand{\XESPDtheColumnV}{#1}} +\newcommand{\XESPDtheColumnVI}{\XESPDtheScale} +\newcommand{\XESPDcolumnVI}[1]{\renewcommand{\XESPDtheColumnVI}{#1}} +\newcommand{\XESPDtheColumnIX}{\XESPDtheGroup} +\newcommand{\XESPDcolumnIX}[1]{\renewcommand{\XESPDtheColumnIX}{#1}} +\newcommand{\XESPDtheColumnXIfI}{\XESPDtheAuthor} +\newcommand{\XESPDcolumnXIfI}[1]{\renewcommand{\XESPDtheColumnXIfI}{#1}} +\newcommand{\XESPDtheColumnXIfII}{\XESPDtheChecker} +\newcommand{\XESPDcolumnXIfII}[1]{\renewcommand{\XESPDtheColumnXIfII}{#1}} +\newcommand{\XESPDtheColumnXIfIII}{} +\newcommand{\XESPDcolumnXIfIII}[1]{\renewcommand{\XESPDtheColumnXIfIII}{#1}} +\newcommand{\XESPDtheColumnXIfIV}{} +\newcommand{\XESPDcolumnXIfIV}[1]{\renewcommand{\XESPDtheColumnXIfIV}{#1}} +\newcommand{\XESPDtheColumnXIfV}{\XESPDtheNormContr} +\newcommand{\XESPDcolumnXIfV}[1]{\renewcommand{\XESPDtheColumnXIfV}{#1}} +\newcommand{\XESPDtheColumnXIfVI}{\XESPDtheApprovedBy} +\newcommand{\XESPDcolumnXIfVI}[1]{\renewcommand{\XESPDtheColumnXIfVI}{#1}} +\newcommand{\XESPDtheColumnXIX}{} +\newcommand{\XESPDcolumnXIX}[1]{\renewcommand{\XESPDtheColumnXIX}{#1}} +\newcommand{\XESPDtheColumnXXI}{} +\newcommand{\XESPDcolumnXXI}[1]{\renewcommand{\XESPDtheColumnXXI}{#1}} +\newcommand{\XESPDtheColumnXXII}{} +\newcommand{\XESPDcolumnXXII}[1]{\renewcommand{\XESPDtheColumnXXII}{#1}} +\newcommand{\XESPDtheColumnXXIV}{} +\newcommand{\XESPDcolumnXXIV}[1]{\renewcommand{\XESPDtheColumnXXIV}{#1}} +\newcommand{\XESPDtheColumnXXV}{} +\newcommand{\XESPDcolumnXXV}[1]{\renewcommand{\XESPDtheColumnXXV}{#1}} +\newcommand{\XESPDtheColumnXXVII}{} +\newcommand{\XESPDcolumnXXVII}[1]{\renewcommand{\XESPDtheColumnXXVII}{#1}} +\newcommand{\XESPDtheColumnXXVIII}{} +\newcommand{\XESPDcolumnXXVIII}[1]{\renewcommand{\XESPDtheColumnXXVIII}{#1}} +\newcommand{\XESPDtheColumnXXIX}{} +\newcommand{\XESPDcolumnXXIX}[1]{\renewcommand{\XESPDtheColumnXXIX}{#1}} +\newcommand{\XESPDtheColumnXXX}{} +\newcommand{\XESPDcolumnXXX}[1]{\renewcommand{\XESPDtheColumnXXX}{#1}} +\newcommand{\XESPDtheColumnXXXII}{\@nameuse{XESPD\XESPD@paper FormatName}} +\newcommand{\XESPDcolumnXXXII}[1]{\renewcommand{\XESPDtheColumnXXXII}{#1}} +\newcommand{\XESPDtheColumnXXXIV}{} +\newcommand{\XESPDcolumnXXXIV}[1]{\renewcommand{\XESPDtheColumnXXXIV}{#1}} + diff --git a/xespdtab.cls b/xespdtab.cls new file mode 100644 index 0000000..3619a88 --- /dev/null +++ b/xespdtab.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{xespdtab}[2010/01/14 v0.98 Tabular Documentation] + +\DeclareOption{russian}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{ukrainian}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{koi8-r}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{koi8-u}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{cp1251}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{iso8859-5}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{cp866}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{utf-8}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{utf8}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{twoside}{% + \PassOptionsToClass{\CurrentOption}{article}% + \PassOptionsToPackage{\CurrentOption}{xespdstamp}} +\DeclareOption{draft}{\PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{formI}{% + \ClassError{xespdtext}{formI style is for graphical documentaion}{}} +\DeclareOption{zonelabels}{% + \ClassError{xespdtext}{Zone labels is not allowed for tabular documentaion}{}} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xespdstamp}} + +\ProcessOptions\relax + +\LoadClass{article} +\RequirePackage{xespdlang} +\RequirePackage[a4paper,formII]{xespdstamp} +\RequirePackage{xespdinfo} + diff --git a/xespdtext.cls b/xespdtext.cls new file mode 100644 index 0000000..ca0cf4d --- /dev/null +++ b/xespdtext.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{xespdtext}[2010/01/14 v0.98 Textual Documentation] + +\newcommand{\XESPD@docfont}{14pt} +\newcommand{\XESPD@float@style}{single} +\newcommand{\XESPD@equation@style}{single} + +\DeclareOption{russian}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{ukrainian}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{koi8-r}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{koi8-u}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{cp1251}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{iso8859-5}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{cp866}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{utf-8}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{utf8}{\PassOptionsToPackage{\CurrentOption}{xespdlang}} +\DeclareOption{12pt}{\renewcommand{\XESPD@docfont}{12pt}} +\DeclareOption{14pt}{\renewcommand{\XESPD@docfont}{14pt}} +\DeclareOption{pointsingle}{\PassOptionsToPackage{\CurrentOption}{xespdsect}} +\DeclareOption{pointsection}{\PassOptionsToPackage{\CurrentOption}{xespdsect}} +\DeclareOption{pointsubsection}{\PassOptionsToPackage{\CurrentOption}{xespdsect}} +\DeclareOption{floatsingle}{\renewcommand{\XESPD@float@style}{single}} +\DeclareOption{floatsection}{\renewcommand{\XESPD@float@style}{section}} +\DeclareOption{floatsubsection}{\renewcommand{\XESPD@float@style}{subsection}} +\DeclareOption{equationsingle}{\renewcommand{\XESPD@equation@style}{single}} +\DeclareOption{equationsection}{\renewcommand{\XESPD@equation@style}{section}} +\DeclareOption{equationsubsection}{\renewcommand{\XESPD@equation@style}{subsection}} +\DeclareOption{footnotearabic}{\PassOptionsToPackage{\CurrentOption}{xespdfootnote}} +\DeclareOption{footnoteasterisk}{\PassOptionsToPackage{\CurrentOption}{xespdfootnote}} +\DeclareOption{twoside}{% + \PassOptionsToClass{\CurrentOption}{extarticle}% + \PassOptionsToPackage{\CurrentOption}{xespdstamp}} +\DeclareOption{draft}{\PassOptionsToClass{\CurrentOption}{extarticle}} +\DeclareOption{formI}{% + \ClassError{xespdtext}{formI style is for graphical documentaion}{}} +\DeclareOption{zonelabels}{% + \ClassError{xespdtext}{Zone labels is not allowed for textual documentaion}{}} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xespdstamp}} + +\ProcessOptions\relax + +\LoadClass[\XESPD@docfont]{extarticle} +\RequirePackage{xespdlang} +\RequirePackage[a4paper,xespd]{xespdstamp} +\RequirePackage{xespdindent} +\RequirePackage{xespdlist} +\RequirePackage{xespdsect} +\RequirePackage{xespdcap} +\RequirePackage{xespdfootnote} +\RequirePackage{xespdbiblist} +\RequirePackage{xespdexplan} +\RequirePackage{xespdinfo} +\RequirePackage{xespdtitlebase} +\RequirePackage{xespdtitle} + +\linespread{1.25} + +\newcommand{\XESPD@float@style@single}{} + +\newcommand{\XESPD@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{\XESPD@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{XESPD@float@style@\XESPD@float@style} + +\newcommand{\XESPD@equation@style@single}{} + +\newcommand{\XESPD@equation@style@section}{ + \@addtoreset{equation}{section} + \renewcommand{\theequation}{% + \ifnum \c@section>\z@ \thesection.\fi \arabic{equation}}} + +\newcommand{\XESPD@equation@style@subsection}{ + \@addtoreset{equation}{subsection} + \renewcommand{\theequation}{% + \ifnum \c@subsection>\z@ \thesubsection.\fi \arabic{equation}}} + +\@nameuse{XESPD@equation@style@\XESPD@equation@style} + diff --git a/xespdtitle.sty b/xespdtitle.sty new file mode 100644 index 0000000..dbf68a6 --- /dev/null +++ b/xespdtitle.sty @@ -0,0 +1,153 @@ +% 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{xespdtitle}[2010/01/14 v0.98 Title GOST 2.105] + +\RequirePackage{xespdstamp} +\RequirePackage{xespdlang} +\RequirePackage{xespdinfo} +\RequirePackage{xespdtotal} +\RequirePackage{xespdtitlebase} +\RequirePackage{ifthen} + +\newcommand{\XESPD@title@split@field}[2]{% + \parbox[t]{.4\hsize}{\raggedright#1}\hfill + \parbox[t]{.4\hsize}{\raggedright#2}} + +\renewcommand{\XESPDtheTitleFieldI}{% + \XESPDtheDepartment\par\XESPDtheCompany} + +\def\XESPDtheTitleFieldIIl{} +\renewcommand{\XESPDtheTitleFieldIIl}{% + \XESPDtheClassCode} +\def\XESPDtheTitleFieldIIr{} +\renewcommand{\XESPDtheTitleFieldIIr}{} +\renewcommand{\XESPDtheTitleFieldII}{% + \XESPD@title@split@field{\XESPDtheTitleFieldIIl}{\XESPDtheTitleFieldIIr}} + +\def\XESPDtheTitleFieldIIIl{} +\renewcommand{\XESPDtheTitleFieldIIIl}{% + \ifx\XESPD@title@approving@sheet\@undefined + \expandafter\ifx\csname XESPD@title@agreed@name@1\endcsname\relax\else + \text{\MakeUppercase{\XESPDagreedName}}\\ + \XESPD@title@make@stamp{agreed}{1} + \fi + \else + \textrm{\MakeUppercase{\XESPDapprovedName}}\\ + \XESPD@title@approving@sheet + \fi} +\def\XESPDtheTitleFieldIIIr{} +\renewcommand{\XESPDtheTitleFieldIIIr}{% + \ifx\XESPD@title@approving@sheet\@undefined + \expandafter\ifx\csname XESPD@title@approved@name@1\endcsname\relax\else + \text{\MakeUppercase{\XESPDapprovingName}}\\ + \XESPD@title@make@stamp{approved}{1} + \fi + \fi} +\renewcommand{\XESPDtheTitleFieldIII}{% + \XESPD@title@split@field{\XESPDtheTitleFieldIIIl}{\XESPDtheTitleFieldIIIr}} + +\renewcommand{\XESPDtheTitleFieldIV}{% + {\MakeUppercase{\XESPDtheTitle}\par\XESPDtheDocName}% +} + +\renewcommand{\XESPDtheTitleFieldV}{} + +\renewcommand{\XESPDtheTitleFieldVI}{% + \MakeUppercase{\XESPDtheSignature}} + +\renewcommand{\XESPDtheTitleFieldVIa}{% + {\XESPDtheFileName}} + +%\renewcommand{\XESPDtheTitleFieldVII}{} +\renewcommand{\XESPDtheTitleFieldVII}{\normalfont\cyr\CYRL\cyri\cyrs\cyrt\cyro\cyrv\ \XESPDtotal{page}} + +\def\XESPDtheTitleFieldVIIIl{} +\renewcommand{\XESPDtheTitleFieldVIIIl}{% + \ifx\XESPD@title@approving@sheet\@undefined + \XESPD@tmpcnta = 1 + \loop + \ifnum \XESPD@tmpcnta < \XESPD@title@agreed@cnt + \advance \XESPD@tmpcnta 1 + \XESPD@title@make@stamp{agreed}{\number\XESPD@tmpcnta} + \par\vspace{5mm} + \repeat + \fi} +\def\XESPDtheTitleFieldVIIIr{} +\renewcommand{\XESPDtheTitleFieldVIIIr}{% + \ifx\XESPD@title@approving@sheet\@undefined + \XESPD@tmpcnta = 0 + \loop + \ifnum \XESPD@tmpcnta < \XESPD@title@designed@cnt + \advance \XESPD@tmpcnta 1 + \XESPD@title@make@stamp{designed}{\number\XESPD@tmpcnta} + \par\vspace{5mm} + \repeat + \fi} +\renewcommand{\XESPDtheTitleFieldVIII}{% + \XESPD@title@split@field{\XESPDtheTitleFieldVIIIl}{\XESPDtheTitleFieldVIIIr}} + +\renewcommand{\XESPDtheTitleFieldX}{\XESPDtheYear} +\renewcommand{\XESPDtheTitleFieldXI}{\cyr\CYRL\cyri\cyrt\cyre\cyrr\cyra} + +\renewcommand{\XESPDtitleFontI}{\XESPDfontV} +\renewcommand{\XESPDtitleFontII}{\XESPDfontV} +\renewcommand{\XESPDtitleFontIII}{\XESPDfontV} +\renewcommand{\XESPDtitleFontIV}{\XESPDfontV} +\renewcommand{\XESPDtitleFontV}{\XESPDfontV} +\renewcommand{\XESPDtitleFontVI}{\XESPDfontV} +\renewcommand{\XESPDtitleFontVIa}{\XESPDfontV} +\renewcommand{\XESPDtitleFontVII}{\XESPDfontV} +\renewcommand{\XESPDtitleFontVIII}{\XESPDfontV} +\renewcommand{\XESPDtitleFontX}{\XESPDfontV} +\renewcommand{\XESPDtitleFontXI}{\XESPDfontV} + +\renewcommand{\maketitle}{% + \begin{XESPDtitlePage} + \setlength{\topsep}{0mm} + \noindent + \parbox[c][.28\vsize][t]{\hsize}{% +% \vspace{5mm \@plus 15mm \@minus 3mm} +% \begin{center}\XESPDtitleFontI\bfseries\XESPDtheTitleFieldI\end{center} +% \vspace{5mm \@plus 15mm \@minus 3mm} +% \begin{center}\XESPDtitleFontII\XESPDtheTitleFieldII\end{center}} + \vspace{5mm \@plus 15mm \@minus 3mm} + \begin{center}\XESPDtitleFontIII\XESPDtheTitleFieldIII\end{center}} + \par\vspace{10mm \@plus 2mm \@minus 4mm}\noindent + \parbox[c][.30\vsize][t]{\hsize}{% + \ifthenelse{\equal{\XESPDtheTitleFieldIV}{}}{} + {\begin{center}\XESPDtitleFontIV\XESPDtheTitleFieldIV\end{center}} + \ifthenelse{\equal{\XESPDtheTitleFieldV}{}}{} + {\begin{center}\XESPDtitleFontV\XESPDtheTitleFieldV\end{center}} + \ifthenelse{\equal{\XESPDtheTitleFieldVI}{}}{} + {\begin{center}\XESPDtitleFontVI\XESPDtheTitleFieldVI\end{center}} + \ifthenelse{\equal{\XESPDtheTitleFieldVIa}{}}{} + {\begin{center}\XESPDtitleFontVI\XESPDtheTitleFieldVIa\end{center}} + \ifthenelse{\equal{\XESPDtheTitleFieldVII}{}}{} + {\begin{center}\XESPDtitleFontVII\XESPDtheTitleFieldVII\end{center}}} + \par\vspace{4mm \@plus 2mm \@minus 2mm}\noindent + \begin{center}\XESPDtitleFontVIII\XESPDtheTitleFieldVIII\end{center} + \vfill + \begin{center}\XESPDtitleFontX\XESPDtheTitleFieldX\end{center} + \begin{flushright}\XESPDtitleFontXI\XESPDtheTitleFieldXI\hspace{20mm}\enspace\end{flushright}% Литера + \end{XESPDtitlePage}} + diff --git a/xespdtitlebase.sty b/xespdtitlebase.sty new file mode 100644 index 0000000..a1d754e --- /dev/null +++ b/xespdtitlebase.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{xespdtitlebase}[2010/01/14 v0.98 Base Title Commands] + +\newcommand{\XESPDtitleApprovedBy}[2]{% + \@namedef{XESPD@title@approved@post@1}{#1} + \@namedef{XESPD@title@approved@name@1}{#2}} + +\newcount\XESPD@title@agreed@cnt +\newcount\XESPD@title@designed@cnt +\XESPD@title@agreed@cnt = 0 +\XESPD@title@designed@cnt = 0 + +\newcommand{\XESPDtitleAgreedBy}[2]{% + \advance \XESPD@title@agreed@cnt 1 + \@namedef{XESPD@title@agreed@post@\number\XESPD@title@agreed@cnt}{#1} + \@namedef{XESPD@title@agreed@name@\number\XESPD@title@agreed@cnt}{#2}} + +\newcommand{\XESPDtitleDesignedBy}[2]{% + \advance \XESPD@title@designed@cnt 1 + \@namedef{XESPD@title@designed@post@\number\XESPD@title@designed@cnt}{#1} + \@namedef{XESPD@title@designed@name@\number\XESPD@title@designed@cnt}{#2}} + +\let\XESPD@title@approving@sheet\@undefinded +\newcommand{\XESPDtitleApprovingSheet}[1]{% + \def\XESPD@title@approving@sheet{#1}} + +\newcommand{\XESPDtitleMakeStamp}[2]{#1\\\rule{2cm}{.1mm}\ #2\\ +``\rule{.8cm}{.1mm}'' \rule{2.3cm}{.1mm}\ \rule{1.5cm}{.1mm}} + +\newcommand{\XESPD@title@make@stamp}[2]{% + \XESPDtitleMakeStamp{% + \@nameuse{XESPD@title@#1@post@#2}}{% + \@nameuse{XESPD@title@#1@name@#2}}} + +\newcommand{\XESPDtheTitleFieldI}{} +\newcommand{\XESPDtheTitleFieldII}{} +\newcommand{\XESPDtheTitleFieldIII}{} +\newcommand{\XESPDtheTitleFieldIV}{} +\newcommand{\XESPDtheTitleFieldV}{} +\newcommand{\XESPDtheTitleFieldVI}{} +\newcommand{\XESPDtheTitleFieldVIa}{} +\newcommand{\XESPDtheTitleFieldVII}{} +\newcommand{\XESPDtheTitleFieldVIII}{} +\newcommand{\XESPDtheTitleFieldIX}{} +\newcommand{\XESPDtheTitleFieldX}{} +\newcommand{\XESPDtheTitleFieldXI}{} +\newcommand{\XESPDtitleFontI}{} +\newcommand{\XESPDtitleFontII}{} +\newcommand{\XESPDtitleFontIII}{} +\newcommand{\XESPDtitleFontIV}{} +\newcommand{\XESPDtitleFontV}{} +\newcommand{\XESPDtitleFontVI}{} +\newcommand{\XESPDtitleFontVIa}{} +\newcommand{\XESPDtitleFontVII}{} +\newcommand{\XESPDtitleFontVIII}{} +\newcommand{\XESPDtitleFontIX}{} +\newcommand{\XESPDtitleFontX}{} +\newcommand{\XESPDtitleFontXI}{} + +\def\XESPD@title@after@page{% + \XESPDclearDoublePage + \XESPDstyle{\XESPD@default@style@other} + \XESPDthisStyle{\XESPD@default@style@first}} + +% ### Выравнивание титульной страницы +\newenvironment{XESPDtitlePage}{% + \begin{XESPDpadding}{0mm}{5mm} + \XESPDstyle{\XESPD@default@style@title}}{% + \end{XESPDpadding} + \aftergroup\XESPD@title@after@page} + diff --git a/xespdtotal.sty b/xespdtotal.sty new file mode 100644 index 0000000..4c55fc8 --- /dev/null +++ b/xespdtotal.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{xespdtotal}[2010/01/14 v0.98 Total number of tables, figures, etc] + +\RequirePackage{xespdsect} + +\let\XESPD@old@caption\@caption +\let\XESPD@old@bibitem\bibitem + +\newcounter{XESPD@figure} +\newcounter{XESPD@table} +\newcounter{XESPD@bibitem} + +\long\def\@caption#1[#2]#3{% + \stepcounter{XESPD@#1}% + \XESPD@old@caption{#1}[#2]{#3}} + +\long\def\bibitem{% + \stepcounter{XESPD@bibitem}% + \XESPD@old@bibitem} + +\def\XESPD@total@save#1#2{% + \immediate\write\@auxout{% + \string\gdef\string\XESPD@total@saved@\string#1{\arabic{#2}}}} + +\AtEndDocument{% + \XESPD@total@save{figure}{XESPD@figure} + \XESPD@total@save{table}{XESPD@table} + \XESPD@total@save{bibitem}{XESPD@bibitem} + \XESPD@total@save{appendix}{appendix} + \clearpage + \addtocounter{page}{-1} + \XESPD@total@save{page}{page} + \addtocounter{page}{1}} + +\newcommand{\XESPDtotal}[1]{% + \@ifundefined{XESPD@total@saved@#1}{?}{% + \@nameuse{XESPD@total@saved@#1}}} + diff --git a/xespdtz.sty b/xespdtz.sty new file mode 100644 index 0000000..58ea7c5 --- /dev/null +++ b/xespdtz.sty @@ -0,0 +1,18 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{xespdtz}[2018/09/14 v0.98 Document Information] +\RequirePackage{kvoptions} +\RequirePackage[numbertop,numbercenter]{xespdplain} + +\DeclareStringOption{project} +\ProcessKeyvalOptions* + +\renewcommand{\XESPDtheTitleFieldVII}{} +\renewcommand{\XESPDtheTitleFieldXI}{} +\renewcommand{\XESPDtheTitleFieldIV}{% + {\MakeUppercase{\espdtz@project} + \vspace{3pt} + \par\XESPDtheDocName + \vspace{3pt} + \par\cyrk\cyro\cyrm\cyrp\cyrl\cyre\cyrk\cyrs\cyra\ \cyrp\cyrr\cyro\cyrg\cyrr\cyra\cyrm\cyrm\ \XESPDtheTitle}% +} + diff --git a/xespdukrainian.def b/xespdukrainian.def new file mode 100644 index 0000000..8624cd3 --- /dev/null +++ b/xespdukrainian.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{xespdukrainian.def}[2010/01/17 v0.98 Language File] + +\newcommand{\XESPDcolumnIVname}{% + \cyr\CYRL\cyri\cyrt.} +\newcommand{\XESPDcolumnVname}{% + \cyr\CYRM\cyra\cyrs\cyra} +\newcommand{\XESPDcolumnVIname}{% + \cyr\CYRM\cyra\cyrs\cyrsh\cyrt\cyra\cyrb} +\newcommand{\XESPDcolumnVIIname}{% + \cyr\CYRA\cyrr\cyrk\cyru\cyrsh} +\newcommand{\XESPDcolumnVIItwosideName}{% + \cyr\CYRS\cyrt\cyro\cyrr.} +\newcommand{\XESPDcolumnVIIIname}{% + \cyr\CYRA\cyrr\cyrk\cyru\cyrsh\cyrii\cyrv} +\newcommand{\XESPDcolumnVIIItwosideName}{% + \cyr\CYRS\cyrt\cyro\cyrr\cyrii\cyrn\cyro\cyrk} +\newcommand{\XESPDcolumnXfIname}{% + \cyr\CYRR\cyro\cyrz\cyrr\cyro\cyrb\cyri\cyrv} +\newcommand{\XESPDcolumnXfIIname}{% + \cyr\CYRP\cyre\cyrr\cyre\cyrv\cyrii\cyrr\cyri\cyrv} +\newcommand{\XESPDcolumnXfIIIname}{% + \cyr\CYRT. \cyrk\cyro\cyrn\cyrt\cyrr.} +\newcommand{\XESPDcolumnXfIVname}{} +\newcommand{\XESPDcolumnXfVname}{% + \cyr\CYRN. \cyrk\cyro\cyrn\cyrt\cyrr.} +\newcommand{\XESPDcolumnXfVIname}{% + \cyr\CYRZ\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyri\cyrv} +\newcommand{\XESPDcolumnXIVname}{% + \cyr\CYRZ\cyrm.} +\newcommand{\XESPDcolumnXVname}{% + \cyr\CYRL\cyri\cyrs\cyrt} +\newcommand{\XESPDcolumnXVIname}{% + \textnumero\ \cyr\cyrd\cyro\cyrk\cyru\cyrm.} +\newcommand{\XESPDcolumnXVIIname}{% + \cyr\CYRP\cyrii\cyrd\cyrp.} +\newcommand{\XESPDcolumnXVIIIname}{% + \cyr\CYRD\cyra\cyrt\cyra} +\newcommand{\XESPDcolumnXIXname}{% + \cyr\CYRII\cyrn\cyrv. \textnumero\ \cyro\cyrr\cyrii\cyrg.} +\newcommand{\XESPDcolumnXXname}{% + \cyr\CYRP\cyrii\cyrd\cyrp. \cyrii\ \cyrd\cyra\cyrt\cyra} +\newcommand{\XESPDcolumnXXIname}{% + \cyr\CYRV\cyrz\cyra\cyrm. \cyrii\cyrn\cyrv. \textnumero} +\newcommand{\XESPDcolumnXXIIname}{% + \cyr\CYRII\cyrn\cyrv. \textnumero\ \cyrd\cyru\cyrb\cyrl.} +\newcommand{\XESPDcolumnXXIIIname}{% + \cyr\CYRP\cyrii\cyrd\cyrp. \cyrii\ \cyrd\cyra\cyrt\cyra} +\newcommand{\XESPDcolumnXXIVname}{% + \cyr\CYRS\cyrp\cyrr\cyra\cyrv. \textnumero} +\newcommand{\XESPDcolumnXXVname}{% + \cyr\CYRP\cyre\cyrr\cyrsh. \cyrz\cyra\cyrs\cyrt.} +\newcommand{\XESPDcolumnXXXIname}{% + \cyr\CYRK\cyro\cyrp\cyrii\cyryu\cyrv\cyra\cyrv} +\@namedef{XESPDa0FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}0} +\@namedef{XESPDa1FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}1} +\@namedef{XESPDa2FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}2} +\@namedef{XESPDa3FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}3} +\@namedef{XESPDa4FormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}4} +\@namedef{XESPDemptyFormatName}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \ \ \ } +\newcommand{\XESPDcolumnXXXIIIname}{% + \cyr\CYRZ\cyro\cyrn\cyra} + +\newcommand{\XESPDagreedName}{% + \cyr\CYRP\cyro\cyrg\cyro\cyrd\cyrzh\cyre\cyrn\cyro} +\newcommand{\XESPDapprovingName}{% + \cyr\CYRZ\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyru\cyryu} +\newcommand{\XESPDapprovedName}{% + \cyr\CYRZ\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyro} +\newcommand{\XESPDapprovingSheetName}{% + \cyr\CYRL\cyri\cyrs\cyrt\ % + \cyrz\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn\cyrya} + +\newlength{\XESPDexplanWidth} +\setlength{\XESPDexplanWidth}{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{\XESPDspecColumnIname}{% + \cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt} +\newcommand{\XESPDspecColumnIIname}{% + \cyr\CYRZ\cyro\cyrn\cyra} +\newcommand{\XESPDspecColumnIIIname}{% + \cyr\CYRP\cyro\cyrz.} +\newcommand{\XESPDspecColumnIVname}{% + \cyr\CYRP\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya} +\newcommand{\XESPDspecColumnVname}{% + \cyr\CYRN\cyra\cyrishrt\cyrm\cyre\cyrn\cyru\cyrv\cyra\cyrn\cyrn\cyrya} +\newcommand{\XESPDspecColumnVIname}{% + \cyr\CYRK\cyrii\cyrl\cyrsftsn\cyrk.} +\newcommand{\XESPDspecColumnVIIname}{% + \cyr\CYRP\cyrr\cyri\cyrm\cyrii\cyrt\cyrk\cyra} + +\newcommand{\XESPDspecIIcolumnIname}{\XESPDspecColumnIname} +\newcommand{\XESPDspecIIcolumnIIname}{\XESPDspecColumnIIname} +\newcommand{\XESPDspecIIcolumnIIIname}{\XESPDspecColumnIIIname} +\newcommand{\XESPDspecIIcolumnIVname}{\XESPDspecColumnIVname} +\newcommand{\XESPDspecIIcolumnVname}{\XESPDspecColumnVname} +\newcommand{\XESPDspecIIcolumnVIname}{\XESPDspecColumnVIname} +\newcommand{\XESPDspecIIcolumnVIIname}{% + \cyr\CYRM\cyra\cyrs\cyra} +\newcommand{\XESPDspecIIcolumnVIIIname}{% + \cyr\CYRM\cyra\cyrt\cyre\cyrr\cyrii\cyra\cyrl} +\newcommand{\XESPDspecIIcolumnIXname}{\XESPDspecColumnVIIname} + +\newcommand{\XESPDchangeSheetName}{% + \cyr\CYRL\cyri\cyrs\cyrt\ % + \cyrr\cyre\cyrie\cyrs\cyrt\cyrr\cyra\cyrc\cyri\cyryi\ % + \cyrz\cyrm\cyrii\cyrn} +\newcommand{\XESPDchngColumnsIIhName}{% + \cyr\CYRN\cyro\cyrm\cyre\cyrr\cyri\ \cyra\cyrr\cyrk\cyru\cyrsh\cyrii\cyrv\ % + (\cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyro\cyrk)} +\newcommand{\XESPDchngColumnIIname}{% + \cyr\cyrz\cyrm\cyrii\-\cyrn\cyre\-\cyrn\cyri\cyrh} +\newcommand{\XESPDchngColumnIIIname}{% + \cyr\cyrz\cyra\-\cyrm\cyrii\-\cyrn\cyre\-\cyrn\cyri\cyrh} +\newcommand{\XESPDchngColumnIVname}{% + \cyr\cyrn\cyro\-\cyrv\cyri\cyrh} +\newcommand{\XESPDchngColumnVname}{% + \cyr\cyra\cyrn\cyru\-\cyrl\cyrsftsn\cyro\cyrv\cyra\-\cyrn\cyri\cyrh} +\newcommand{\XESPDchngColumnVIname}{% + \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{\XESPDchngColumnVIIIname}{% + \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} +