Всё переписано

This commit is contained in:
Andrei Astafev 2019-07-01 06:29:20 +03:00
parent eba5c97512
commit 4d0c770e61
33 changed files with 3991 additions and 0 deletions

58
xespdafterpkg.sty Normal file
View File

@ -0,0 +1,58 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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

73
xespdappsheet.sty Normal file
View File

@ -0,0 +1,73 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

45
xespdbiblist.sty Normal file
View File

@ -0,0 +1,45 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

37
xespdcap.sty Normal file
View File

@ -0,0 +1,37 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

97
xespdchngsheet.sty Normal file
View File

@ -0,0 +1,97 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}}

49
xespddstu.sty Normal file
View File

@ -0,0 +1,49 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}}

41
xespdexplan.sty Normal file
View File

@ -0,0 +1,41 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}}

103
xespdfont.sty Normal file
View File

@ -0,0 +1,103 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

82
xespdfootnote.sty Normal file
View File

@ -0,0 +1,82 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

58
xespdframe.sty Normal file
View File

@ -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}

176
xespdfreesize.sty Normal file
View File

@ -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}}

52
xespdgraph.cls Normal file
View File

@ -0,0 +1,52 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

60
xespdhash.sty Normal file
View File

@ -0,0 +1,60 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

27
xespdindent.sty Normal file
View File

@ -0,0 +1,27 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

102
xespdinfo.sty Normal file
View File

@ -0,0 +1,102 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}}

59
xespdlang.sty Normal file
View File

@ -0,0 +1,59 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

68
xespdlist.sty Normal file
View File

@ -0,0 +1,68 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

51
xespdpara.sty Normal file
View File

@ -0,0 +1,51 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}}

75
xespdplain.sty Normal file
View File

@ -0,0 +1,75 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

82
xespdprotocol.sty Normal file
View File

@ -0,0 +1,82 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}{}

117
xespdrtis.sty Normal file
View File

@ -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}}}}

183
xespdrussian.def Normal file
View File

@ -0,0 +1,183 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

232
xespdsect.sty Normal file
View File

@ -0,0 +1,232 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}{}

93
xespdspec.sty Normal file
View File

@ -0,0 +1,93 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}}

179
xespdspecii.sty Normal file
View File

@ -0,0 +1,179 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}}

1128
xespdstamp.sty Normal file

File diff suppressed because it is too large Load Diff

50
xespdtab.cls Normal file
View File

@ -0,0 +1,50 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

112
xespdtext.cls Normal file
View File

@ -0,0 +1,112 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

153
xespdtitle.sty Normal file
View File

@ -0,0 +1,153 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}}

92
xespdtitlebase.sty Normal file
View File

@ -0,0 +1,92 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}

59
xespdtotal.sty Normal file
View File

@ -0,0 +1,59 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}}}

18
xespdtz.sty Normal file
View File

@ -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}%
}

180
xespdukrainian.def Normal file
View File

@ -0,0 +1,180 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% 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}