Compare commits

..

No commits in common. "master" and "xespd2020" have entirely different histories.

54 changed files with 3643 additions and 3359 deletions

View File

@ -1,14 +0,0 @@
# LaTeX ЕСПД
Установка:
```sh
git clone https://git.246060.ru/f1x1t/latex-style-espdx ~/texmf/tex/latex/espdx
```
или
```sh
git clone git@git.246060.ru:/f1x1t/latex-style-esdpx ~/texmf/tex/latex/espdx
```

View File

@ -1,73 +0,0 @@
% 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{espdappsheet}[2010/01/14 v0.98 Approving Sheet GOST 2.105]
\RequirePackage{espdlang}
\RequirePackage{espdtitle}
\newcount\ESPD@appsheet@doc@cnt
\ESPD@appsheet@doc@cnt = 0
\newcommand{\ESPDapprovingDoc}[1]{%
\advance \ESPD@appsheet@doc@cnt 1
\@namedef{ESPD@appsheet@doc@\number\ESPD@appsheet@doc@cnt}{#1}}
\renewcommand{\ESPDtheTitleFieldV}{%
\ESPDapprovingSheetName}
\renewcommand{\ESPDtheTitleFieldVI}{%
\MakeUppercase{\ESPDtheSignature}}
\renewcommand{\ESPDtheTitleFieldVII}{}
\def\ESPDtheTitleFieldVIIIlb{}
\renewcommand{\ESPDtheTitleFieldVIIIlb}{%
\ESPD@tmpcnta = 1
\ESPD@tmpcntb = \ESPD@appsheet@doc@cnt
\advance \ESPD@tmpcntb 1
\loop
\ifnum \ESPD@tmpcnta < \ESPD@tmpcntb
\@nameuse{ESPD@appsheet@doc@\number\ESPD@tmpcnta}\par
\advance \ESPD@tmpcnta 2
\repeat}
\def\ESPDtheTitleFieldVIIIrb{}
\renewcommand{\ESPDtheTitleFieldVIIIrb}{%
\ESPD@tmpcnta = 2
\ESPD@tmpcntb = \ESPD@appsheet@doc@cnt
\advance \ESPD@tmpcntb 1
\loop
\ifnum \ESPD@tmpcnta < \ESPD@tmpcntb
\@nameuse{ESPD@appsheet@doc@\number\ESPD@tmpcnta}\par
\advance \ESPD@tmpcnta 2
\repeat}
\renewcommand{\ESPDtheTitleFieldVIII}{%
\ESPD@title@split@field{\ESPDtheTitleFieldVIIIl}{\ESPDtheTitleFieldVIIIr}
\par
\ESPD@title@split@field{\ESPDtheTitleFieldVIIIlb}{\ESPDtheTitleFieldVIIIrb}}
\renewcommand{\ESPDtheTitleFieldX}{}
\renewcommand{\ESPDtitleFontX}{\ESPDfontIII}
\newcommand{\ESPDmakeApprovingSheet}{\maketitle}

View File

@ -1,119 +0,0 @@
% 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{espdchngsheet}[2010/01/14 v0.98 Sheet of Changes GOST 2.503-90]
\RequirePackage{espdlang}
\RequirePackage{espdstamp}
\RequirePackage{array}
\RequirePackage{longtable}
\RequirePackage{forloop}
\RequirePackage{makecell}
\newcommand{\ESPDchngColumnIwidth}{.08\textwidth}
\newcommand{\ESPDchngColumnIIwidth}{.08\textwidth}
\newcommand{\ESPDchngColumnIIIwidth}{.08\textwidth}
\newcommand{\ESPDchngColumnIVwidth}{.08\textwidth}
\newcommand{\ESPDchngColumnVwidth}{.08\textwidth}
\newcommand{\ESPDchngColumnVIwidth}{.15\textwidth}
\newcommand{\ESPDchngColumnVIIwidth}{.10\textwidth}
\newcommand{\ESPDchngColumnVIIIwidth}{.15\textwidth}
\newcommand{\ESPDchngColumnIXwidth}{.10\textwidth}
\newcommand{\ESPDchngColumnXwidth}{.10\textwidth}
\newenvironment{ESPDchangeSheet}{%
\ESPDclearDoublePage
\setlength{\tabcolsep}{0.5mm}
\newcolumntype{s}{>{\ESPDfontTabBody}c}
\newcolumntype{S}{>{\ESPDfontTabHead}c}
\noindent
\renewcommand*{\arraystretch}{0.78}% Высота строк
\begin{longtable}{|*{10}{s|}}
\hline
\multicolumn{10}{|S|}{\ESPDchangeSheetName}\\\hline
&\multicolumn{4}{S|}{\ESPDchngColumnsIIhName}&&&&&\\\cline{2-5}
\parbox[c]{\ESPDchngColumnIwidth-2\tabcolsep-1.5\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXIVname}&
\parbox[c]{\ESPDchngColumnIIwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\ESPDfontTabHead\ESPDchngColumnIIname}&
\parbox[c]{\ESPDchngColumnIIIwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\ESPDfontTabHead\ESPDchngColumnIIIname}&
\parbox[c]{\ESPDchngColumnIVwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\ESPDfontTabHead\ESPDchngColumnIVname}&
\parbox[c]{\ESPDchngColumnVwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\ESPDfontTabHead\ESPDchngColumnVname}&
\parbox[c]{\ESPDchngColumnVIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDchngColumnVIname}&
\parbox[c]{\ESPDchngColumnVIIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIname}&
\parbox[c]{\ESPDchngColumnVIIIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDchngColumnVIIIname\vspace{1mm}}&
\parbox[c]{\ESPDchngColumnIXwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIIname}&
\parbox[c]{\ESPDchngColumnXwidth-2\tabcolsep-1.5\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIIIname}\\\hline
\endfirsthead
\hline
&\multicolumn{4}{S|}{\ESPDchngColumnsIIhName}&&&&&\\\cline{2-5}
\parbox[c]{\ESPDchngColumnIwidth-2\tabcolsep-1.5\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXIVname}&
\parbox[c]{\ESPDchngColumnIIwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\ESPDfontTabHead\ESPDchngColumnIIname}&
\parbox[c]{\ESPDchngColumnIIIwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\ESPDfontTabHead\ESPDchngColumnIIIname}&
\parbox[c]{\ESPDchngColumnIVwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\ESPDfontTabHead\ESPDchngColumnIVname}&
\parbox[c]{\ESPDchngColumnVwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\ESPDfontTabHead\ESPDchngColumnVname}&
\parbox[c]{\ESPDchngColumnVIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDchngColumnVIname}&
\parbox[c]{\ESPDchngColumnVIIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIname}&
\parbox[c]{\ESPDchngColumnVIIIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDchngColumnVIIIname\vspace{1mm}}&
\parbox[c]{\ESPDchngColumnIXwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIIname}&
\parbox[c]{\ESPDchngColumnXwidth-2\tabcolsep-1.5\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\ESPDfontTabHead\ESPDcolumnXVIIIname}\\\hline
\endhead
\hline
\endfoot}{\end{longtable}}
\newcount\lincnt
\long\def\addto#1#2{%
\expandafter\def\expandafter#1\expandafter{#1#2}}
\def\tabledata{}\lincnt=27 % Количество строк
% \addto\tabledata{ 4 & & Все & & & & \makecell{РЕВМ.120 \\ 1/2} & & & \makecell{27.09. \\ 2019} \\ \hline} % utk
\addto\tabledata{ 3 & & Все & & & & \makecell{РЕВМ.121 \\ 1/2} & & & \makecell{27.09. \\ 2019} \\ \hline} % pbu
% \addto\tabledata{ 4 & & Все & & & & \makecell{РЕВМ.122 \\ 1/2} & & & \makecell{27.09. \\ 2019} \\ \hline} % kims
\loop
\addto\tabledata{& & & & & & & & & \\ \hline}
\advance\lincnt -1
\ifnum\lincnt>0
\repeat
\newcommand{\ESPDprintEmptyChangeSheet}{
\begin{ESPDchangeSheet}
\tabledata
\end{ESPDchangeSheet}}

View File

@ -1,49 +0,0 @@
% 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{espddstu}[2010/01/20 v0.98 Ukrainian DSTU implementation]
% Настройка пояснений к формулам согласно ДСТУ 3008, п. 7.10.3
% временная длина для передачи внутрь окружения {list}
% величины абзацного отступа
\setlength{\ESPDexplanIndent}{\parindent}
% определим нашу собственную команду для замены \makelabel
\newcommand{\ESPD@dstu@expl@label}[1]{%
\ifthenelse{\equal{}{#1}}
{}
{\hspace{\ESPDexplanIndent}#1}%
}
\renewenvironment{ESPDexplanation}[1][\ESPDexplanWidth]{%
\begin{list}{}{\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\setlength{\itemsep}{0pt}%
\setlength{\labelsep}{0pt}%
\setlength{\labelwidth}{0pt}%
\setlength{\leftmargin}{0pt}%
\let\makelabel\ESPD@dstu@expl@label}}{%
\end{list}}

View File

@ -1,81 +0,0 @@
% 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{espdfont}[2010/01/14 v0.98 Font Definitions]
\newcommand{\ESPDfontBaseLineStretch}{1}
\newcommand{\ESPDfontSetBaseLineStretch}{%
\renewcommand{\baselinestretch}{\ESPDfontBaseLineStretch}}
\newcommand{\ESPDfontShape}{\rmfamily}
\newcommand{\ESPDfontIIsize}{\fontsize{8pt}{10pt}}
\newcommand{\ESPDfontIIIsize}{\fontsize{10pt}{13pt}}
\newcommand{\ESPDfontIVsize}{\fontsize{12pt}{16pt}}
\newcommand{\ESPDfontVsize}{\fontsize{14pt}{18pt}}
\newcommand{\ESPDfontVIIsize}{\fontsize{18pt}{24pt}}
\newcommand{\ESPDfontXsize}{\fontsize{32pt}{40pt}}
\newcommand{\ESPDfontII}{%
\ESPDfontSetBaseLineStretch
\ESPDfontIIsize\selectfont\ESPDfontShape}
\newcommand{\ESPDfontIII}{%
\ESPDfontSetBaseLineStretch
\ESPDfontIIIsize\selectfont\ESPDfontShape}
\newcommand{\ESPDfontIV}{%
\ESPDfontSetBaseLineStretch
\ESPDfontIVsize\selectfont\ESPDfontShape}
\newcommand{\ESPDfontV}{%
\ESPDfontSetBaseLineStretch
\ESPDfontVsize\selectfont\ESPDfontShape}
\newcommand{\ESPDfontVII}{%
\ESPDfontSetBaseLineStretch
\ESPDfontVIIsize\selectfont\ESPDfontShape}
\newcommand{\ESPDfontX}{%
\ESPDfontSetBaseLineStretch
\ESPDfontXsize\selectfont\ESPDfontShape}
\RequirePackage{ifxetex}
\ifxetex
\newcommand{\ESPDtheGostFontName}{}
\newcommand{\ESPDgostFontName}[1]{\renewcommand{\ESPDtheGostFontName}{#1}}
\usepackage{fontspec}
\newcommand{\ESPDfontGostIII}{%
\ESPDfontSetBaseLineStretch
\ESPDfontIIIsize\setmainfont{\ESPDtheGostFontName}}
\newcommand{\ESPDfontGostIV}{%
\ESPDfontSetBaseLineStretch
\ESPDfontIVsize\setmainfont{\ESPDtheGostFontName}}
\else
\RequirePackage{gostfont}
\newcommand{\ESPDfontGostIII}{%
\ESPDfontSetBaseLineStretch
\ESPDfontIIIsize\selectfont\GostBFont}
\newcommand{\ESPDfontGostIV}{%
\ESPDfontSetBaseLineStretch
\ESPDfontIVsize\selectfont\GostBFont}
\fi
\newcommand{\ESPDfontTabHead}{\ESPDfontV}
\newcommand{\ESPDfontTabBody}{\ESPDfontV}

View File

@ -1,80 +0,0 @@
% 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{espdframe}[2011/05/09 v0.98 Frame Page Style]
\RequirePackage{espdstamp}
\RequirePackage{setspace}
\RequirePackage{calc}
\def\ESPD@frame@vt{%
\setlength{\ESPD@tmpdimc}{%
\ESPDframeY+\ESPDframeH-\ESPD@padding@v}}
\def\ESPD@frame@vb{%
\setlength{\ESPD@tmpdimc}{%
\ESPDframeY+\ESPD@padding@v-15mm}}
\def\ESPD@frame@hl{%
\ifESPD@twoside
\ifodd\c@page\raggedright\else\raggedleft\fi
\else\raggedright\fi}
\def\ESPD@frame@hr{%
\ifESPD@twoside
\ifodd\c@page\raggedleft\else\raggedright\fi
\else\raggedleft\fi}
\def\ESPD@frame@hc{\centering}
\let\ESPD@frame@ha\ESPD@frame@hc
\let\ESPD@frame@va\ESPD@frame@vb
\DeclareOption{numbertop}{\let\ESPD@frame@va\ESPD@frame@vt}
\DeclareOption{numberbottom}{\let\ESPD@frame@va\ESPD@frame@vb}
\DeclareOption{numberleft}{\let\ESPD@frame@ha\ESPD@frame@hl}
\DeclareOption{numbercenter}{\let\ESPD@frame@ha\ESPD@frame@hc}
\DeclareOption{numberright}{\let\ESPD@frame@ha\ESPD@frame@hr}
\ProcessOptions\relax
% Колонтитул
\newcommand{\ESPDdrawFramePageNumber}{
\setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPD@padding@h}
\setlength{\ESPD@tmpdimb}{\ESPDframeW-2\ESPD@padding@h}
\ESPD@frame@va
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimc}){%
\parbox[b][25mm][c]{\ESPD@tmpdimb}{%
\begin{singlespace}
\reset@font\normalsize
\ESPD@frame@ha\thepage \\ \MakeUppercase\ESPDtheSignature
\end{singlespace}
}}}
\ESPDnewStyle{frame}{0mm}
\ESPDputOnStyle{frame}{pagenumber}{\ESPDdrawFramePageNumber}
\renewcommand{\ESPDdrawFrame}{}
\ESPDdefaultTitleStyle{title}
\ESPDdefaultFirstStyle{frame}
\ESPDdefaultStyle{frame}

View File

@ -1,176 +0,0 @@
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% This Current Maintainer of this work is Konstantin Korikov.
%
% This work consists of all files listed in manifest.txt.
%
% Пакет предоставляет возможность вставки листа
% почти любого размера (ограничения описаны в руководстве
% пользователя espdx):
%
% This is automaticaly generated file, do not edit it.
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdfreesize}[2010/02/20 v0.98 Inserting Free Size Sheets]
\RequirePackage{espdstamp}
% переключение размера возможно только в pdflatex.
% Tем не менее, latex тоже сможет собрать такой документ,
% но все большие страницы
% обрежет по размерам формата, установленного в documentclass
\RequirePackage{ifpdf}
\ifpdf{}
\else{\PackageWarningNoLine{espdfreesize}
{It's better to compile this document with pdflatex.\MessageBreak
In DVI you will get only part of the inserted big sheet}}
\fi
% в espdstamp для ускорения отрисовки рамки применен \savebox
% в нашем случае это неудобно, будем рисовать персонально
% на каждой странице
\newcommand{\ESPDdrawFrameFree}{%
\put(\ESPDltu{\ESPDframeX},\ESPDltu{\ESPDframeY}){%
\setlength{\unitlength}{1mm}%
\begin{picture}(0,0)(0,0)
\linethickness{\ESPDlineThick}
\put(0,\ESPDltu{\ESPDframeH}){\line(1,0){\ESPDltu{\ESPDframeW}}}
\put(0,0){\line(1,0){\ESPDltu{\ESPDframeW}}}
\put(0,0){\line(0,1){\ESPDltu{\ESPDframeH}}}
\put(\ESPDltu{\ESPDframeW},0){\line(0,1){\ESPDltu{\ESPDframeH}}}
\end{picture}}}
% содержимое нестандартной графы 32 по умолчанию
\newcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDemptyFormatName}}
% определим нашу собственную нестандартную графу 32
\newcommand{\ESPDdrawColumnXXXIIfree}{%
\setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW-50mm}%
\setlength{\ESPD@tmpdimb}{\ESPDframeY-3.7mm}%
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){%
\makebox[50mm][r]{\ESPDfontIII\ESPDtheColumnXXXIIfree}}}
% Определим новый стиль. Подробнее про определение своих стилей
% можно прочитать в руководстве пользователя espdx,
% или заглянуть в espdstamp.sty,
% кусок оттуда был использован как основа для стиля freesize
\ESPDnewStyle{freesize}{8mm}
\ESPDputOnStyle{freesize}{frame}{\ESPDdrawFrameFree}
\ESPDputOnStyle{freesize}{stamp}{\ESPDdrawStampIIa}
\ifESPD@enable@columns@xix
\ESPDputOnStyle{freesize}{columnsxix}{\ESPDdrawColumnsXIX}
\fi
\ifESPD@enable@column@xxvi
\ESPDputOnStyle{freesize}{columnxxvi}{\ESPDdrawColumnXXVI}
\fi
\ifESPD@enable@columns@xxvii
\ESPDputOnStyle{freesize}{columnsxxvii}{\ESPDdrawColumnsXXVIIi}
\fi
\ifESPD@enable@column@xxxi
\ESPDputOnStyle{freesize}{columnxxxi}{\ESPDdrawColumnXXXI}
\fi
\ifESPD@enable@column@xxxii
% наша новая графа 32
\ESPDputOnStyle{freesize}{columnxxxii}{\ESPDdrawColumnXXXIIfree}
\fi
\ifESPD@enable@column@xxxiii
\ESPDputOnStyle{freesize}{columnxxxiii}{\ESPDdrawColumnXXXIII}
\fi
\ifESPD@enable@column@xxxiv
\ESPDputOnStyle{freesize}{columnxxxiv}{\ESPDdrawColumnXXXIV}
\fi
\ifESPD@zonelabels%
\ESPDputOnStyle{freesize}{zonelabels}{\ESPDdrawZoneLabelsI}
\fi
% вспомогательные счетчики для записей в лог
\newcounter{ESPD@free@sizepagebegin}
\newcounter{ESPD@free@sizepageend}
% теперь самое сложное - сам переключатель
\newcommand{\ESPDfreeSize}[3]{%
\ESPDclearDoublePage%
\setcounter{ESPD@free@sizepagebegin}{\value{page}}% запомним текущую страницу
\pdfpagewidth=#1%
\pdfpageheight=#2%
\setlength{\ESPD@origin@y}{#2-1in}%
\setlength{\ESPDframeW}{\pdfpagewidth-\ESPD@margin@si-\ESPD@margin@so}%
\setlength{\ESPDframeH}{\pdfpageheight-\ESPD@margin@t-\ESPD@margin@b}%
\ESPDstyle{freesize}%
\expandafter{#3}%
% зафиксируем факт вставки листа в \jobname.log
\ESPDclearDoublePage%
\renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDemptyFormatName}}% сброс графы 32
\setcounter{ESPD@free@sizepageend}{\value{page}}%
\addtocounter{ESPD@free@sizepageend}{-1}%
\ifthenelse{\value{ESPD@free@sizepagebegin}<\value{ESPD@free@sizepageend}}% латех начал новую страницу
{\immediate\write0{espdfreesize: sheet(s) with size (#1 x #2) inserted
at page(s) \noexpand[\arabic{ESPD@free@sizepagebegin}%
-\arabic{ESPD@free@sizepageend}\noexpand]}}
{\immediate\write0{espdfreesize: sheet(s) with size (#1 x #2) inserted
at page(s) \noexpand[\arabic{ESPD@free@sizepageend}\noexpand]}}
% теперь вернем всё как было до нас
\setlength{\ESPD@origin@y}{\paperheight-1in}%
\pdfpageheight=\paperheight%
\pdfpagewidth=\paperwidth%
\setlength{\ESPDframeW}{\paperwidth-\ESPD@margin@si-\ESPD@margin@so}%
\setlength{\ESPDframeH}{\paperheight-\ESPD@margin@t-\ESPD@margin@b}%
\ESPDstyle{\ESPD@default@style@other}%
\newpage%
}
% Определим несколько готовых к употреблению форматов
\newcommand{\ESPDlandscapeAIII}[1]{%
\renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa3FormatName}}%
\ESPDfreeSize{420mm}{297mm}{#1}}
\newcommand{\ESPDportraitAIII}[1]{%
\renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa3FormatName}}%
\ESPDfreeSize{297mm}{420mm}{#1}}
\newcommand{\ESPDlandscapeAII}[1]{%
\renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa2FormatName}}%
\ESPDfreeSize{594mm}{420mm}{#1}}
\newcommand{\ESPDportraitAII}[1]{%
\renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa2FormatName}}%
\ESPDfreeSize{420mm}{594mm}{#1}}
\newcommand{\ESPDlandscapeAI}[1]{%
\renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa1FormatName}}%
\ESPDfreeSize{841mm}{594mm}{#1}}
\newcommand{\ESPDportraitAI}[1]{%
\renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa1FormatName}}%
\ESPDfreeSize{594mm}{841mm}{#1}}
\newcommand{\ESPDlandscapeAZERO}[1]{%
\renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa0FormatName}}%
\ESPDfreeSize{1189mm}{841mm}{#1}}
\newcommand{\ESPDportraitAZERO}[1]{%
\renewcommand\ESPDtheColumnXXXIIfree{\@nameuse{ESPDa0FormatName}}%
\ESPDfreeSize{841mm}{1189mm}{#1}}
\newcommand{\ESPDlandscapeBanner}[1]{%
% Пятиметровое полотно для подшивки гармошкой в обычную папку А4.
% Просто для демонстрации
\ESPDfreeSize{5000mm}{297mm}{#1}}

View File

@ -1,60 +0,0 @@
% 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{espdhash}[2010/01/14 v0.98 Hash Routines]
\newcommand{\ESPD@hash@new}[1]{%
\global\expandafter\newcount\csname ESPD@hash@c@#1\endcsname
\global\csname ESPD@hash@c@#1\endcsname = 0
\global\expandafter\newcount\csname ESPD@hash@p@#1\endcsname
\global\csname ESPD@hash@p@#1\endcsname = 0\relax}
\newcommand{\ESPD@hash@set}[3]{%
\expandafter\ifx\csname ESPD@hash@v@#1@#2\endcsname\relax
\expandafter\gdef\csname ESPD@hash@k@#1@\expandafter\number\csname
ESPD@hash@c@#1\endcsname\endcsname{#2}
\expandafter\advance\csname ESPD@hash@c@#1\endcsname 1
\fi
\expandafter\gdef\csname ESPD@hash@v@#1@#2\endcsname{#3}}
\newcommand{\ESPD@hash@get}[2]{%
\csname ESPD@hash@v@#1@#2\endcsname}
\newcommand{\ESPD@hash@reset}[1]{%
\csname ESPD@hash@p@#1\endcsname = 0\relax}
\newcommand{\ESPD@hash@next@key}[1]{%
\csname ESPD@hash@k@#1@\expandafter\number\csname
ESPD@hash@p@#1\endcsname\endcsname
\expandafter\advance\csname ESPD@hash@p@#1\endcsname 1\relax}
\newcommand{\ESPD@hash@next@value}[1]{%
\csname ESPD@hash@v@#1@\csname ESPD@hash@k@#1@\expandafter\number\csname
ESPD@hash@p@#1\endcsname\endcsname\endcsname
\expandafter\advance\csname ESPD@hash@p@#1\endcsname 1\relax}
\newcommand{\ESPD@hash@count}[1]{%
\expandafter\number\csname ESPD@hash@c@#1\endcsname}
\newcommand{\ESPD@hash@pos}[1]{%
\expandafter\number\csname ESPD@hash@p@#1\endcsname}

View File

@ -1,111 +0,0 @@
% 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{espdinfo}[2010/01/14 v0.98 Document Information]
\newcommand{\ESPDtheDepartment}{}
\newcommand{\ESPDdepartment}[1]{\renewcommand{\ESPDtheDepartment}{#1}}
\newcommand{\ESPDtheCompany}{}
\newcommand{\ESPDcompany}[1]{\renewcommand{\ESPDtheCompany}{#1}}
\newcommand{\ESPDtheClassCode}{}
\newcommand{\ESPDclassCode}[1]{\renewcommand{\ESPDtheClassCode}{#1}}
\newcommand{\ESPDtheUnitName}{}
\newcommand{\ESPDunitName}[1]{%
\renewcommand{\ESPDtheUnitName}{#1}%
\renewcommand{\@title}{#1}}
\newcommand{\ESPDtheTitle}{\ESPDtheUnitName}
\newcommand{\ESPDtitle}[1]{\ESPDunitName{#1}}
\renewcommand{\title}[1]{\ESPDunitName{#1}}
\newcommand{\ESPDtheDocName}{}
\newcommand{\ESPDdocName}[1]{\renewcommand{\ESPDtheDocName}{#1}}
\newcommand{\ESPDtheSignature}{}
\newcommand{\ESPDsignature}[1]{\renewcommand{\ESPDtheSignature}{#1}}
\newcommand{\ESPDtheFileName}{}
\newcommand{\ESPDfileName}[1]{\renewcommand{\ESPDtheFileName}{#1}}
\newcommand{\ESPDtheREVMBase}{}
\newcommand{\ESPDREVMBase}[1]{\renewcommand{\ESPDtheREVMBase}{#1}}
\newcommand{\ESPDtheREVMType}{}
\newcommand{\ESPDREVMType}[1]{\renewcommand{\ESPDtheREVMType}{#1}}
\newcommand{\ESPDtheLetterI}{}
\newcommand{\ESPDtheLetterII}{}
\newcommand{\ESPDtheLetterIII}{}
\newcommand{\ESPDletter}[3]{%
\renewcommand{\ESPDtheLetterI}{#1}%
\renewcommand{\ESPDtheLetterII}{#2}%
\renewcommand{\ESPDtheLetterIII}{#3}}
\newcommand{\ESPDtheMaterial}{}
\newcommand{\ESPDmaterial}[1]{%
\renewcommand{\ESPDtheMaterial}{#1}}
\newcommand{\ESPDtheMass}{}
\newcommand{\ESPDmass}[1]{%
\renewcommand{\ESPDtheMass}{#1}}
\newcommand{\ESPDtheScale}{}
\newcommand{\ESPDscale}[1]{%
\renewcommand{\ESPDtheScale}{#1}}
\newcommand{\ESPDtheGroup}{}
\newcommand{\ESPDgroup}[1]{\renewcommand{\ESPDtheGroup}{#1}}
\newcommand{\ESPDtheAuthor}{}
\newcommand{\ESPDauthor}[1]{%
\renewcommand{\ESPDtheAuthor}{#1}%
\renewcommand{\@author}{#1}}
\renewcommand{\author}[1]{\ESPDauthor{#1}}
\newcommand{\ESPDtheChecker}{}
\newcommand{\ESPDchecker}[1]{\renewcommand{\ESPDtheChecker}{#1}}
\newcommand{\ESPDtheNormContr}{}
\newcommand{\ESPDnormContr}[1]{\renewcommand{\ESPDtheNormContr}{#1}}
\newcommand{\ESPDtheApprovedBy}{}
\newcommand{\ESPDapprovedBy}[1]{\renewcommand{\ESPDtheApprovedBy}{#1}}
\newcommand{\ESPDtheYear}{\number\year}
\newcommand{\ESPDtheMonth}{\number\month}
\newcommand{\ESPDtheDay}{\number\day}
\def\ESPD@set@date#1/#2/#3 enddate{%
\renewcommand{\ESPDtheYear}{#1}%
\renewcommand{\ESPDtheMonth}{#2}%
\renewcommand{\ESPDtheDay}{#3}}
\newcommand{\ESPDdate}[1]{%
\ESPD@set@date #1 enddate%
\renewcommand{\@date}{#1}}
\renewcommand{\date}[1]{\ESPDdate{#1}}
\RequirePackage{espdafterpkg}
\ESPD@after@package{hyperref}{%
\hypersetup{breaklinks,pdftitle=\ESPDtheUnitName,%
pdfsubject=\ESPDtheDocName,pdfauthor=\ESPDtheAuthor}}

View File

@ -1,51 +0,0 @@
% 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{espdpara}[2010/01/14 v0.98 Paragraphs]
\RequirePackage{espdsect}
\newcommand{\ESPDparagraphAlign}{\ESPDsectAlignLeft}
\newcommand{\ESPDsubparagraphAlign}{\ESPDsectAlignLeft}
\newcommand{\ESPDparagraphStyle}{\normalfont\normalsize\bfseries}
\newcommand{\ESPDsubparagraphStyle}{\normalfont\normalsize\bfseries}
\newlength{\ESPDparagraphSkipBefore}
\newlength{\ESPDparagraphSkipAfter}
\setlength{\ESPDparagraphSkipBefore}{-15mm \@plus -3mm \@minus -2mm}
\setlength{\ESPDparagraphSkipAfter}{15mm \@plus 1mm \@minus 2mm}
\newlength{\ESPDsubparagraphSkipBefore}
\newlength{\ESPDsubparagraphSkipAfter}
\setlength{\ESPDsubparagraphSkipBefore}{-15mm \@plus -3mm \@minus -2mm}
\setlength{\ESPDsubparagraphSkipAfter}{15mm \@plus 1mm \@minus 2mm}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
{\ESPDparagraphSkipBefore}%
{\ESPDparagraphSkipAfter}%
{\ESPDparagraphAlign\ESPDparagraphStyle}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
{\ESPDsubparagraphSkipBefore}%
{\ESPDsubparagraphSkipAfter}%
{\ESPDsubparagraphAlign\ESPDsubparagraphStyle}}

View File

@ -1,78 +0,0 @@
% 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{espdplain}[2011/05/09 v0.98 Plain Page Style]
\RequirePackage{espdstamp}
\RequirePackage{setspace}
\RequirePackage{calc}
\def\ESPD@plain@vt{%
\setlength{\ESPD@tmpdimc}{%
\ESPDframeY+\ESPDframeH-\ESPD@padding@v}}
\def\ESPD@plain@vb{%
\setlength{\ESPD@tmpdimc}{%
\ESPDframeY+\ESPD@padding@v-15mm}}
\def\ESPD@plain@hl{%
\ifESPD@twoside
\ifodd\c@page\raggedright\else\raggedleft\fi
\else\raggedright\fi}
\def\ESPD@plain@hr{%
\ifESPD@twoside
\ifodd\c@page\raggedleft\else\raggedright\fi
\else\raggedleft\fi}
\def\ESPD@plain@hc{\centering}
\let\ESPD@plain@ha\ESPD@plain@hc
\let\ESPD@plain@va\ESPD@plain@vb
\DeclareOption{numbertop}{\let\ESPD@plain@va\ESPD@plain@vt}
\DeclareOption{numberbottom}{\let\ESPD@plain@va\ESPD@plain@vb}
\DeclareOption{numberleft}{\let\ESPD@plain@ha\ESPD@plain@hl}
\DeclareOption{numbercenter}{\let\ESPD@plain@ha\ESPD@plain@hc}
\DeclareOption{numberright}{\let\ESPD@plain@ha\ESPD@plain@hr}
\ProcessOptions\relax
\newcommand{\ESPDdrawPlainPageNumber}{
\setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPD@padding@h}
\setlength{\ESPD@tmpdimb}{\ESPDframeW-2\ESPD@padding@h}
\ESPD@plain@va
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimc}){%
\parbox[b][15mm][c]{\ESPD@tmpdimb}{%
\begin{singlespace}
\reset@font\normalsize
\ESPD@plain@ha\thepage \\ \MakeUppercase\ESPDtheSignature
\end{singlespace}
}}}
\ESPDnewStyle{plain}{0mm}
\ESPDputOnStyle{plain}{pagenumber}{\ESPDdrawPlainPageNumber}
\ESPDdefaultTitleStyle{empty}
\ESPDdefaultFirstStyle{plain}
\ESPDdefaultStyle{plain}

View File

@ -1,83 +0,0 @@
% 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{espdplain}[2011/05/09 v0.98 Plain Page Style]
\RequirePackage{espdstamp}
\RequirePackage{setspace}
\RequirePackage{calc}
\def\ESPD@plain@vt{%
\setlength{\ESPD@tmpdimc}{%
\ESPDframeY+\ESPDframeH-\ESPD@padding@v}}
\def\ESPD@plain@vb{%
\setlength{\ESPD@tmpdimc}{%
\ESPDframeY+\ESPD@padding@v-15mm}}
\def\ESPD@plain@hl{%
\ifESPD@twoside
\ifodd\c@page\raggedright\else\raggedleft\fi
\else\raggedright\fi}
\def\ESPD@plain@hr{%
\ifESPD@twoside
\ifodd\c@page\raggedleft\else\raggedright\fi
\else\raggedleft\fi}
\def\ESPD@plain@hc{\centering}
\let\ESPD@plain@ha\ESPD@plain@hc
\let\ESPD@plain@va\ESPD@plain@vb
\DeclareOption{numbertop}{\let\ESPD@plain@va\ESPD@plain@vt}
\DeclareOption{numberbottom}{\let\ESPD@plain@va\ESPD@plain@vb}
\DeclareOption{numberleft}{\let\ESPD@plain@ha\ESPD@plain@hl}
\DeclareOption{numbercenter}{\let\ESPD@plain@ha\ESPD@plain@hc}
\DeclareOption{numberright}{\let\ESPD@plain@ha\ESPD@plain@hr}
\ProcessOptions\relax
\newcommand{\ESPDdrawPlainPageNumber}{
\setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPD@padding@h}
\setlength{\ESPD@tmpdimb}{\ESPDframeW-2\ESPD@padding@h}
\ESPD@plain@va
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimc}){%
\parbox[b][20mm][c]{\ESPD@tmpdimb}{%
\begin{singlespace}
\reset@font\normalsize
\ESPD@plain@ha\thepage \\ \MakeUppercase\ESPDtheSignature
\end{singlespace}
}}}
\ESPDnewStyle{plain}{0mm}
\ESPDputOnStyle{plain}{pagenumber}{\ESPDdrawPlainPageNumber}
\ESPDdefaultTitleStyle{empty}
\ESPDdefaultFirstStyle{plain}
\ESPDdefaultStyle{plain}
\renewcommand{\ESPDtheTitleFieldIII}{}
\renewcommand{\ESPDtheTitleFieldVII}{}
\renewcommand{\ESPDtheTitleFieldX}{}
\renewcommand{\ESPDtheTitleFieldXI}{}

View File

@ -1,22 +0,0 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdrtis}[2018/09/30 v0.98 Document Information]
\RequirePackage{calc}
\RequirePackage{indentfirst}
\RequirePackage[defaultlines=3,all]{nowidow}
\RequirePackage{bookmark}
% Обязательно переносить при достижении полей
\sloppy
% При переносе оставлять минимум 3 символа на первой строке и 3 на второй
\renewcommand\russianhyphenmins{33}
% Обязательно (полуторный интервал)
\linespread{1.5}
% Использовать для кавычек-ёлочек данные символы
\renewcommand{\flqq}{«}
\renewcommand{\frqq}{»}
\providecommand{\strong}[1]{\textbf{#1}}

View File

@ -1,178 +0,0 @@
% 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{espdrussian.def}[2010/01/17 v0.98 Language File]
\newcommand{\ESPDcolumnIVname}{%
\cyr\CYRL\cyri\cyrt.}
\newcommand{\ESPDcolumnVname}{%
\cyr\CYRM\cyra\cyrs\cyrs\cyra}
\newcommand{\ESPDcolumnVIname}{%
\cyr\CYRM\cyra\cyrs\cyrsh\cyrt\cyra\cyrb}
\newcommand{\ESPDcolumnVIIname}{%
\cyr\CYRL\cyri\cyrs\cyrt}
\newcommand{\ESPDcolumnVIItwosideName}{%
\cyr\CYRS\cyrt\cyrr.}
\newcommand{\ESPDcolumnVIIIname}{%
\cyr\CYRL\cyri\cyrs\cyrt\cyro\cyrv}
\newcommand{\ESPDcolumnVIIItwosideName}{%
\cyr\CYRS\cyrt\cyrr\cyra\cyrn\cyri\cyrc}
\newcommand{\ESPDcolumnXfIname}{%
\cyr\CYRR\cyra\cyrz\cyrr\cyra\cyrb.}
\newcommand{\ESPDcolumnXfIIname}{%
\cyr\CYRP\cyrr\cyro\cyrv.}
\newcommand{\ESPDcolumnXfIIIname}{%
\cyr\CYRT. \cyrk\cyro\cyrn\cyrt\cyrr.}
\newcommand{\ESPDcolumnXfIVname}{}
\newcommand{\ESPDcolumnXfVname}{%
\cyr\CYRN. \cyrk\cyro\cyrn\cyrt\cyrr.}
\newcommand{\ESPDcolumnXfVIname}{%
\cyr\CYRU\cyrt\cyrv.}
\newcommand{\ESPDcolumnXIVname}{%
\cyr\CYRI\cyrz\cyrm.}
\newcommand{\ESPDcolumnXVname}{%
\cyr\CYRL\cyri\cyrs\cyrt}
\newcommand{\ESPDcolumnXVIname}{%
\textnumero\ \cyr\cyrd\cyro\cyrk\cyru\cyrm.}
\newcommand{\ESPDcolumnXVIIname}{%
\cyr\CYRP\cyro\cyrd\cyrp.}
\newcommand{\ESPDcolumnXVIIIname}{%
\cyr\CYRD\cyra\cyrt\cyra}
\newcommand{\ESPDcolumnXIXname}{%
\cyr\CYRI\cyrn\cyrv. \textnumero\ \cyrp\cyro\cyrd\cyrl.}
\newcommand{\ESPDcolumnXXname}{%
\cyr\CYRP\cyro\cyrd\cyrp. \cyri\ \cyrd\cyra\cyrt\cyra}
\newcommand{\ESPDcolumnXXIname}{%
\cyr\CYRV\cyrz\cyra\cyrm. \cyri\cyrn\cyrv. \textnumero}
\newcommand{\ESPDcolumnXXIIname}{%
\cyr\CYRI\cyrn\cyrv. \textnumero\ \cyrd\cyru\cyrb\cyrl.}
\newcommand{\ESPDcolumnXXIIIname}{%
\cyr\CYRP\cyro\cyrd\cyrp. \cyri\ \cyrd\cyra\cyrt\cyra}
\newcommand{\ESPDcolumnXXIVname}{%
\cyr\CYRS\cyrp\cyrr\cyra\cyrv. \textnumero}
\newcommand{\ESPDcolumnXXVname}{%
\cyr\CYRP\cyre\cyrr\cyrv. \cyrp\cyrr\cyri\cyrm\cyre\cyrn.}
\newcommand{\ESPDcolumnXXXIname}{%
\cyr\CYRK\cyro\cyrp\cyri\cyrr\cyro\cyrv\cyra\cyrl}
\@namedef{ESPDa0FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}0}
\@namedef{ESPDa1FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}1}
\@namedef{ESPDa2FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}2}
\@namedef{ESPDa3FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}3}
\@namedef{ESPDa4FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}4}
\@namedef{ESPDemptyFormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \ \ \ }
\newcommand{\ESPDcolumnXXXIIIname}{%
\cyr\CYRZ\cyro\cyrn\cyra}
\newcommand{\ESPDagreedName}{%
\cyr\CYRS\cyro\cyrg\cyrl\cyra\cyrs\cyro\cyrv\cyra\cyrn\cyro}
\newcommand{\ESPDapprovingName}{%
\cyr\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyra\cyryu}
\newcommand{\ESPDapprovedName}{%
\cyr\CYRU\CYRT\CYRV\CYRE\CYRR\CYRZH\CYRD\CYRE\CYRN}
\newcommand{\ESPDapprovingSheetName}{%
\cyr\CYRL\cyri\cyrs\cyrt\ %
\cyru\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyrya}
\newlength{\ESPDexplanWidth}
\setlength{\ESPDexplanWidth}{1.8em}
\addto\captionsrussian{%
\def\tablename{{\cyr\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra}}%
\def\figurename{{\cyr\CYRR\cyri\cyrs.}}%
}
\newcommand{\ESPDspecColumnIname}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt}
\newcommand{\ESPDspecColumnIIname}{%
\cyr\CYRZ\cyro\cyrn\cyra}
\newcommand{\ESPDspecColumnIIIname}{%
\cyr\CYRP\cyro\cyrz.}
\newcommand{\ESPDspecColumnIVname}{%
\cyr\CYRO\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri\cyre}
\newcommand{\ESPDspecColumnVname}{%
\cyr\CYRN\cyra\cyri\cyrm\cyre\cyrn\cyro\cyrv\cyra\cyrn\cyri\cyre}
\newcommand{\ESPDspecColumnVIname}{%
\cyr\CYRK\cyro\cyrl.}
\newcommand{\ESPDspecColumnVIIname}{%
\cyr\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyre}
\newcommand{\ESPDspecIIcolumnIname}{\ESPDspecColumnIname}
\newcommand{\ESPDspecIIcolumnIIname}{\ESPDspecColumnIIname}
\newcommand{\ESPDspecIIcolumnIIIname}{\ESPDspecColumnIIIname}
\newcommand{\ESPDspecIIcolumnIVname}{\ESPDspecColumnIVname}
\newcommand{\ESPDspecIIcolumnVname}{\ESPDspecColumnVname}
\newcommand{\ESPDspecIIcolumnVIname}{\ESPDspecColumnVIname}
\newcommand{\ESPDspecIIcolumnVIIname}{%
\cyr\CYRM\cyra\cyrs\cyrs\cyra}
\newcommand{\ESPDspecIIcolumnVIIIname}{%
\cyr\CYRM\cyra\cyrt\cyre\cyrr\cyri\cyra\cyrl}
\newcommand{\ESPDspecIIcolumnIXname}{\ESPDspecColumnVIIname}
\newcommand{\ESPDchangeSheetName}{%
\cyr\CYRL\cyri\cyrs\cyrt\ %
\cyrr\cyre\cyrg\cyri\cyrs\cyrt\cyrr\cyra\cyrc\cyri\cyri\ %
\cyri\cyrz\cyrm\cyre\cyrn\cyre\cyrn\cyri\cyrishrt}
\newcommand{\ESPDchngColumnsIIhName}{%
\cyr\CYRN\cyro\cyrm\cyre\cyrr\cyra\ \cyrl\cyri\cyrs\cyrt\cyro\cyrv\ %
(\cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc)}
\newcommand{\ESPDchngColumnIIname}{%
\cyr\cyri\cyrz\-\cyrm\cyre\-\cyrn\cyre\cyrn\-\cyrn\cyrery\cyrh}
\newcommand{\ESPDchngColumnIIIname}{%
\cyr\cyrz\cyra\-\cyrm\cyre\-\cyrn\cyre\cyrn\-\cyrn\cyrery\cyrh}
\newcommand{\ESPDchngColumnIVname}{%
\cyr\cyrn\cyro\-\cyrv\cyrery\cyrh}
\newcommand{\ESPDchngColumnVname}{%
\cyr\cyra\cyrn\-\cyrn\cyru\-\cyrl\cyri\-\cyrr\cyro\-\cyrv\cyra\cyrn\-%
\cyrn\cyrery\cyrh}
\newcommand{\ESPDchngColumnVIname}{%
\cyr\CYRV\cyrs\cyre\cyrg\cyro\ \cyrl\cyri\cyrs\cyrt\cyro\cyrv\ %
(\cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc) \cyrv\ \cyrd\cyro\cyrk\cyru\cyrm.}
\newcommand{\ESPDchngColumnVIIIname}{%
\cyr\CYRV\cyrh\cyro\cyrd\cyrya\cyrshch\cyri\cyrishrt\ \textnumero\ %
\cyrs\cyro\cyrp\cyrr\cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn
\cyrn\cyro\cyrg\cyro\ \cyrd\cyro\cyrk\cyru\cyrm. \cyri\ %
\cyrd\cyra\cyrt\cyra}
\def\@Asbuk#1{\ifcase#1\or
\CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or
\CYRI\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or
\CYRP\or\CYRR\or\CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or
\CYRC\or\CYRSH\or\CYRSHCH\or\CYREREV\or\CYRYU\or
\CYRYA\else{\@tempcnta \number #1\relax
\advance\@tempcnta -25\relax
\protect\number\@tempcnta}
\fi}
\def\@asbuk#1{\ifcase#1\or
\cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or\cyrzh\or
\cyri\or\cyrk\or\cyrl\or\cyrm\or\cyrn\or
\cyrp\or\cyrr\or\cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or
\cyrc\or\cyrsh\or\cyrshch\or\cyrerev\or\cyryu\or
\cyrya\else{\@tempcnta \number #1\relax
\advance\@tempcnta -25\relax
\protect\number\@tempcnta}
\fi}

View File

@ -1,93 +0,0 @@
% 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{espdspec}[2010/01/14 v0.98 Specification GOST 2.106.95]
\RequirePackage{espdlang}
\RequirePackage{espdstamp}
\RequirePackage{rotating}
\RequirePackage{array}
\RequirePackage{longtable}
\newcommand{\ESPDdrawSpecification}{
\put(\ESPDltu{\ESPDframeX},\ESPDltu{\ESPDframeY}){%
\begin{picture}(0,0)
\ESPD@tmpdimb=\ESPDframeH
\ESPD@tmpdima=\ESPD@style@sh@formII
\ESPD@tmpdimc=8mm
\advance\ESPD@tmpdimb -\ESPD@tmpdima
\advance\ESPD@tmpdimb -15mm
\divide\ESPD@tmpdimb by \ESPD@tmpdimc
\ESPD@tmpcnta=\ESPD@tmpdimb
\ESPD@tmpdimb=\ESPD@tmpdimc
\multiply\ESPD@tmpdimb by \ESPD@tmpcnta
\advance\ESPD@tmpdimb 15mm
\ESPD@tmpdima=\ESPDframeH
\advance\ESPD@tmpdima -\ESPD@tmpdimb
\linethickness{\ESPDlineThick}
\put(6,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}}
\put(12,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}}
\put(20,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}}
\put(90,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}}
\put(153,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}}
\put(163,\ESPDltu{\ESPD@tmpdima}){\line(0,1){\ESPDltu{\ESPD@tmpdimb}}}
\ESPD@tmpdimb=\ESPDframeH
\advance\ESPD@tmpdimb -15mm
\put(0,\ESPDltu{\ESPD@tmpdimb}){\line(1,0){\ESPDltu{\ESPDframeW}}}
\linethickness{\ESPDlineThin}
\multiput(0,\ESPDltu{\ESPD@tmpdima})(0, 8){\the\ESPD@tmpcnta}{%
\line(1,0){\ESPDltu{\ESPDframeW}}}
\end{picture}}}
\newenvironment{ESPDspecification}{%
\ESPDputOnStyle{formII}{specification}{\ESPDdrawSpecification}
\ESPDputOnStyle{formIIab}{specification}{\ESPDdrawSpecification}
\begin{ESPDzeroPadding}%
\setlength{\tabcolsep}{0.5mm}%
\setlength{\LTpre}{0mm}%
\setlength{\LTpost}{0mm}%
\setlength{\LTleft}{0mm}%
\setlength{\LTright}{\fill}%
\newcolumntype{s}{>{\ESPDfontTabBody}c}%
\newcolumntype{n}{>{\parbox[c][8mm][c]{1mm}{%
\rule{0mm}{0mm}}\ESPDfontTabBody}l}%
\noindent%
\begin{longtable}{ssssnss}
\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\ESPDfontTabHead%
\ESPDspecColumnIname\end{sideways}}&
\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\ESPDfontTabHead%
\ESPDspecColumnIIname\end{sideways}}&
\parbox[c][15mm][c]{7mm}{\centering\begin{sideways}\ESPDfontTabHead%
\ESPDspecColumnIIIname\end{sideways}}&
\parbox[c][15mm][c]{69mm}{\centering\ESPDfontTabHead%
\ESPDspecColumnIVname}&
\parbox[c][15mm][c]{61mm}{\centering\ESPDfontTabHead%
\ESPDspecColumnVname}&
\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\ESPDfontTabHead%
\ESPDspecColumnVIname\end{sideways}}&
\parbox[c][15mm][c]{21mm}{\centering\ESPDfontTabHead%
\ESPDspecColumnVIIname}\endhead}{%
\end{longtable}%
\end{ESPDzeroPadding}%
\ESPDremoveFromStyle{formII}{spec}%
\ESPDremoveFromStyle{formIIab}{spec}}

View File

@ -1,179 +0,0 @@
% 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{espdspecii}[2010/01/14 v0.98 Specification GOST 2.106.95 Form 2]
\RequirePackage{espdlang}
\RequirePackage{espdstamp}
\RequirePackage{rotating}
\RequirePackage{chngpage}
\RequirePackage{lscape}
\RequirePackage{array}
\RequirePackage{longtable}
\newcommand{\ESPDdrawSpecificationII}{
\put(\ESPDltu{\ESPDframeX},\ESPDltu{\ESPDframeY}){%
\begin{picture}(0,0)
\ESPD@tmpdimb=\ESPDframeW
\ESPD@tmpdimc=8mm
\advance\ESPD@tmpdimb -70mm
\divide\ESPD@tmpdimb by \ESPD@tmpdimc
\ESPD@tmpcnta=\ESPD@tmpdimb
\ESPD@tmpdimb=\ESPD@tmpdimc
\multiply\ESPD@tmpdimb by \ESPD@tmpcnta
\advance\ESPD@tmpdimb 15mm
\linethickness{\ESPDlineThick}
\put(0,6){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}}
\put(0,12){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}}
\put(0,20){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}}
\put(0,90){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}}
\put(0,162){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}}
\put(0,172){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}}
\put(0,182){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}}
\put(0,257){\line(1,0){\ESPDltu{\ESPD@tmpdimb}}}
\put(15,0){\line(0,1){\ESPDltu{\ESPDframeH}}}
\linethickness{\ESPDlineThin}
\multiput(23,0)(8, 0){\the\ESPD@tmpcnta}{%
\line(0,1){\ESPDltu{\ESPDframeH}}}
\end{picture}}}
\newcommand{\ESPDdrawSpecIIstampII}{%
\setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW}
\setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-185mm}
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){%
\begin{sideways}\usebox{\ESPD@stamp@ii@box}\end{sideways}}
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){%
\begin{sideways}\ESPD@stamp@ii@var\end{sideways}}}
\newcommand{\ESPDdrawSpecIIstampIIa}{%
\setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW}
\setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-185mm}
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){%
\begin{sideways}\usebox{\ESPD@stamp@ii@a@box}\end{sideways}}
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){%
\begin{sideways}\ESPD@stamp@ii@a@var\end{sideways}}}
\ifESPD@enable@columns@xxvii
\newcommand{\ESPDdrawSpecIIcolumnsXXVII}{%
\setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW-48mm}
\setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-120mm}
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){%
\begin{sideways}\usebox{\ESPD@columns@xxvii@ii@box}\end{sideways}}%
\addtolength{\ESPD@tmpdima}{8mm}%
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){%
\begin{sideways}\usebox{\ESPD@column@xxx@box}\end{sideways}}}
\fi
\ifESPD@enable@column@xxxi
\newcommand{\ESPDdrawSpecIIcolumnXXXI}{%
\setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW+1.2mm}%
\setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-120mm}%
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){%
\begin{sideways}%
\makebox[70mm][r]{\ESPDfontIII\ESPDcolumnXXXIname\hspace{4em}}%
\end{sideways}}}
\fi
\ifESPD@enable@column@xxxii
\newcommand{\ESPDdrawSpecIIcolumnXXXII}{%
\setlength{\ESPD@tmpdima}{\ESPDframeX+\ESPDframeW+1.2mm}%
\setlength{\ESPD@tmpdimb}{\ESPDframeY+\ESPDframeH-50mm}%
\put(\ESPDltu{\ESPD@tmpdima},\ESPDltu{\ESPD@tmpdimb}){%
\begin{sideways}%
\makebox[50mm][r]{\ESPDfontIII\ESPDtheColumnXXXII}%
\end{sideways}}}
\fi
\ESPDnewStyle{specII}{0mm}
\ESPDputOnStyle{specII}{frame}{\ESPDdrawFrame}
\ESPDputOnStyle{specII}{stamp}{\ESPDdrawSpecIIstampII}
\ESPDputOnStyle{specII}{specification}{\ESPDdrawSpecificationII}
\ifESPD@enable@columns@xix
\ESPDputOnStyle{specII}{columnsxix}{\ESPDdrawColumnsXIX}
\fi
\ifESPD@enable@columns@xxiv
\ESPDputOnStyle{specII}{columnsxxiv}{\ESPDdrawColumnsXXIV}
\fi
\ifESPD@enable@columns@xxvii
\ESPDputOnStyle{specII}{columnsxxvii}{\ESPDdrawSpecIIcolumnsXXVII}
\fi
\ifESPD@enable@column@xxxi
\ESPDputOnStyle{specII}{columnxxxi}{\ESPDdrawSpecIIcolumnXXXI}
\fi
\ifESPD@enable@column@xxxii
\ESPDputOnStyle{specII}{columnxxxii}{\ESPDdrawSpecIIcolumnXXXII}
\fi
\ESPDnewStyle{specIIa}{0mm}
\ESPDputOnStyle{specIIa}{frame}{\ESPDdrawFrame}
\ESPDputOnStyle{specIIa}{stamp}{\ESPDdrawSpecIIstampIIa}
\ESPDputOnStyle{specIIa}{specification}{\ESPDdrawSpecificationII}
\ifESPD@enable@columns@xix
\ESPDputOnStyle{specIIa}{columnsxix}{\ESPDdrawColumnsXIX}
\fi
\ifESPD@enable@column@xxxi
\ESPDputOnStyle{specIIa}{columnxxxi}{\ESPDdrawSpecIIcolumnXXXI}
\fi
\ifESPD@enable@column@xxxii
\ESPDputOnStyle{specIIa}{columnxxxii}{\ESPDdrawSpecIIcolumnXXXII}
\fi
\ESPDdefaultFirstStyle{specII}
\ESPDdefaultStyle{specIIa}
\newenvironment{ESPDspecificationII}{%
\begin{ESPDzeroPadding}%
\changetext{}{-55mm}{}{}{}%
\begin{landscape}
\setlength{\tabcolsep}{0.5mm}%
\setlength{\LTpre}{0mm}%
\setlength{\LTpost}{0mm}%
\setlength{\LTleft}{0mm}%
\setlength{\LTright}{\fill}%
\newcolumntype{s}{>{\ESPDfontTabBody}c}%
\newcolumntype{n}{>{\parbox[c][8mm][c]{1mm}{%
\rule{0mm}{0mm}}\ESPDfontTabBody}l}%
\noindent%
\begin{longtable}{ssssnssss}
\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\ESPDfontTabHead%
\ESPDspecIIcolumnIname\end{sideways}}&
\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\ESPDfontTabHead%
\ESPDspecIIcolumnIIname\end{sideways}}&
\parbox[c][15mm][c]{7mm}{\centering\begin{sideways}\ESPDfontTabHead%
\ESPDspecIIcolumnIIIname\end{sideways}}&
\parbox[c][15mm][c]{69mm}{\centering\ESPDfontTabHead%
\ESPDspecIIcolumnIVname}&
\parbox[c][15mm][c]{71mm}{\centering\ESPDfontTabHead%
\ESPDspecIIcolumnVname}&
\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\ESPDfontTabHead%
\ESPDspecIIcolumnVIname\end{sideways}}&
\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\ESPDfontTabHead%
\ESPDspecIIcolumnVIIname\end{sideways}}&
\parbox[c][15mm][c]{74mm}{\centering\ESPDfontTabHead%
\ESPDspecIIcolumnVIIIname}&
\parbox[c][15mm][c]{29mm}{\centering\ESPDfontTabHead%
\ESPDspecIIcolumnIXname}\endhead}{%
\end{longtable}%
\end{landscape}%
\changetext{}{55mm}{}{}{}%
\end{ESPDzeroPadding}}

File diff suppressed because it is too large Load Diff

View File

@ -1,50 +0,0 @@
% 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{espdtab}[2010/01/14 v0.98 Tabular Documentation]
\DeclareOption{russian}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{ukrainian}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{koi8-r}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{koi8-u}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{cp1251}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{iso8859-5}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{cp866}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{utf-8}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{utf8}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{twoside}{%
\PassOptionsToClass{\CurrentOption}{article}%
\PassOptionsToPackage{\CurrentOption}{espdstamp}}
\DeclareOption{draft}{\PassOptionsToClass{\CurrentOption}{article}}
\DeclareOption{formI}{%
\ClassError{espdtext}{formI style is for graphical documentaion}{}}
\DeclareOption{zonelabels}{%
\ClassError{espdtext}{Zone labels is not allowed for tabular documentaion}{}}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{espdstamp}}
\ProcessOptions\relax
\LoadClass{article}
\RequirePackage{espdlang}
\RequirePackage[a4paper,formII]{espdstamp}
\RequirePackage{espdinfo}

View File

@ -1,112 +0,0 @@
% 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{espdtext}[2010/01/14 v0.98 Textual Documentation]
\newcommand{\ESPD@docfont}{14pt}
\newcommand{\ESPD@float@style}{single}
\newcommand{\ESPD@equation@style}{single}
\DeclareOption{russian}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{ukrainian}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{koi8-r}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{koi8-u}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{cp1251}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{iso8859-5}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{cp866}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{utf-8}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{utf8}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{12pt}{\renewcommand{\ESPD@docfont}{12pt}}
\DeclareOption{14pt}{\renewcommand{\ESPD@docfont}{14pt}}
\DeclareOption{pointsingle}{\PassOptionsToPackage{\CurrentOption}{espdsect}}
\DeclareOption{pointsection}{\PassOptionsToPackage{\CurrentOption}{espdsect}}
\DeclareOption{pointsubsection}{\PassOptionsToPackage{\CurrentOption}{espdsect}}
\DeclareOption{floatsingle}{\renewcommand{\ESPD@float@style}{single}}
\DeclareOption{floatsection}{\renewcommand{\ESPD@float@style}{section}}
\DeclareOption{floatsubsection}{\renewcommand{\ESPD@float@style}{subsection}}
\DeclareOption{equationsingle}{\renewcommand{\ESPD@equation@style}{single}}
\DeclareOption{equationsection}{\renewcommand{\ESPD@equation@style}{section}}
\DeclareOption{equationsubsection}{\renewcommand{\ESPD@equation@style}{subsection}}
\DeclareOption{footnotearabic}{\PassOptionsToPackage{\CurrentOption}{espdfootnote}}
\DeclareOption{footnoteasterisk}{\PassOptionsToPackage{\CurrentOption}{espdfootnote}}
\DeclareOption{twoside}{%
\PassOptionsToClass{\CurrentOption}{extarticle}%
\PassOptionsToPackage{\CurrentOption}{espdstamp}}
\DeclareOption{draft}{\PassOptionsToClass{\CurrentOption}{extarticle}}
\DeclareOption{formI}{%
\ClassError{espdtext}{formI style is for graphical documentaion}{}}
\DeclareOption{zonelabels}{%
\ClassError{espdtext}{Zone labels is not allowed for textual documentaion}{}}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{espdstamp}}
\ProcessOptions\relax
\LoadClass[\ESPD@docfont]{extarticle}
\RequirePackage{espdlang}
\RequirePackage[a4paper,espd]{espdstamp}
\RequirePackage{espdindent}
\RequirePackage{espdlist}
\RequirePackage{espdsect}
\RequirePackage{espdcap}
\RequirePackage{espdfootnote}
\RequirePackage{espdbiblist}
\RequirePackage{espdexplan}
\RequirePackage{espdinfo}
\RequirePackage{espdtitlebase}
\RequirePackage{espdtitle}
\linespread{1.5}
\newcommand{\ESPD@float@style@single}{}
\newcommand{\ESPD@float@style@section}{
\@addtoreset{figure}{section}
\@addtoreset{table}{section}
\renewcommand{\thefigure}{%
\ifnum \c@section>\z@ \thesection.\fi \arabic{figure}}
\renewcommand{\thetable}{%
\ifnum \c@section>\z@ \thesection.\fi \arabic{table}}}
\newcommand{\ESPD@float@style@subsection}{
\@addtoreset{figure}{subsection}
\@addtoreset{table}{subsection}
\renewcommand{\thefigure}{%
\ifnum \c@subsection>\z@ \thesubsection.\fi \arabic{figure}}
\renewcommand{\thetable}{%
\ifnum \c@subsection>\z@ \thesubsection.\fi \arabic{table}}}
\@nameuse{ESPD@float@style@\ESPD@float@style}
\newcommand{\ESPD@equation@style@single}{}
\newcommand{\ESPD@equation@style@section}{
\@addtoreset{equation}{section}
\renewcommand{\theequation}{%
\ifnum \c@section>\z@ \thesection.\fi \arabic{equation}}}
\newcommand{\ESPD@equation@style@subsection}{
\@addtoreset{equation}{subsection}
\renewcommand{\theequation}{%
\ifnum \c@subsection>\z@ \thesubsection.\fi \arabic{equation}}}
\@nameuse{ESPD@equation@style@\ESPD@equation@style}

View File

@ -1,153 +0,0 @@
% 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{espdtitle}[2010/01/14 v0.98 Title GOST 2.105]
\RequirePackage{espdstamp}
\RequirePackage{espdlang}
\RequirePackage{espdinfo}
\RequirePackage{espdtotal}
\RequirePackage{espdtitlebase}
\RequirePackage{ifthen}
\newcommand{\ESPD@title@split@field}[2]{%
\parbox[t]{.4\hsize}{\raggedright#1}\hfill
\parbox[t]{.4\hsize}{\raggedright#2}}
\renewcommand{\ESPDtheTitleFieldI}{%
\ESPDtheDepartment\par\ESPDtheCompany}
\def\ESPDtheTitleFieldIIl{}
\renewcommand{\ESPDtheTitleFieldIIl}{%
\ESPDtheClassCode}
\def\ESPDtheTitleFieldIIr{}
\renewcommand{\ESPDtheTitleFieldIIr}{}
\renewcommand{\ESPDtheTitleFieldII}{%
\ESPD@title@split@field{\ESPDtheTitleFieldIIl}{\ESPDtheTitleFieldIIr}}
\def\ESPDtheTitleFieldIIIl{}
\renewcommand{\ESPDtheTitleFieldIIIl}{%
\ifx\ESPD@title@approving@sheet\@undefined
\expandafter\ifx\csname ESPD@title@agreed@name@1\endcsname\relax\else
\text{\MakeUppercase{\ESPDagreedName}}\\
\ESPD@title@make@stamp{agreed}{1}
\fi
\else
\textrm{\MakeUppercase{\ESPDapprovedName}}\\
\ESPD@title@approving@sheet
\fi}
\def\ESPDtheTitleFieldIIIr{}
\renewcommand{\ESPDtheTitleFieldIIIr}{%
\ifx\ESPD@title@approving@sheet\@undefined
\expandafter\ifx\csname ESPD@title@approved@name@1\endcsname\relax\else
\text{\MakeUppercase{\ESPDapprovingName}}\\
\ESPD@title@make@stamp{approved}{1}
\fi
\fi}
\renewcommand{\ESPDtheTitleFieldIII}{%
\ESPD@title@split@field{\ESPDtheTitleFieldIIIl}{\ESPDtheTitleFieldIIIr}}
\renewcommand{\ESPDtheTitleFieldIV}{%
{\MakeUppercase{\ESPDtheTitle}\par\ESPDtheDocName}%
}
\renewcommand{\ESPDtheTitleFieldV}{}
\renewcommand{\ESPDtheTitleFieldVI}{%
\MakeUppercase{\ESPDtheSignature}}
\renewcommand{\ESPDtheTitleFieldVIa}{%
{\ESPDtheFileName}}
%\renewcommand{\ESPDtheTitleFieldVII}{}
\renewcommand{\ESPDtheTitleFieldVII}{\normalfont\cyr\CYRL\cyri\cyrs\cyrt\cyro\cyrv\ \ESPDtotal{page}}
\def\ESPDtheTitleFieldVIIIl{}
\renewcommand{\ESPDtheTitleFieldVIIIl}{%
\ifx\ESPD@title@approving@sheet\@undefined
\ESPD@tmpcnta = 1
\loop
\ifnum \ESPD@tmpcnta < \ESPD@title@agreed@cnt
\advance \ESPD@tmpcnta 1
\ESPD@title@make@stamp{agreed}{\number\ESPD@tmpcnta}
\par\vspace{5mm}
\repeat
\fi}
\def\ESPDtheTitleFieldVIIIr{}
\renewcommand{\ESPDtheTitleFieldVIIIr}{%
\ifx\ESPD@title@approving@sheet\@undefined
\ESPD@tmpcnta = 0
\loop
\ifnum \ESPD@tmpcnta < \ESPD@title@designed@cnt
\advance \ESPD@tmpcnta 1
\ESPD@title@make@stamp{designed}{\number\ESPD@tmpcnta}
\par\vspace{5mm}
\repeat
\fi}
\renewcommand{\ESPDtheTitleFieldVIII}{%
\ESPD@title@split@field{\ESPDtheTitleFieldVIIIl}{\ESPDtheTitleFieldVIIIr}}
\renewcommand{\ESPDtheTitleFieldX}{\ESPDtheYear}
\renewcommand{\ESPDtheTitleFieldXI}{\cyr\CYRL\cyri\cyrt\cyre\cyrr\cyra\ \cyr\CYRO \cyr\CYRO_1}
\renewcommand{\ESPDtitleFontI}{\ESPDfontV}
\renewcommand{\ESPDtitleFontII}{\ESPDfontV}
\renewcommand{\ESPDtitleFontIII}{\ESPDfontV}
\renewcommand{\ESPDtitleFontIV}{\ESPDfontV}
\renewcommand{\ESPDtitleFontV}{\ESPDfontV}
\renewcommand{\ESPDtitleFontVI}{\ESPDfontV}
\renewcommand{\ESPDtitleFontVIa}{\ESPDfontV}
\renewcommand{\ESPDtitleFontVII}{\ESPDfontV}
\renewcommand{\ESPDtitleFontVIII}{\ESPDfontV}
\renewcommand{\ESPDtitleFontX}{\ESPDfontV}
\renewcommand{\ESPDtitleFontXI}{\ESPDfontV}
\renewcommand{\maketitle}{%
\begin{ESPDtitlePage}
\setlength{\topsep}{0mm}
\noindent
\parbox[c][.28\vsize][t]{\hsize}{%
% \vspace{5mm \@plus 15mm \@minus 3mm}
% \begin{center}\ESPDtitleFontI\bfseries\ESPDtheTitleFieldI\end{center}
% \vspace{5mm \@plus 15mm \@minus 3mm}
% \begin{center}\ESPDtitleFontII\ESPDtheTitleFieldII\end{center}}
\vspace{5mm \@plus 15mm \@minus 3mm}
\begin{center}\ESPDtitleFontIII\ESPDtheTitleFieldIII\end{center}}
\par\vspace{10mm \@plus 2mm \@minus 4mm}\noindent
\parbox[c][.30\vsize][t]{\hsize}{%
\ifthenelse{\equal{\ESPDtheTitleFieldIV}{}}{}
{\begin{center}\ESPDtitleFontIV\ESPDtheTitleFieldIV\end{center}}
\ifthenelse{\equal{\ESPDtheTitleFieldV}{}}{}
{\begin{center}\ESPDtitleFontV\ESPDtheTitleFieldV\end{center}}
\ifthenelse{\equal{\ESPDtheTitleFieldVI}{}}{}
{\begin{center}\ESPDtitleFontVI\ESPDtheTitleFieldVI\end{center}}
\ifthenelse{\equal{\ESPDtheTitleFieldVIa}{}}{}
{\begin{center}\ESPDtitleFontVI\ESPDtheTitleFieldVIa\end{center}}
\ifthenelse{\equal{\ESPDtheTitleFieldVII}{}}{}
{\begin{center}\ESPDtitleFontVII\ESPDtheTitleFieldVII\end{center}}}
\par\vspace{4mm \@plus 2mm \@minus 2mm}\noindent
\begin{center}\ESPDtitleFontVIII\ESPDtheTitleFieldVIII\end{center}
\vfill
\begin{center}\ESPDtitleFontX\ESPDtheTitleFieldX\end{center}
\begin{flushright}\ESPDtitleFontXI\ESPDtheTitleFieldXI\hspace{20mm}\enspace\end{flushright}% Литера
\end{ESPDtitlePage}}

View File

@ -1,92 +0,0 @@
% 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{espdtitlebase}[2010/01/14 v0.98 Base Title Commands]
\newcommand{\ESPDtitleApprovedBy}[2]{%
\@namedef{ESPD@title@approved@post@1}{#1}
\@namedef{ESPD@title@approved@name@1}{#2}}
\newcount\ESPD@title@agreed@cnt
\newcount\ESPD@title@designed@cnt
\ESPD@title@agreed@cnt = 0
\ESPD@title@designed@cnt = 0
\newcommand{\ESPDtitleAgreedBy}[2]{%
\advance \ESPD@title@agreed@cnt 1
\@namedef{ESPD@title@agreed@post@\number\ESPD@title@agreed@cnt}{#1}
\@namedef{ESPD@title@agreed@name@\number\ESPD@title@agreed@cnt}{#2}}
\newcommand{\ESPDtitleDesignedBy}[2]{%
\advance \ESPD@title@designed@cnt 1
\@namedef{ESPD@title@designed@post@\number\ESPD@title@designed@cnt}{#1}
\@namedef{ESPD@title@designed@name@\number\ESPD@title@designed@cnt}{#2}}
\let\ESPD@title@approving@sheet\@undefinded
\newcommand{\ESPDtitleApprovingSheet}[1]{%
\def\ESPD@title@approving@sheet{#1}}
\newcommand{\ESPDtitleMakeStamp}[2]{#1\\\rule{2cm}{.1mm}\ #2\\
``\rule{.8cm}{.1mm}'' \rule{2.3cm}{.1mm}\ \rule{1.5cm}{.1mm}}
\newcommand{\ESPD@title@make@stamp}[2]{%
\ESPDtitleMakeStamp{%
\@nameuse{ESPD@title@#1@post@#2}}{%
\@nameuse{ESPD@title@#1@name@#2}}}
\newcommand{\ESPDtheTitleFieldI}{}
\newcommand{\ESPDtheTitleFieldII}{}
\newcommand{\ESPDtheTitleFieldIII}{}
\newcommand{\ESPDtheTitleFieldIV}{}
\newcommand{\ESPDtheTitleFieldV}{}
\newcommand{\ESPDtheTitleFieldVI}{}
\newcommand{\ESPDtheTitleFieldVIa}{}
\newcommand{\ESPDtheTitleFieldVII}{}
\newcommand{\ESPDtheTitleFieldVIII}{}
\newcommand{\ESPDtheTitleFieldIX}{}
\newcommand{\ESPDtheTitleFieldX}{}
\newcommand{\ESPDtheTitleFieldXI}{}
\newcommand{\ESPDtitleFontI}{}
\newcommand{\ESPDtitleFontII}{}
\newcommand{\ESPDtitleFontIII}{}
\newcommand{\ESPDtitleFontIV}{}
\newcommand{\ESPDtitleFontV}{}
\newcommand{\ESPDtitleFontVI}{}
\newcommand{\ESPDtitleFontVIa}{}
\newcommand{\ESPDtitleFontVII}{}
\newcommand{\ESPDtitleFontVIII}{}
\newcommand{\ESPDtitleFontIX}{}
\newcommand{\ESPDtitleFontX}{}
\newcommand{\ESPDtitleFontXI}{}
\def\ESPD@title@after@page{%
\ESPDclearDoublePage
\ESPDstyle{\ESPD@default@style@other}
\ESPDthisStyle{\ESPD@default@style@first}}
% ### Выравнивание титульной страницы
\newenvironment{ESPDtitlePage}{%
\begin{ESPDpadding}{0mm}{5mm}
\ESPDstyle{\ESPD@default@style@title}}{%
\end{ESPDpadding}
\aftergroup\ESPD@title@after@page}

View File

@ -1,18 +0,0 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdtz}[2018/09/14 v0.98 Document Information]
\RequirePackage{kvoptions}
\RequirePackage[numbertop,numbercenter]{espdplain}
\DeclareStringOption{project}
\ProcessKeyvalOptions*
\renewcommand{\ESPDtheTitleFieldVII}{}
\renewcommand{\ESPDtheTitleFieldXI}{}
\renewcommand{\ESPDtheTitleFieldIV}{%
{\MakeUppercase{\espdtz@project}
\vspace{3pt}
\par\ESPDtheDocName
\vspace{3pt}
\par\cyrk\cyro\cyrm\cyrp\cyrl\cyre\cyrk\cyrs\cyra\ \cyrp\cyrr\cyro\cyrg\cyrr\cyra\cyrm\cyrm\ \ESPDtheTitle}%
}

View File

@ -1,180 +0,0 @@
% 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{espdukrainian.def}[2010/01/17 v0.98 Language File]
\newcommand{\ESPDcolumnIVname}{%
\cyr\CYRL\cyri\cyrt.}
\newcommand{\ESPDcolumnVname}{%
\cyr\CYRM\cyra\cyrs\cyra}
\newcommand{\ESPDcolumnVIname}{%
\cyr\CYRM\cyra\cyrs\cyrsh\cyrt\cyra\cyrb}
\newcommand{\ESPDcolumnVIIname}{%
\cyr\CYRA\cyrr\cyrk\cyru\cyrsh}
\newcommand{\ESPDcolumnVIItwosideName}{%
\cyr\CYRS\cyrt\cyro\cyrr.}
\newcommand{\ESPDcolumnVIIIname}{%
\cyr\CYRA\cyrr\cyrk\cyru\cyrsh\cyrii\cyrv}
\newcommand{\ESPDcolumnVIIItwosideName}{%
\cyr\CYRS\cyrt\cyro\cyrr\cyrii\cyrn\cyro\cyrk}
\newcommand{\ESPDcolumnXfIname}{%
\cyr\CYRR\cyro\cyrz\cyrr\cyro\cyrb\cyri\cyrv}
\newcommand{\ESPDcolumnXfIIname}{%
\cyr\CYRP\cyre\cyrr\cyre\cyrv\cyrii\cyrr\cyri\cyrv}
\newcommand{\ESPDcolumnXfIIIname}{%
\cyr\CYRT. \cyrk\cyro\cyrn\cyrt\cyrr.}
\newcommand{\ESPDcolumnXfIVname}{}
\newcommand{\ESPDcolumnXfVname}{%
\cyr\CYRN. \cyrk\cyro\cyrn\cyrt\cyrr.}
\newcommand{\ESPDcolumnXfVIname}{%
\cyr\CYRZ\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyri\cyrv}
\newcommand{\ESPDcolumnXIVname}{%
\cyr\CYRZ\cyrm.}
\newcommand{\ESPDcolumnXVname}{%
\cyr\CYRL\cyri\cyrs\cyrt}
\newcommand{\ESPDcolumnXVIname}{%
\textnumero\ \cyr\cyrd\cyro\cyrk\cyru\cyrm.}
\newcommand{\ESPDcolumnXVIIname}{%
\cyr\CYRP\cyrii\cyrd\cyrp.}
\newcommand{\ESPDcolumnXVIIIname}{%
\cyr\CYRD\cyra\cyrt\cyra}
\newcommand{\ESPDcolumnXIXname}{%
\cyr\CYRII\cyrn\cyrv. \textnumero\ \cyro\cyrr\cyrii\cyrg.}
\newcommand{\ESPDcolumnXXname}{%
\cyr\CYRP\cyrii\cyrd\cyrp. \cyrii\ \cyrd\cyra\cyrt\cyra}
\newcommand{\ESPDcolumnXXIname}{%
\cyr\CYRV\cyrz\cyra\cyrm. \cyrii\cyrn\cyrv. \textnumero}
\newcommand{\ESPDcolumnXXIIname}{%
\cyr\CYRII\cyrn\cyrv. \textnumero\ \cyrd\cyru\cyrb\cyrl.}
\newcommand{\ESPDcolumnXXIIIname}{%
\cyr\CYRP\cyrii\cyrd\cyrp. \cyrii\ \cyrd\cyra\cyrt\cyra}
\newcommand{\ESPDcolumnXXIVname}{%
\cyr\CYRS\cyrp\cyrr\cyra\cyrv. \textnumero}
\newcommand{\ESPDcolumnXXVname}{%
\cyr\CYRP\cyre\cyrr\cyrsh. \cyrz\cyra\cyrs\cyrt.}
\newcommand{\ESPDcolumnXXXIname}{%
\cyr\CYRK\cyro\cyrp\cyrii\cyryu\cyrv\cyra\cyrv}
\@namedef{ESPDa0FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}0}
\@namedef{ESPDa1FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}1}
\@namedef{ESPDa2FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}2}
\@namedef{ESPDa3FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}3}
\@namedef{ESPDa4FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}4}
\@namedef{ESPDemptyFormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \ \ \ }
\newcommand{\ESPDcolumnXXXIIIname}{%
\cyr\CYRZ\cyro\cyrn\cyra}
\newcommand{\ESPDagreedName}{%
\cyr\CYRP\cyro\cyrg\cyro\cyrd\cyrzh\cyre\cyrn\cyro}
\newcommand{\ESPDapprovingName}{%
\cyr\CYRZ\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyru\cyryu}
\newcommand{\ESPDapprovedName}{%
\cyr\CYRZ\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyro}
\newcommand{\ESPDapprovingSheetName}{%
\cyr\CYRL\cyri\cyrs\cyrt\ %
\cyrz\cyra\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn\cyrya}
\newlength{\ESPDexplanWidth}
\setlength{\ESPDexplanWidth}{1.5em}
\addto\captionsukrainian{%
\def\tablename{{\cyr\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrya}}%
\def\figurename{{\cyr\CYRR\cyri\cyrs\cyru\cyrn\cyro\cyrk}}%
\def\refname{{\cyr\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk\
\cyrp\cyro\cyrs\cyri\cyrl\cyra\cyrn\cyrsftsn}}}
\newcommand{\ESPDspecColumnIname}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt}
\newcommand{\ESPDspecColumnIIname}{%
\cyr\CYRZ\cyro\cyrn\cyra}
\newcommand{\ESPDspecColumnIIIname}{%
\cyr\CYRP\cyro\cyrz.}
\newcommand{\ESPDspecColumnIVname}{%
\cyr\CYRP\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}
\newcommand{\ESPDspecColumnVname}{%
\cyr\CYRN\cyra\cyrishrt\cyrm\cyre\cyrn\cyru\cyrv\cyra\cyrn\cyrn\cyrya}
\newcommand{\ESPDspecColumnVIname}{%
\cyr\CYRK\cyrii\cyrl\cyrsftsn\cyrk.}
\newcommand{\ESPDspecColumnVIIname}{%
\cyr\CYRP\cyrr\cyri\cyrm\cyrii\cyrt\cyrk\cyra}
\newcommand{\ESPDspecIIcolumnIname}{\ESPDspecColumnIname}
\newcommand{\ESPDspecIIcolumnIIname}{\ESPDspecColumnIIname}
\newcommand{\ESPDspecIIcolumnIIIname}{\ESPDspecColumnIIIname}
\newcommand{\ESPDspecIIcolumnIVname}{\ESPDspecColumnIVname}
\newcommand{\ESPDspecIIcolumnVname}{\ESPDspecColumnVname}
\newcommand{\ESPDspecIIcolumnVIname}{\ESPDspecColumnVIname}
\newcommand{\ESPDspecIIcolumnVIIname}{%
\cyr\CYRM\cyra\cyrs\cyra}
\newcommand{\ESPDspecIIcolumnVIIIname}{%
\cyr\CYRM\cyra\cyrt\cyre\cyrr\cyrii\cyra\cyrl}
\newcommand{\ESPDspecIIcolumnIXname}{\ESPDspecColumnVIIname}
\newcommand{\ESPDchangeSheetName}{%
\cyr\CYRL\cyri\cyrs\cyrt\ %
\cyrr\cyre\cyrie\cyrs\cyrt\cyrr\cyra\cyrc\cyri\cyryi\ %
\cyrz\cyrm\cyrii\cyrn}
\newcommand{\ESPDchngColumnsIIhName}{%
\cyr\CYRN\cyro\cyrm\cyre\cyrr\cyri\ \cyra\cyrr\cyrk\cyru\cyrsh\cyrii\cyrv\ %
(\cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyro\cyrk)}
\newcommand{\ESPDchngColumnIIname}{%
\cyr\cyrz\cyrm\cyrii\-\cyrn\cyre\-\cyrn\cyri\cyrh}
\newcommand{\ESPDchngColumnIIIname}{%
\cyr\cyrz\cyra\-\cyrm\cyrii\-\cyrn\cyre\-\cyrn\cyri\cyrh}
\newcommand{\ESPDchngColumnIVname}{%
\cyr\cyrn\cyro\-\cyrv\cyri\cyrh}
\newcommand{\ESPDchngColumnVname}{%
\cyr\cyra\cyrn\cyru\-\cyrl\cyrsftsn\cyro\cyrv\cyra\-\cyrn\cyri\cyrh}
\newcommand{\ESPDchngColumnVIname}{%
\cyr\CYRR\cyra\cyrz\cyro\cyrm\ \cyra\cyrr\cyrk\cyru\cyrsh\cyrii\cyrv\ %
(\cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyro\cyrk) \cyrv\ \cyrd\cyro\cyrk\cyru\cyrm.}
\newcommand{\ESPDchngColumnVIIIname}{%
\cyr\CYRV\cyrh\cyrii\cyrd\cyrn\cyri\cyrishrt\ \textnumero\ %
\cyrs\cyru\cyrp\cyrr\cyro\cyrv\cyrii\cyrd\cyrn\cyro\cyrg\cyro\ %
\cyrd\cyro\cyrk\cyru\cyrm. \cyrii\ %
\cyrd\cyra\cyrt\cyra}
\def\@Asbuk#1{\ifcase#1\or
\CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or
\CYRZH\or\CYRI\or
\CYRK\or\CYRL\or\CYRM\or\CYRN\or\CYRP\or\CYRR\or
\CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or\CYRC\or
\CYRSH\or\CYRSHCH\or\CYRYU\or
\CYRYA\else{\@tempcnta \number #1\relax
\advance\@tempcnta -24\relax
\protect\number\@tempcnta}
\fi}
\def\@asbuk#1{\ifcase#1\or
\cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or
\cyrzh\or\cyri\or
\cyrk\or\cyrl\or\cyrm\or\cyrn\or\cyrp\or\cyrr\or
\cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or\cyrc\or
\cyrsh\or\cyrshch\or\cyryu\or
\cyrya\else{\@tempcnta \number #1\relax
\advance\@tempcnta -24\relax
\protect\number\@tempcnta}
\fi}

View File

@ -23,9 +23,9 @@
% %
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdafterpkg}[2010/01/14 v0.98 Apply Commands After Package] \ProvidesPackage{xespdafterpkg}[2020/03/20 v1.00 Apply Commands After Package]
\newcommand*\ESPD@after@package[1]{% \newcommand*\XESPD@after@package[1]{%
\expandafter\ifx\csname ver@#1.\@pkgextension\endcsname\relax \expandafter\ifx\csname ver@#1.\@pkgextension\endcsname\relax
\@ifundefined{#1.\@pkgextension-@dd}{% \@ifundefined{#1.\@pkgextension-@dd}{%
\expandafter\let\csname#1.\@pkgextension-@dd\endcsname\@empty \expandafter\let\csname#1.\@pkgextension-@dd\endcsname\@empty
@ -40,19 +40,19 @@
\fi \fi
\@tempa \@tempa
} }
\@onlypreamble\ESPD@after@package \@onlypreamble\XESPD@after@package
\let\ESPD@ATP@popfilename\@popfilename \let\XESPD@ATP@popfilename\@popfilename
\@onlypreamble\ESPD@ATP@popfilename \@onlypreamble\XESPD@ATP@popfilename
\def\@popfilename{% \def\@popfilename{%
\@ifundefined{\@currname.\@currext-@dd}{}{% \@ifundefined{\@currname.\@currext-@dd}{}{%
\ESPD@ATP@apply@info{\@currname}% \XESPD@ATP@apply@info{\@currname}%
\csname\@currname.\@currext-@dd\endcsname \csname\@currname.\@currext-@dd\endcsname
\expandafter\let\csname\@currname.\@currext-@dd\endcsname\relax \expandafter\let\csname\@currname.\@currext-@dd\endcsname\relax
}% }%
\ESPD@ATP@popfilename \XESPD@ATP@popfilename
} }
\def\ESPD@ATP@apply@info#1{% \def\XESPD@ATP@apply@info#1{%
\wlog{After Package Info: Apply commands to #1\on@line}% \wlog{After Package Info: Apply commands to #1\on@line}%
} }
\@onlypreamble\ESPD@ATP@apply@info \@onlypreamble\XESPD@ATP@apply@info

73
xespdappsheet.sty Normal file
View File

@ -0,0 +1,73 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% This Current Maintainer of this work is Konstantin Korikov.
%
% This work consists of all files listed in manifest.txt.
%
%
% This is automaticaly generated file, do not edit it.
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xespdappsheet}[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}

View File

@ -20,7 +20,7 @@
% %
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdbiblist}[2010/01/14 v0.98 Bibliography List] \ProvidesPackage{xespdbiblist}[2020/03/20 v1.00 Bibliography List]
\renewcommand{\@biblabel}[1]{#1.} \renewcommand{\@biblabel}[1]{#1.}

155
xespdbom.sty Normal file
View 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}

View File

@ -20,7 +20,7 @@
% %
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdcap}[2010/01/14 v0.98 Captions] \ProvidesPackage{xespdcap}[2020/03/20 v1.00 Captions]
\RequirePackage{caption} \RequirePackage{caption}
\DeclareCaptionLabelSeparator{endash}{ \textendash{}\ } \DeclareCaptionLabelSeparator{endash}{ \textendash{}\ }
@ -28,10 +28,10 @@
\captionsetup[table]{% \captionsetup[table]{%
labelsep=endash,justification=raggedright,singlelinecheck=false,% labelsep=endash,justification=raggedright,singlelinecheck=false,%
aboveskip=0mm,belowskip=0mm} aboveskip=0mm,belowskip=0mm}
\captionsetup[longtable]{%
labelsep=endash,justification=raggedright,singlelinecheck=false,%
aboveskip=0mm,belowskip=0mm}
\captionsetup[figure]{% \captionsetup[figure]{%
labelsep=endash,justification=centering,singlelinecheck=false,% labelsep=endash,justification=centering,singlelinecheck=false,%
aboveskip=4mm,belowskip=0mm} aboveskip=4mm,belowskip=0mm}
\captionsetup[longtable]{%
labelsep=endash,justification=raggedright,singlelinecheck=false,%
aboveskip=0mm,belowskip=0mm}

101
xespdchngsheet.sty Normal file
View File

@ -0,0 +1,101 @@
% 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}
% слегка растянем табличную подпорку для класса xespdtab
\@ifundefined{XESPD@docfont}{\renewcommand{\arraystretch}{1.225}}{}%
\newcommand{\XESPDchngColumnIwidth}{.08\textwidth}
\newcommand{\XESPDchngColumnIIwidth}{.08\textwidth}
\newcommand{\XESPDchngColumnIIIwidth}{.08\textwidth}
\newcommand{\XESPDchngColumnIVwidth}{.08\textwidth}
\newcommand{\XESPDchngColumnVwidth}{.08\textwidth}
\newcommand{\XESPDchngColumnVIwidth}{.15\textwidth}
\newcommand{\XESPDchngColumnVIIwidth}{.10\textwidth}
\newcommand{\XESPDchngColumnVIIIwidth}{.15\textwidth}
\newcommand{\XESPDchngColumnIXwidth}{.10\textwidth}
\newcommand{\XESPDchngColumnXwidth}{.10\textwidth}
\newenvironment{XESPDchangeSheet}{%
\XESPDclearDoublePage
\setlength{\tabcolsep}{0.5mm}
\newcolumntype{s}{>{\XESPDfontTabBody}c}
\newcolumntype{S}{>{\XESPDfontTabHead}c}
\noindent
\begin{longtable}{|*{10}{s|}}
\hline
\multicolumn{10}{|S|}{\XESPDchangeSheetName}\\\hline
&\multicolumn{4}{S|}{\XESPDchngColumnsIIhName}&&&&&\\\cline{2-5}
\parbox[c]{\XESPDchngColumnIwidth-2\tabcolsep-1.5\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXIVname}&
\parbox[c]{\XESPDchngColumnIIwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\XESPDfontTabHead\XESPDchngColumnIIname}&
\parbox[c]{\XESPDchngColumnIIIwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\XESPDfontTabHead\XESPDchngColumnIIIname}&
\parbox[c]{\XESPDchngColumnIVwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\XESPDfontTabHead\XESPDchngColumnIVname}&
\parbox[c]{\XESPDchngColumnVwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\XESPDfontTabHead\XESPDchngColumnVname}&
\parbox[c]{\XESPDchngColumnVIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDchngColumnVIname}&
\parbox[c]{\XESPDchngColumnVIIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIname}&
\parbox[c]{\XESPDchngColumnVIIIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{3mm}\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDchngColumnVIIIname\vspace{3mm}}&
\parbox[c]{\XESPDchngColumnIXwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIIname}&
\parbox[c]{\XESPDchngColumnXwidth-2\tabcolsep-1.5\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIIIname}\\\hline
\endfirsthead
\hline
&\multicolumn{4}{S|}{\XESPDchngColumnsIIhName}&&&&&\\\cline{2-5}
\parbox[c]{\XESPDchngColumnIwidth-2\tabcolsep-1.5\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXIVname}&
\parbox[c]{\XESPDchngColumnIIwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\XESPDfontTabHead\XESPDchngColumnIIname}&
\parbox[c]{\XESPDchngColumnIIIwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\XESPDfontTabHead\XESPDchngColumnIIIname}&
\parbox[c]{\XESPDchngColumnIVwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\XESPDfontTabHead\XESPDchngColumnIVname}&
\parbox[c]{\XESPDchngColumnVwidth-2\tabcolsep-\arrayrulewidth}{%
\centering\XESPDfontTabHead\XESPDchngColumnVname}&
\parbox[c]{\XESPDchngColumnVIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDchngColumnVIname}&
\parbox[c]{\XESPDchngColumnVIIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIname}&
\parbox[c]{\XESPDchngColumnVIIIwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{3mm}\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDchngColumnVIIIname\vspace{3mm}}&
\parbox[c]{\XESPDchngColumnIXwidth-2\tabcolsep-\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIIname}&
\parbox[c]{\XESPDchngColumnXwidth-2\tabcolsep-1.5\arrayrulewidth}{%
\vspace{-\baselineskip}\centering\XESPDfontTabHead\XESPDcolumnXVIIIname}\\\hline
\endhead
\hline
\endfoot}{\end{longtable}}

79
xespdcmplist.sty Normal file
View 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}

View File

@ -20,22 +20,22 @@
% %
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdexplan}[2010/01/19 v0.98 ESPD Explanation] \ProvidesPackage{xespdexplan}[2020/03/20 v1.00 XESPD Explanation]
\RequirePackage{espdlang} \RequirePackage{xespdlang}
\newlength{\ESPDexplanIndent} \newlength{\XESPDexplanIndent}
% По умолчанию пояснения к формулам прижимаются левому к краю страницы % По умолчанию пояснения к формулам прижимаются левому к краю страницы
% и не имеют отступа, так как ГОСТ 2.105-95 четко не говорит нужно ли % и не имеют отступа, так как ГОСТ 2.105-95 четко не говорит нужно ли
% ставить отступ перед пояснениями или нет. % ставить отступ перед пояснениями или нет.
\setlength{\ESPDexplanIndent}{0pt} \setlength{\XESPDexplanIndent}{0pt}
\newenvironment{ESPDexplanation}[1][\ESPDexplanWidth]{% \newenvironment{XESPDexplanation}[1][\XESPDexplanWidth]{%
\begin{list}{}{\setlength{\parsep}{0pt}% \begin{list}{}{\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}% \setlength{\topsep}{0pt}%
\setlength{\itemsep}{0pt}% \setlength{\itemsep}{0pt}%
\setlength{\labelsep}{0pt}% \setlength{\labelsep}{0pt}%
\setlength{\labelwidth}{#1}% \setlength{\labelwidth}{#1}%
\setlength{\leftmargin}{\labelwidth+\ESPDexplanIndent}}}{% \setlength{\leftmargin}{\labelwidth+\XESPDexplanIndent}}}{%
\end{list}} \end{list}}

101
xespdfont.sty Normal file
View File

@ -0,0 +1,101 @@
% 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}}
\RequirePackage{ifxetex}
\ifxetex
\RequirePackage{fontspec}
\defaultfontfeatures{Scale=MatchLowercase,Mapping=tex-text}
\defaultfontfeatures[\rmfamily]{Scale = 1}
\fi
\newcommand{\XESPDfontShape}{\rmfamily}
\newcommand{\XESPDfontIIsize}{\fontsize{8pt}{10pt}}
\newcommand{\XESPDfontIIIsize}{\fontsize{10pt}{13pt}}
\newcommand{\XESPDfontIVsize}{\fontsize{12pt}{16pt}}
\newcommand{\XESPDfontVsize}{\fontsize{14pt}{18pt}}
\newcommand{\XESPDfontVIIsize}{\fontsize{18pt}{24pt}}
\newcommand{\XESPDfontXsize}{\fontsize{32pt}{40pt}}
\newcommand{\XESPDfontII}{%
\XESPDfontSetBaseLineStretch
\XESPDfontIIsize\selectfont\XESPDfontShape}
\newcommand{\XESPDfontIII}{%
\XESPDfontSetBaseLineStretch
\XESPDfontIIIsize\selectfont\XESPDfontShape}
\newcommand{\XESPDfontIV}{%
\XESPDfontSetBaseLineStretch
\XESPDfontIVsize\selectfont\XESPDfontShape}
\newcommand{\XESPDfontV}{%
\XESPDfontSetBaseLineStretch
\XESPDfontVsize\selectfont\XESPDfontShape}
\newcommand{\XESPDfontVII}{%
\XESPDfontSetBaseLineStretch
\XESPDfontVIIsize\selectfont\XESPDfontShape}
\newcommand{\XESPDfontX}{%
\XESPDfontSetBaseLineStretch
\XESPDfontXsize\selectfont\XESPDfontShape}
\RequirePackage{ifxetex}
\ifxetex
\newfontfamily\gostafont{ГОСТ 2.304-81}
\newcommand{\XESPDfontGostIII}{%
\XESPDfontSetBaseLineStretch\XESPDfontIIIsize\gostafont}
\newcommand{\XESPDfontGostIV}{%
\XESPDfontSetBaseLineStretch\XESPDfontIVsize\gostafont}
\setsansfont[Mapping=tex-text]{Arial}
\setromanfont[Mapping=tex-text]{XITS}
\setmainfont[Ligatures=TeX]{Times New Roman}
\newfontfamily\cyrillicfont{Times New Roman}[Script=Cyrillic]
\setmonofont[Mapping=tex-text]{Pragmata Pro Mono}
\newfontfamily\listingsfont{Pragmata Pro Mono Bold}
\newfontfamily\listingsfontinline{Pragmata Pro Mono Bold}
\RequirePackage{amsmath}
\DeclareSymbolFont{letters}{\encodingdefault}{\rmdefault}{m}{it}
\usepackage{unicode-math}
\setmathfont{XITS Math}
\else
\RequirePackage[T2A]{fontenc}
\RequirePackage{mathptmx}
\RequirePackage{gostfont}
\RequirePackage[defaultroman]{mstimes}
\RequirePackage[defaultsans]{msarial}
\RequirePackage[defaultmono]{pragmatapro}
\newcommand{\XESPDfontGostIII}{%
\XESPDfontSetBaseLineStretch
\XESPDfontIIIsize\selectfont\GostBFont}
\newcommand{\XESPDfontGostIV}{%
\XESPDfontSetBaseLineStretch
\XESPDfontIVsize\selectfont\GostBFont}
\fi
\newcommand{\XESPDfontTabHead}{\XESPDfontV}
\newcommand{\XESPDfontTabBody}{\XESPDfontV}

View File

@ -20,7 +20,7 @@
% %
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdfootnote}[2010/01/14 v0.98 Footnote Settings] \ProvidesPackage{xespdfootnote}[2020/03/20 v1.00 Footnote Settings]
% Нумероваться сноски должны в пределах одной страницы. % Нумероваться сноски должны в пределах одной страницы.
% Самое очевидное решение - переподчинить счетчик footnote счетчику page, % Самое очевидное решение - переподчинить счетчик footnote счетчику page,
@ -29,7 +29,7 @@
% Эту проблему решил Обердайк в своем пакете zref % Эту проблему решил Обердайк в своем пакете zref
% пакет amsmath должен быть загружен ПЕРЕД zref % пакет amsmath должен быть загружен ПЕРЕД zref
% возможно стоит загружать его в классе espdtext % возможно стоит загружать его в классе xespdtext
% а не здесь % а не здесь
\RequirePackage{amsmath} \RequirePackage{amsmath}
\RequirePackage{zref-perpage} \RequirePackage{zref-perpage}
@ -39,7 +39,7 @@
\let\footnotesize\small \let\footnotesize\small
% Нижеследующая строка была взята из espddstu.sty. % Нижеследующая строка была взята из xespddstu.sty.
% Согласно ГОСT 2.105-95 после метки сноски должна быть закрывающая скобка. % Согласно ГОСT 2.105-95 после метки сноски должна быть закрывающая скобка.
% Стандарт межгосударственный и данная строка будет более % Стандарт межгосударственный и данная строка будет более
% уместно смотреться здесь % уместно смотреться здесь
@ -60,7 +60,7 @@
\or**% \or**%
\or***% \or***%
\or****% \or****%
\else\PackageError{espdfootnote}{Too many asterisks}% \else\PackageError{xespdfootnote}{Too many asterisks}%
{GOST 2.105-95 does not recommend to use\MessageBreak {GOST 2.105-95 does not recommend to use\MessageBreak
more then 4 asterisks in footnotes.\MessageBreak more then 4 asterisks in footnotes.\MessageBreak
Use 'footnotearabic' option in documentclass instead}% Use 'footnotearabic' option in documentclass instead}%

58
xespdframe.sty Normal file
View File

@ -0,0 +1,58 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xespdframe}[2019/05/09 v0.98 Frame Page Style]
\RequirePackage{xespdstamp}
\RequirePackage{calc}
\RequirePackage{setspace}
\def\XESPD@frame@vt{%
\setlength{\XESPD@tmpdimc}{%
\XESPDframeY+\XESPDframeH-\XESPD@padding@v}}
\def\XESPD@frame@vb{%
\setlength{\XESPD@tmpdimc}{%
\XESPDframeY+\XESPD@padding@v-15mm}}
\def\XESPD@frame@hl{%
\ifXESPD@twoside
\ifodd\c@page\raggedright\else\raggedleft\fi
\else\raggedright\fi}
\def\XESPD@frame@hr{%
\ifXESPD@twoside
\ifodd\c@page\raggedleft\else\raggedright\fi
\else\raggedleft\fi}
\def\XESPD@frame@hc{\centering}
\let\XESPD@frame@ha\XESPD@frame@hc
\let\XESPD@frame@va\XESPD@frame@vb
\DeclareOption{numbertop}{\let\XESPD@frame@va\XESPD@frame@vt}
\DeclareOption{numberbottom}{\let\XESPD@frame@va\XESPD@frame@vb}
\DeclareOption{numberleft}{\let\XESPD@frame@ha\XESPD@frame@hl}
\DeclareOption{numbercenter}{\let\XESPD@frame@ha\XESPD@frame@hc}
\DeclareOption{numberright}{\let\XESPD@frame@ha\XESPD@frame@hr}
\ProcessOptions\relax
% Колонтитул
\newcommand{\XESPDdrawFramePageNumber}{
\setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPD@padding@h}
\setlength{\XESPD@tmpdimb}{\XESPDframeW-2\XESPD@padding@h}
\XESPD@frame@va
\put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimc}){%
\parbox[b][25mm][c]{\XESPD@tmpdimb}{%
\begin{singlespace}
\reset@font\normalsize
\XESPD@frame@ha\thepage \\ \MakeUppercase\XESPDtheSignature
\end{singlespace}}}}
\XESPDnewStyle{frame}{0mm}
\XESPDputOnStyle{frame}{pagenumber}{\XESPDdrawFramePageNumber}
\renewcommand{\XESPDdrawFrame}{}
\XESPDdefaultTitleStyle{title}
\XESPDdefaultFirstStyle{frame}
\XESPDdefaultStyle{frame}

183
xespdfreesize.sty Normal file
View File

@ -0,0 +1,183 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% This Current Maintainer of this work is Konstantin Korikov.
%
% This work consists of all files listed in manifest.txt.
%
% Пакет предоставляет возможность вставки листа
% почти любого размера (ограничения описаны в руководстве
% пользователя 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}
\XESPDputOnStyle{freesize}{frame}{\XESPDdrawFrameFree}
\XESPDputOnStyle{freesize}{stamp}{\XESPDdrawStampIIa}
\ifXESPD@enable@columns@xix
\XESPDputOnStyle{freesize}{columnsxix}{\XESPDdrawColumnsXIX}
\fi
\ifXESPD@enable@column@xxvi
\XESPDputOnStyle{freesize}{columnxxvi}{\XESPDdrawColumnXXVI}
\fi
\ifXESPD@enable@columns@xxvii
\XESPDputOnStyle{freesize}{columnsxxvii}{\XESPDdrawColumnsXXVIIi}
\fi
\ifXESPD@enable@column@xxxi
\XESPDputOnStyle{freesize}{columnxxxi}{\XESPDdrawColumnXXXI}
\fi
\ifXESPD@enable@column@xxxii
% наша новая графа 32
\XESPDputOnStyle{freesize}{columnxxxii}{\XESPDdrawColumnXXXIIfree}
\fi
\ifXESPD@enable@column@xxxiii
\XESPDputOnStyle{freesize}{columnxxxiii}{\XESPDdrawColumnXXXIII}
\fi
\ifXESPD@enable@column@xxxiv
\XESPDputOnStyle{freesize}{columnxxxiv}{\XESPDdrawColumnXXXIV}
\fi
\ifXESPD@zonelabels%
\XESPDputOnStyle{freesize}{zonelabels}{\XESPDdrawZoneLabelsI}
\fi
% вспомогательные счетчики для записей в лог
\newcounter{XESPD@free@sizepagebegin}
\newcounter{XESPD@free@sizepageend}
% теперь самое сложное - сам переключатель
\newcommand{\XESPDfreeSize}[3]{%
\@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}}

View File

@ -20,33 +20,32 @@
% %
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesClass{espdgraph}[2010/01/14 v0.98 Graphical Documentation] \ProvidesClass{xespdgraph}[2020/03/20 v1.00 Graphical Documentation]
\DeclareOption{russian}{\PassOptionsToPackage{\CurrentOption}{espdlang}} \DeclareOption{russian}{\PassOptionsToPackage{\CurrentOption}{xespdlang}}
\DeclareOption{ukrainian}{\PassOptionsToPackage{\CurrentOption}{espdlang}} \DeclareOption{koi8-r}{\PassOptionsToPackage{\CurrentOption}{xespdlang}}
\DeclareOption{koi8-r}{\PassOptionsToPackage{\CurrentOption}{espdlang}} \DeclareOption{koi8-u}{\PassOptionsToPackage{\CurrentOption}{xespdlang}}
\DeclareOption{koi8-u}{\PassOptionsToPackage{\CurrentOption}{espdlang}} \DeclareOption{cp1251}{\PassOptionsToPackage{\CurrentOption}{xespdlang}}
\DeclareOption{cp1251}{\PassOptionsToPackage{\CurrentOption}{espdlang}} \DeclareOption{iso8859-5}{\PassOptionsToPackage{\CurrentOption}{xespdlang}}
\DeclareOption{iso8859-5}{\PassOptionsToPackage{\CurrentOption}{espdlang}} \DeclareOption{cp866}{\PassOptionsToPackage{\CurrentOption}{xespdlang}}
\DeclareOption{cp866}{\PassOptionsToPackage{\CurrentOption}{espdlang}} \DeclareOption{utf-8}{\PassOptionsToPackage{\CurrentOption}{xespdlang}}
\DeclareOption{utf-8}{\PassOptionsToPackage{\CurrentOption}{espdlang}} \DeclareOption{utf8}{\PassOptionsToPackage{\CurrentOption}{xespdlang}}
\DeclareOption{utf8}{\PassOptionsToPackage{\CurrentOption}{espdlang}}
\DeclareOption{draft}{\PassOptionsToClass{\CurrentOption}{article}} \DeclareOption{draft}{\PassOptionsToClass{\CurrentOption}{article}}
\DeclareOption{twoside}{% \DeclareOption{twoside}{%
\ClassError{espdgraph}{Two side printing is not allowed for \ClassError{xespdgraph}{Two side printing is not allowed for
graphical documentation}{}} graphical documentation}{}}
\DeclareOption{formII}{% \DeclareOption{formII}{%
\ClassError{espdgraph}{formII style is for textual documentation}{}} \ClassError{xespdgraph}{formII style is for textual documentation}{}}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{espdstamp}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xespdstamp}}
\ProcessOptions\relax \ProcessOptions\relax
\LoadClass{article} \LoadClass{article}
\RequirePackage{espdlang} \RequirePackage{xespdlang}
\RequirePackage[formI,columnxxvi,ignorestamp]{espdstamp} \RequirePackage[formI,columnxxvi,ignorestamp]{xespdstamp}
\RequirePackage{espdinfo} \RequirePackage{xespdinfo}
\newenvironment{ESPDdrawing}{% \newenvironment{XESPDdrawing}{%
\clearpage\mbox{}\strut\par\vspace{-\baselineskip}\vfill% \clearpage\mbox{}\strut\par\vspace{-\baselineskip}\vfill%
\begin{center}}{\end{center}\vfill\clearpage} \begin{center}}{\end{center}\vfill\clearpage}

60
xespdhash.sty Normal file
View File

@ -0,0 +1,60 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% This Current Maintainer of this work is Konstantin Korikov.
%
% This work consists of all files listed in manifest.txt.
%
%
% This is automaticaly generated file, do not edit it.
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xespdhash}[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}

View File

@ -20,7 +20,7 @@
% %
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdindent}[2010/01/14 v0.98 Paragraph Indent] \ProvidesPackage{xespdindent}[2020/03/20 v1.00 Paragraph Indent]
\RequirePackage{indentfirst} \RequirePackage{indentfirst}
\setlength{\parindent}{12.5mm} \setlength{\parindent}{12.5mm}

132
xespdinfo.sty Normal file
View File

@ -0,0 +1,132 @@
% 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{\XESPDtheFileName}{}
\newcommand{\XESPDfileName}[1]{\renewcommand{\XESPDtheFileName}{#1}}
\newcommand{\XESPDtheOrgCode}{}
\newcommand{\XESPDorgCode}[1]{\renewcommand{\XESPDtheOrgCode}{#1}}
\newcommand{\XESPDtheDocCode}{}
\newcommand{\XESPDdocCode}[1]{\renewcommand{\XESPDtheDocCode}{#1}}
\newcommand{\XESPDtheDocType}{}
\newcommand{\XESPDdocType}[1]{\renewcommand{\XESPDtheDocType}{#1}}
\newcommand{\XESPDtheLitera}{}
\newcommand{\XESPDlitera}[1]{\renewcommand{\XESPDtheLitera}{#1}}
\newcommand{\XESPDtheControllerStampI}{}
\newcommand{\XESPDcontrollerStampI}[1]{\renewcommand{\XESPDtheControllerStampI}{#1}}
\newcommand{\XESPDtheControllerStampII}{}
\newcommand{\XESPDcontrollerStampII}[1]{\renewcommand{\XESPDtheControllerStampII}{#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}
\RequirePackage{ifxetex}
\XESPD@after@package{hyperref}{%
\ifxetex
\hypersetup{%
breaklinks,pdftitle=\XESPDtheUnitName,%
pdfsubject=\XESPDtheDocName,pdfauthor=\XESPDtheAuthor}
\else
\hypersetup{%
breaklinks,pdftitle=\XESPDtheUnitName,%
pdfsubject=\XESPDtheDocName,pdfauthor=\XESPDtheAuthor}
\fi
}

View File

@ -20,30 +20,39 @@
% %
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdlang}[2010/01/14 v0.98 Language] \ProvidesPackage{xespdlang}[2020/03/20 v1.00 Language]
\newcommand{\ESPD@lang}{russian} \newcommand{\XESPD@lang}{russian}
\newif\ifESPD@given@encoding \newif\ifXESPD@given@encoding
\ESPD@given@encodingfalse \XESPD@given@encodingfalse
\DeclareOption{russian}{\renewcommand{\ESPD@lang}{russian}} \DeclareOption{russian}{\renewcommand{\XESPD@lang}{russian}}
\DeclareOption{ukrainian}{\renewcommand{\ESPD@lang}{ukrainian}}
\DeclareOption*{% \DeclareOption*{%
\PassOptionsToPackage{\CurrentOption}{inputenc}% \PassOptionsToPackage{\CurrentOption}{inputenc}%
\ESPD@given@encodingtrue} \XESPD@given@encodingtrue}
\ProcessOptions\relax \ProcessOptions\relax
\RequirePackage{csquotes}
\RequirePackage{ifxetex} \RequirePackage{ifxetex}
\ifxetex\RequirePackage{xecyr} \ifxetex
\RequirePackage{textcase}
\RequirePackage{xltxtra}
\RequirePackage{xunicode}
\RequirePackage{polyglossia}
\RequirePackage{xecyr}
\setmainlanguage{\XESPD@lang}
\let\cyr\relax
\setotherlanguage{english}
\setkeys{\XESPD@lang}{babelshorthands=true,indentfirst=true}
\else \else
\ifESPD@given@encoding \RequirePackage{cmap}
\ifXESPD@given@encoding
\RequirePackage{inputenc} \RequirePackage{inputenc}
\fi \fi
\RequirePackage[T2A]{fontenc} \RequirePackage[\XESPD@lang]{babel}
\fi \fi
\RequirePackage[\ESPD@lang]{babel} \input{xespd\XESPD@lang.def}
\input{espd\ESPD@lang.def}

View File

@ -20,7 +20,8 @@
% %
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdlist}[2010/01/14 v0.98 List] \ProvidesPackage{xespdlist}[2020/03/20 v1.00 List]
\RequirePackage{calc} \RequirePackage{calc}
\RequirePackage{enumitem} % убрать вертикальный отступ перед списками \RequirePackage{enumitem} % убрать вертикальный отступ перед списками

102
xespdlongtable.sty Normal file
View File

@ -0,0 +1,102 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% This Current Maintainer of this work is Konstantin Korikov.
%
% This work consists of all files listed in manifest.txt.
%
%
% This is automaticaly generated file, do not edit it.
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{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}
\RequirePackage{etoolbox}
\makeatletter
\newif\ifLT@nocaption
\preto\longtable{\LT@nocaptiontrue}
\appto\endlongtable{%
\ifLT@nocaption
\addtocounter{table}{\m@ne}%
\fi}
\preto\LT@caption{%
\noalign{\global\LT@nocaptionfalse}}
\makeatother

51
xespdpara.sty Normal file
View File

@ -0,0 +1,51 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% This Current Maintainer of this work is Konstantin Korikov.
%
% This work consists of all files listed in manifest.txt.
%
%
% This is automaticaly generated file, do not edit it.
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xespdpara}[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}}

88
xespdplain.sty Normal file
View File

@ -0,0 +1,88 @@
% 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}
\RequirePackage{setspace}
\def\XESPD@plain@vt{%
\setlength{\XESPD@tmpdimc}{%
\XESPDframeY+\XESPDframeH-\XESPD@padding@v}}
\def\XESPD@plain@vb{%
\setlength{\XESPD@tmpdimc}{%
\XESPDframeY+\XESPD@padding@v-15mm}}
\def\XESPD@plain@hl{%
\ifXESPD@twoside
\ifodd\c@page\raggedright\else\raggedleft\fi
\else\raggedright\fi}
\def\XESPD@plain@hr{%
\ifXESPD@twoside
\ifodd\c@page\raggedleft\else\raggedright\fi
\else\raggedleft\fi}
\def\XESPD@plain@hc{\centering}
\let\XESPD@plain@ha\XESPD@plain@hc
\let\XESPD@plain@va\XESPD@plain@vb
\DeclareOption{numbertop} {\let\XESPD@plain@va\XESPD@plain@vt}
\DeclareOption{numberbottom}{\let\XESPD@plain@va\XESPD@plain@vb}
\DeclareOption{numberleft} {\let\XESPD@plain@ha\XESPD@plain@hl}
\DeclareOption{numbercenter}{\let\XESPD@plain@ha\XESPD@plain@hc}
\DeclareOption{numberright} {\let\XESPD@plain@ha\XESPD@plain@hr}
\ProcessOptions\relax
\newcommand{\XESPDdrawPlainPageNumber}{
\setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPD@padding@h}
\setlength{\XESPD@tmpdimb}{\XESPDframeW-2\XESPD@padding@h}
\XESPD@plain@va
\put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimc}){%
\parbox[b][15mm][c]{\XESPD@tmpdimb}{%
\reset@font\normalsize\normalsfcodes
\XESPD@plain@ha\thepage}}}
\XESPDnewStyle{plain}{0mm}
\XESPDputOnStyle{plain}{pagenumber}{\XESPDdrawPlainPageNumber}
\@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}

235
xespdrussian.def Normal file
View File

@ -0,0 +1,235 @@
% 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}{%
\textnumero\ \cyr\cyrd\cyro\cyrk\cyru\cyrm.}
\newcommand{\XESPDcolumnXVIIname}{%
\cyr\CYRP\cyro\cyrd\cyrp.}
\newcommand{\XESPDcolumnXVIIIname}{%
\cyr\CYRD\cyra\cyrt\cyra}
\newcommand{\XESPDcolumnXIXname}{%
\cyr\CYRI\cyrn\cyrv. \textnumero\ \cyrp\cyro\cyrd\cyrl.}
\newcommand{\XESPDcolumnXXname}{%
\cyr\CYRP\cyro\cyrd\cyrp. \cyri\ \cyrd\cyra\cyrt\cyra}
\newcommand{\XESPDcolumnXXIname}{%
\cyr\CYRV\cyrz\cyra\cyrm. \cyri\cyrn\cyrv. \textnumero}
\newcommand{\XESPDcolumnXXIIname}{%
\cyr\CYRI\cyrn\cyrv. \textnumero\ \cyrd\cyru\cyrb\cyrl.}
\newcommand{\XESPDcolumnXXIIIname}{%
\cyr\CYRP\cyro\cyrd\cyrp. \cyri\ \cyrd\cyra\cyrt\cyra}
\newcommand{\XESPDcolumnXXIVname}{%
\cyr\CYRS\cyrp\cyrr\cyra\cyrv. \textnumero}
\newcommand{\XESPDcolumnXXVname}{%
\cyr\CYRP\cyre\cyrr\cyrv. \cyrp\cyrr\cyri\cyrm\cyre\cyrn.}
\newcommand{\XESPDcolumnXXXIname}{%
\cyr\CYRK\cyro\cyrp\cyri\cyrr\cyro\cyrv\cyra\cyrl}
\@namedef{XESPDa0FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}0}
\@namedef{XESPDa1FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}1}
\@namedef{XESPDa2FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}2}
\@namedef{XESPDa3FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}3}
\@namedef{XESPDa4FormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \CYRA{}4}
\@namedef{XESPDemptyFormatName}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt\ \ \ \ }
\newcommand{\XESPDcolumnXXXIIIname}{%
\cyr\CYRZ\cyro\cyrn\cyra}
\newcommand{\XESPDagreedName}{%
\cyr\CYRS\cyro\cyrg\cyrl\cyra\cyrs\cyro\cyrv\cyra\cyrn\cyro}
\newcommand{\XESPDapprovingName}{%
\cyr\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyra\cyryu}
\newcommand{\XESPDapprovedName}{%
\cyr\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn}
\newcommand{\XESPDapprovingSheetName}{%
\cyr\CYRL\cyri\cyrs\cyrt\ %
\cyru\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyrya}
\newlength{\XESPDexplanWidth}
\setlength{\XESPDexplanWidth}{1.8em}
\addto\captionsrussian{%
\def\tablename{{\cyr\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra}}%
\def\figurename{{\cyr\CYRR\cyri\cyrs.}}%
}
% спецификация
\newcommand{\XESPDspecColumnIname}{%
\cyr\CYRF\cyro\cyrr\cyrm\cyra\cyrt}
\newcommand{\XESPDspecColumnIIname}{%
\cyr\CYRZ\cyro\cyrn\cyra}
\newcommand{\XESPDspecColumnIIIname}{%
\cyr\CYRP\cyro\cyrz.}
\newcommand{\XESPDspecColumnIVname}{%
\cyr\CYRO\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri\cyre}
\newcommand{\XESPDspecColumnVname}{%
\cyr\CYRN\cyra\cyri\cyrm\cyre\cyrn\cyro\cyrv\cyra\cyrn\cyri\cyre}
\newcommand{\XESPDspecColumnVIname}{%
\cyr\CYRK\cyro\cyrl.}
\newcommand{\XESPDspecColumnVIIname}{%
\cyr\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyre}
% спецификация в плазовом исполнении
\newcommand{\XESPDspecIIcolumnIname}{\XESPDspecColumnIname}
\newcommand{\XESPDspecIIcolumnIIname}{\XESPDspecColumnIIname}
\newcommand{\XESPDspecIIcolumnIIIname}{\XESPDspecColumnIIIname}
\newcommand{\XESPDspecIIcolumnIVname}{\XESPDspecColumnIVname}
\newcommand{\XESPDspecIIcolumnVname}{\XESPDspecColumnVname}
\newcommand{\XESPDspecIIcolumnVIname}{\XESPDspecColumnVIname}
\newcommand{\XESPDspecIIcolumnVIIname}{%
\cyr\CYRM\cyra\cyrs\cyrs\cyra}
\newcommand{\XESPDspecIIcolumnVIIIname}{%
\cyr\CYRM\cyra\cyrt\cyre\cyrr\cyri\cyra\cyrl}
\newcommand{\XESPDspecIIcolumnIXname}{\XESPDspecColumnVIIname}
% перечень элементов
\newcommand{\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}{%
\textnumero\ \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}{%
\textnumero\ \cyr\cyrd\cyro\cyrk\cyru\cyrm\cyre\cyrn\cyrt\cyra}
\newcommand{\XESPDchngColumnVIIIname}{%
\cyr\CYRV\cyrh\cyro\cyrd\cyrya\cyrshch\cyri\cyrishrt\ \textnumero\ %
\cyrs\cyro\cyrp\cyrr\cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn
\cyrn\cyro\cyrg\cyro\ \cyrd\cyro\cyrk\cyru\cyrm. \cyri\ %
\cyrd\cyra\cyrt\cyra}
\newcommand{\XESPDchngColumnIXname}{%
\cyr\CYRP\cyr\cyro\cyrd\cyrp.}
\newcommand{\XESPDchngColumnXname}{%
\cyr\CYRD\cyra\cyrt\cyra}
\newcommand{\XESPDforewordName}{%
\cyr\CYRV\cyrv\cyre\cyrd\cyre\cyrn\cyri\cyre}
\newcommand{\XESPDabbreviationsListName}{%
\cyr\CYRP\cyre\cyrr\cyre\cyrch\cyre\cyrn\cyrsftsn\ %
\cyrs\cyro\cyrk\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrishrt}
\def\@Asbuk#1{\ifcase#1\or
\CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or
\CYRI\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or
\CYRP\or\CYRR\or\CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or
\CYRC\or\CYRSH\or\CYRSHCH\or\CYREREV\or\CYRYU\or
\CYRYA\else{\@tempcnta \number #1\relax
\advance\@tempcnta -25\relax
\protect\number\@tempcnta}
\fi}
\def\@asbuk#1{\ifcase#1\or
\cyra\or\cyrb\or\cyrv\or\cyrg\or\cyrd\or\cyre\or\cyrzh\or
\cyri\or\cyrk\or\cyrl\or\cyrm\or\cyrn\or
\cyrp\or\cyrr\or\cyrs\or\cyrt\or\cyru\or\cyrf\or\cyrh\or
\cyrc\or\cyrsh\or\cyrshch\or\cyrerev\or\cyryu\or
\cyrya\else{\@tempcnta \number #1\relax
\advance\@tempcnta -25\relax
\protect\number\@tempcnta}
\fi}

View File

@ -1,4 +1,4 @@
% Copyright 20.45 Konstantin Korikov <lostclus@ua.fm> % Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
% %
% This work may be distributed and/or modified under the % This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3 % conditions of the LaTeX Project Public License, either version 1.3
@ -20,14 +20,15 @@
% %
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdsect}[2010/01/14 v0.98 Sectioning] \ProvidesPackage{xespdsect}[2020/03/20 v1.00 Sectioning]
\RequirePackage{calc} \RequirePackage{calc}
\newcommand{\ESPD@point@style}{single} \newcommand{\XESPD@point@style}{single}
\DeclareOption{pointsingle}{\renewcommand{\ESPD@point@style}{single}} \DeclareOption{pointsingle}{\renewcommand{\XESPD@point@style}{single}}
\DeclareOption{pointsection}{\renewcommand{\ESPD@point@style}{section}} \DeclareOption{pointsection}{\renewcommand{\XESPD@point@style}{section}}
\DeclareOption{pointsubsection}{\renewcommand{\ESPD@point@style}{subsection}} \DeclareOption{pointsubsection}{\renewcommand{\XESPD@point@style}{subsection}}
\ProcessOptions\relax \ProcessOptions\relax
@ -51,64 +52,64 @@
{\@ssect{#3}{#4}{#5}{#6}}% {\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
\newcommand{\ESPDsectAlignLeft}{% \newcommand{\XESPDsectAlignLeft}{%
\let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip% \let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip%
\leftskip\z@skip} \leftskip\z@skip}
\newcommand{\ESPDsectAlignRight}{% \newcommand{\XESPDsectAlignRight}{%
\let\\\@centercr\rightskip\z@skip\leftskip\@flushglue \let\\\@centercr\rightskip\z@skip\leftskip\@flushglue
\parindent\z@\parfillskip\z@skip} \parindent\z@\parfillskip\z@skip}
\newcommand{\ESPDsectAlignCenter}{% \newcommand{\XESPDsectAlignCenter}{%
\let\\\@centercr \let\\\@centercr
\rightskip\@flushglue\leftskip\@flushglue \rightskip\@flushglue\leftskip\@flushglue
\parindent\z@\parfillskip\z@skip} \parindent\z@\parfillskip\z@skip}
\newcommand{\ESPDsectionAlign}{\ESPDsectAlignLeft} \newcommand{\XESPDsectionAlign}{\XESPDsectAlignLeft}
\newcommand{\ESPDsubsectionAlign}{\ESPDsectAlignLeft} \newcommand{\XESPDsubsectionAlign}{\XESPDsectAlignLeft}
\newcommand{\ESPDsubsubsectionAlign}{\ESPDsectAlignLeft} \newcommand{\XESPDsubsubsectionAlign}{\XESPDsectAlignLeft}
\newcommand{\ESPDsectAlign}[2]{% \newcommand{\XESPDsectAlign}[2]{%
\expandafter\renewcommand\csname\string ESPD#1Align\endcsname{% \expandafter\renewcommand\csname\string XESPD#1Align\endcsname{%
\@nameuse{ESPDsectAlign#2}}} \@nameuse{XESPDsectAlign#2}}}
\newcommand{\ESPDsectionStyle}{\normalfont\normalsize\MakeUppercase} \newcommand{\XESPDsectionStyle}{\normalfont\normalsize\MakeUppercase}
\newcommand{\ESPDsubsectionStyle}{\normalfont\normalsize} \newcommand{\XESPDsubsectionStyle}{\normalfont\normalsize}
\newcommand{\ESPDsubsubsectionStyle}{\normalfont\normalsize} \newcommand{\XESPDsubsubsectionStyle}{\normalfont\normalsize}
\newcommand{\ESPDsectStyle}[2]{% \newcommand{\XESPDsectStyle}[2]{%
\expandafter\renewcommand\csname\string ESPD#1Style\endcsname{#2}} \expandafter\renewcommand\csname\string XESPD#1Style\endcsname{#2}}
\newlength{\ESPDsectionSkipBefore} \newlength{\XESPDsectionSkipBefore}
\newlength{\ESPDsectionSkipAfter} \newlength{\XESPDsectionSkipAfter}
\setlength{\ESPDsectionSkipBefore}{-5mm \@plus -3mm \@minus -2mm} \setlength{\XESPDsectionSkipBefore}{-5mm \@plus -3mm \@minus -2mm}
\setlength{\ESPDsectionSkipAfter}{5mm \@plus 1mm \@minus 2mm} \setlength{\XESPDsectionSkipAfter}{5mm \@plus 1mm \@minus 2mm}
\newlength{\ESPDsubsectionSkipBefore} \newlength{\XESPDsubsectionSkipBefore}
\newlength{\ESPDsubsectionSkipAfter} \newlength{\XESPDsubsectionSkipAfter}
\setlength{\ESPDsubsectionSkipBefore}{-6pt \@plus -0mm \@minus -0mm} \setlength{\XESPDsubsectionSkipBefore}{-6pt \@plus -0mm \@minus -0mm}
\setlength{\ESPDsubsectionSkipAfter}{6pt \@plus 0mm \@minus 0mm} \setlength{\XESPDsubsectionSkipAfter}{6pt \@plus 0mm \@minus 0mm}
\newlength{\ESPDsubsubsectionSkipBefore} \newlength{\XESPDsubsubsectionSkipBefore}
\newlength{\ESPDsubsubsectionSkipAfter} \newlength{\XESPDsubsubsectionSkipAfter}
\setlength{\ESPDsubsubsectionSkipBefore}{-6pt \@plus -0mm \@minus -0mm} \setlength{\XESPDsubsubsectionSkipBefore}{-6pt \@plus -0mm \@minus -0mm}
\setlength{\ESPDsubsubsectionSkipAfter}{6pt \@plus 0mm \@minus 0mm} \setlength{\XESPDsubsubsectionSkipAfter}{6pt \@plus 0mm \@minus 0mm}
\providecommand{\plus}{\@plus} \providecommand{\plus}{\@plus}
\providecommand{\minus}{\@minus} \providecommand{\minus}{\@minus}
\newcommand{\ESPDsectSkip}[3]{% \newcommand{\XESPDsectSkip}[3]{%
\expandafter\setlength\csname\string ESPD#1SkipBefore\endcsname{#2}% \expandafter\setlength\csname\string XESPD#1SkipBefore\endcsname{#2}%
\expandafter\setlength\csname\string ESPD#1SkipAfter\endcsname{#3}} \expandafter\setlength\csname\string XESPD#1SkipAfter\endcsname{#3}}
\renewcommand\section{\@startsection {section}{1}{\parindent}% \renewcommand\section{\@startsection {section}{1}{\parindent}%
{\ESPDsectionSkipBefore}% {\XESPDsectionSkipBefore}%
{\ESPDsectionSkipAfter}% {\XESPDsectionSkipAfter}%
{\ESPDsectionAlign\ESPDsectionStyle}} {\XESPDsectionAlign\XESPDsectionStyle}}
\renewcommand\subsection{\@startsection{subsection}{2}{\parindent}% \renewcommand\subsection{\@startsection{subsection}{2}{\parindent}%
{\ESPDsubsectionSkipBefore}% {\XESPDsubsectionSkipBefore}%
{\ESPDsubsectionSkipAfter}% {\XESPDsubsectionSkipAfter}%
{\ESPDsubsectionAlign\ESPDsubsectionStyle}} {\XESPDsubsectionAlign\XESPDsubsectionStyle}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\parindent}% \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\parindent}%
{\ESPDsubsubsectionSkipBefore}% {\XESPDsubsubsectionSkipBefore}%
{\ESPDsubsubsectionSkipAfter}% {\XESPDsubsubsectionSkipAfter}%
{\ESPDsubsubsectionAlign\ESPDsubsubsectionStyle}} {\XESPDsubsubsectionAlign\XESPDsubsubsectionStyle}}
\let\oldsection\section \let\oldsection\section
\renewcommand\section{\clearpage\oldsection} \renewcommand\section{\clearpage\oldsection}
@ -116,26 +117,26 @@
\renewcommand{\thesection}{\arabic{section}} \renewcommand{\thesection}{\arabic{section}}
\renewcommand{\thesubsection}{\thesection.\arabic{subsection}} \renewcommand{\thesubsection}{\thesection.\arabic{subsection}}
\renewcommand{\thesubsubsection}{\thesubsection.\arabic{subsubsection}} \renewcommand{\thesubsubsection}{\thesubsection.\arabic{subsubsection}}
\newif\ifESPD@point@style@single \newif\ifXESPD@point@style@single
\ESPD@point@style@singlefalse \XESPD@point@style@singlefalse
\newcommand{\ESPD@point@style@single}{ \newcommand{\XESPD@point@style@single}{
\newcounter{point} \newcounter{point}
\renewcommand{\thepoint}{\arabic{point}} \renewcommand{\thepoint}{\arabic{point}}
\newcommand{\theHpoint}{\arabic{point}} \newcommand{\theHpoint}{\arabic{point}}
\ESPD@point@style@singletrue} \XESPD@point@style@singletrue}
\newcommand{\ESPD@point@style@section}{ \newcommand{\XESPD@point@style@section}{
\newcounter{point}[section] \newcounter{point}[section]
\renewcommand{\thepoint}{\thesection.\arabic{point}} \renewcommand{\thepoint}{\thesection.\arabic{point}}
\newcommand{\theHpoint}{\theHsection.\arabic{point}}} \newcommand{\theHpoint}{\theHsection.\arabic{point}}}
\newcommand{\ESPD@point@style@subsection}{ \newcommand{\XESPD@point@style@subsection}{
\newcounter{point}[subsection] \newcounter{point}[subsection]
\renewcommand{\thepoint}{\thesubsection.\arabic{point}} \renewcommand{\thepoint}{\thesubsection.\arabic{point}}
\newcommand{\theHpoint}{\theHsubsection.\arabic{point}}} \newcommand{\theHpoint}{\theHsubsection.\arabic{point}}}
\@nameuse{ESPD@point@style@\ESPD@point@style} \@nameuse{XESPD@point@style@\XESPD@point@style}
\newcounter{subpoint}[point] \newcounter{subpoint}[point]
\newcounter{subsubpoint}[subpoint] \newcounter{subsubpoint}[subpoint]
\renewcommand{\thesubpoint}{\thepoint.\arabic{subpoint}} \renewcommand{\thesubpoint}{\thepoint.\arabic{subpoint}}
@ -150,46 +151,23 @@
\newcommand{\subsubpoint}{% \newcommand{\subsubpoint}{%
\par\refstepcounter{subsubpoint}\thesubsubpoint\hspace{0.45em}} \par\refstepcounter{subsubpoint}\thesubsubpoint\hspace{0.45em}}
\newcommand{\XESPDforeword}{\section*{\MakeTextUppercase{\XESPDforewordName{}}}}
\newcounter{pointII}[section] \newcommand{\XESPDabbreviationsList}{
\newcounter{pointIII}[subsection] \section*{\MakeUppercase{\XESPDabbreviationsListName{}}}
\newcounter{pointIV}[subsubsection] \pdfbookmark[1]{\XESPDabbreviationsListName{}}{toc}
\addcontentsline{toc}{section}{\XESPDabbreviationsListName{}}}
\renewcommand{\thepointII}{\thesection.\arabic{pointII}}
\renewcommand{\thepointIII}{\thesubsection.\arabic{pointIII}}
\renewcommand{\thepointIV}{\thesubsubsection.\arabic{pointIV}}
\newcommand{\pointII}{%
\par\refstepcounter{pointII}\thepointII.\hspace{0.45em}}
\newcommand{\pointIII}{%
\par\refstepcounter{pointIII}\thepointIII.\hspace{0.45em}}
\newcommand{\pointIV}{%
\par\refstepcounter{pointIV}\thepointIV.\hspace{0.45em}}
\newcounter{subpointIII}[pointII]
\newcounter{subpointIV}[pointIII]
\renewcommand{\thesubpointIII}{\thepointII.\arabic{subpointIII}}
\renewcommand{\thesubpointIV}{\thepointIII.\arabic{subpointIV}}
\newcommand{\subpointIII}{%
\par\refstepcounter{subpointIII}\thesubpointIII.\hspace{0.45em}}
\newcommand{\subpointIV}{%
\par\refstepcounter{subpointIV}\thesubpointIV.\hspace{0.45em}}
\newcounter{appendix} \newcounter{appendix}
\renewcommand{\theappendix}{\Asbuk{appendix}} \renewcommand{\theappendix}{\Asbuk{appendix}}
\newlength{\ESPDappendixSkip} \newlength{\XESPDappendixSkip}
\setlength{\ESPDappendixSkip}{15mm \@plus 3mm \@minus 10mm} \setlength{\XESPDappendixSkip}{15mm \@plus 3mm \@minus 10mm}
\newcommand{\ESPDappendix}[2]{% \newcommand{\XESPDappendix}[2]{%
\ESPDclearDoublePage% \XESPDclearDoublePage%
\refstepcounter{appendix}% \refstepcounter{appendix}%
\setcounter{point}{0}% \setcounter{point}{0}%
\ifESPD@point@style@single% \ifXESPD@point@style@single%
\renewcommand{\thepoint}{\theappendix.\arabic{point}}% \renewcommand{\thepoint}{\theappendix.\arabic{point}}%
\fi \fi
\setcounter{section}{0}% \setcounter{section}{0}%
@ -215,11 +193,11 @@
\ifx#1\@empty\else\\(#1)\fi\\ \ifx#1\@empty\else\\(#1)\fi\\
\item\centering\bf #2 \item\centering\bf #2
\end{list}% \end{list}%
\par\nobreak\addvspace{\ESPDappendixSkip}} \par\nobreak\addvspace{\XESPDappendixSkip}}
%\renewcommand\tableofcontents{% %\renewcommand\tableofcontents{%
% \begingroup % \begingroup
% \ESPDsectAlign{section}{Center} % \XESPDsectAlign{section}{Center}
% \section*{\contentsname % \section*{\contentsname
% \@mkboth{% % \@mkboth{%
% \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% % \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
@ -228,10 +206,10 @@
\RequirePackage[style]{abstract} \RequirePackage[style]{abstract}
\renewcommand{\abstitlestyle}[1]{\center\normalsize\MakeUppercase #1} \renewcommand{\abstitlestyle}[1]{\center\normalsize\MakeUppercase #1}
\ESPDsectAlign{section}{Center} \XESPDsectAlign{section}{Center}
\makeatletter \makeatletter
\renewcommand*{\@seccntformat}[1]{\csname the#1\endcsname.\hspace{0.45em}} \renewcommand*{\@seccntformat}[1]{\csname the#1\endcsname.\hspace{0.9em}}
\makeatother \makeatother
\RequirePackage[titles]{tocloft} \RequirePackage[titles]{tocloft}

93
xespdspec.sty Normal file
View File

@ -0,0 +1,93 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% This Current Maintainer of this work is Konstantin Korikov.
%
% This work consists of all files listed in manifest.txt.
%
%
% This is automaticaly generated file, do not edit it.
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xespdspec}[2020/03/20 v1.00 Specification GOST 2.106.95]
\RequirePackage{xespdlang}
\RequirePackage{xespdstamp}
\RequirePackage{rotating}
\RequirePackage{array}
\RequirePackage{longtable}
\newcommand{\XESPDdrawSpecification}{
\put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPDframeY}){%
\begin{picture}(0,0)
\XESPD@tmpdimb=\XESPDframeH
\XESPD@tmpdima=\XESPD@style@sh@formII
\XESPD@tmpdimc=8mm
\advance\XESPD@tmpdimb -\XESPD@tmpdima
\advance\XESPD@tmpdimb -15mm
\divide\XESPD@tmpdimb by \XESPD@tmpdimc
\XESPD@tmpcnta=\XESPD@tmpdimb
\XESPD@tmpdimb=\XESPD@tmpdimc
\multiply\XESPD@tmpdimb by \XESPD@tmpcnta
\advance\XESPD@tmpdimb 15mm
\XESPD@tmpdima=\XESPDframeH
\advance\XESPD@tmpdima -\XESPD@tmpdimb
\linethickness{\XESPDlineThick}
\put(6,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}}
\put(12,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}}
\put(20,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}}
\put(90,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}}
\put(153,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}}
\put(163,\XESPDltu{\XESPD@tmpdima}){\line(0,1){\XESPDltu{\XESPD@tmpdimb}}}
\XESPD@tmpdimb=\XESPDframeH
\advance\XESPD@tmpdimb -15mm
\put(0,\XESPDltu{\XESPD@tmpdimb}){\line(1,0){\XESPDltu{\XESPDframeW}}}
\linethickness{\XESPDlineThin}
\multiput(0,\XESPDltu{\XESPD@tmpdima})(0, 8){\the\XESPD@tmpcnta}{%
\line(1,0){\XESPDltu{\XESPDframeW}}}
\end{picture}}}
\newenvironment{XESPDspecification}{%
\XESPDputOnStyle{formII}{specification}{\XESPDdrawSpecification}
\XESPDputOnStyle{formIIab}{specification}{\XESPDdrawSpecification}
\begin{XESPDzeroPadding}%
\setlength{\tabcolsep}{0.5mm}%
\setlength{\LTpre}{0mm}%
\setlength{\LTpost}{0mm}%
\setlength{\LTleft}{0mm}%
\setlength{\LTright}{\fill}%
\newcolumntype{s}{>{\XESPDfontTabBody}c}%
\newcolumntype{n}{>{\parbox[c][8mm][c]{1mm}{%
\rule{0mm}{0mm}}\XESPDfontTabBody}l}%
\noindent%
\begin{longtable}{ssssnss}
\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\XESPDfontTabHead%
\XESPDspecColumnIname\end{sideways}}&
\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\XESPDfontTabHead%
\XESPDspecColumnIIname\end{sideways}}&
\parbox[c][15mm][c]{7mm}{\centering\begin{sideways}\XESPDfontTabHead%
\XESPDspecColumnIIIname\end{sideways}}&
\parbox[c][15mm][c]{69mm}{\centering\XESPDfontTabHead%
\XESPDspecColumnIVname}&
\parbox[c][15mm][c]{61mm}{\centering\XESPDfontTabHead%
\XESPDspecColumnVname}&
\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\XESPDfontTabHead%
\XESPDspecColumnVIname\end{sideways}}&
\parbox[c][15mm][c]{21mm}{\centering\XESPDfontTabHead%
\XESPDspecColumnVIIname}\endhead}{%
\end{longtable}%
\end{XESPDzeroPadding}%
\XESPDremoveFromStyle{formII}{spec}%
\XESPDremoveFromStyle{formIIab}{spec}}

179
xespdspecii.sty Normal file
View File

@ -0,0 +1,179 @@
% Copyright 2006 Konstantin Korikov <lostclus@ua.fm>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% This Current Maintainer of this work is Konstantin Korikov.
%
% This work consists of all files listed in manifest.txt.
%
%
% This is automaticaly generated file, do not edit it.
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xespdspecii}[2020/03/20 v1.00 Specification GOST 2.106.95 Form 2]
\RequirePackage{xespdlang}
\RequirePackage{xespdstamp}
\RequirePackage{rotating}
\RequirePackage{chngpage}
\RequirePackage{lscape}
\RequirePackage{array}
\RequirePackage{longtable}
\newcommand{\XESPDdrawSpecificationII}{
\put(\XESPDltu{\XESPDframeX},\XESPDltu{\XESPDframeY}){%
\begin{picture}(0,0)
\XESPD@tmpdimb=\XESPDframeW
\XESPD@tmpdimc=8mm
\advance\XESPD@tmpdimb -70mm
\divide\XESPD@tmpdimb by \XESPD@tmpdimc
\XESPD@tmpcnta=\XESPD@tmpdimb
\XESPD@tmpdimb=\XESPD@tmpdimc
\multiply\XESPD@tmpdimb by \XESPD@tmpcnta
\advance\XESPD@tmpdimb 15mm
\linethickness{\XESPDlineThick}
\put(0,6){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}}
\put(0,12){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}}
\put(0,20){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}}
\put(0,90){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}}
\put(0,162){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}}
\put(0,172){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}}
\put(0,182){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}}
\put(0,257){\line(1,0){\XESPDltu{\XESPD@tmpdimb}}}
\put(15,0){\line(0,1){\XESPDltu{\XESPDframeH}}}
\linethickness{\XESPDlineThin}
\multiput(23,0)(8, 0){\the\XESPD@tmpcnta}{%
\line(0,1){\XESPDltu{\XESPDframeH}}}
\end{picture}}}
\newcommand{\XESPDdrawSpecIIstampII}{%
\setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW}
\setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-185mm}
\put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){%
\begin{sideways}\usebox{\XESPD@stamp@ii@box}\end{sideways}}
\put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){%
\begin{sideways}\XESPD@stamp@ii@var\end{sideways}}}
\newcommand{\XESPDdrawSpecIIstampIIa}{%
\setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW}
\setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-185mm}
\put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){%
\begin{sideways}\usebox{\XESPD@stamp@ii@a@box}\end{sideways}}
\put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){%
\begin{sideways}\XESPD@stamp@ii@a@var\end{sideways}}}
\ifXESPD@enable@columns@xxvii
\newcommand{\XESPDdrawSpecIIcolumnsXXVII}{%
\setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW-48mm}
\setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-120mm}
\put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){%
\begin{sideways}\usebox{\XESPD@columns@xxvii@ii@box}\end{sideways}}%
\addtolength{\XESPD@tmpdima}{8mm}%
\put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){%
\begin{sideways}\usebox{\XESPD@column@xxx@box}\end{sideways}}}
\fi
\ifXESPD@enable@column@xxxi
\newcommand{\XESPDdrawSpecIIcolumnXXXI}{%
\setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW+1.2mm}%
\setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-120mm}%
\put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){%
\begin{sideways}%
\makebox[70mm][r]{\XESPDfontIII\XESPDcolumnXXXIname\hspace{4em}}%
\end{sideways}}}
\fi
\ifXESPD@enable@column@xxxii
\newcommand{\XESPDdrawSpecIIcolumnXXXII}{%
\setlength{\XESPD@tmpdima}{\XESPDframeX+\XESPDframeW+1.2mm}%
\setlength{\XESPD@tmpdimb}{\XESPDframeY+\XESPDframeH-50mm}%
\put(\XESPDltu{\XESPD@tmpdima},\XESPDltu{\XESPD@tmpdimb}){%
\begin{sideways}%
\makebox[50mm][r]{\XESPDfontIII\XESPDtheColumnXXXII}%
\end{sideways}}}
\fi
\XESPDnewStyle{specII}{0mm}
\XESPDputOnStyle{specII}{frame}{\XESPDdrawFrame}
\XESPDputOnStyle{specII}{stamp}{\XESPDdrawSpecIIstampII}
\XESPDputOnStyle{specII}{specification}{\XESPDdrawSpecificationII}
\ifXESPD@enable@columns@xix
\XESPDputOnStyle{specII}{columnsxix}{\XESPDdrawColumnsXIX}
\fi
\ifXESPD@enable@columns@xxiv
\XESPDputOnStyle{specII}{columnsxxiv}{\XESPDdrawColumnsXXIV}
\fi
\ifXESPD@enable@columns@xxvii
\XESPDputOnStyle{specII}{columnsxxvii}{\XESPDdrawSpecIIcolumnsXXVII}
\fi
\ifXESPD@enable@column@xxxi
\XESPDputOnStyle{specII}{columnxxxi}{\XESPDdrawSpecIIcolumnXXXI}
\fi
\ifXESPD@enable@column@xxxii
\XESPDputOnStyle{specII}{columnxxxii}{\XESPDdrawSpecIIcolumnXXXII}
\fi
\XESPDnewStyle{specIIa}{0mm}
\XESPDputOnStyle{specIIa}{frame}{\XESPDdrawFrame}
\XESPDputOnStyle{specIIa}{stamp}{\XESPDdrawSpecIIstampIIa}
\XESPDputOnStyle{specIIa}{specification}{\XESPDdrawSpecificationII}
\ifXESPD@enable@columns@xix
\XESPDputOnStyle{specIIa}{columnsxix}{\XESPDdrawColumnsXIX}
\fi
\ifXESPD@enable@column@xxxi
\XESPDputOnStyle{specIIa}{columnxxxi}{\XESPDdrawSpecIIcolumnXXXI}
\fi
\ifXESPD@enable@column@xxxii
\XESPDputOnStyle{specIIa}{columnxxxii}{\XESPDdrawSpecIIcolumnXXXII}
\fi
\XESPDdefaultFirstStyle{specII}
\XESPDdefaultStyle{specIIa}
\newenvironment{XESPDspecificationII}{%
\begin{XESPDzeroPadding}%
\changetext{}{-55mm}{}{}{}%
\begin{landscape}
\setlength{\tabcolsep}{0.5mm}%
\setlength{\LTpre}{0mm}%
\setlength{\LTpost}{0mm}%
\setlength{\LTleft}{0mm}%
\setlength{\LTright}{\fill}%
\newcolumntype{s}{>{\XESPDfontTabBody}c}%
\newcolumntype{n}{>{\parbox[c][8mm][c]{1mm}{%
\rule{0mm}{0mm}}\XESPDfontTabBody}l}%
\noindent%
\begin{longtable}{ssssnssss}
\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\XESPDfontTabHead%
\XESPDspecIIcolumnIname\end{sideways}}&
\parbox[c][15mm][c]{5mm}{\centering\begin{sideways}\XESPDfontTabHead%
\XESPDspecIIcolumnIIname\end{sideways}}&
\parbox[c][15mm][c]{7mm}{\centering\begin{sideways}\XESPDfontTabHead%
\XESPDspecIIcolumnIIIname\end{sideways}}&
\parbox[c][15mm][c]{69mm}{\centering\XESPDfontTabHead%
\XESPDspecIIcolumnIVname}&
\parbox[c][15mm][c]{71mm}{\centering\XESPDfontTabHead%
\XESPDspecIIcolumnVname}&
\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\XESPDfontTabHead%
\XESPDspecIIcolumnVIname\end{sideways}}&
\parbox[c][15mm][c]{9mm}{\centering\begin{sideways}\XESPDfontTabHead%
\XESPDspecIIcolumnVIIname\end{sideways}}&
\parbox[c][15mm][c]{74mm}{\centering\XESPDfontTabHead%
\XESPDspecIIcolumnVIIIname}&
\parbox[c][15mm][c]{29mm}{\centering\XESPDfontTabHead%
\XESPDspecIIcolumnIXname}\endhead}{%
\end{longtable}%
\end{landscape}%
\changetext{}{55mm}{}{}{}%
\end{XESPDzeroPadding}}

