Начало
This commit is contained in:
commit
016f19ce1e
58
xespdafterpkg.sty
Normal file
58
xespdafterpkg.sty
Normal 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}[2020/03/20 v1.00 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
73
xespdappsheet.sty
Normal 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}[2020/03/20 v1.00 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
45
xespdbiblist.sty
Normal 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}[2020/03/20 v1.00 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}
|
||||
|
155
xespdbom.sty
Normal file
155
xespdbom.sty
Normal file
@ -0,0 +1,155 @@
|
||||
% 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{xespdbom}[2010/03/08 v1.00 Bill of materials GOST 2.106-96]
|
||||
|
||||
\RequirePackage{xespdlang}
|
||||
\RequirePackage{xespdstamp}
|
||||
\RequirePackage{array}
|
||||
\RequirePackage{longtable}
|
||||
|
||||
|
||||
% зададим размеры колонок таблицы.
|
||||
\XESPDtabColumnsWidth{7mm 45mm 60mm 70mm 55mm 70mm 16mm 16mm 16mm 16mm 24mm}
|
||||
% высота шапки таблицы
|
||||
\setlength{\XESPDtabHeadH}{27mm}
|
||||
|
||||
|
||||
% дополнительные горизонтальный промежуток
|
||||
% для эстетичности
|
||||
\newlength{\XESPDbomAddHspace}
|
||||
\setlength{\XESPDbomAddHspace}{2mm}
|
||||
|
||||
% включим автоматическую нумерацию строк
|
||||
\XESPD@tab@first@column@enumtrue
|
||||
|
||||
% переопределим команду отрисовки шапки
|
||||
\renewcommand{\XESPDtabDrawHead}{
|
||||
\put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPDframeY}){%
|
||||
\begin{picture}(0,0)
|
||||
\setlength{\XESPD@tmpdima}{\XESPDframeH - \XESPDtabHeadH}
|
||||
|
||||
\linethickness{\XESPDlineThick}
|
||||
\put(0,\XESPDltu{\XESPD@tmpdima}){\line(1,0){\XESPDltu{\XESPDframeW}}}
|
||||
|
||||
\XESPD@tmpdimb=0mm
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \argi}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPDtabHeadH}}}
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \argii}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPDtabHeadH}}}
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \argiii}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPDtabHeadH}}}
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \argiv}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPDtabHeadH}}}
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \argv}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPDtabHeadH}}}
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \argvi}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPDtabHeadH}}}
|
||||
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \argvii}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{18mm}}}
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \argviii}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{18mm}}}
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \argix}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{18mm}}}
|
||||
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \argx}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPDtabHeadH}}}
|
||||
|
||||
\setlength{\XESPD@tmpdimb}{\argi + \argii + \argiii + \argvi + \argv + \argiv}
|
||||
\setlength{\XESPD@tmpdima}{\XESPD@tmpdima+18mm}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(1,0){\XESPDltu{64mm}}}
|
||||
|
||||
\end{picture}}}
|
||||
|
||||
|
||||
% окружение
|
||||
\newenvironment{XESPDbillOfMaterials}
|
||||
{\XESPDtabLTPreamble{%
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argi -2\tabcolsep}
|
||||
@{\hspace{\XESPDbomAddHspace}}
|
||||
>{\XESPDfontTabBody\raggedright\XESPDtabStrut}
|
||||
p{\argii -\XESPDbomAddHspace}
|
||||
<{\XESPDtabStrut}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argiii -2\tabcolsep}
|
||||
<{\XESPDtabStrut}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argiv -2\tabcolsep}
|
||||
<{\XESPDtabStrut}
|
||||
>{\XESPDfontTabBody\raggedright\XESPDtabStrut}
|
||||
p{\argv -2\tabcolsep}
|
||||
<{\XESPDtabStrut}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argvi -2\tabcolsep}
|
||||
<{\XESPDtabStrut}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argvii -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argviii -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argix -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argx -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\raggedright\XESPDtabStrut}
|
||||
p{\argxi -2\tabcolsep}
|
||||
<{\XESPDtabStrut}}
|
||||
%
|
||||
{%
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argi -2\tabcolsep}{\centering\begin{sideways}\XESPDfontTabHead%
|
||||
\XESPDbomColumnIname\end{sideways}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argii -\XESPDbomAddHspace}{\centering\XESPDfontTabHead%
|
||||
\hspace{-\XESPDbomAddHspace}%
|
||||
\strut\XESPDbomColumnIIname}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argiii -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\strut\XESPDbomColumnIIIname}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argiv -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\strut\XESPDbomColumnIVname}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argv -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\strut\XESPDbomColumnVname}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argvi -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\strut\XESPDbomColumnVIname}&
|
||||
\multicolumn{4}{c}{%
|
||||
\parbox{64mm -2\tabcolsep}{%
|
||||
\parbox[c][8mm][c]{64mm -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\strut\XESPDbomColumnsVIIhname}
|
||||
\parbox[c][17mm][c]{\argvii -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\XESPDbomColumnVIIname\strut}\hspace{2\tabcolsep}%
|
||||
\parbox[c][17mm][c]{\argviii -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\XESPDbomColumnVIIIname\strut}\hspace{2\tabcolsep}%
|
||||
\parbox[c][17mm][c]{\argix -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\XESPDbomColumnIXname\strut}\hspace{2\tabcolsep}%
|
||||
\parbox[c][17mm][c]{\argx -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\XESPDbomColumnXname\strut}}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argxi -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\strut\XESPDbomColumnXIname}
|
||||
\tabularnewline%
|
||||
}
|
||||
}
|
||||
%
|
||||
% прямо сюда вставится содержимое таблицы
|
||||
%
|
||||
{\XESPDtabLTAmble}
|
||||
|
||||
|
||||
|
33
xespdcap.sty
Normal file
33
xespdcap.sty
Normal file
@ -0,0 +1,33 @@
|
||||
% 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}[2020/03/20 v1.00 Captions]
|
||||
|
||||
\RequirePackage{caption}
|
||||
\DeclareCaptionLabelSeparator{dash}{ -- }
|
||||
\captionsetup[table]{%
|
||||
labelsep=dash,justification=raggedright,singlelinecheck=false,%
|
||||
aboveskip=3mm,belowskip=0mm}
|
||||
\captionsetup[figure]{%
|
||||
labelsep=dash,justification=centering,singlelinecheck=false,%
|
||||
aboveskip=0mm,belowskip=3mm}
|
||||
|
160
xespdchngsheet.sty
Normal file
160
xespdchngsheet.sty
Normal file
@ -0,0 +1,160 @@
|
||||
% 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}[2020/03/20 v1.00 Sheet of Changes GOST 2.503-90]
|
||||
|
||||
\RequirePackage{xespdlang}
|
||||
\RequirePackage{xespdstamp}
|
||||
\RequirePackage{array}
|
||||
\RequirePackage{longtable}
|
||||
\RequirePackage{multirow}
|
||||
|
||||
|
||||
% Окружение принимает один необязательный аргумент - размер шрифта таблицы.
|
||||
% По умолчанию он будет равен 10pt
|
||||
\newenvironment{XESPDchangeSheet}[1][10pt]{%
|
||||
|
||||
% Заголовок таблицы будет набран шрифтом 10pt
|
||||
\renewcommand{\XESPDfontTabHead}{%
|
||||
\fontsize{10pt}{12pt}\selectfont\XESPDfontShape}
|
||||
|
||||
% слегка растянем табличную подпорку для класса xespdtab
|
||||
\@ifundefined{XESPD@docfont}{\renewcommand{\arraystretch}{1.225}}{}%
|
||||
|
||||
\begin{XESPDzeroPadding}
|
||||
\XESPDclearDoublePage
|
||||
\setlength{\tabcolsep}{0.5mm}
|
||||
|
||||
\newlength{\XESPDchngColumnIwidth}
|
||||
\setlength{\XESPDchngColumnIwidth}{8mm}
|
||||
\newlength{\XESPDchngColumnIIwidth}
|
||||
\setlength{\XESPDchngColumnIIwidth}{20mm}
|
||||
\newlength{\XESPDchngColumnIIIwidth}
|
||||
\setlength{\XESPDchngColumnIIIwidth}{20mm}
|
||||
\newlength{\XESPDchngColumnIVwidth}
|
||||
\setlength{\XESPDchngColumnIVwidth}{20mm}
|
||||
\newlength{\XESPDchngColumnVwidth}
|
||||
\setlength{\XESPDchngColumnVwidth}{20mm}
|
||||
\newlength{\XESPDchngColumnVIwidth}
|
||||
\setlength{\XESPDchngColumnVIwidth}{20mm}
|
||||
\newlength{\XESPDchngColumnVIIwidth}
|
||||
\setlength{\XESPDchngColumnVIIwidth}{25mm}
|
||||
\newlength{\XESPDchngColumnVIIIwidth}
|
||||
\setlength{\XESPDchngColumnVIIIwidth}{25mm}
|
||||
\newlength{\XESPDchngColumnIXwidth}
|
||||
\setlength{\XESPDchngColumnIXwidth}{15mm}
|
||||
\newlength{\XESPDchngColumnXwidth}
|
||||
\setlength{\XESPDchngColumnXwidth}{12mm}
|
||||
|
||||
\newcommand{\chngsheet@firsthead}{
|
||||
\multicolumn{10}{|c}
|
||||
{\parbox[c][10mm][c]{\textwidth -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchangeSheetName}}\\\hline}
|
||||
|
||||
\newcommand{\chngsheet@secondhead}{%
|
||||
\multirow{2}{*}[-1mm]
|
||||
{\parbox[c][25mm][c]{\XESPDchngColumnIwidth -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchngColumnIname}}&
|
||||
\multicolumn{4}{c|}
|
||||
{\parbox[c][5mm][c]{80mm -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchngColumnsIIhName}}&
|
||||
\multirow{2}{*}[-1mm]
|
||||
{\parbox[c][25mm][c]{\XESPDchngColumnVIwidth -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchngColumnVIname}}&
|
||||
\multirow{2}{*}[-1mm]
|
||||
{\parbox[c][25mm][c]{\XESPDchngColumnVIIwidth -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchngColumnVIIname}}&
|
||||
\multirow{2}{*}[-1mm]
|
||||
{\parbox[c][25mm][c]{\XESPDchngColumnVIIIwidth -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchngColumnVIIIname}}&
|
||||
\multirow{2}{*}[-1mm]
|
||||
{\parbox[c][25mm][c]{\XESPDchngColumnIXwidth -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchngColumnIXname}}&
|
||||
\multirow{2}{*}[-1mm]
|
||||
{\parbox[c][25mm][c]{\XESPDchngColumnXwidth -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchngColumnXname}}\\\cline{2-5}
|
||||
&
|
||||
\parbox[c][20mm][c]{\XESPDchngColumnIIwidth -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchngColumnIIname}&
|
||||
\parbox[c][20mm][c]{\XESPDchngColumnIIIwidth -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchngColumnIIIname}&
|
||||
\parbox[c][20mm][c]{\XESPDchngColumnIVwidth -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchngColumnIVname}&
|
||||
\parbox[c][20mm][c]{\XESPDchngColumnVwidth -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead\XESPDchngColumnVname}&&&&\\\hline}
|
||||
|
||||
\fontsize{#1}{6mm}\XESPDfontShape\selectfont
|
||||
\noindent
|
||||
\begin{longtable}{% дополнительно надо вычесть еще ширИны самих линеек таблицы
|
||||
p{\XESPDchngColumnIwidth -2\tabcolsep -0.2mm}
|
||||
|p{\XESPDchngColumnIIwidth -2\tabcolsep -0.1mm}
|
||||
|p{\XESPDchngColumnIIIwidth -2\tabcolsep -0.1mm}
|
||||
|p{\XESPDchngColumnIVwidth -2\tabcolsep -0.1mm}
|
||||
|p{\XESPDchngColumnVwidth -2\tabcolsep -0.1mm}
|
||||
|p{\XESPDchngColumnVIwidth -2\tabcolsep -0.1mm}
|
||||
|p{\XESPDchngColumnVIIwidth -2\tabcolsep -0.1mm}
|
||||
|p{\XESPDchngColumnVIIIwidth -2\tabcolsep -0.1mm}
|
||||
|p{\XESPDchngColumnIXwidth -2\tabcolsep -0.1mm}
|
||||
|p{\XESPDchngColumnXwidth -2\tabcolsep -0.2mm}}
|
||||
\hline
|
||||
\chngsheet@firsthead\chngsheet@secondhead\endfirsthead
|
||||
\chngsheet@secondhead\endhead
|
||||
\hline\endfoot
|
||||
\endlastfoot}%
|
||||
{\end{longtable}\end{XESPDzeroPadding}%
|
||||
\renewcommand{\arraystretch}{1}%
|
||||
}
|
||||
|
||||
\newcommand{\XESPDchangeSheetFill}{%
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline
|
||||
&&&&&&&&&\\\hline%
|
||||
}
|
||||
|
||||
|
79
xespdcmplist.sty
Normal file
79
xespdcmplist.sty
Normal file
@ -0,0 +1,79 @@
|
||||
% 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{xespdcmplist}[2010/03/08 v1.00 Component List GOST 2.701-84]
|
||||
|
||||
\RequirePackage{xespdlang}
|
||||
\RequirePackage{xespdstamp}
|
||||
\RequirePackage{rotating}
|
||||
\RequirePackage{array}
|
||||
\RequirePackage{longtable}
|
||||
|
||||
|
||||
% зададим размеры колонок таблицы.
|
||||
\XESPDtabColumnsWidth{20mm 110mm 10mm 45mm}
|
||||
% высота шапки таблицы
|
||||
\setlength{\XESPDtabHeadH}{15mm}
|
||||
|
||||
% дополнительные горизонтальный промежуток
|
||||
% для эстетичности
|
||||
\newlength{\XESPDcmplistAddHspace}
|
||||
\setlength{\XESPDcmplistAddHspace}{2mm}
|
||||
|
||||
% создадим окружение "перечень элементов"
|
||||
% длины \argi и т.д. - это полученные в результате работы макроса \XESPDtabColumnsWidth длины
|
||||
\newenvironment{XESPDcomponentList}
|
||||
{\XESPDtabLTPreamble{%
|
||||
% это преамбула таблицы (longtable), которая используется в качестве основы документа
|
||||
% Правила заполнения:
|
||||
% - все столбцы верстаются с модификатором p{...}, если необходимо выравнивание -
|
||||
% применять декларации, напр. \centering
|
||||
% - если в столбце предполагается перенос строк - с двух сторон вставлять \XESPDtabStrut
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argi -2\tabcolsep}
|
||||
@{\hspace{\XESPDcmplistAddHspace}}
|
||||
>{\XESPDfontTabBody\raggedright\XESPDtabStrut}
|
||||
p{\argii -\XESPDcmplistAddHspace}
|
||||
<{\XESPDtabStrut}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argiii -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argiv -2\tabcolsep}}
|
||||
%
|
||||
{% это второй аргумент - шапка таблицы, по факту - это просто первая строка
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argi -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\XESPDcmplistColumnIname}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argii -\XESPDcmplistAddHspace}{\centering\XESPDfontTabHead%
|
||||
\XESPDcmplistColumnIIname}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argiii -2\tabcolsep}{\centering%
|
||||
\XESPDsmartScaleBox{\argiii -2\tabcolsep}{\XESPDfontTabHead\XESPDcmplistColumnIIIname}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argiv -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\XESPDcmplistColumnIVname}\tabularnewline%
|
||||
}
|
||||
}
|
||||
%
|
||||
% прямо сюда вставится содержимое таблицы
|
||||
%
|
||||
{\XESPDtabLTAmble}
|
||||
|
||||
|
||||
|
48
xespddstu.sty
Normal file
48
xespddstu.sty
Normal file
@ -0,0 +1,48 @@
|
||||
% 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}[2020/03/20 v1.00 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
41
xespdexplan.sty
Normal 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}[2020/03/20 v1.00 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}}
|
||||
|
56
xespdfont.sty
Normal file
56
xespdfont.sty
Normal file
@ -0,0 +1,56 @@
|
||||
% 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}[2020/03/20 v1.00 Font Definitions]
|
||||
|
||||
\newcommand{\XESPDfontBaseLineStretch}{1}
|
||||
|
||||
\newcommand{\XESPDfontSetBaseLineStretch}{%
|
||||
\renewcommand{\baselinestretch}{\XESPDfontBaseLineStretch}}
|
||||
|
||||
\newcommand{\XESPDfontShape}{\slshape}
|
||||
|
||||
\newcommand{\XESPDfontIIsize}{\fontsize{8pt}{10pt}}
|
||||
\newcommand{\XESPDfontIIIsize}{\fontsize{10pt}{12pt}}
|
||||
\newcommand{\XESPDfontVsize}{\fontsize{16pt}{18pt}}
|
||||
\newcommand{\XESPDfontVIIsize}{\fontsize{20pt}{23pt}}
|
||||
\newcommand{\XESPDfontXsize}{\fontsize{32pt}{38pt}}
|
||||
|
||||
\newcommand{\XESPDfontII}{%
|
||||
\XESPDfontSetBaseLineStretch
|
||||
\XESPDfontIIsize\selectfont\XESPDfontShape}
|
||||
\newcommand{\XESPDfontIII}{%
|
||||
\XESPDfontSetBaseLineStretch
|
||||
\XESPDfontIIIsize\selectfont\XESPDfontShape}
|
||||
\newcommand{\XESPDfontV}{%
|
||||
\XESPDfontSetBaseLineStretch
|
||||
\XESPDfontVsize\selectfont\XESPDfontShape}
|
||||
\newcommand{\XESPDfontVII}{%
|
||||
\XESPDfontSetBaseLineStretch
|
||||
\XESPDfontVIIsize\selectfont\XESPDfontShape}
|
||||
\newcommand{\XESPDfontX}{%
|
||||
\XESPDfontSetBaseLineStretch
|
||||
\XESPDfontXsize\selectfont\XESPDfontShape}
|
||||
|
||||
\newcommand{\XESPDfontTabHead}{\XESPDfontIII}
|
||||
\newcommand{\XESPDfontTabBody}{\XESPDfontIII}
|
||||
|
80
xespdfootnote.sty
Normal file
80
xespdfootnote.sty
Normal file
@ -0,0 +1,80 @@
|
||||
% 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}[2020/03/20 v1.00 Footnote Settings]
|
||||
|
||||
% Нумероваться сноски должны в пределах одной страницы.
|
||||
% Самое очевидное решение - переподчинить счетчик footnote счетчику page,
|
||||
% но такой метод будет давать сбои, если сноска вставлена
|
||||
% близко к концу страницы.
|
||||
% Эту проблему решил Обердайк в своем пакете zref
|
||||
|
||||
% пакет amsmath должен быть загружен ПЕРЕД zref
|
||||
% возможно стоит загружать его в классе xespdtext
|
||||
% а не здесь
|
||||
\RequirePackage{amsmath}
|
||||
\RequirePackage{zref-perpage}
|
||||
|
||||
% привязываем сброс счетчика сносок к границам страниц
|
||||
\zmakeperpage{footnote}
|
||||
|
||||
% Нижеследующая строка была взята из 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}
|
||||
|
180
xespdfreesize.sty
Normal file
180
xespdfreesize.sty
Normal 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.
|
||||
%
|
||||
|
||||
% Пакет предоставляет возможность вставки листа
|
||||
% почти любого размера (ограничения описаны в руководстве
|
||||
% пользователя xespdx):
|
||||
|
||||
|
||||
%
|
||||
% This is automaticaly generated file, do not edit it.
|
||||
%
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{xespdfreesize}[2020/03/20 v1.00 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}
|
||||
\@ifpackageloaded{xespdplain}{
|
||||
\XESPDputOnStyle{freesize}{pagenumber}{\XESPDdrawPlainPageNumber}}
|
||||
{
|
||||
\XESPDputOnStyle{freesize}{frame}{\XESPDdrawFrameFree}
|
||||
\XESPDputOnStyle{freesize}{stamp}{\XESPDdrawStampIIa}
|
||||
\ifXESPD@enable@columns@xix
|
||||
\XESPDputOnStyle{freesize}{columnsxix}{\XESPDdrawColumnsXIX}
|
||||
\fi
|
||||
\ifXESPD@enable@column@xxvi
|
||||
\@ifclassloaded{xespdgraph}{% графа 26 нужна только для чертежей
|
||||
\XESPDputOnStyle{freesize}{columnxxvi}{\XESPDdrawColumnXXVI}}
|
||||
\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]{%
|
||||
\@ifundefined{XESPD@no@specii@sizes}{}{\XESPD@no@specii@sizes}% для нормальной работы с плазовой спецификацией
|
||||
\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{\XESPDlandscapeAIV}[1]{%
|
||||
\renewcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDa4FormatName}}%
|
||||
\XESPDfreeSize{297mm}{210mm}{#1}}
|
||||
|
||||
\newcommand{\XESPDportraitAIV}[1]{%
|
||||
\renewcommand\XESPDtheColumnXXXIIfree{\@nameuse{XESPDa4FormatName}}%
|
||||
\XESPDfreeSize{210mm}{297mm}{#1}}
|
||||
|
||||
\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
52
xespdgraph.cls
Normal 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}[2020/03/20 v1.00 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
60
xespdhash.sty
Normal 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}[2020/03/20 v1.00 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
27
xespdindent.sty
Normal 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{xespdindent}[2020/03/20 v1.00 Paragraph Indent]
|
||||
|
||||
\RequirePackage{indentfirst}
|
||||
\setlength{\parindent}{15mm}
|
||||
|
102
xespdinfo.sty
Normal file
102
xespdinfo.sty
Normal 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}[2020/03/20 v1.00 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}}
|
||||
|
44
xespdlang.sty
Normal file
44
xespdlang.sty
Normal file
@ -0,0 +1,44 @@
|
||||
% 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}[2020/03/20 v1.00 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
|
||||
|
||||
\ifXESPD@given@encoding
|
||||
\RequirePackage{inputenc}
|
||||
\fi
|
||||
|
||||
\RequirePackage[\XESPD@lang]{babel}
|
||||
\input{xespd\XESPD@lang.def}
|
||||
|
67
xespdlist.sty
Normal file
67
xespdlist.sty
Normal file
@ -0,0 +1,67 @@
|
||||
% 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}[2020/03/20 v1.00 List]
|
||||
|
||||
\RequirePackage{calc}
|
||||
|
||||
% согласно ГОСTу маркированные (нумерованные) списки должны
|
||||
% выглядеть как обычный абзац, только с маркером (номером)
|
||||
% в начале абзаца.
|
||||
% Воспользуемся существующим пакетом paralist
|
||||
\RequirePackage{paralist}
|
||||
|
||||
% просто переопределим окружения itemize и enumerate
|
||||
% по умолчанию будут использоваться стандартные
|
||||
% латеховые списки
|
||||
\DeclareOption{stdlist}{}
|
||||
\DeclareOption{listlikepar}{
|
||||
\renewenvironment{itemize}{\begin{asparaitem}}{\end{asparaitem}}
|
||||
\renewenvironment{enumerate}{\begin{asparaenum}}{\end{asparaenum}}
|
||||
}
|
||||
\ProcessOptions\relax
|
||||
|
||||
\renewcommand{\theenumi}{\asbuk{enumi}}
|
||||
\renewcommand{\labelenumi}{\theenumi)}
|
||||
\renewcommand{\theenumii}{\arabic{enumii}}
|
||||
\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}
|
||||
|
91
xespdlongtable.sty
Normal file
91
xespdlongtable.sty
Normal file
@ -0,0 +1,91 @@
|
||||
% 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{xespdlongtable}[2010/01/14 v1.00 Patches for Longtable]
|
||||
|
||||
% Фактически, данный файл представляет собой набор исправлений,
|
||||
% возможно, некрасивых хаков, для пакета longtable.
|
||||
\RequirePackage{longtable}
|
||||
|
||||
% Это необходимо для соответствия требованиям ЕСКД.
|
||||
% По ГОСТ, если таблица не умещается на странице, ее можно разорвать.
|
||||
% На месте разрыва закрывающую линию рисовать не положено, но
|
||||
% longtable так не умеет.
|
||||
\renewcommand\LT@@hline{%
|
||||
\ifx\@let@token\hline
|
||||
\global\let\@gtempa\@gobble
|
||||
\gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}%
|
||||
\else
|
||||
\global\let\@gtempa\@empty
|
||||
\gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}%
|
||||
\fi
|
||||
\ifnum0=`{\fi}%
|
||||
\multispan\LT@cols
|
||||
% \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr % оригинальная строка
|
||||
\cr% исправленная строка
|
||||
\noalign{\LT@sep}%
|
||||
\multispan\LT@cols
|
||||
\unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
|
||||
\noalign{\penalty\@M}%
|
||||
\@gtempa}
|
||||
|
||||
|
||||
|
||||
% Данный кусок кода исправляет следующую ситуацию:
|
||||
% когда longtable окружена только командами секционирования
|
||||
% без "свободного" текста, отбивка между последней строкой
|
||||
% таблицы и новой (sub)section имеет размер \LTpost, по
|
||||
% умочанию \baselineskip (см. документацию longtable)
|
||||
% Фактически, мы просто переведем latex в вертикальный режим
|
||||
\renewcommand\endlongtable{%
|
||||
\crcr
|
||||
\noalign{%
|
||||
\let\LT@entry\LT@entry@chop
|
||||
\xdef\LT@save@row{\LT@save@row}}%
|
||||
\LT@echunk
|
||||
\LT@start
|
||||
\unvbox\z@
|
||||
\LT@get@widths
|
||||
\if@filesw
|
||||
{\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
|
||||
\gdef\expandafter\noexpand
|
||||
\csname LT@\romannumeral\c@LT@tables\endcsname
|
||||
{\LT@save@row}}}%
|
||||
\fi
|
||||
\ifx\LT@save@row\LT@@save@row
|
||||
\else
|
||||
\LT@warn{Column \@width s have changed\MessageBreak
|
||||
in table \thetable}%
|
||||
\LT@final@warn
|
||||
\fi
|
||||
\endgraf\penalty -\LT@end@pen
|
||||
\endgroup
|
||||
\global\@mparbottom\z@
|
||||
\pagegoal\vsize
|
||||
% \endgraf\penalty\z@\addvspace\LTpost %оригинальная строка
|
||||
\vskip-\baselineskip\mbox{} \endgraf\penalty\z@\addvspace\LTpost %исправленная
|
||||
\ifvoid\footins\else\insert\footins{}\fi}
|
||||
|
||||
|
||||
|
||||
|
||||
|
51
xespdpara.sty
Normal file
51
xespdpara.sty
Normal 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}[2020/03/20 v1.00 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}}
|
||||
|
87
xespdplain.sty
Normal file
87
xespdplain.sty
Normal file
@ -0,0 +1,87 @@
|
||||
% 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}[2020/03/20 v1.00 Plain Page Style]
|
||||
|
||||
\RequirePackage{xespdstamp}
|
||||
\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{%
|
||||
\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}
|
||||
|
||||
\@ifpackageloaded{xespdfreesize}{
|
||||
\XESPDputOnStyle{freesize}{pagenumber}{\XESPDdrawPlainPageNumber}
|
||||
\XESPDremoveFromStyle{freesize}{stamp}
|
||||
\XESPDremoveFromStyle{freesize}{frame}
|
||||
\XESPDremoveFromStyle{freesize}{columnsxix}
|
||||
\XESPDremoveFromStyle{freesize}{columnxxvi}
|
||||
\XESPDremoveFromStyle{freesize}{columnsxxvii}
|
||||
\XESPDremoveFromStyle{freesize}{columnxxxi}
|
||||
\XESPDremoveFromStyle{freesize}{columnxxxii}
|
||||
\XESPDremoveFromStyle{freesize}{columnxxxiii}
|
||||
\XESPDremoveFromStyle{freesize}{columnxxxiv}}
|
||||
{}
|
||||
|
||||
\XESPDdefaultTitleStyle{empty}
|
||||
\XESPDdefaultFirstStyle{plain}
|
||||
\XESPDdefaultStyle{plain}
|
||||
|
231
xespdrussian.def
Normal file
231
xespdrussian.def
Normal file
@ -0,0 +1,231 @@
|
||||
% 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}[2020/03/20 v1.00 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}{%
|
||||
\No\ \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. \No\ \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. \No}
|
||||
\newcommand{\XESPDcolumnXXIIname}{%
|
||||
\cyr\CYRI\cyrn\cyrv. \No\ \cyrd\cyru\cyrb\cyrl.}
|
||||
\newcommand{\XESPDcolumnXXIIIname}{%
|
||||
\cyr\CYRP\cyro\cyrd\cyrp. \cyri\ \cyrd\cyra\cyrt\cyra}
|
||||
\newcommand{\XESPDcolumnXXIVname}{%
|
||||
\cyr\CYRS\cyrp\cyrr\cyra\cyrv. \No}
|
||||
\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\cyru\cyrn\cyro\cyrk}}%
|
||||
}
|
||||
|
||||
% спецификация
|
||||
\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{\XESPDcmplistColumnIname}{%
|
||||
\cyr\CYRP\cyro\cyrz.\par \cyro\cyrb\cyro\cyrz\cyrn\cyra\-\cyrch\cyre\-\cyrn\cyri\cyre}
|
||||
\newcommand{\XESPDcmplistColumnIIname}{%
|
||||
\cyr\CYRN\cyra\cyri\cyrm\cyre\cyrn\cyro\cyrv\cyra\cyrn\cyri\cyre}
|
||||
\newcommand{\XESPDcmplistColumnIIIname}{%
|
||||
\cyr\CYRK\cyro\cyrl.}
|
||||
\newcommand{\XESPDcmplistColumnIVname}{%
|
||||
\cyr\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyre}
|
||||
|
||||
% ведомость покупных изделий
|
||||
\newcommand{\XESPDbomColumnIname}{%
|
||||
\No\ \cyr\cyrs\cyrt\cyrr\cyro\cyrk\cyri}
|
||||
\newcommand{\XESPDbomColumnIIname}{%
|
||||
\cyr\CYRN\cyra\cyri\cyrm\cyre\cyrn\cyro\cyrv\cyra\cyrn\cyri\cyre}
|
||||
\newcommand{\XESPDbomColumnIIIname}{%
|
||||
\cyr\CYRK\cyro\cyrd\ \cyrp\cyrr\cyro\cyrd\cyru\cyrk\cyrc\cyri\cyri}
|
||||
\newcommand{\XESPDbomColumnIVname}{%
|
||||
\cyr\CYRO\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri\cyre\
|
||||
\cyrd\cyro\cyrk\cyru\cyrm\cyre\cyrn\cyrt\cyra\par
|
||||
\cyrn\cyra\
|
||||
\cyrp\cyro\cyrs\cyrt\cyra\cyrv\cyrk\cyru}
|
||||
\newcommand{\XESPDbomColumnVname}{%
|
||||
\cyr\CYRP\cyro\cyrs\cyrt\cyra\cyrv\cyrshch\cyri\cyrk}
|
||||
\newcommand{\XESPDbomColumnVIname}{%
|
||||
\cyr\CYRK\cyru\cyrd\cyra\
|
||||
\cyrv\cyrh\cyro\cyrd\cyri\cyrt\
|
||||
(\cyr\cyro\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri\cyre)}
|
||||
\newcommand{\XESPDbomColumnsVIIhname}{%
|
||||
\cyr\CYRK\cyro\cyrl\cyri\cyrch\cyre\cyrs\cyrt\cyrv\cyro}
|
||||
\newcommand{\XESPDbomColumnVIIname}{%
|
||||
\cyr\CYRN\cyra\ \cyri\cyrz\-\cyrd\cyre\cyrl\cyri\cyre}
|
||||
\newcommand{\XESPDbomColumnVIIIname}{%
|
||||
\cyr\CYRV\ \cyrk\cyro\cyrm\-\cyrp\cyrl\cyre\cyrk\-\cyrt\cyrery}
|
||||
\newcommand{\XESPDbomColumnIXname}{%
|
||||
\cyr\CYRN\cyra\ \cyrr\cyre\-\cyrg\cyru\cyrl\cyri\cyrr.}
|
||||
\newcommand{\XESPDbomColumnXname}{%
|
||||
\cyr\CYRV\cyrs\cyre\cyrg\cyro}
|
||||
\newcommand{\XESPDbomColumnXIname}{%
|
||||
\cyr\CYRP\cyrr\cyri\-\cyrm\cyre\-\cyrch\cyra\-\cyrn\cyri\cyre}
|
||||
|
||||
% лист регистрации изменений
|
||||
\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{\XESPDchngColumnIname}{%
|
||||
\cyr\CYRI\cyrz\cyrm.}
|
||||
\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{\XESPDchngColumnVIIname}{%
|
||||
\No\ \cyr\cyrd\cyro\cyrk\cyru\cyrm\cyre\cyrn\cyrt\cyra}
|
||||
\newcommand{\XESPDchngColumnVIIIname}{%
|
||||
\cyr\CYRV\cyrh\cyro\cyrd\cyrya\cyrshch\cyri\cyrishrt\ \No\ %
|
||||
\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{\XESPDchngColumnIXname}{%
|
||||
\cyr\CYRP\cyr\cyro\cyrd\cyrp.}
|
||||
\newcommand{\XESPDchngColumnXname}{%
|
||||
\cyr\CYRD\cyra\cyrt\cyra}
|
||||
|
||||
|
||||
\def\@Asbuk#1{\ifcase#1\or
|
||||
\CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or
|
||||
\CYRI\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or
|
||||
\CYRP\or\CYRR\or\CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or
|
||||
\CYRC\or\CYRSH\or\CYRSHCH\or\CYREREV\or\CYRYU\or
|
||||
\CYRYA\else{\@tempcnta \number #1\relax
|
||||
\advance\@tempcnta -25\relax
|
||||
\protect\number\@tempcnta}
|
||||
\fi}
|
||||
\def\@asbuk#1{\ifcase#1\or
|
||||
\cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or\cyrzh\or
|
||||
\cyri\or\cyrk\or\cyrl\or\cyrm\or\cyrn\or
|
||||
\cyrp\or\cyrr\or\cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or
|
||||
\cyrc\or\cyrsh\or\cyrshch\or\cyrerev\or\cyryu\or
|
||||
\cyrya\else{\@tempcnta \number #1\relax
|
||||
\advance\@tempcnta -25\relax
|
||||
\protect\number\@tempcnta}
|
||||
\fi}
|
||||
|
194
xespdsect.sty
Normal file
194
xespdsect.sty
Normal file
@ -0,0 +1,194 @@
|
||||
% 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}[2020/03/20 v1.00 Sectioning]
|
||||
|
||||
\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\Large\bfseries\MakeUppercase}
|
||||
\newcommand{\XESPDsubsectionStyle}{\normalfont\large\bfseries}
|
||||
\newcommand{\XESPDsubsubsectionStyle}{\normalfont\normalsize\bfseries}
|
||||
|
||||
\newcommand{\XESPDsectStyle}[2]{%
|
||||
\expandafter\renewcommand\csname\string XESPD#1Style\endcsname{#2}}
|
||||
|
||||
\newlength{\XESPDsectionSkipBefore}
|
||||
\newlength{\XESPDsectionSkipAfter}
|
||||
\setlength{\XESPDsectionSkipBefore}{-15mm \@plus -3mm \@minus -2mm}
|
||||
\setlength{\XESPDsectionSkipAfter}{15mm \@plus 1mm \@minus 2mm}
|
||||
\newlength{\XESPDsubsectionSkipBefore}
|
||||
\newlength{\XESPDsubsectionSkipAfter}
|
||||
\setlength{\XESPDsubsectionSkipBefore}{-15mm \@plus -3mm \@minus -2mm}
|
||||
\setlength{\XESPDsubsectionSkipAfter}{15mm \@plus 1mm \@minus 2mm}
|
||||
\newlength{\XESPDsubsubsectionSkipBefore}
|
||||
\newlength{\XESPDsubsubsectionSkipAfter}
|
||||
\setlength{\XESPDsubsubsectionSkipBefore}{-15mm \@plus -3mm \@minus -2mm}
|
||||
\setlength{\XESPDsubsubsectionSkipAfter}{15mm \@plus 1mm \@minus 2mm}
|
||||
|
||||
\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}}
|
||||
|
||||
\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\quad}
|
||||
\newcommand{\subpoint}{%
|
||||
\par\refstepcounter{subpoint}\thesubpoint\quad}
|
||||
\newcommand{\subsubpoint}{%
|
||||
\par\refstepcounter{subsubpoint}\thesubsubpoint\quad}
|
||||
|
||||
\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}}
|
||||
|
144
xespdspec.sty
Normal file
144
xespdspec.sty
Normal file
@ -0,0 +1,144 @@
|
||||
% 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}[2020/03/20 v1.00 Specification GOST 2.106.95]
|
||||
|
||||
\RequirePackage{xespdlang}
|
||||
\RequirePackage{xespdstamp}
|
||||
\RequirePackage{rotating}
|
||||
\RequirePackage{array}
|
||||
\RequirePackage{longtable}
|
||||
|
||||
|
||||
\XESPDtabColumnsWidth{6mm 6mm 8mm 70mm 63mm 10mm 22mm}
|
||||
\setlength{\XESPDtabHeadH}{15mm}
|
||||
|
||||
\newlength{\XESPDspecAddHspace}
|
||||
\setlength{\XESPDspecAddHspace}{2mm}
|
||||
|
||||
\newenvironment{XESPDspecification}
|
||||
{\XESPDtabLTPreamble{%
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argi -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argii -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argiii -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argiv -2\tabcolsep}
|
||||
@{\hspace{\XESPDspecAddHspace}}
|
||||
>{\XESPDfontTabBody\raggedright\XESPDtabStrut}
|
||||
p{\argv -\XESPDspecAddHspace}
|
||||
<{\XESPDtabStrut}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argvi -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\raggedright\XESPDtabStrut}
|
||||
p{\argvii -\XESPDspecAddHspace}
|
||||
<{\XESPDtabStrut}
|
||||
}
|
||||
%
|
||||
{%
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argi -2\tabcolsep}{\centering\begin{sideways}%
|
||||
\XESPDsmartScaleBox{\XESPDtabHeadH}{\XESPDfontTabHead\XESPDspecColumnIname}%
|
||||
\end{sideways}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argii -2\tabcolsep}{\centering\begin{sideways}\XESPDfontTabHead%
|
||||
\XESPDspecColumnIIname\end{sideways}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argiii -2\tabcolsep}{\centering\begin{sideways}\XESPDfontTabHead%
|
||||
\XESPDspecColumnIIIname\end{sideways}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argiv -2\tabcolsep}
|
||||
{\centering\XESPDfontTabHead%
|
||||
\XESPDspecColumnIVname}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argv -\XESPDspecAddHspace}{\centering\XESPDfontTabHead%
|
||||
\XESPDspecColumnVname}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argvi -2\tabcolsep}{\centering\begin{sideways}\XESPDfontTabHead%
|
||||
\XESPDspecColumnVIname\end{sideways}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argvii -2\tabcolsep}{\centering%
|
||||
\XESPDsmartScaleBox{\argvii -2\tabcolsep}{\XESPDfontTabHead\XESPDspecColumnVIIname}}%
|
||||
\tabularnewline%
|
||||
}
|
||||
}
|
||||
%
|
||||
{\XESPDtabLTAmble}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
% % создадим окружение "спецификация"
|
||||
% \newenvironment{XESPDspecification}{%
|
||||
% \XESPDputOnStyle{formII}{specification}{\XESPDdrawSpecification{}}
|
||||
% \XESPDputOnStyle{formIIab}{specification}{\XESPDdrawSpecification{1}}
|
||||
% \begin{XESPDzeroPadding}%
|
||||
% \setlength{\tabcolsep}{0.5mm}%
|
||||
% \setlength{\LTpre}{0mm}%
|
||||
% \setlength{\LTpost}{0mm}%
|
||||
% \setlength{\LTleft}{0mm}%
|
||||
% \setlength{\LTright}{\fill}%
|
||||
% \newcolumntype{s}{>{\XESPDfontTabBody}c}%
|
||||
% \newcolumntype{n}{% вставим с двух сторон подпорки по 8мм
|
||||
% >{\XESPDfontTabBody\raggedright\parbox[c][8mm][c]{0mm}{\rule{0mm}{0mm}}}%
|
||||
% p{60mm}%
|
||||
% <{\parbox[c][8mm][c]{0mm}{\rule{0mm}{0mm}}}}%
|
||||
% \newcolumntype{a}{>{\XESPDfontTabBody}p{21mm}}%
|
||||
% \noindent%
|
||||
%
|
||||
% % с помощью @-выражения зададим небольшой отступ для содержимого графы "наименование"
|
||||
% \begin{longtable}{ssss@{\hspace{2mm}}n@{\hspace{2mm}}sa}
|
||||
%
|
||||
% % изменим некоторые константы longtable для того, чтобы
|
||||
% % таблица занимала всё свободное место
|
||||
% \XESPD@tmpdimc=8mm
|
||||
% \advance\XESPD@tmpdima 6\XESPD@tmpdimc
|
||||
% \global\@colht\XESPD@tmpdima
|
||||
% \global\@colroom\XESPD@tmpdima
|
||||
%
|
||||
% % заполним шапку таблицы
|
||||
% \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
|
||||
% &&&&&&%
|
||||
% \endfoot}{%
|
||||
% \end{longtable}%
|
||||
% \end{XESPDzeroPadding}%
|
||||
% \XESPDremoveFromStyle{formII}{spec}%
|
||||
% \XESPDremoveFromStyle{formIIab}{spec}}
|
||||
|
174
xespdspecii.sty
Normal file
174
xespdspecii.sty
Normal file
@ -0,0 +1,174 @@
|
||||
% 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}[2020/03/20 v1.00 Specification GOST 2.106.95 Form 2]
|
||||
|
||||
\RequirePackage{xespdlang}
|
||||
\RequirePackage{xespdstamp}
|
||||
\RequirePackage{array}
|
||||
\RequirePackage{longtable}
|
||||
|
||||
|
||||
\XESPDtabColumnsWidth{6mm 6mm 8mm 70mm 72mm 10mm 10mm 75mm 30mm}
|
||||
\setlength{\XESPDtabHeadH}{15mm}
|
||||
|
||||
\newlength{\XESPDspecIIaddHspace}
|
||||
\setlength{\XESPDspecIIaddHspace}{2mm}
|
||||
|
||||
|
||||
% поскольку плазовая спецификация имеет нестандартное размещение граф
|
||||
% (штам и графы 19-23 размещаются параллельно на длинных сторонах листа)
|
||||
% придется изменить рамку и перенести некоторые графы
|
||||
\newcommand{\XESPD@specii@sizes}{
|
||||
\advance\XESPDframeW 15mm
|
||||
\advance\XESPDframeH -10mm
|
||||
\setlength{\XESPD@margin@si}{5mm}
|
||||
\setlength{\XESPD@margin@so}{5mm}
|
||||
\setlength{\XESPD@margin@t}{20mm}
|
||||
\setlength{\XESPD@margin@b}{5mm}
|
||||
% необходимо слегка поправить отступы
|
||||
\changepage{}{}{}{-15mm}{}{10mm}{}{}{}}
|
||||
|
||||
% макрос для переключения обратно
|
||||
\newcommand{\XESPD@no@specii@sizes}{
|
||||
\changepage{}{}{}{15mm}{}{-10mm}{}{}{}
|
||||
\setlength{\XESPD@margin@si}{20mm}
|
||||
\setlength{\XESPD@margin@so}{5mm}
|
||||
\setlength{\XESPD@margin@t}{5mm}
|
||||
\setlength{\XESPD@margin@b}{5mm}
|
||||
\advance\XESPDframeW -15mm
|
||||
\advance\XESPDframeH 10mm}
|
||||
|
||||
% переключаемся
|
||||
\XESPD@specii@sizes
|
||||
|
||||
|
||||
\ifXESPD@enable@columns@xix
|
||||
\newcommand{\XESPDdrawSpecIIcolumnsXIX}{%
|
||||
\setlength{\XESPD@tmpdima}{\XESPDframeY+\XESPDframeH}
|
||||
\put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPD@tmpdima}){%
|
||||
\usebox{\XESPD@columns@xix@box}}}
|
||||
\fi
|
||||
|
||||
\ifXESPD@enable@columns@xxiv
|
||||
\newcommand{\XESPDdrawSpecIIcolumnsXXIV}{%
|
||||
\setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW-120mm}
|
||||
\setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH}
|
||||
\put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){%
|
||||
\usebox{\XESPD@columns@xxiv@box}}}
|
||||
\fi
|
||||
|
||||
\XESPDnewStyle{specII}{\XESPD@style@sh@formII}
|
||||
\XESPDputOnStyle{specII}{frame}{\XESPDdrawFrame}
|
||||
\XESPDputOnStyle{specII}{stamp}{\XESPDdrawStampII}
|
||||
\XESPDputOnStyle{specII}{specii}{\XESPDtabDrawBody\XESPDtabDrawHead}
|
||||
\ifXESPD@enable@columns@xix
|
||||
\XESPDputOnStyle{specII}{columnsxix}{\XESPDdrawSpecIIcolumnsXIX}
|
||||
\fi
|
||||
\ifXESPD@enable@columns@xxiv
|
||||
\XESPDputOnStyle{specII}{columnsxxiv}{\XESPDdrawSpecIIcolumnsXXIV}
|
||||
\fi
|
||||
\ifXESPD@enable@columns@xxvii
|
||||
\XESPDputOnStyle{specII}{columnsxxvii}{\XESPDdrawColumnsXXVIIii}
|
||||
\fi
|
||||
\ifXESPD@enable@column@xxxi
|
||||
\XESPDputOnStyle{specII}{columnxxxi}{\XESPDdrawColumnXXXI}
|
||||
\fi
|
||||
\ifXESPD@enable@column@xxxii
|
||||
\XESPDputOnStyle{specII}{columnxxxii}{\XESPDdrawColumnXXXII}
|
||||
\fi
|
||||
|
||||
\XESPDnewStyle{specIIa}{\XESPD@style@sh@formIIb}
|
||||
\XESPDputOnStyle{specIIa}{frame}{\XESPDdrawFrame}
|
||||
\XESPDputOnStyle{specIIa}{stamp}{\XESPDdrawStampIIa}
|
||||
\XESPDputOnStyle{specIIa}{specii}{\XESPDtabDrawBody[1]\XESPDtabDrawHead}
|
||||
\ifXESPD@enable@columns@xix
|
||||
\XESPDputOnStyle{specIIa}{columnsxix}{\XESPDdrawSpecIIcolumnsXIX}
|
||||
\fi
|
||||
\ifXESPD@enable@columns@xxiv
|
||||
\XESPDputOnStyle{specIIa}{columnsxxiv}{\XESPDdrawSpecIIcolumnsXXIV}
|
||||
\fi
|
||||
\ifXESPD@enable@column@xxxi
|
||||
\XESPDputOnStyle{specIIa}{columnxxxi}{\XESPDdrawColumnXXXI}
|
||||
\fi
|
||||
\ifXESPD@enable@column@xxxii
|
||||
\XESPDputOnStyle{specIIa}{columnxxxii}{\XESPDdrawColumnXXXII}
|
||||
\fi
|
||||
|
||||
\XESPDputOnStyle{specII}{comment}{\XESPDtabDrawComment}
|
||||
|
||||
\XESPDdefaultFirstStyle{specII}
|
||||
\XESPDdefaultStyle{specIIa}
|
||||
|
||||
|
||||
|
||||
|
||||
\newenvironment{XESPDspecificationII}
|
||||
{\XESPDtabLTPreamble{%
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argi -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argii -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argiii -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argiv -2\tabcolsep}
|
||||
@{\hspace{\XESPDspecIIaddHspace}}
|
||||
>{\XESPDfontTabBody\raggedright\XESPDtabStrut}
|
||||
p{\argv -\XESPDspecIIaddHspace}
|
||||
<{\XESPDtabStrut}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argvi -2\tabcolsep}
|
||||
>{\XESPDfontTabBody\centering}
|
||||
p{\argvii -2\tabcolsep}
|
||||
@{\hspace{\XESPDspecIIaddHspace}}
|
||||
>{\XESPDfontTabBody\raggedright\XESPDtabStrut}
|
||||
p{\argviii -\XESPDspecIIaddHspace}
|
||||
<{\XESPDtabStrut}
|
||||
>{\XESPDfontTabBody\raggedright\XESPDtabStrut}
|
||||
p{\argix -2\tabcolsep}
|
||||
<{\XESPDtabStrut}
|
||||
}
|
||||
%
|
||||
{%
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argi -2\tabcolsep}{\centering\begin{sideways}%
|
||||
\XESPDsmartScaleBox{\XESPDtabHeadH}{\XESPDfontTabHead\XESPDspecIIcolumnIname}%
|
||||
\end{sideways}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argii -2\tabcolsep}{\centering\begin{sideways}\XESPDfontTabHead%
|
||||
\XESPDspecIIcolumnIIname\end{sideways}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argiii -2\tabcolsep}{\centering\begin{sideways}\XESPDfontTabHead%
|
||||
\XESPDspecIIcolumnIIIname\end{sideways}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argiv -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\XESPDspecIIcolumnIVname}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argv -\XESPDspecIIaddHspace}{\centering\XESPDfontTabHead%
|
||||
\XESPDspecIIcolumnVname}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argvi -2\tabcolsep}{\centering\begin{sideways}\XESPDfontTabHead%
|
||||
\XESPDspecIIcolumnVIname\end{sideways}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argvii -2\tabcolsep}{\centering\begin{sideways}\XESPDfontTabHead%
|
||||
\XESPDspecIIcolumnVIIname\end{sideways}}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argviii -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\XESPDspecIIcolumnVIIIname}&
|
||||
\parbox[c][\XESPDtabHeadH][c]{\argix -2\tabcolsep}{\centering\XESPDfontTabHead%
|
||||
\XESPDspecIIcolumnIXname}\tabularnewline%
|
||||
}
|
||||
}
|
||||
{\XESPDtabLTAmble}
|
1143
xespdstamp.sty
Normal file
1143
xespdstamp.sty
Normal file
File diff suppressed because it is too large
Load Diff
304
xespdtab.cls
Normal file
304
xespdtab.cls
Normal file
@ -0,0 +1,304 @@
|
||||
% 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}[2020/03/20 v1.00 Tabular Documentation]
|
||||
|
||||
\RequirePackage{xkeyval}
|
||||
|
||||
\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}}
|
||||
|
||||
\newcommand{\XESPD@tabEmptyLineTop}{}
|
||||
\newcommand{\XESPD@tabEmptyLineBottom}{}
|
||||
\DeclareOption{emptylinetop}{\renewcommand{\XESPD@tabEmptyLineTop}{\XESPDtabStrut\tabularnewline}}
|
||||
\DeclareOption{emptylinebottom}{\renewcommand{\XESPD@tabEmptyLineBottom}{\XESPDtabStrut\tabularnewline}}
|
||||
|
||||
\newcommand{\XESPD@tabfont}{10pt}
|
||||
\DeclareOption{10pt}{\renewcommand{\XESPD@tabfont}{10pt}}
|
||||
\DeclareOption{12pt}{\renewcommand{\XESPD@tabfont}{12pt}}
|
||||
\DeclareOption{14pt}{\renewcommand{\XESPD@tabfont}{14pt}}
|
||||
|
||||
% расстояние между строками
|
||||
\newlength{\XESPDtabLineSpace}
|
||||
\setlength{\XESPDtabLineSpace}{8mm}
|
||||
\define@key{xespd}{linespace}{\setlength{\XESPDtabLineSpace}{#1}}
|
||||
|
||||
% пустое место внизу страницы, единицами измерения являются строки
|
||||
\newcounter{footwhitespace}
|
||||
\setcounter{footwhitespace}{2}
|
||||
\define@key{xespd}{footwhitespace}{\setcounter{footwhitespace}{#1}}
|
||||
|
||||
\ProcessOptions\relax
|
||||
|
||||
\newif\ifXESPD@tab@first@column@enum
|
||||
\XESPD@tab@first@column@enumfalse
|
||||
|
||||
\LoadClass{article}
|
||||
\RequirePackage{xespdlang}
|
||||
\RequirePackage[formII]{xespdstamp}
|
||||
\RequirePackage{xespdinfo}
|
||||
\RequirePackage{calc}
|
||||
|
||||
% несколько служебных длин
|
||||
\newlength{\XESPDtabBodyH} % высота тела таблицы
|
||||
\newlength{\XESPDtabHeadH} % высота заголовка таблицы
|
||||
|
||||
|
||||
% макрос-подпорка для строк таблицы
|
||||
\newcommand{\XESPDtabStrut}{\parbox[c][\XESPDtabLineSpace][c]{0mm}{\rule{0mm}{0mm}}}
|
||||
|
||||
% на случай, если запись не влезет в одну строку и произойдет перенос на
|
||||
% следующую, следует задать интерлиньяж равный \XESPDtabLineSpace. Возможно,
|
||||
% логичнее задать такой интерлиньяж в xespdfont.
|
||||
\renewcommand{\XESPDfontTabBody}{%
|
||||
\fontsize{\XESPD@tabfont}{\XESPDtabLineSpace}%
|
||||
\selectfont\XESPDfontShape}
|
||||
\renewcommand{\XESPDfontTabHead}{%
|
||||
\fontsize{\XESPD@tabfont}{\XESPD@tabfont + 2pt}%
|
||||
\selectfont\XESPDfontShape}
|
||||
|
||||
|
||||
|
||||
% ------------------------------------------------------------------------
|
||||
% Анализатор "командной строки":
|
||||
% ------------------------------------------------------------------------
|
||||
% макрос принимает строку аргументов, разделенных пробелами
|
||||
% возвращает количество аргументов в макросе \narg и сами аргументы в макросах
|
||||
% \argi \argii и т.д.
|
||||
% Изначально он был написан для нужд xespdtab.cls, возможно он пригодится еще
|
||||
% где-то - тогда стоит вынести его в отдельный файл
|
||||
\RequirePackage{xstring}
|
||||
\RequirePackage{ifthen}
|
||||
|
||||
\newcommand{\XESPD@argparse}[1]{
|
||||
\newcommand{\@arglist}{#1 }% добавим в конец пробел для нужд парсера
|
||||
\newcounter{@iargc}
|
||||
% удалим ведущие пробелы, если есть
|
||||
\StrChar{\@arglist}{1}[\first@arg]
|
||||
\whiledo{\equal{\first@arg}{ }}{%
|
||||
\StrGobbleLeft{\@arglist}{1}[\@arglist]
|
||||
\StrChar{\@arglist}{1}[\first@arg]}
|
||||
\setcounter{@iargc}{0}
|
||||
\StrLen{\@arglist}[\@arglistwidth]
|
||||
\whiledo{\not\equal{\@arglistwidth}{0}}{%
|
||||
\addtocounter{@iargc}{1}%
|
||||
% откусим в \arg первое слово
|
||||
\StrBefore{\@arglist}{ }[\@arg]
|
||||
% сохраним в \argN откушенный кусок
|
||||
\expandafter\edef\csname arg\roman{@iargc}\endcsname{\@arg}
|
||||
% удалим отработанный кусок
|
||||
\StrLen{\@arg}[\@argwidth]
|
||||
\StrGobbleLeft{\@arglist}{\@argwidth}[\@arglist] % удалим использованный аргумент
|
||||
\StrGobbleLeft{\@arglist}{1}[\@arglist] % удалим пробел после аргумента
|
||||
\StrLen{\@arglist}[\@arglistwidth]
|
||||
\edef\narg{\arabic{@iargc}}}}
|
||||
|
||||
% завернем в более благозвучное название
|
||||
\newcommand{\XESPDtabColumnsWidth}[1]{\XESPD@argparse{#1}}
|
||||
|
||||
|
||||
% ------------------------------------------------------------------------
|
||||
% макросы разлиновки листа
|
||||
% ------------------------------------------------------------------------
|
||||
\RequirePackage{calc}
|
||||
\newcounter{narg@tmp}
|
||||
\newcounter{XESPD@tmpcnt}
|
||||
\let\XESPDlineCount=\XESPD@tmpdimc
|
||||
|
||||
% отрисовка тела таблицы
|
||||
\newcommand{\XESPDtabDrawBody}[1][]{% принимает один необязательный параметр,
|
||||
% чтобы рисовать другую таблицу для второго и последующих листов его надо
|
||||
% установить в "1"
|
||||
\put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPDframeY}){%
|
||||
\begin{picture}(0,0)
|
||||
\if 1#1 % настройки для второго и последующего листов
|
||||
\XESPD@tmpdima=\XESPD@style@sh@formIIb % высота рамки минус высота штампа.
|
||||
% Для второго и последующих листов сделаем пустое пространство на 2 строки
|
||||
% это требование ГОСТа. Так сделано для возможности руками дорисовывать
|
||||
% штамп вверх, когда для фиксации изменений не будет хватать граф.
|
||||
\setlength{\XESPD@tmpdima}{\XESPD@tmpdima + \value{footwhitespace}\XESPDtabLineSpace}
|
||||
\else
|
||||
\XESPD@tmpdima=\XESPD@style@sh@formII
|
||||
\fi
|
||||
% чтобы получить высоту тела таблицы, вычтем из высоты рамки
|
||||
% высоту шапки и скорректированную (если надо) высоту штампа
|
||||
\setlength{\XESPDtabBodyH}{\XESPDframeH - \XESPD@tmpdima - \XESPDtabHeadH}
|
||||
% посчитаем, сколько строк укладывается на лист
|
||||
\setlength{\XESPD@tmpdima}{\XESPDtabBodyH / \XESPDtabLineSpace}
|
||||
\XESPDlineCount=\XESPD@tmpdima % сохраним рассчитанное количество строк
|
||||
% скорректируем высоту таблицы с учетом того, что в нее укладывается не целое количество строк
|
||||
\setlength{\XESPDtabBodyH}{\XESPDtabLineSpace * \XESPDlineCount}
|
||||
% сохраним в "а" расстояние между нижним краем рамки и нижним краем таблицы
|
||||
\setlength{\XESPD@tmpdima}{\XESPDframeH - \XESPDtabHeadH - \XESPDtabBodyH}
|
||||
|
||||
% рисуем вертикальные линии на высоте "а" от нижнего края рамки длинной в высоту таблицы
|
||||
\linethickness{\XESPDlineThick}
|
||||
\setcounter{narg@tmp}{0}
|
||||
\XESPD@tmpdimb=0mm
|
||||
\whiledo{\value{narg@tmp}<\narg}{
|
||||
\addtocounter{narg@tmp}{1}
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \csname arg\roman{narg@tmp}\endcsname}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPDtabBodyH}}}}
|
||||
|
||||
% рисуем рассчитанное количество горизонтальных линий начиная снизу ("а")
|
||||
\linethickness{\XESPDlineThin}
|
||||
\multiput(0,\XESPDltu{\XESPD@tmpdima})(0,\XESPDltu{\XESPDtabLineSpace}){\XESPDlineCount}{%
|
||||
\line(1,0){\XESPDltu{\XESPDframeW}}}
|
||||
|
||||
% нумерация строк
|
||||
\ifXESPD@tab@first@column@enum
|
||||
\setlength{\XESPD@tmpdimb}{\XESPDframeH - \XESPDtabHeadH}
|
||||
\setcounter{XESPD@tmpcnt}{0}
|
||||
\whiledo{\lengthtest{\XESPD@tmpdimb > \XESPD@tmpdima}}{%
|
||||
\addtolength{\XESPD@tmpdimb}{-\XESPDtabLineSpace}%
|
||||
\stepcounter{XESPD@tmpcnt}%
|
||||
\put(0,\XESPDltu{\XESPD@tmpdimb}){\parbox[b][\XESPDtabLineSpace][c]{\argi}
|
||||
{\XESPDfontTabBody\centering\XESPDtabStrut \arabic{XESPD@tmpcnt}}}}
|
||||
\fi
|
||||
|
||||
\end{picture}}}
|
||||
|
||||
|
||||
% отрисовка шапки таблицы
|
||||
\newcommand{\XESPDtabDrawHead}{
|
||||
% На первый взгляд, этот код логичнее объединить с кодом, рисующим
|
||||
% вертикальные линии тепла таблицы, но в случае "многоэтажной" шапки
|
||||
% придется рисовать отдельно
|
||||
\put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPDframeY}){%
|
||||
\begin{picture}(0,0)
|
||||
% вычислим расстояние от нижнего края рамки до нижнего края шапки таблицы
|
||||
\setlength{\XESPD@tmpdima}{\XESPDframeH - \XESPDtabHeadH}
|
||||
% отчеркнем нижний край шапки
|
||||
\linethickness{\XESPDlineThick}
|
||||
\put(0,\XESPDltu{\XESPD@tmpdima}){\line(1,0){\XESPDltu{\XESPDframeW}}}
|
||||
% нарисуем вертикальные линии шапки
|
||||
\setcounter{narg@tmp}{0}
|
||||
\XESPD@tmpdimb=0mm
|
||||
\whiledo{\value{narg@tmp}<\narg}{
|
||||
\addtocounter{narg@tmp}{1}
|
||||
\setlength{\XESPD@tmpdimb}{\XESPD@tmpdimb + \csname arg\roman{narg@tmp}\endcsname}
|
||||
\put(\XESPDltu{\XESPD@tmpdimb},\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPDtabHeadH}}}}
|
||||
\end{picture}}%
|
||||
}
|
||||
|
||||
|
||||
% ------------------------------------------------------------------------
|
||||
% Комментарий слева от штампа для листов А3 и более
|
||||
% ------------------------------------------------------------------------
|
||||
%
|
||||
\newlength{\XESPDtabCommentPaddingV}
|
||||
\newlength{\XESPDtabCommentPaddingH}
|
||||
\setlength{\XESPDtabCommentPaddingV}{5mm}
|
||||
\setlength{\XESPDtabCommentPaddingH}{5mm}
|
||||
|
||||
\newcommand{\XESPDtabComment}[1]{\def\XESPDtheTabComment{#1}}
|
||||
|
||||
\newcommand{\XESPDtabDrawComment}{
|
||||
\@ifundefined{XESPDtheTabComment}{}{%
|
||||
% тут 185мм - длина штампа, 40мм - высота штампа
|
||||
\setlength{\XESPD@tmpdima}{\XESPDframeW -185mm -2\XESPDtabCommentPaddingH}
|
||||
\ifthenelse{\lengthtest{\XESPD@tmpdima > 10mm}}{% true
|
||||
\put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPDframeY}){%
|
||||
\begin{picture}(0,0)
|
||||
\put(\XESPDltu{\XESPDtabCommentPaddingH},\XESPDltu{\XESPDtabCommentPaddingV}){%
|
||||
\parbox[b][40mm -2\XESPDtabCommentPaddingV][c]{\XESPD@tmpdima}{%
|
||||
\setlength{\parindent}{15mm}%
|
||||
\XESPDtheTabComment}}
|
||||
\end{picture}}}%
|
||||
{\@ifundefined{XESPDtheTabComment}{}{%
|
||||
\ClassWarning{xespdtab}{%
|
||||
Not anough space to place comment message}}}}% false
|
||||
}
|
||||
|
||||
|
||||
|
||||
% ------------------------------------------------------------------------
|
||||
% Обертка для longtable
|
||||
% ------------------------------------------------------------------------
|
||||
% эти 2 макроса должны быть использованы
|
||||
% в стилевом файле разрабатываемого документа
|
||||
\newcommand{\XESPDtabLTPreamble}[2]{
|
||||
\XESPDputOnStyle{formII}{grid}{\XESPDtabDrawBody\XESPDtabDrawHead}
|
||||
\XESPDputOnStyle{formIIb}{grid}{\XESPDtabDrawBody[1]\XESPDtabDrawHead}
|
||||
\XESPDputOnStyle{formII}{comment}{\XESPDtabDrawComment}
|
||||
\begin{XESPDzeroPadding}
|
||||
\setlength{\tabcolsep}{0.5mm}
|
||||
\setlength{\LTpre}{0mm}
|
||||
\setlength{\LTpost}{0mm}
|
||||
\setlength{\LTleft}{0mm}
|
||||
\setlength{\LTright}{\fill}
|
||||
\begin{longtable}{#1}
|
||||
% изменим некоторые константы longtable для того, чтобы
|
||||
% таблица занимала всё свободное место
|
||||
\setlength{\XESPD@tmpdima}%
|
||||
{\XESPDframeH - \XESPD@style@sh@formIIb - \value{footwhitespace}\XESPDtabLineSpace}%
|
||||
\global\@colht\XESPD@tmpdima%
|
||||
\global\@colroom\XESPD@tmpdima%
|
||||
% заполним шапку таблицы
|
||||
#2
|
||||
% первые и последние строки листов сделаем пустыми для эстетичности
|
||||
\XESPD@tabEmptyLineTop%
|
||||
\endhead
|
||||
\XESPD@tabEmptyLineBottom%
|
||||
\endfoot}
|
||||
% закрывающий макрос
|
||||
\newcommand{\XESPDtabLTAmble}
|
||||
{\end{longtable}
|
||||
\end{XESPDzeroPadding}
|
||||
\XESPDremoveFromStyle{formII}{grid}
|
||||
\XESPDremoveFromStyle{formIIb}{grid}}
|
||||
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% макрос уменьшает содержимое под заданный размер в случае необходимости
|
||||
% ----------------------------------------------------------------------
|
||||
\newcommand{\XESPDsmartScaleBox}[2]{
|
||||
\settowidth{\XESPD@tmpdima}{#2}%
|
||||
\setlength{\XESPD@tmpdimb}{#1}%
|
||||
\ifthenelse{\lengthtest{\XESPD@tmpdima > \XESPD@tmpdimb}}%
|
||||
{\ifthenelse{\lengthtest{0.75\XESPD@tmpdima > \XESPD@tmpdimb}}%
|
||||
{\scalebox{0.45}[1]{\bfseries#2}}%
|
||||
{\scalebox{0.75}[1]{#2}}%
|
||||
}%
|
||||
{#2}%
|
||||
}
|
||||
|
||||
|
||||
\let\XESPD@tmpdimc=\XESPDlineCount
|
||||
|
||||
|
114
xespdtext.cls
Normal file
114
xespdtext.cls
Normal file
@ -0,0 +1,114 @@
|
||||
% 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}[2020/03/20 v1.00 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{listlikepar}{\PassOptionsToPackage{\CurrentOption}{xespdlist}}
|
||||
\DeclareOption{stdlist}{\PassOptionsToPackage{\CurrentOption}{xespdlist}}
|
||||
\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,formII]{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}
|
||||
|
137
xespdtitle.sty
Normal file
137
xespdtitle.sty
Normal file
@ -0,0 +1,137 @@
|
||||
% 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}[2020/03/20 v1.00 Title GOST 2.105]
|
||||
|
||||
\RequirePackage{xespdstamp}
|
||||
\RequirePackage{xespdlang}
|
||||
\RequirePackage{xespdinfo}
|
||||
\RequirePackage{xespdtitlebase}
|
||||
|
||||
\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
|
||||
\textbf{\MakeUppercase{\XESPDagreedName}}\\
|
||||
\XESPD@title@make@stamp{agreed}{1}
|
||||
\fi
|
||||
\else
|
||||
\textbf{\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
|
||||
\textbf{\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{\XESPDtheTitleFieldVII}{}
|
||||
|
||||
\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{\XESPDtitleFontI}{\XESPDfontV}
|
||||
\renewcommand{\XESPDtitleFontII}{\XESPDfontIII}
|
||||
\renewcommand{\XESPDtitleFontIII}{%
|
||||
\XESPDfontIII\renewcommand{\baselinestretch}{1.50}\selectfont}
|
||||
\renewcommand{\XESPDtitleFontIV}{\XESPDfontV}
|
||||
\renewcommand{\XESPDtitleFontV}{\XESPDfontV}
|
||||
\renewcommand{\XESPDtitleFontVI}{\XESPDfontV}
|
||||
\renewcommand{\XESPDtitleFontVII}{\XESPDfontIII}
|
||||
\renewcommand{\XESPDtitleFontVIII}{%
|
||||
\XESPDfontIII\renewcommand{\baselinestretch}{1.25}\selectfont}
|
||||
\renewcommand{\XESPDtitleFontX}{\XESPDfontV}
|
||||
|
||||
\renewcommand{\maketitle}{%
|
||||
\begin{XESPDtitlePage}
|
||||
\setlength{\topsep}{0mm}
|
||||
\noindent
|
||||
\parbox[c][.28\vsize][t]{\hsize}{%
|
||||
\begin{center}\XESPDtitleFontI\bfseries\XESPDtheTitleFieldI\end{center}
|
||||
\vspace{5mm \@plus 15mm \@minus 3mm}
|
||||
\begin{center}\XESPDtitleFontII\XESPDtheTitleFieldII\end{center}
|
||||
\vspace{10mm \@plus 20mm \@minus 6mm}
|
||||
\begin{center}\XESPDtitleFontIII\XESPDtheTitleFieldIII\end{center}}
|
||||
\par\vspace{10mm \@plus 2mm \@minus 4mm}\noindent
|
||||
\parbox[c][.30\vsize][t]{\hsize}{%
|
||||
\begin{center}\XESPDtitleFontIV\bfseries\XESPDtheTitleFieldIV\end{center}
|
||||
\begin{center}\XESPDtitleFontV\XESPDtheTitleFieldV\end{center}
|
||||
\begin{center}\XESPDtitleFontVI\XESPDtheTitleFieldVI\end{center}
|
||||
\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}
|
||||
\end{XESPDtitlePage}}
|
||||
|
87
xespdtitlebase.sty
Normal file
87
xespdtitlebase.sty
Normal file
@ -0,0 +1,87 @@
|
||||
% 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}[2020/03/20 v1.00 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{\XESPDtheTitleFieldVII}{}
|
||||
\newcommand{\XESPDtheTitleFieldVIII}{}
|
||||
\newcommand{\XESPDtheTitleFieldIX}{}
|
||||
\newcommand{\XESPDtheTitleFieldX}{}
|
||||
\newcommand{\XESPDtitleFontI}{}
|
||||
\newcommand{\XESPDtitleFontII}{}
|
||||
\newcommand{\XESPDtitleFontIII}{}
|
||||
\newcommand{\XESPDtitleFontIV}{}
|
||||
\newcommand{\XESPDtitleFontV}{}
|
||||
\newcommand{\XESPDtitleFontVI}{}
|
||||
\newcommand{\XESPDtitleFontVII}{}
|
||||
\newcommand{\XESPDtitleFontVIII}{}
|
||||
\newcommand{\XESPDtitleFontIX}{}
|
||||
\newcommand{\XESPDtitleFontX}{}
|
||||
|
||||
\def\XESPD@title@after@page{%
|
||||
\XESPDclearDoublePage
|
||||
\XESPDstyle{\XESPD@default@style@other}
|
||||
\XESPDthisStyle{\XESPD@default@style@first}}
|
||||
|
||||
\newenvironment{XESPDtitlePage}{%
|
||||
\begin{XESPDpadding}{5mm}{5mm}
|
||||
\XESPDstyle{\XESPD@default@style@title}}{%
|
||||
\end{XESPDpadding}
|
||||
\aftergroup\XESPD@title@after@page}
|
||||
|
59
xespdtotal.sty
Normal file
59
xespdtotal.sty
Normal 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}[2020/03/20 v1.00 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}}}
|
||||
|
180
xespdukrainian.def
Normal file
180
xespdukrainian.def
Normal 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}[2020/03/20 v1.00 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}{%
|
||||
\No\ \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. \No\ \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. \No}
|
||||
\newcommand{\XESPDcolumnXXIIname}{%
|
||||
\cyr\CYRII\cyrn\cyrv. \No\ \cyrd\cyru\cyrb\cyrl.}
|
||||
\newcommand{\XESPDcolumnXXIIIname}{%
|
||||
\cyr\CYRP\cyrii\cyrd\cyrp. \cyrii\ \cyrd\cyra\cyrt\cyra}
|
||||
\newcommand{\XESPDcolumnXXIVname}{%
|
||||
\cyr\CYRS\cyrp\cyrr\cyra\cyrv. \No}
|
||||
\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\ \No\ %
|
||||
\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}
|
||||
|
Loading…
x
Reference in New Issue
Block a user