Manual updated.
[eskdx.git] / source / eskdfreesize.sty.in
blob5b7ac34daa7b293e41c142046db77e1b40ce5ea9
1 % This work may be distributed and/or modified under the
2 % conditions of the LaTeX Project Public License, either version 1.3
3 % of this license or (at your option) any later version.
4 % The latest version of this license is in
5 % http://www.latex-project.org/lppl.txt
6 % and version 1.3 or later is part of all distributions of LaTeX
7 % version 2003/12/01 or later.
9 % This work has the LPPL maintenance status "maintained".
11 % This Current Maintainer of this work is Konstantin Korikov.
13 % This work consists of all files listed in manifest.txt.
16 % ðÁËÅÔ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÏÚÍÏÖÎÏÓÔØ ×ÓÔÁ×ËÉ ÌÉÓÔÁ
17 % ÐÏÞÔÉ ÌÀÂÏÇÏ ÒÁÚÍÅÒÁ (ÏÇÒÁÎÉÞÅÎÉÑ ÏÐÉÓÁÎÙ × ÒÕËÏ×ÏÄÓÔ×Å
18 % ÐÏÌØÚÏ×ÁÔÅÌÑ eskdx):
20 m4_ESKDX_INIT
21 m4_FILE_INIT
22 \NeedsTeXFormat{LaTeX2e}
23 \ProvidesPackage{eskdfreesize}[m4_dnl
24 m4_FILE_ID([[$Date:: $]]) Inserting Free Size Sheets]
26 \RequirePackage{eskdstamp}
28 % ÐÅÒÅËÌÀÞÅÎÉÅ ÒÁÚÍÅÒÁ ×ÏÚÍÏÖÎÏ ÔÏÌØËÏ × pdflatex.
29 % TÅÍ ÎÅ ÍÅÎÅÅ, latex ÔÏÖÅ ÓÍÏÖÅÔ ÓÏÂÒÁÔØ ÔÁËÏÊ ÄÏËÕÍÅÎÔ,
30 % ÎÏ ×ÓÅ ÂÏÌØÛÉÅ ÓÔÒÁÎÉÃÙ
31 % ÏÂÒÅÖÅÔ ÐÏ ÒÁÚÍÅÒÁÍ ÆÏÒÍÁÔÁ, ÕÓÔÁÎÏ×ÌÅÎÎÏÇÏ × documentclass
32 \RequirePackage{ifpdf}
33 \ifpdf{}
34 \else{\PackageWarningNoLine{eskdfreesize}
35 {It's better to compile this document with pdflatex.\MessageBreak
36 In DVI you will get only part of the inserted big sheet}}
37 \fi
41 % × eskdstamp ÄÌÑ ÕÓËÏÒÅÎÉÑ ÏÔÒÉÓÏ×ËÉ ÒÁÍËÉ ÐÒÉÍÅÎÅÎ \savebox
42 % × ÎÁÛÅÍ ÓÌÕÞÁÅ ÜÔÏ ÎÅÕÄÏÂÎÏ, ÂÕÄÅÍ ÒÉÓÏ×ÁÔØ ÐÅÒÓÏÎÁÌØÎÏ
43 % ÎÁ ËÁÖÄÏÊ ÓÔÒÁÎÉÃÅ
44 \newcommand{\ESKDdrawFrameFree}{%
45 \put(\ESKDltu{\ESKDframeX},\ESKDltu{\ESKDframeY}){%
46 \setlength{\unitlength}{1mm}%
47 \begin{picture}(0,0)(0,0)
48 \linethickness{\ESKDlineThick}
49 \put(0,\ESKDltu{\ESKDframeH}){\line(1,0){\ESKDltu{\ESKDframeW}}}
50 \put(0,0){\line(1,0){\ESKDltu{\ESKDframeW}}}
51 \put(0,0){\line(0,1){\ESKDltu{\ESKDframeH}}}
52 \put(\ESKDltu{\ESKDframeW},0){\line(0,1){\ESKDltu{\ESKDframeH}}}
53 \end{picture}}}
55 % ÓÏÄÅÒÖÉÍÏÅ ÎÅÓÔÁÎÄÁÒÔÎÏÊ ÇÒÁÆÙ 32 ÐÏ ÕÍÏÌÞÁÎÉÀ
56 \newcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDemptyFormatName}}
58 % ÏÐÒÅÄÅÌÉÍ ÎÁÛÕ ÓÏÂÓÔ×ÅÎÎÕÀ ÎÅÓÔÁÎÄÁÒÔÎÕÀ ÇÒÁÆÕ 32
59 \newcommand{\ESKDdrawColumnXXXIIfree}{%
60 \setlength{\ESKD@tmpdima}{\ESKDframeX+\ESKDframeW-50mm}%
61 \setlength{\ESKD@tmpdimb}{\ESKDframeY-3.7mm}%
62 \put(\ESKDltu{\ESKD@tmpdima},\ESKDltu{\ESKD@tmpdimb}){%
63 \makebox[50mm][r]{\ESKDfontIII\ESKDtheColumnXXXIIfree}}}
67 % ïÐÒÅÄÅÌÉÍ ÎÏ×ÙÊ ÓÔÉÌØ. ðÏÄÒÏÂÎÅÅ ÐÒÏ ÏÐÒÅÄÅÌÅÎÉÅ Ó×ÏÉÈ ÓÔÉÌÅÊ
68 % ÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ × ÒÕËÏ×ÏÄÓÔ×Å ÐÏÌØÚÏ×ÁÔÅÌÑ eskdx,
69 % ÉÌÉ ÚÁÇÌÑÎÕÔØ × eskdstamp.sty,
70 % ËÕÓÏË ÏÔÔÕÄÁ ÂÙÌ ÉÓÐÏÌØÚÏ×ÁÎ ËÁË ÏÓÎÏ×Á ÄÌÑ ÓÔÉÌÑ freesize
71 \ESKDnewStyle{freesize}{8mm}
72 \ESKDputOnStyle{freesize}{frame}{\ESKDdrawFrameFree}
73 \ESKDputOnStyle{freesize}{stamp}{\ESKDdrawStampIIa}
74 \ifESKD@enable@columns@xix
75 \ESKDputOnStyle{freesize}{columnsxix}{\ESKDdrawColumnsXIX}
76 \fi
77 \ifESKD@enable@column@xxvi
78 \ESKDputOnStyle{freesize}{columnxxvi}{\ESKDdrawColumnXXVI}
79 \fi
80 \ifESKD@enable@columns@xxvii
81 \ESKDputOnStyle{freesize}{columnsxxvii}{\ESKDdrawColumnsXXVIIi}
82 \fi
83 \ifESKD@enable@column@xxxi
84 \ESKDputOnStyle{freesize}{columnxxxi}{\ESKDdrawColumnXXXI}
85 \fi
86 \ifESKD@enable@column@xxxii
87 % ÎÁÛÁ ÎÏ×ÁÑ ÇÒÁÆÁ 32
88 \ESKDputOnStyle{freesize}{columnxxxii}{\ESKDdrawColumnXXXIIfree}
89 \fi
90 \ifESKD@enable@column@xxxiii
91 \ESKDputOnStyle{freesize}{columnxxxiii}{\ESKDdrawColumnXXXIII}
92 \fi
93 \ifESKD@enable@column@xxxiv
94 \ESKDputOnStyle{freesize}{columnxxxiv}{\ESKDdrawColumnXXXIV}
95 \fi
96 \ifESKD@zonelabels%
97 \ESKDputOnStyle{freesize}{zonelabels}{\ESKDdrawZoneLabelsI}
98 \fi
101 % ×ÓÐÏÍÏÇÁÔÅÌØÎÙÅ ÓÞÅÔÞÉËÉ ÄÌÑ ÚÁÐÉÓÅÊ × ÌÏÇ
102 \newcounter{ESKD@free@sizepagebegin}
103 \newcounter{ESKD@free@sizepageend}
105 % ÔÅÐÅÒØ ÓÁÍÏÅ ÓÌÏÖÎÏÅ - ÓÁÍ ÐÅÒÅËÌÀÞÁÔÅÌØ
106 \newcommand{\ESKDfreeSize}[3]{%
107 \ESKDclearDoublePage%
108 \setcounter{ESKD@free@sizepagebegin}{\value{page}}% ÚÁÐÏÍÎÉÍ ÔÅËÕÝÕÀ ÓÔÒÁÎÉÃÕ
109 \pdfpagewidth=#1%
110 \pdfpageheight=#2%
111 \setlength{\ESKD@origin@y}{#2-1in}%
112 \setlength{\ESKDframeW}{\pdfpagewidth-\ESKD@margin@si-\ESKD@margin@so}%
113 \setlength{\ESKDframeH}{\pdfpageheight-\ESKD@margin@t-\ESKD@margin@b}%
114 \ESKDstyle{freesize}%
115 \expandafter{#3}%
116 % ÚÁÆÉËÓÉÒÕÅÍ ÆÁËÔ ×ÓÔÁ×ËÉ ÌÉÓÔÁ × \jobname.log
117 \ESKDclearDoublePage%
118 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDemptyFormatName}}% ÓÂÒÏÓ ÇÒÁÆÙ 32
119 \setcounter{ESKD@free@sizepageend}{\value{page}}%
120 \addtocounter{ESKD@free@sizepageend}{-1}%
121 \ifthenelse{\value{ESKD@free@sizepagebegin}<\value{ESKD@free@sizepageend}}% ÌÁÔÅÈ ÎÁÞÁÌ ÎÏ×ÕÀ ÓÔÒÁÎÉÃÕ
122 {\immediate\write0{eskdfreesize: sheet(s) with size (#1 x #2) inserted
123 at page(s) \noexpand[\arabic{ESKD@free@sizepagebegin}%
124 -\arabic{ESKD@free@sizepageend}\noexpand]}}
125 {\immediate\write0{eskdfreesize: sheet(s) with size (#1 x #2) inserted
126 at page(s) \noexpand[\arabic{ESKD@free@sizepageend}\noexpand]}}
127 % ÔÅÐÅÒØ ×ÅÒÎÅÍ ×Ó£ ËÁË ÂÙÌÏ ÄÏ ÎÁÓ
128 \setlength{\ESKD@origin@y}{\paperheight-1in}%
129 \pdfpageheight=\paperheight%
130 \pdfpagewidth=\paperwidth%
131 \setlength{\ESKDframeW}{\paperwidth-\ESKD@margin@si-\ESKD@margin@so}%
132 \setlength{\ESKDframeH}{\paperheight-\ESKD@margin@t-\ESKD@margin@b}%
133 \ESKDstyle{\ESKD@default@style@other}%
134 \newpage%
138 % ïÐÒÅÄÅÌÉÍ ÎÅÓËÏÌØËÏ ÇÏÔÏ×ÙÈ Ë ÕÐÏÔÒÅÂÌÅÎÉÀ ÆÏÒÍÁÔÏ×
139 \newcommand{\ESKDlandscapeAIII}[1]{%
140 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa3FormatName}}%
141 \ESKDfreeSize{420mm}{297mm}{#1}}
143 \newcommand{\ESKDportraitAIII}[1]{%
144 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa3FormatName}}%
145 \ESKDfreeSize{297mm}{420mm}{#1}}
147 \newcommand{\ESKDlandscapeAII}[1]{%
148 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa2FormatName}}%
149 \ESKDfreeSize{594mm}{420mm}{#1}}
151 \newcommand{\ESKDportraitAII}[1]{%
152 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa2FormatName}}%
153 \ESKDfreeSize{420mm}{594mm}{#1}}
155 \newcommand{\ESKDlandscapeAI}[1]{%
156 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa1FormatName}}%
157 \ESKDfreeSize{841mm}{594mm}{#1}}
159 \newcommand{\ESKDportraitAI}[1]{%
160 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa1FormatName}}%
161 \ESKDfreeSize{594mm}{841mm}{#1}}
163 \newcommand{\ESKDlandscapeAZERO}[1]{%
164 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa0FormatName}}%
165 \ESKDfreeSize{1189mm}{841mm}{#1}}
167 \newcommand{\ESKDportraitAZERO}[1]{%
168 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa0FormatName}}%
169 \ESKDfreeSize{841mm}{1189mm}{#1}}
171 \newcommand{\ESKDlandscapeBanner}[1]{%
172 % ðÑÔÉÍÅÔÒÏ×ÏÅ ÐÏÌÏÔÎÏ ÄÌÑ ÐÏÄÛÉ×ËÉ ÇÁÒÍÏÛËÏÊ × ÏÂÙÞÎÕÀ ÐÁÐËÕ á4.
173 % ðÒÏÓÔÏ ÄÌÑ ÄÅÍÏÎÓÔÒÁÃÉÉ
174 \ESKDfreeSize{5000mm}{297mm}{#1}}