Merged eskdfreesize.sty from Uladzimir Pylinsky branch into trunk.
[eskdx.git] / source / eskdfreesize.sty.in
blobde39e24adb2e269a27066fc085b20bf859c6608b
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@columns@xxiv
78 \ESKDputOnStyle{freesize}{columnsxxiv}{\ESKDdrawColumnsXXIV}
79 \fi
80 \ifESKD@enable@column@xxvi
81 \ESKDputOnStyle{freesize}{columnxxvi}{\ESKDdrawColumnXXVI}
82 \fi
83 \ifESKD@enable@columns@xxvii
84 \ESKDputOnStyle{freesize}{columnsxxvii}{\ESKDdrawColumnsXXVIIi}
85 \fi
86 \ifESKD@enable@column@xxxi
87 \ESKDputOnStyle{freesize}{columnxxxi}{\ESKDdrawColumnXXXI}
88 \fi
89 \ifESKD@enable@column@xxxii
90 % ÎÁÛÁ ÎÏ×ÁÑ ÇÒÁÆÁ 32
91 \ESKDputOnStyle{freesize}{columnxxxii}{\ESKDdrawColumnXXXIIfree}
92 \fi
93 \ifESKD@enable@column@xxxiii
94 \ESKDputOnStyle{freesize}{columnxxxiii}{\ESKDdrawColumnXXXIII}
95 \fi
96 \ifESKD@enable@column@xxxiv
97 \ESKDputOnStyle{freesize}{columnxxxiv}{\ESKDdrawColumnXXXIV}
98 \fi
99 \ifESKD@zonelabels%
100 \ESKDputOnStyle{freesize}{zonelabels}{\ESKDdrawZoneLabelsI}
104 % ×ÓÐÏÍÏÇÁÔÅÌØÎÙÅ ÓÞÅÔÞÉËÉ ÄÌÑ ÚÁÐÉÓÅÊ × ÌÏÇ
105 \newcounter{ESKD@free@sizepagebegin}
106 \newcounter{ESKD@free@sizepageend}
108 % ÔÅÐÅÒØ ÓÁÍÏÅ ÓÌÏÖÎÏÅ - ÓÁÍ ÐÅÒÅËÌÀÞÁÔÅÌØ
109 \newcommand{\ESKDfreeSize}[3]{%
110 \ESKDclearDoublePage%
111 \setcounter{ESKD@free@sizepagebegin}{\value{page}}% ÚÁÐÏÍÎÉÍ ÔÅËÕÝÕÀ ÓÔÒÁÎÉÃÕ
112 \pdfpagewidth=#1%
113 \pdfpageheight=#2%
114 \setlength{\ESKD@origin@y}{#2-1in}%
115 \setlength{\ESKDframeW}{\pdfpagewidth-\ESKD@margin@si-\ESKD@margin@so}%
116 \setlength{\ESKDframeH}{\pdfpageheight-\ESKD@margin@t-\ESKD@margin@b}%
117 \ESKDstyle{freesize}%
118 \expandafter{#3}%
119 % ÚÁÆÉËÓÉÒÕÅÍ ÆÁËÔ ×ÓÔÁ×ËÉ ÌÉÓÔÁ × \jobname.log
120 \ESKDclearDoublePage%
121 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDemptyFormatName}}% ÓÂÒÏÓ ÇÒÁÆÙ 32
122 \setcounter{ESKD@free@sizepageend}{\value{page}}%
123 \addtocounter{ESKD@free@sizepageend}{-1}%
124 \ifthenelse{\value{ESKD@free@sizepagebegin}<\value{ESKD@free@sizepageend}}% ÌÁÔÅÈ ÎÁÞÁÌ ÎÏ×ÕÀ ÓÔÒÁÎÉÃÕ
125 {\immediate\write0{eskdfreesize: sheet(s) with size (#1 x #2) inserted
126 at page(s) \noexpand[\arabic{ESKD@free@sizepagebegin}%
127 -\arabic{ESKD@free@sizepageend}\noexpand]}}
128 {\immediate\write0{eskdfreesize: sheet(s) with size (#1 x #2) inserted
129 at page(s) \noexpand[\arabic{ESKD@free@sizepageend}\noexpand]}}
130 % ÔÅÐÅÒØ ×ÅÒÎÅÍ ×Ó£ ËÁË ÂÙÌÏ ÄÏ ÎÁÓ
131 \setlength{\ESKD@origin@y}{\paperheight-1in}%
132 \pdfpageheight=\paperheight%
133 \pdfpagewidth=\paperwidth%
134 \setlength{\ESKDframeW}{\paperwidth-\ESKD@margin@si-\ESKD@margin@so}%
135 \setlength{\ESKDframeH}{\paperheight-\ESKD@margin@t-\ESKD@margin@b}%
136 \ESKDstyle{\ESKD@default@style@other}%
137 \newpage%
141 % ïÐÒÅÄÅÌÉÍ ÎÅÓËÏÌØËÏ ÇÏÔÏ×ÙÈ Ë ÕÐÏÔÒÅÂÌÅÎÉÀ ÆÏÒÍÁÔÏ×
142 \newcommand{\ESKDlandscapeAIII}[1]{%
143 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa3FormatName}}%
144 \ESKDfreeSize{420mm}{297mm}{#1}}
146 \newcommand{\ESKDportraitAIII}[1]{%
147 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa3FormatName}}%
148 \ESKDfreeSize{297mm}{420mm}{#1}}
150 \newcommand{\ESKDlandscapeAII}[1]{%
151 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa2FormatName}}%
152 \ESKDfreeSize{594mm}{420mm}{#1}}
154 \newcommand{\ESKDportraitAII}[1]{%
155 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa2FormatName}}%
156 \ESKDfreeSize{420mm}{594mm}{#1}}
158 \newcommand{\ESKDlandscapeAI}[1]{%
159 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa1FormatName}}%
160 \ESKDfreeSize{841mm}{594mm}{#1}}
162 \newcommand{\ESKDportraitAI}[1]{%
163 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa1FormatName}}%
164 \ESKDfreeSize{594mm}{841mm}{#1}}
166 \newcommand{\ESKDlandscapeAZERO}[1]{%
167 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa0FormatName}}%
168 \ESKDfreeSize{1189mm}{841mm}{#1}}
170 \newcommand{\ESKDportraitAZERO}[1]{%
171 \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa0FormatName}}%
172 \ESKDfreeSize{841mm}{1189mm}{#1}}
174 \newcommand{\ESKDlandscapeBanner}[1]{%
175 % ðÑÔÉÍÅÔÒÏ×ÏÅ ÐÏÌÏÔÎÏ ÄÌÑ ÐÏÄÛÉ×ËÉ ÇÁÒÍÏÛËÏÊ × ÏÂÙÞÎÕÀ ÐÁÐËÕ á4.
176 % ðÒÏÓÔÏ ÄÌÑ ÄÅÍÏÎÓÔÒÁÃÉÉ
177 \ESKDfreeSize{5000mm}{297mm}{#1}}