%% %% This is file `layout.sty', generated %% on <1994/7/28> with the docstrip utility (2.2h). %% %% The original source files were: %% %% layout.dtx (with options: `package') %% %% Copyright (C) 1994 by Kent McPherson and Johannes Braams %% All rights reserved. %% For additional copyright information see further down in this file. %% %% This file is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. %% %% %% IMPORTANT NOTICE: %% %% Send error reports in case of UNCHANGED versions to %% J. Braams %% PTT Research, dr Neher Laboratorium %% P.O. box 421 %% 2260 AK Leidschendam %% The Netherlands %% Internet: %% %% Please do not request updates from me directly. Distribution is %% done through Mail-Servers and TeX organizations. %% %% You are not allowed to change this file. %% %% You are allowed to distribute this file under the condition that %% layout.dtx is distributed together with layout.ins. %% %% If you receive only one of these files from someone, complain! %% %% You are NOT ALLOWED to distribute this file alone. You are NOT %% ALLOWED to take money for the distribution or use of either this %% file or a changed version, except for a nominal charge for copying %% etc. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{layout} [1994/06/15 v1.1d\space Show layout parameters] \DeclareOption{verbose}{\let\type\typeout} \DeclareOption{silent}{\let\type\@gobble} \ExecuteOptions{silent} \ProcessOptions \@ifundefined{bs}{\newcommand\bs{\char '134 }}% {\renewcommand\bs{\char '134 }} \def\ConvertToCount#1#2{% #1=#2 \divide #1 by 65536} \def\SetToHalf#1#2{#1=#2\relax\divide#1by\tw@} \def\SetToQuart#1#2{#1=#2\relax\divide#1by4} \def\Identify#1{% \put(\PositionX,\PositionY){\circle{20}} \put(\PositionX,\PositionY){\makebox(0,0){\tiny #1}} } \def\InsideHArrow#1{{% \ArrowLength = #1 \divide\ArrowLength by \tw@ \advance\ArrowLength by -10 \advance\PositionX by -10 \put(\PositionX,\PositionY){\vector(-1,0){\ArrowLength}} \advance\PositionX by 20 \put(\PositionX,\PositionY){\vector(+1,0){\ArrowLength}} }} \def\InsideVArrow#1{{% \ArrowLength = #1 \divide\ArrowLength by \tw@ \advance\ArrowLength by -10 \advance\PositionY by -10 \put(\PositionX,\PositionY){\vector(0,-1){\ArrowLength}} \advance\PositionY by 20 \put(\PositionX,\PositionY){\vector(0,+1){\ArrowLength}} }} \def\OutsideHArrow#1#2#3{{% \PositionX = #1 \advance\PositionX by #3 \put(\PositionX,\PositionY){\vector(-1,0){#3}} \PositionX = #1 \advance\PositionX-#2 \advance\PositionX by -#3 \put(\PositionX,\PositionY){\vector(+1,0){#3}} }} \def\OutsideVArrow#1#2#3#4{{% \PositionY = #1 \advance\PositionY by -#3 \put(\PositionX,\PositionY){\vector(0,+1){#3}} \PositionY = #1 \advance\PositionY#2 \advance\PositionY#4 \put(\PositionX,\PositionY){\vector(0,-1){#4}} }} \def\Show#1#2{\bs #2 = \expandafter\number\csname #1@#2\endcsname pt} \def\Type#1#2{% \type{#2 = \expandafter\number\csname #1@#2\endcsname pt}} \newcount\oneinch \oneinch=72 \newcount\cnt@paperwidth \newcount\cnt@paperheight \ConvertToCount\cnt@paperwidth\paperwidth \ConvertToCount\cnt@paperheight\paperheight \newcount\cnt@hoffset \newcount\cnt@voffset \ConvertToCount\cnt@hoffset\hoffset \ConvertToCount\cnt@voffset\voffset \newcount\cnt@textheight \newcount\cnt@textwidth \ConvertToCount\cnt@textheight\textheight \ConvertToCount\cnt@textwidth\textwidth \newcount\cnt@topmargin \newcount\cnt@oddsidemargin \newcount\cnt@evensidemargin \ConvertToCount\cnt@topmargin\topmargin \ConvertToCount\cnt@oddsidemargin\oddsidemargin \ConvertToCount\cnt@evensidemargin\evensidemargin \newcount\cnt@headheight \newcount\cnt@headsep \ConvertToCount\cnt@headheight\headheight \ConvertToCount\cnt@headsep\headsep \newcount\cnt@marginparsep \newcount\cnt@marginparwidth \newcount\cnt@marginparpush \ConvertToCount\cnt@marginparsep\marginparsep \ConvertToCount\cnt@marginparwidth\marginparwidth \ConvertToCount\cnt@marginparpush\marginparpush \newcount\cnt@footskip \ConvertToCount\cnt@footskip\footskip \newcount\fheight \fheight=12 \newcount\ref@top \ref@top=\cnt@paperheight \advance\ref@top by -\oneinch \newcount\ref@hoffset \newcount\ref@voffset \ref@hoffset=\cnt@hoffset \advance\cnt@hoffset by \oneinch \ref@voffset=\cnt@voffset \cnt@voffset=\ref@top \advance\cnt@voffset by -\ref@voffset \newcount\ref@head \ref@head=\ref@top \advance\ref@head by -\ref@voffset \advance\ref@head by -\cnt@topmargin \advance\ref@head by -\cnt@headheight \newcount\ref@body \ref@body=\ref@head \advance\ref@body by -\cnt@headsep \advance\ref@body by -\cnt@textheight \newcount\ref@foot \ref@foot=\ref@body \advance\ref@foot by -\cnt@footskip \newcount\ref@margin \newcount\ref@marginwidth \newcount\ref@marginpar \newcount\Interval \newcount\ExtraYPos \newcount\PositionX \newcount\PositionY \newcount\ArrowLength \newcommand\layout{% \@layout \if@twoside \@layout \fi} \newcommand\@layout{% \thispagestyle{empty} \if@twoside \ifodd\count\z@ \typeout{Two-sided document style, odd page.} \ref@marginwidth=\cnt@oddsidemargin \ref@marginpar=\oneinch \advance\ref@marginpar by \ref@hoffset \advance\ref@marginpar by \cnt@oddsidemargin \ref@margin\ref@marginpar \if@reversemargin \advance\ref@marginpar by -\cnt@marginparsep \advance\ref@marginpar by -\cnt@marginparwidth \else \advance\ref@marginpar by \cnt@textwidth \advance\ref@marginpar by \cnt@marginparsep \fi \else \typeout{Two-sided document style, even page.} \ref@marginwidth=\cnt@evensidemargin \ref@marginpar=\oneinch \advance\ref@marginpar by \ref@hoffset \advance\ref@marginpar by \cnt@evensidemargin \ref@margin\ref@marginpar \if@reversemargin \advance\ref@marginpar by \cnt@textwidth \advance\ref@marginpar by \cnt@marginparsep \else \advance\ref@marginpar by -\cnt@marginparsep \advance\ref@marginpar by -\cnt@marginparwidth \fi \fi \else \typeout{One-sided document style.} \ref@marginwidth=\cnt@oddsidemargin \ref@marginpar=\oneinch \advance\ref@marginpar by \ref@hoffset \advance\ref@marginpar by \cnt@oddsidemargin \ref@margin\ref@marginpar \if@reversemargin \advance\ref@marginpar by -\cnt@marginparsep \advance\ref@marginpar by -\cnt@marginparwidth \else \advance\ref@marginpar by \cnt@textwidth \advance\ref@marginpar by \cnt@marginparsep \fi \fi \setlength{\unitlength}{.5pt} \begin{picture}(\cnt@paperwidth,\cnt@paperheight) \centering \thicklines \put(0,0){\framebox(\cnt@paperwidth,\cnt@paperheight){\mbox{}}} \put(0,\cnt@voffset){\dashbox{10}(\cnt@paperwidth,0){\mbox{}}} \put(\cnt@hoffset,0){\dashbox{10}(0,\cnt@paperheight){\mbox{}}} \put(\ref@margin,\ref@head){% \framebox(\cnt@textwidth,\cnt@headheight){\footnotesize Header}} \put(\ref@margin,\ref@body){% \framebox(\cnt@textwidth,\cnt@textheight){Body}} \put(\ref@margin,\ref@foot){% \framebox(\cnt@textwidth,\fheight){\footnotesize Footer}} \put(\ref@marginpar,\ref@body){% \framebox(\cnt@marginparwidth,\cnt@textheight)% {\footnotesize\shortstack{Margin\\Notes}}} \thinlines \SetToHalf\PositionX\cnt@textwidth \advance\PositionX by \ref@margin \PositionY = \ref@body \advance\PositionY by 50 \Identify{8} \InsideHArrow\cnt@textwidth \SetToHalf\PositionY\cnt@textheight \advance\PositionY by \ref@body \PositionX = \cnt@textwidth \divide\PositionX by 5 \multiply \PositionX by 4 \advance\PositionX by \ref@margin \Identify{7} \InsideVArrow\cnt@textheight \PositionY = \ref@foot \SetToHalf\PositionX\cnt@hoffset \Identify{1} \InsideHArrow\cnt@hoffset \SetToQuart\PositionY\cnt@textheight \advance\PositionY by \ref@body \OutsideHArrow\ref@margin\ref@marginwidth{20} \PositionX = \cnt@hoffset \advance\PositionX by -30 \Identify{3} \SetToQuart\PositionY\cnt@textheight \advance\PositionY by \ref@body \advance\PositionY by 30 \SetToHalf\PositionX\cnt@marginparwidth \advance\PositionX by \ref@marginpar \Identify{10} \InsideHArrow\cnt@marginparwidth \advance\PositionY by 30 \if@twoside \ifodd\count\z@ \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} \PositionX = \ref@marginpar \else \OutsideHArrow\ref@margin\cnt@marginparsep{20} \PositionX = \ref@margin \fi \else \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} \PositionX = \ref@marginpar \fi \advance\PositionX by 30 \Identify{9} \PositionX = \cnt@textwidth \divide\PositionX by 8 \advance\PositionX by \ref@margin \OutsideVArrow\ref@foot\cnt@footskip{20}{20} \PositionY = \ref@foot \advance\PositionY by -30 \Identify{11} \PositionX = \cnt@paperwidth \advance\PositionX by -50 \PositionY = \cnt@paperheight \ExtraYPos = \PositionY \advance\ExtraYPos by -\cnt@voffset \advance\PositionY by \cnt@voffset \divide\PositionY by \tw@ \Identify{2} \InsideVArrow\ExtraYPos \Interval = \cnt@textwidth \divide\Interval by 8 \PositionX = \ref@margin \advance\PositionX by \Interval \Identify{4} \ExtraYPos = \ref@head \advance\ExtraYPos\cnt@headheight \ArrowLength = \PositionY \advance\ArrowLength-\ExtraYPos \advance\ArrowLength-\cnt@topmargin \advance\ArrowLength-10% \OutsideVArrow\ExtraYPos\cnt@topmargin{20}{\ArrowLength} \advance\PositionX by \Interval \Identify{5} \advance\ArrowLength\cnt@topmargin \OutsideVArrow\ref@head\cnt@headheight{20}{\ArrowLength} \advance\PositionX by \Interval \Identify{6} \advance\ArrowLength\cnt@headheight \ExtraYPos=\ref@body \advance\ExtraYPos\cnt@textheight \OutsideVArrow\ExtraYPos\cnt@headsep{20}{\ArrowLength} \end{picture} \medskip \vtop to 0pt{% \@minipagerestore\ttfamily\footnotesize \begin{tabular}{@{}rl@{\hspace{20pt}}rl} 1 & one inch +\bs\texttt{hoffset} & 2 & one inch + \bs\texttt{voffset} \\ 3 & \if@twoside \ifodd\count\z@ \Show{cnt}{oddsidemargin} \else \Show{cnt}{evensidemargin} \fi \else \Show{cnt}{oddsidemargin} \fi & 4 & \Show{cnt}{topmargin} \\ 5 & \Show{cnt}{headheight} & 6 & \Show{cnt}{headsep} \\ 7 & \Show{cnt}{textheight} & 8 & \Show{cnt}{textwidth} \\ 9 & \Show{cnt}{marginparsep}&10& \Show{cnt}{marginparwidth} \\ 11& \Show{cnt}{footskip} & & \Show{cnt}{marginparpush} \rlap{(not shown)}\\ & \Show{ref}{hoffset} & & \Show{ref}{voffset} \\ & \Show{cnt}{paperwidth} & & \Show{cnt}{paperheight} \\ \end{tabular}\vss} \Type{ref}{hoffset} \Type{ref}{voffset} \Type{cnt}{textheight} \Type{cnt}{textwidth} \newpage } \endinput %% %% End of file `layout.sty'.