1130
xespdstamp.sty Normal file

File diff suppressed because it is too large Load Diff

303
xespdtab.cls Normal file
View File

@ -0,0 +1,303 @@
% 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{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[a4paper,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

127
xespdtext.cls Normal file
View File

@ -0,0 +1,127 @@
% 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{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,xespd]{xespdstamp}
\RequirePackage{xespdindent}
\RequirePackage{xespdlist}
\RequirePackage{xespdsect}
\RequirePackage{xespdcap}
\RequirePackage{xespdfootnote}
\RequirePackage{xespdbiblist}
\RequirePackage{xespdexplan}
\RequirePackage{xespdinfo}
\RequirePackage{xespdtitlebase}
\RequirePackage{xespdtitle}
\RequirePackage{xespdlongtable}
\RequirePackage{caption}
\RequirePackage{float}
%\RequirePackage{dblfloatfix}
\RequirePackage{xltabular}
\RequirePackage{multirow}
\RequirePackage{zref-user}
\RequirePackage{zref-titleref}
\newcommand{\HY}{\hyphenpenalty=25\exhyphenpenalty=25}
\newcolumntype{Z}{>{\HY\raggedright\arraybackslash\hspace{0pt}}X}
\newcolumntype{M}{>{\HY\RaggedRight\arraybackslash\hspace{0pt}}c}
\newcolumntype{L}{>{\HY\RaggedRight\arraybackslash\hspace{0pt}}l}
\linespread{1.5}
\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}

150
xespdtitle.sty Normal file
View File

@ -0,0 +1,150 @@
% 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{xespdtotal}
\RequirePackage{xespdtitlebase}
\RequirePackage{ifthen}
\newcommand{\XESPD@title@split@field}[2]{%
\parbox[t]{.4\hsize}{\raggedright#1}\hfill
\parbox[t]{.4\hsize}{\raggedright#2}}
\renewcommand{\XESPDtheTitleFieldI}{%
\XESPDtheDepartment\par\XESPDtheCompany}
\def\XESPDtheTitleFieldIIl{}
\renewcommand{\XESPDtheTitleFieldIIl}{%
\XESPDtheClassCode}
\def\XESPDtheTitleFieldIIr{}
\renewcommand{\XESPDtheTitleFieldIIr}{}
\renewcommand{\XESPDtheTitleFieldII}{%
\XESPD@title@split@field{\XESPDtheTitleFieldIIl}{\XESPDtheTitleFieldIIr}}
\def\XESPDtheTitleFieldIIIl{}
\renewcommand{\XESPDtheTitleFieldIIIl}{%
\ifx\XESPD@title@approving@sheet\@undefined
\expandafter\ifx\csname XESPD@title@agreed@name@1\endcsname\relax\else
\text{\MakeUppercase{\XESPDagreedName}}\\
\XESPD@title@make@stamp{agreed}{1}
\fi
\else
\textrm{\MakeUppercase{\XESPDapprovedName}}\\
\XESPD@title@approving@sheet
\fi}
\def\XESPDtheTitleFieldIIIr{}
\renewcommand{\XESPDtheTitleFieldIIIr}{%
\ifx\XESPD@title@approving@sheet\@undefined
\expandafter\ifx\csname XESPD@title@approved@name@1\endcsname\relax\else
\text{\MakeUppercase{\XESPDapprovingName}}\\
\XESPD@title@make@stamp{approved}{1}
\fi
\fi}
\renewcommand{\XESPDtheTitleFieldIII}{%
\XESPD@title@split@field{\XESPDtheTitleFieldIIIl}{\XESPDtheTitleFieldIIIr}}
\renewcommand{\XESPDtheTitleFieldIV}{%
{\MakeUppercase{\XESPDtheTitle}\par\XESPDtheDocName}%
}
\renewcommand{\XESPDtheTitleFieldV}{}
\renewcommand{\XESPDtheTitleFieldVI}{%
\MakeUppercase{\XESPDtheSignature}}
\renewcommand{\XESPDtheTitleFieldVIa}{%
{\XESPDtheFileName}}
%\renewcommand{\XESPDtheTitleFieldVII}{}
\renewcommand{\XESPDtheTitleFieldVII}{\normalfont\cyr\CYRL\cyri\cyrs\cyrt\cyro\cyrv\ \XESPDtotal{page}}
\def\XESPDtheTitleFieldVIIIl{}
\renewcommand{\XESPDtheTitleFieldVIIIl}{%
\ifx\XESPD@title@approving@sheet\@undefined
\XESPD@tmpcnta = 1
\loop
\ifnum \XESPD@tmpcnta < \XESPD@title@agreed@cnt
\advance \XESPD@tmpcnta 1
\XESPD@title@make@stamp{agreed}{\number\XESPD@tmpcnta}
\par\vspace{5mm}
\repeat
\fi}
\def\XESPDtheTitleFieldVIIIr{}
\renewcommand{\XESPDtheTitleFieldVIIIr}{%
\ifx\XESPD@title@approving@sheet\@undefined
\XESPD@tmpcnta = 0
\loop
\ifnum \XESPD@tmpcnta < \XESPD@title@designed@cnt
\advance \XESPD@tmpcnta 1
\XESPD@title@make@stamp{designed}{\number\XESPD@tmpcnta}
\par\vspace{5mm}
\repeat
\fi}
\renewcommand{\XESPDtheTitleFieldVIII}{%
\XESPD@title@split@field{\XESPDtheTitleFieldVIIIl}{\XESPDtheTitleFieldVIIIr}}
\renewcommand{\XESPDtheTitleFieldX}{\XESPDtheYear}
\renewcommand{\XESPDtheTitleFieldXI}{\XESPDtheLitera}
\renewcommand{\XESPDtitleFontI}{\XESPDfontV}
\renewcommand{\XESPDtitleFontII}{\XESPDfontV}
\renewcommand{\XESPDtitleFontIII}{\XESPDfontV}
\renewcommand{\XESPDtitleFontIV}{\XESPDfontV}
\renewcommand{\XESPDtitleFontV}{\XESPDfontV}
\renewcommand{\XESPDtitleFontVI}{\XESPDfontV}
\renewcommand{\XESPDtitleFontVIa}{\XESPDfontV}
\renewcommand{\XESPDtitleFontVII}{\XESPDfontV}
\renewcommand{\XESPDtitleFontVIII}{\XESPDfontV}
\renewcommand{\XESPDtitleFontX}{\XESPDfontV}
\renewcommand{\XESPDtitleFontXI}{\XESPDfontV}
\renewcommand{\maketitle}{%
\begin{XESPDtitlePage}
\setlength{\topsep}{0mm}
\noindent
\parbox[c][.28\vsize][t]{\hsize}{%
\vspace*{-2cm}
\begin{center}\XESPDtitleFontI\bfseries\XESPDtheTitleFieldI\end{center}
\vspace{5mm \@plus 15mm \@minus 3mm}
\begin{center}\XESPDtitleFontIII\XESPDtheTitleFieldIII\end{center}}
\par\vspace{10mm \@plus 2mm \@minus 4mm}\noindent
\parbox[c][.30\vsize][t]{\hsize}{%
\ifthenelse{\equal{\XESPDtheTitleFieldIV}{}}{}
{\begin{center}\XESPDtitleFontIV\XESPDtheTitleFieldIV\end{center}}
\ifthenelse{\equal{\XESPDtheTitleFieldV}{}}{}
{\begin{center}\XESPDtitleFontV\XESPDtheTitleFieldV\end{center}}
\ifthenelse{\equal{\XESPDtheTitleFieldVI}{}}{}
{\begin{center}\XESPDtitleFontVI\XESPDtheTitleFieldVI\end{center}}
\ifthenelse{\equal{\XESPDtheTitleFieldVIa}{}}{}
{\begin{center}\XESPDtitleFontVI\XESPDtheTitleFieldVIa\end{center}}
\ifthenelse{\equal{\XESPDtheTitleFieldVII}{}}{}
{\begin{center}\XESPDtitleFontVII\XESPDtheTitleFieldVII\end{center}}}
\par\vspace{4mm \@plus 2mm \@minus 2mm}\noindent
\begin{center}\XESPDtitleFontVIII\XESPDtheTitleFieldVIII\end{center}
\vfill
\begin{center}\XESPDtitleFontX\XESPDtheTitleFieldX\end{center}
\begin{flushright}\XESPDtitleFontXI\XESPDtheTitleFieldXI\hspace{20mm}\enspace\end{flushright}% Литера
\end{XESPDtitlePage}}

91
xespdtitlebase.sty Normal file
View 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{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{\XESPDtheTitleFieldVIa}{}
\newcommand{\XESPDtheTitleFieldVII}{}
\newcommand{\XESPDtheTitleFieldVIII}{}
\newcommand{\XESPDtheTitleFieldIX}{}
\newcommand{\XESPDtheTitleFieldX}{}
\newcommand{\XESPDtheTitleFieldXI}{}
\newcommand{\XESPDtitleFontI}{}
\newcommand{\XESPDtitleFontII}{}
\newcommand{\XESPDtitleFontIII}{}
\newcommand{\XESPDtitleFontIV}{}
\newcommand{\XESPDtitleFontV}{}
\newcommand{\XESPDtitleFontVI}{}
\newcommand{\XESPDtitleFontVIa}{}
\newcommand{\XESPDtitleFontVII}{}
\newcommand{\XESPDtitleFontVIII}{}
\newcommand{\XESPDtitleFontIX}{}
\newcommand{\XESPDtitleFontX}{}
\newcommand{\XESPDtitleFontXI}{}
\def\XESPD@title@after@page{%
\XESPDclearDoublePage
\XESPDstyle{\XESPD@default@style@other}
\XESPDthisStyle{\XESPD@default@style@first}}
% ### Выравнивание титульной страницы
\newenvironment{XESPDtitlePage}{%
\begin{XESPDpadding}{0mm}{5mm}
\XESPDstyle{\XESPD@default@style@title}}{%
\end{XESPDpadding}
\aftergroup\XESPD@title@after@page}

View File

@ -20,40 +20,40 @@
% %
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{espdtotal}[2010/01/14 v0.98 Total number of tables, figures, etc] \ProvidesPackage{xespdtotal}[2020/03/20 v1.00 Total number of tables, figures, etc]
\RequirePackage{espdsect} \RequirePackage{xespdsect}
\let\ESPD@old@caption\@caption \let\XESPD@old@caption\@caption
\let\ESPD@old@bibitem\bibitem \let\XESPD@old@bibitem\bibitem
\newcounter{ESPD@figure} \newcounter{XESPD@figure}
\newcounter{ESPD@table} \newcounter{XESPD@table}
\newcounter{ESPD@bibitem} \newcounter{XESPD@bibitem}
\long\def\@caption#1[#2]#3{% \long\def\@caption#1[#2]#3{%
\stepcounter{ESPD@#1}% \stepcounter{XESPD@#1}%
\ESPD@old@caption{#1}[#2]{#3}} \XESPD@old@caption{#1}[#2]{#3}}
\long\def\bibitem{% \long\def\bibitem{%
\stepcounter{ESPD@bibitem}% \stepcounter{XESPD@bibitem}%
\ESPD@old@bibitem} \XESPD@old@bibitem}
\def\ESPD@total@save#1#2{% \def\XESPD@total@save#1#2{%
\immediate\write\@auxout{% \immediate\write\@auxout{%
\string\gdef\string\ESPD@total@saved@\string#1{\arabic{#2}}}} \string\gdef\string\XESPD@total@saved@\string#1{\arabic{#2}}}}
\AtEndDocument{% \AtEndDocument{%
\ESPD@total@save{figure}{ESPD@figure} \XESPD@total@save{figure}{XESPD@figure}
\ESPD@total@save{table}{ESPD@table} \XESPD@total@save{table}{XESPD@table}
\ESPD@total@save{bibitem}{ESPD@bibitem} \XESPD@total@save{bibitem}{XESPD@bibitem}
\ESPD@total@save{appendix}{appendix} \XESPD@total@save{appendix}{appendix}
\clearpage \clearpage
\addtocounter{page}{-1} \addtocounter{page}{-1}
\ESPD@total@save{page}{page} \XESPD@total@save{page}{page}
\addtocounter{page}{1}} \addtocounter{page}{1}}
\newcommand{\ESPDtotal}[1]{% \newcommand{\XESPDtotal}[1]{%
\@ifundefined{ESPD@total@saved@#1}{?}{% \@ifundefined{XESPD@total@saved@#1}{?}{%
\@nameuse{ESPD@total@saved@#1}}} \@nameuse{XESPD@total@saved@#1}}}