% 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.
%

% ����� ������������� ����������� ������� �����
% ����� ������ ������� (����������� ������� � �����������
% ������������ eskdx):

m4_ESKDX_INIT
m4_FILE_INIT
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{eskdfreesize}[m4_dnl
m4_FILE_ID([[$Date:: 2010-02-20#$]]) Inserting Free Size Sheets]

\RequirePackage{eskdstamp}
 
% ������������ ������� �������� ������ � pdflatex.
% T�� �� �����, latex ���� ������ ������� ����� ��������, 
% �� ��� ������� ��������
% ������� �� �������� �������, �������������� � documentclass
\RequirePackage{ifpdf}
\ifpdf{}
\else{\PackageWarningNoLine{eskdfreesize}
  {It's better to compile this document with pdflatex.\MessageBreak
  In DVI you will get only part of the inserted big sheet}}
\fi



% � eskdstamp ��� ��������� ��������� ����� �������� \savebox
% � ����� ������ ��� ��������, ����� �������� �����������
% �� ������ ��������
\newcommand{\ESKDdrawFrameFree}{%
  \put(\ESKDltu{\ESKDframeX},\ESKDltu{\ESKDframeY}){%
    \setlength{\unitlength}{1mm}%
  \begin{picture}(0,0)(0,0)
  \linethickness{\ESKDlineThick}
  \put(0,\ESKDltu{\ESKDframeH}){\line(1,0){\ESKDltu{\ESKDframeW}}}
  \put(0,0){\line(1,0){\ESKDltu{\ESKDframeW}}}
  \put(0,0){\line(0,1){\ESKDltu{\ESKDframeH}}}
  \put(\ESKDltu{\ESKDframeW},0){\line(0,1){\ESKDltu{\ESKDframeH}}}
  \end{picture}}}
  
% ���������� ������������� ����� 32 �� ���������
\newcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDemptyFormatName}}

% ��������� ���� ����������� ������������� ����� 32
\newcommand{\ESKDdrawColumnXXXIIfree}{%
  \setlength{\ESKD@tmpdima}{\ESKDframeX+\ESKDframeW-50mm}%
  \setlength{\ESKD@tmpdimb}{\ESKDframeY-3.7mm}%
  \put(\ESKDltu{\ESKD@tmpdima},\ESKDltu{\ESKD@tmpdimb}){%
    \makebox[50mm][r]{\ESKDfontIII\ESKDtheColumnXXXIIfree}}}



% ��������� ����� �����. ��������� ��� ����������� ����� ������
% ����� ��������� � ����������� ������������ eskdx,
% ��� ��������� � eskdstamp.sty,
% ����� ������ ��� ����������� ��� ������ ��� ����� freesize
\ESKDnewStyle{freesize}{8mm}
\ESKDputOnStyle{freesize}{frame}{\ESKDdrawFrameFree}
\ESKDputOnStyle{freesize}{stamp}{\ESKDdrawStampIIa}
\ifESKD@enable@columns@xix
  \ESKDputOnStyle{freesize}{columnsxix}{\ESKDdrawColumnsXIX}
\fi
\ifESKD@enable@column@xxvi
  \ESKDputOnStyle{freesize}{columnxxvi}{\ESKDdrawColumnXXVI}
\fi
\ifESKD@enable@columns@xxvii
  \ESKDputOnStyle{freesize}{columnsxxvii}{\ESKDdrawColumnsXXVIIi}
\fi
\ifESKD@enable@column@xxxi
  \ESKDputOnStyle{freesize}{columnxxxi}{\ESKDdrawColumnXXXI}
\fi
\ifESKD@enable@column@xxxii
  % ���� ����� ����� 32
  \ESKDputOnStyle{freesize}{columnxxxii}{\ESKDdrawColumnXXXIIfree}
\fi
\ifESKD@enable@column@xxxiii
  \ESKDputOnStyle{freesize}{columnxxxiii}{\ESKDdrawColumnXXXIII}
\fi
\ifESKD@enable@column@xxxiv
  \ESKDputOnStyle{freesize}{columnxxxiv}{\ESKDdrawColumnXXXIV}
\fi
\ifESKD@zonelabels%
  \ESKDputOnStyle{freesize}{zonelabels}{\ESKDdrawZoneLabelsI}
\fi


% ��������������� �������� ��� ������� � ���
\newcounter{ESKD@free@sizepagebegin}
\newcounter{ESKD@free@sizepageend}

% ������ ����� ������� - ��� �������������
\newcommand{\ESKDfreeSize}[3]{%
  \ESKDclearDoublePage%
  \setcounter{ESKD@free@sizepagebegin}{\value{page}}% �������� ������� ��������
  \pdfpagewidth=#1%
  \pdfpageheight=#2%
  \setlength{\ESKD@origin@y}{#2-1in}%
  \setlength{\ESKDframeW}{\pdfpagewidth-\ESKD@margin@si-\ESKD@margin@so}%
  \setlength{\ESKDframeH}{\pdfpageheight-\ESKD@margin@t-\ESKD@margin@b}%
  \ESKDstyle{freesize}%
  \expandafter{#3}%
  % ����������� ���� ������� ����� � \jobname.log
  \ESKDclearDoublePage%
  \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDemptyFormatName}}% ����� ����� 32
  \setcounter{ESKD@free@sizepageend}{\value{page}}%
  \addtocounter{ESKD@free@sizepageend}{-1}%
  \ifthenelse{\value{ESKD@free@sizepagebegin}<\value{ESKD@free@sizepageend}}% ����� ����� ����� ��������
    {\immediate\write0{eskdfreesize: sheet(s) with size (#1 x #2) inserted 
      at page(s) \noexpand[\arabic{ESKD@free@sizepagebegin}%
      -\arabic{ESKD@free@sizepageend}\noexpand]}}
    {\immediate\write0{eskdfreesize: sheet(s) with size (#1 x #2) inserted 
      at page(s) \noexpand[\arabic{ESKD@free@sizepageend}\noexpand]}}
  % ������ ������ �ӣ ��� ���� �� ���
  \setlength{\ESKD@origin@y}{\paperheight-1in}%
  \pdfpageheight=\paperheight%
  \pdfpagewidth=\paperwidth%
  \setlength{\ESKDframeW}{\paperwidth-\ESKD@margin@si-\ESKD@margin@so}%
  \setlength{\ESKDframeH}{\paperheight-\ESKD@margin@t-\ESKD@margin@b}%
  \ESKDstyle{\ESKD@default@style@other}%
  \newpage%
}


% ��������� ��������� ������� � ������������ ��������
\newcommand{\ESKDlandscapeAIII}[1]{%
  \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa3FormatName}}%
  \ESKDfreeSize{420mm}{297mm}{#1}}

\newcommand{\ESKDportraitAIII}[1]{%
  \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa3FormatName}}%
  \ESKDfreeSize{297mm}{420mm}{#1}}

\newcommand{\ESKDlandscapeAII}[1]{%
  \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa2FormatName}}%
  \ESKDfreeSize{594mm}{420mm}{#1}}

\newcommand{\ESKDportraitAII}[1]{%
  \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa2FormatName}}%
  \ESKDfreeSize{420mm}{594mm}{#1}}

\newcommand{\ESKDlandscapeAI}[1]{%
  \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa1FormatName}}%
  \ESKDfreeSize{841mm}{594mm}{#1}}

\newcommand{\ESKDportraitAI}[1]{%
  \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa1FormatName}}%
  \ESKDfreeSize{594mm}{841mm}{#1}}

\newcommand{\ESKDlandscapeAZERO}[1]{%
  \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa0FormatName}}%
  \ESKDfreeSize{1189mm}{841mm}{#1}}

\newcommand{\ESKDportraitAZERO}[1]{%
  \renewcommand\ESKDtheColumnXXXIIfree{\@nameuse{ESKDa0FormatName}}%
  \ESKDfreeSize{841mm}{1189mm}{#1}}
  
\newcommand{\ESKDlandscapeBanner}[1]{%
  % ������������ ������� ��� �������� ��������� � ������� ����� �4.
  % ������ ��� ������������
  \ESKDfreeSize{5000mm}{297mm}{#1}}