diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev/tools/layout.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex-dev/tools/layout.sty | 457 |
1 files changed, 457 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/tools/layout.sty b/Master/texmf-dist/tex/latex-dev/tools/layout.sty new file mode 100644 index 00000000000..dd6a6cf0a08 --- /dev/null +++ b/Master/texmf-dist/tex/latex-dev/tools/layout.sty @@ -0,0 +1,457 @@ +%% +%% This is file `layout.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% layout.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% The source is maintained by the LaTeX Project team and bug +%% reports for it can be opened at https://latex-project.org/bugs/ +%% (but please observe conditions on bug reports sent to that address!) +%% +%% +%% Copyright (C) 1993-2019 +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. +%% -------------------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' +%% without such generated files. +%% +%% The list of all files belonging to the LaTeX `Tools Bundle' is +%% given in the file `manifest.txt'. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{layout} + [2014/10/28 v1.2c Show layout parameters] +\DeclareOption{dutch}{% + \def\Headertext{Kopregel} + \def\Bodytext{Broodtekst} + \def\Footertext{Voetregel} + \def\MarginNotestext{Marge\\Notities} + \def\oneinchtext{een inch} + \def\notshown{niet getoond} + } +\DeclareOption{german}{% + \def\Headertext{Kopfzeile} + \def\Bodytext{Haupttext} + \def\Footertext{Fu{\ss}zeile} + \def\MarginNotestext{Rand-\\ notizen} + \def\oneinchtext{ein Zoll} + \def\notshown{ohne Abbildung} + } +\DeclareOption{ngerman}{\ExecuteOptions{german}} +\DeclareOption{english}{% + \def\Headertext{Header} + \def\Bodytext{Body} + \def\Footertext{Footer} + \def\MarginNotestext{Margin\\Notes} + \def\oneinchtext{one inch} + \def\notshown{not shown} + } +\DeclareOption{french}{% + \def\Headertext{Ent\^{e}te} + \def\Bodytext{Corps} + \def\Footertext{Pied de page} + \def\MarginNotestext{Marge\\Notes} + \def\oneinchtext{un pouce} + \def\notshown{non affich\'{e}} + } +\DeclareOption{francais}{\ExecuteOptions{french}} +\DeclareOption{spanish}{% + \def\Headertext{Encabezamiento} + \def\Bodytext{Cuerpo} + \def\Footertext{Pie de p\'agina} + \def\MarginNotestext{Notas\\ Marginales} + \def\oneinchtext{una pulgada} + \def\notshown{no mostradas} + } +\DeclareOption{portuguese}{% + \def\Headertext{Cabe\c{c}alho} + \def\Bodytext{Corpo} + \def\Footertext{Rodap\'e} + \def\MarginNotestext{Notas\\ Marginais} + \def\oneinchtext{uma polegada} + \def\notshown{n\~ao mostradas} + } +\DeclareOption{brazilian}{% + \def\Headertext{Cabe\c{c}alho} + \def\Bodytext{Corpo} + \def\Footertext{Rodap\'e} + \def\MarginNotestext{Notas\\ Marginais} + \def\oneinchtext{uma polegada} + \def\notshown{n\~ao mostradas} + } +\DeclareOption{italian}{% + \def\Headertext{Testatina} + \def\Bodytext{Corpo} + \def\Footertext{Piedino} + \def\MarginNotestext{Note\\ Marginali} + \def\oneinchtext{un pollice} + \def\notshown{non mostrato} + } +\DeclareOption{verbose}{\let\LayOuttype\typeout} +\DeclareOption{silent}{\let\LayOuttype\@gobble} +\def\lay@value{} +\DeclareOption{integers}{% + \renewcommand*{\lay@value}[2]{% + \expandafter\number\csname #1@#2\endcsname pt}} +\DeclareOption{reals}{% + \renewcommand*{\lay@value}[2]{\the\csname #2\endcsname}} +\ExecuteOptions{english,silent,integers} +\ProcessOptions +\newcommand\LayOutbs{} +\chardef\LayOutbs`\\ +\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 + \ifnum\ArrowLength<\z@ + \put(\PositionX,\PositionY){\vector(1,0){-\ArrowLength}} + \advance\PositionX by 20 + \put(\PositionX,\PositionY){\vector(-1,0){-\ArrowLength}} + \else + \put(\PositionX,\PositionY){\vector(-1,0){\ArrowLength}} + \advance\PositionX by 20 + \put(\PositionX,\PositionY){\vector(+1,0){\ArrowLength}} + \fi +}} +\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{\LayOutbs #2 = \lay@value{#1}{#2}} +\def\Type#1#2{% + \LayOuttype{#2 = \lay@value{#1}{#2}}} +\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 +\newcount\cnt@topmargin +\newcount\cnt@oddsidemargin +\newcount\cnt@evensidemargin +\newcount\cnt@headheight +\newcount\cnt@headsep +\newcount\cnt@marginparsep +\newcount\cnt@marginparwidth +\newcount\cnt@marginparpush +\newcount\cnt@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 +\newcount\ref@body +\newcount\ref@foot +\newcount\ref@margin +\newcount\ref@marginwidth +\newcount\ref@marginpar +\newcount\Interval +\newcount\ExtraYPos +\newcount\PositionX +\newcount\PositionY +\newcount\ArrowLength +\def\lay@getvalues{% + \ConvertToCount\cnt@textheight\textheight + \ConvertToCount\cnt@textwidth\textwidth + \ConvertToCount\cnt@topmargin\topmargin + \ConvertToCount\cnt@oddsidemargin\oddsidemargin + \ConvertToCount\cnt@evensidemargin\evensidemargin + \ConvertToCount\cnt@headheight\headheight + \ConvertToCount\cnt@headsep\headsep + \ConvertToCount\cnt@marginparsep\marginparsep + \ConvertToCount\cnt@marginparwidth\marginparwidth + \ConvertToCount\cnt@marginparpush\marginparpush + \ConvertToCount\cnt@footskip\footskip + \ref@head=\ref@top + \advance\ref@head by -\ref@voffset + \advance\ref@head by -\cnt@topmargin + \advance\ref@head by -\cnt@headheight + \ref@body=\ref@head + \advance\ref@body by -\cnt@headsep + \advance\ref@body by -\cnt@textheight + \ref@foot=\ref@body + \advance\ref@foot by -\cnt@footskip + } +\AtBeginDocument{\lay@getvalues} +\newcommand\layout{% + \@ifstar{\lay@getvalues\lay@xlayout}{\lay@xlayout}} +\def\lay@xlayout{% + \lay@layout + \if@twoside + \lay@layout + \fi} +\newcommand\lay@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\Headertext}} + \put(\ref@margin,\ref@body){% + \framebox(\cnt@textwidth,\cnt@textheight){\Bodytext}} + \put(\ref@margin,\ref@foot){% + \framebox(\cnt@textwidth,\fheight){\footnotesize\Footertext}} + \put(\ref@marginpar,\ref@body){% + \framebox(\cnt@marginparwidth,\cnt@textheight)% + {\footnotesize\shortstack{\MarginNotestext}}} + \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 = 50 + \SetToHalf\PositionX\cnt@hoffset + \Identify{1} + \InsideHArrow\cnt@hoffset + \SetToQuart\PositionY\cnt@textheight + \advance\PositionY by \ref@body + \ifnum\ref@marginwidth > 0 + \OutsideHArrow\ref@margin\ref@marginwidth{20} + \PositionX = \cnt@hoffset + \else + \OutsideHArrow\cnt@hoffset{-\ref@marginwidth}{20} + \PositionX = \ref@margin + \fi + \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 + \if@reversemargin + \ifodd\count\z@ + \OutsideHArrow\ref@margin\cnt@marginparsep{20} + \PositionX = \ref@margin + \else + \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} + \PositionX = \ref@marginpar + \fi + \else + \ifodd\count\z@ + \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} + \PositionX = \ref@marginpar + \else + \OutsideHArrow\ref@margin\cnt@marginparsep{20} + \PositionX = \ref@margin + \fi + \fi + \else + \if@reversemargin + \OutsideHArrow\ref@margin\cnt@marginparsep{20} + \PositionX = \ref@margin + \else + \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} + \PositionX = \ref@marginpar + \fi + \fi + \advance\PositionX by -\cnt@marginparsep + \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 \cnt@footskip + \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 + \ifnum\cnt@topmargin > \z@ + \ExtraYPos = \ref@head + \advance\ExtraYPos\cnt@headheight + \OutsideVArrow\ExtraYPos\cnt@topmargin{20}{20} + \PositionY = \ExtraYPos + \advance\PositionY by \cnt@topmargin + \else + \ExtraYPos = \cnt@voffset + \OutsideVArrow\ExtraYPos{-\cnt@topmargin}{20}{20} + \PositionY = \ExtraYPos + \advance\PositionY by -\cnt@topmargin + \fi + \advance\PositionY by 30 + \Identify{4} + \advance\PositionX by \Interval + \OutsideVArrow\ref@head\cnt@headheight{20}{20} + \PositionY = \ref@head + \advance\PositionY by \cnt@headheight + \advance\PositionY by 30 + \Identify{5} + \advance\PositionX by \Interval + \ExtraYPos=\ref@body + \advance\ExtraYPos\cnt@textheight + \OutsideVArrow\ExtraYPos\cnt@headsep{20}{20} + \PositionY = \ref@body + \advance\PositionY by \cnt@textheight + \advance\PositionY by -30 + \Identify{6} + \end{picture} + + \medskip + \vtop to 0pt{% + \@minipagerestore\footnotesize\ttfamily + \begin{tabular}{@{}rl@{\hspace{20pt}}rl} + 1 & \oneinchtext\ + \LayOutbs\texttt{hoffset} + & 2 & \oneinchtext\ + \LayOutbs\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{(\notshown)}\\ + & \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'. |