; TeX output 1998.01.17:2005y?DtGGcmr17Displaqying7tpagelayoutvariables6XQ cmr12KenrtMcPhersona.o.2K cmsy837 1995/11/238ՍRNff cmbx121jLIntros3ductionRK`y cmr10This *L5ffٓRcmr7A͉TU>'ExX2 b> cmmi10"+packqage *isareimplementationofGHowever,ifyouwanttoseetherealparametervqaluesRyouUUcanusetheoptionrealstogetthate ect. =pR53\\def\lay@value{} R54\\DeclareOption{integers}{%R55f\renewcommand*{\lay@value}[2]{%R56o\expandafter\number\csname#1@#2\endcsnamept}}R57\\DeclareOption{reals}{%R58f\renewcommand*{\lay@value}[2]{\the\csname#2\endcsname}}aThedefaultlanguageisEnglish, thedefaultmoGdeissilentandthedefaultway RofUUshowingparametervqaluesistouseintegers. =pR59\\ExecuteOptions{english,silent,integers}R60\\ProcessOptionsQ:\bsRDe neUU\bsifitisunde ned,rede neitifitisalreadyde ned. yRlayoutUUpackqageversionv1.1kasof1995/11/2313?R61\\@ifundefined{bs}{\newcommand\bs{\char'134}}% R62f{\renewcommand\bs{\char'134}}f\ConvertToCountRThisUUmacrostoresthevqalueofa$': cmti10lengthregisterinac}'ountH-register.R63\\def\ConvertToCount#1#2{%RFirstUUcopythevqalueR64f#1=#2RThenUUdivideitby65536.R65f\divide#1by65536}RThe&resultofthisisthatthec}'ount~registerholdsthevqalueofthelengthPregister RinUUpGoints.\SetToHalfL\SetToQuartRSmallUUmacrosusedincomputingpGositions.R66\\def\SetToHalf#1#2{#1=#2\relax\divide#1by\tw@} R67\\def\SetToQuart#1#2{#1=#2\relax\divide#1by4}$\IdentifyRAUUsmallmacrousedinidentifyingdimensions.R68\\def\Identify#1{% R69f\put(\PositionX,\PositionY){\circle{20}}R70f\put(\PositionX,\PositionY){\makebox(0,0){\tiny#1}}R71\} \InsideHArrowRThisFTmacroisusedtoproGducetwoFThorizontalarrowsinsideabGox.lTheargument RgivesUUthewidthofthebGox.R72\\def\InsideHArrow#1{{%R73f\ArrowLength=#1R74f\divide\ArrowLengthby\tw@R75f\advance\ArrowLengthby-10R76f\advance\PositionXby-10R77f\ifnum\ArrowLength<\z@R78o\put(\PositionX,\PositionY){\vector(1,0){-\ArrowLength}}R79o\advance\PositionXby20R80o\put(\PositionX,\PositionY){\vector(-1,0){-\ArrowLength}}R81f\elseR82o\put(\PositionX,\PositionY){\vector(-1,0){\ArrowLength}}R83o\advance\PositionXby20R84o\put(\PositionX,\PositionY){\vector(+1,0){\ArrowLength}}R85f\fiR86\}} \InsideVArrowRThis ^macroisusedtoproGducetwo ^verticalarrowsinsideabGox.Theargument RgivesUUtheheightofthebGox.R87\\def\InsideVArrow#1{{%R88f\ArrowLength=#1R89f\divide\ArrowLengthby\tw@R90f\advance\ArrowLengthby-10R91f\advance\PositionYby-10yRlayoutUUpackqageversionv1.1kasof1995/11/2314?R92f\put(\PositionX,\PositionY){\vector(0,-1){\ArrowLength}} R93f\advance\PositionYby20R94f\put(\PositionX,\PositionY){\vector(0,+1){\ArrowLength}}R95\}}8䍍 6\OutsideHArrowRThistmacroisusedtoproGducetwothorizontalarrowstodelimitalength.M'The rst RargumentnisthepGositionfortherightarrow,6thesecondargumentgivesthelengthRandUUthethirdspGeci esthelengthofthearrows. hLR96\\def\OutsideHArrow#1#2#3{{% R97f\PositionX=#1R98f\advance\PositionXby#3R99f\put(\PositionX,\PositionY){\vector(-1,0){#3}}N100f\PositionX=#1\advance\PositionX-#2N101f\advance\PositionXby-#3N102f\put(\PositionX,\PositionY){\vector(+1,0){#3}}N103\}} 6\OutsideVArrowRThismacroisusedtoproGducetwoverticalarrowstodelimitalength.The rst RargumentisthepGositionforthelowerarrow,thesecondargumentgivesthelengthRandUUthethirdandfourthspGecifythelenghtsoftheloweranduppGerarrow. hLN104\\def\OutsideVArrow#1#2#3#4{{% N105f\PositionY=#1N106f\advance\PositionYby-#3N107f\put(\PositionX,\PositionY){\vector(0,+1){#3}}N108f\PositionY=#1N109f\advance\PositionY#2N110f\advance\PositionY#4N111f\put(\PositionX,\PositionY){\vector(0,-1){#4}}N112\}}0|\ShowRMacroUUusedinthetablethatshowsthesettingoftheparameters. hLN113\\def\Show#1#2{\bs#2=\lay@value{#1}{#2}}0|\TypeRMacroUUusedtoshowasettingofaparameterontheterminal.N114\\def\Type#1#2{% N115f\type{#2=\lay@value{#1}{#2}}}"y\oneinchRAUUconstant,givingthelengthofaninchinpGoints(approximately)N116\\newcount\oneinch N117\\oneinch=72aBecausetheoverviewofthelayoutisproGducedina gureenvironmentwe RneedIxtoalloGcateanumberIxofcountersthatareusedtostorethevqaluesofvariousRdimensions.f\cnt@paperwidth \cnt@paperheightRTheUUdimensionsofthepapGer hLN118\\newcount\cnt@paperwidth N119\\newcount\cnt@paperheightN120\\ConvertToCount\cnt@paperwidth\paperwidthN121\\ConvertToCount\cnt@paperheight\paperheighteyRlayoutUUpackqageversionv1.1kasof1995/11/2315?b\cnt@hoffset b\cnt@voffsetRtheUUo sets, fN122\\newcount\cnt@hoffset N123\\newcount\cnt@voffsetN124\\ConvertToCount\cnt@hoffset\hoffsetN125\\ConvertToCount\cnt@voffset\voffset3f\cnt@textheight  6\cnt@textwidthRdimensionsUUofthetextarea,N126\\newcount\cnt@textheightN127\\newcount\cnt@textwidth3 6\cnt@topmargin 9\cnt@oddsidemargin H\cnt@evensidemarginRmargins,N128\\newcount\cnt@topmarginN129\\newcount\cnt@oddsidemarginN130\\newcount\cnt@evensidemargin3f\cnt@headheight b\cnt@headsepRdimensionsUUoftherunningheads,N131\\newcount\cnt@headheightN132\\newcount\cnt@headsep3t\cnt@marginparsep H\cnt@marginparwidth 9\cnt@marginparpushRmarginalUUparagraphs,N133\\newcount\cnt@marginparsepN134\\newcount\cnt@marginparwidthN135\\newcount\cnt@marginparpush3 \cnt@footskipRtheUUdistancebGetweenUUtherunningfootersandthetext,N136\\newcount\cnt@footskipRandgtheheightofthefoGoters,$whichisneededheretodisplayabGox,$butwhich Risn'tUUusedbyL5ffA͉TU>'ExX.L͍"y\fheightN137\\newcount\fheight N138\\fheight=12aApartfromintegerrepresentationsofthepagelayoutparameterswealsoneed RregistersUUtostorereferencevqaluesin.3"y\ref@topRThe'pGositionofthetopofthe`printablearea'isoneinchbGelowthetopoftheRpapGer.#bydefault.dThevqalueof\ref@topisrelativetothelowerleftcorneroftheRpictureUUenvironmentthatwillbGeused.L͍N139\\newcount\ref@topN140\\ref@top=\cnt@paperheight\advance\ref@topby-\oneinch3b\ref@hoffsetb\ref@voffsetRF*orUUtheo sets, fN141\\newcount\ref@hoffsetN142\\newcount\ref@voffsetfRTheUU\hoffsetand\voffsetvqaluesareaddedtothedefaulto setofoneinch.N143\\ref@hoffset=\cnt@hoffset s,\advance\cnt@hoffsetby\oneinchN144\\ref@voffset=\cnt@voffset(nyRlayoutUUpackqageversionv1.1kasof1995/11/2316?a\cnt@voffsetUUisconvertedUUtobGerelativetotheoriginofthepicture.N145\\cnt@voffset=\ref@top N146\\advance\cnt@voffsetby-\ref@voffset$\ref@headRandUUthetextareas,runningheads,N147\\newcount\ref@head$\ref@bodyRbGodyUUofthetextN148\\newcount\ref@body$\ref@footRandUUrunningfoGoters.N149\\newcount\ref@footL\ref@margin \ref@marginwidth  6\ref@marginparRTheseUUaredi erentforevenandoGddpages,sotheyarecomputedby\layout.N150\\newcount\ref@margin N151\\newcount\ref@marginwidthN152\\newcount\ref@marginparaTheGofollowingareanumbGerofscratchregisters,J6usedinthepGositioningofthe RvqariousUUpicesofthepicture..N153\\newcount\IntervalN154\\newcount\ExtraYPosN155\\newcount\PositionXN156\\newcount\PositionYN157\\newcount\ArrowLength 6\lay@getvaluesRAllvqaluesthatmightchangeduringthedoGcumentarecomputedbycallingthe Rmacro\lay@getvalues.>NBydefaultthismacroisexecutedat\begin{document}.N158\\def\lay@getvalues{%N159f\ConvertToCount\cnt@textheight\textheightN160f\ConvertToCount\cnt@textwidth\textwidthN161f\ConvertToCount\cnt@topmargin\topmarginN162f\ConvertToCount\cnt@oddsidemargin\oddsidemarginN163f\ConvertToCount\cnt@evensidemargin\evensidemarginN164f\ConvertToCount\cnt@headheight\headheightN165f\ConvertToCount\cnt@headsep\headsepN166f\ConvertToCount\cnt@marginparsep\marginparsepN167f\ConvertToCount\cnt@marginparwidth\marginparwidthN168f\ConvertToCount\cnt@marginparpush\marginparpushN169f\ConvertToCount\cnt@footskip\footskipN170f\ref@head=\ref@topN171o\advance\ref@headby-\ref@voffsetN172o\advance\ref@headby-\cnt@topmarginN173o\advance\ref@headby-\cnt@headheightN174f\ref@body=\ref@headN175o\advance\ref@bodyby-\cnt@headsepN176o\advance\ref@bodyby-\cnt@textheightN177f\ref@foot=\ref@body2yRlayoutUUpackqageversionv1.1kasof1995/11/2317?N178o\advance\ref@footby-\cnt@footskip N179f}N180\\AtBeginDocument{\lay@getvalues}v 6\computevalues '3P\layout "y\layout*RTheT$command\layoutmakesthepictureandtablethatdisplaythecurrentset- RtingsUUofthelayoutUUparameters.ON181\\newcommand\layout{%N182f\@ifstar{\lay@getvalues\lay@xlayout}{\lay@xlayout}}N183\\def\lay@xlayout{%N184f\lay@layoutN185f\if@twosideN186o\lay@layoutN187f\fi}L\lay@layoutRTheUUinternalmacro\lay@layoutdoGesallthedirtywork. 'N188\\newcommand\lay@layout{%N189f\thispagestyle{empty}'aTheUUactionsof\layoutdepGendonthepagestyle.N190f\if@twosideN191o\ifodd\count\z@'aHereUUwedealwithanoGddpageinthetwosidedcase.ON192y2\typeout{Two-sideddocumentstyle,oddpage.}OaSoUUwecompute\ref@marginwidth,\ref@marginparand\ref@margin.N193y2\ref@marginwidth=\cnt@oddsidemarginN194y2\ref@marginpar=\oneinchN195y2\advance\ref@marginparby\ref@hoffsetN196y2\advance\ref@marginparby\cnt@oddsidemarginN197y2\ref@margin\ref@marginparN198y2\if@reversemarginN199w^\advance\ref@marginparby-\cnt@marginparsepN200w^\advance\ref@marginparby-\cnt@marginparwidthN201y2\elseN202w^\advance\ref@marginparby\cnt@textwidthN203w^\advance\ref@marginparby\cnt@marginparsepN204y2\fiON205o\elseOaHereUUwedealwithanevenpageinthetwosidedcase.N206f\typeout{Two-sideddocumentstyle,evenpage.}aSoUUwecompute\ref@marginwidth,\ref@marginparand\ref@margin. 'N207y2\ref@marginwidth=\cnt@evensidemargin N208y2\ref@marginpar=\oneinchN209y2\advance\ref@marginparby\ref@hoffsetN210y2\advance\ref@marginparby\cnt@evensidemarginN211y2\ref@margin\ref@marginparN212y2\if@reversemargin<ΠyRlayoutUUpackqageversionv1.1kasof1995/11/2318?N213w^\advance\ref@marginparby\cnt@textwidth N214w^\advance\ref@marginparby\cnt@marginparsepN215y2\elseN216w^\advance\ref@marginparby-\cnt@marginparsepN217w^\advance\ref@marginparby-\cnt@marginparwidthN218y2\fiN219o\fiN220f\elseaFinallyUUwethecaseforsinglesidedprinting.N221o\typeout{One-sideddocumentstyle.}N222o\ref@marginwidth=\cnt@oddsidemarginN223o\ref@marginpar=\oneinchN224o\advance\ref@marginparby\ref@hoffsetN225o\advance\ref@marginparby\cnt@oddsidemarginN226o\ref@margin\ref@marginparN227o\if@reversemarginN228y2\advance\ref@marginparby-\cnt@marginparsepN229y2\advance\ref@marginparby-\cnt@marginparwidthN230o\elseN231y2\advance\ref@marginparby\cnt@textwidthN232y2\advance\ref@marginparby\cnt@marginparsepN233o\fiN234f\fiaNowwebGeginthepictureenvironment;&+dividingallthelengthsbytwoisdone RbyUUsetting\unitlengthto0.5ptN235f\setlength{\unitlength}{.5pt}N236f\begin{picture}(\cnt@paperwidth,\cnt@paperheight)N237o\centeringN238o\thicklinesaFirstUUwehavethepagebGoxandreferencelines,N239o\put(0,0){\framebox(\cnt@paperwidth,\cnt@paperheight){\mbox{}}}N240o\put(0,\cnt@voffset){\dashbox{10}(\cnt@paperwidth,0){\mbox{}}}N241o\put(\cnt@hoffset,0){\dashbox{10}(0,\cnt@paperheight){\mbox{}}}athenUUtheheader,N242o\put(\ref@margin,\ref@head){%N243y2\framebox(\cnt@textwidth,\cnt@headheight)%N244w^{\footnotesize\Headertext}}atheUUbGodyofthetextarea,N245o\put(\ref@margin,\ref@body){%N246y2\framebox(\cnt@textwidth,\cnt@textheight){\Bodytext}}atheUUfoGoterN247o\put(\ref@margin,\ref@foot){%N248y2\framebox(\cnt@textwidth,\fheight){\footnotesize\Footertext}} FVyRlayoutUUpackqageversionv1.1kasof1995/11/2319?aandUUthespaceformarginalnotes.N249o\put(\ref@marginpar,\ref@body){% N250y2\framebox(\cnt@marginparwidth,\cnt@textheight)%N251x{\footnotesize\shortstack{\MarginNotestext}}}aThen^wwestartputtingin`arrows'tomarkthevqariousparameters.-F*romhere RweUUuse\thinlines.N252o\thinlinesa\PositionX+andJ\PositionYwillbGethecoordinatesofthecenterofthearrowRdisplayingUU\textwidth.N253o\SetToHalf\PositionX\cnt@textwidth N254o\advance\PositionXby\ref@marginRTheUUarrowshouldbGeabitaboveUUthebottomofthe`bodybox'.N255o\PositionY=\ref@bodyN256o\advance\PositionYby50RAnUUidentifyingnumbGerisputhere,inacircle.N257o\Identify{8}RThenUUthearrowisdrawn.N258o\InsideHArrow\cnt@textwidthaNowUUthe\textheightN259o\SetToHalf\PositionY\cnt@textheight N260o\advance\PositionYby\ref@bodyaTheUUx-psitionofthearrowisat4=5ofthewidthofthe`bGodyUUbox'.N261o\PositionX=\cnt@textwidth N262o\divide\PositionXby5N263o\multiply\PositionXby4N264o\advance\PositionXby\ref@marginaAnUUidentifyingnumbGerisputhere,inacircle.N265o\Identify{7}N266o\InsideVArrow\cnt@textheightaTheUU\hoffset,N267o\PositionY=\ref@footN268o\SetToHalf\PositionX\cnt@hoffsetN269o\Identify{1}N270o\InsideHArrow\cnt@hoffsetaTheUUwidthofthemargin.N271o\SetToQuart\PositionY\cnt@textheightN272o\advance\PositionYby\ref@bodyN273o\OutsideHArrow\ref@margin\ref@marginwidth{20}N274o\PositionX=\cnt@hoffsetN275o\advance\PositionXby-30N276o\Identify{3} OyRlayoutUUpackqageversionv1.1kasof1995/11/23110?atheUU\marginparwidth, ޜN277o\SetToQuart\PositionY\cnt@textheight N278o\advance\PositionYby\ref@bodyޜRThisUUarrowhastobGebitbelowtheoneforthe\oddsidemarginor R\evensidemargin.N279o\advance\PositionYby30N280o\SetToHalf\PositionX\cnt@marginparwidthN281o\advance\PositionXby\ref@marginparN282o\Identify{10}N283o\InsideHArrow\cnt@marginparwidthޜaTheUU\marginparsep,thisdepGendsonsingleordoublesidedprinting.8N284o\advance\PositionYby30N285o\if@twosideN286y2\ifodd\count\z@8aTwosidedUUmoGde,oddpage;N287w^\OutsideHArrow\ref@marginpar\cnt@marginparsep{20}N288w^\PositionX=\ref@marginparN289y2\else8aandUUevenpage.N290w^\OutsideHArrow\ref@margin\cnt@marginparsep{20}N291w^\PositionX=\ref@marginN292y2\fiN293o\else8aSingleUUsidedmoGde.N294y2\OutsideHArrow\ref@marginpar\cnt@marginparsep{20}N295y2\PositionX=\ref@marginparN296o\fiN297o\advance\PositionXby30N298o\Identify{9}8aIdentifykMthe\footskip.#ThearrowwillbGelocatedon1=8thofthe\textwidth. ޜN299o\PositionX=\cnt@textwidthN300o\divide\PositionXby8N301o\advance\PositionXby\ref@marginN302o\OutsideVArrow\ref@foot\cnt@footskip{20}{20}N303o\PositionY=\ref@footN304o\advance\PositionYby-30N305o\Identify{11}ޜaIdentifylthe\voffset. ThearrowwillbGelocatedabittotheleftoftheedge RofUUthepapGer.N306o\PositionX=\cnt@paperwidthN307o\advance\PositionXby-50N308o\PositionY=\cnt@paperheightN309o\ExtraYPos=\PositionYN310o\advance\ExtraYPosby-\cnt@voffset XnyRlayoutUUpackqageversionv1.1kasof1995/11/23111?N311o\advance\PositionYby\cnt@voffset N312o\divide\PositionYby\tw@N313o\Identify{2}N314o\InsideVArrow\ExtraYPosaIdentifyUU\topmargin,\headheightand\headsep. aThearrowswillbGelocatedon1=8thofthe\textwidth,#withintervqalsoftheRsameUUsize,storedin\Interval.N315o\Interval=\cnt@textwidth N316o\divide\Intervalby8N317o\PositionX=\ref@marginN318o\advance\PositionXby\IntervalRFirst^the\topmargin.ThelengthofuppGerarrowsforthesethreeparametersdi- Rmensionsaredi erent.2InthecomputationoftheselengthswehavetocompGensateRforUUthediameterofthecirle.N319o\Identify{4} N320o\ExtraYPos=\ref@headN321o\advance\ExtraYPos\cnt@headheightN322o\ArrowLength=\PositionYN323o\advance\ArrowLength-\ExtraYPosN324o\advance\ArrowLength-\cnt@topmarginN325o\advance\ArrowLength-10%N326o\OutsideVArrow\ExtraYPos\cnt@topmargin{20}{\ArrowLength}N327o\advance\PositionXby\IntervalRThenUUthe\headheightN328o\Identify{5}N329o\advance\ArrowLength\cnt@topmarginN330o\OutsideVArrow\ref@head\cnt@headheight{20}{\ArrowLength}N331o\advance\PositionXby\IntervalRandUU nallythe\headsepN332o\Identify{6}N333o\advance\ArrowLength\cnt@headheightN334o\ExtraYPos=\ref@bodyN335o\advance\ExtraYPos\cnt@textheightN336o\OutsideVArrow\ExtraYPos\cnt@headsep{20}{\ArrowLength}aHereUUwecanendthepictureenvironmentandinsertalittlespace.N337f\end{picture}N338N339f\medskipaBelowD thepictureweputatabletoshowtheactualvqaluesoftheparameters. RNoteUUthatfractionalpGointsaretruncated,i.e.,72.27ptisdisplayedas72ptaThetableistypGesetinsideaboxwithadepthof0toalwayskeepitontheRsameUUpageasthepicture.N340f\vtopto0pt{% N341o\@minipagerestore\footnotesize\ttfamilyN342o\begin{tabular}{@{}rl@{\hspace{20pt}}rl} aUyRlayoutUUpackqageversionv1.1kasof1995/11/23112?N343y21&\oneinchtext\+\bs\texttt{hoffset} N344w^&2&\oneinchtext\+\bs\texttt{voffset}\\N345y23&\if@twosideN346]\ifodd\count\z@\Show{cnt}{oddsidemargin}N347]\else\Show{cnt}{evensidemargin}N348]\fiN349\elseN350]\Show{cnt}{oddsidemargin}N351\fi^&4&\Show{cnt}{topmargin}\\N352y25&\Show{cnt}{headheight}&6&\Show{cnt}{headsep}\\N353y27&\Show{cnt}{textheight}&8&\Show{cnt}{textwidth}\\N354y29&\Show{cnt}{marginparsep}&10&\Show{cnt}{marginparwidth}\\N355y211&\Show{cnt}{footskip},&&\Show{cnt}{marginparpush}N356}\rlap{(\notshown)}\\N357w^&\Show{ref}{hoffset}X&,&\Show{ref}{voffset}\\N358w^&\Show{cnt}{paperwidth}&,&\Show{cnt}{paperheight}\\N359N360f\end{tabular}\vss}RWhentheoptionverbGosewasusedthefollowinglineswillshowdimensionsonthe Rterminal.N361f\Type{ref}{hoffset}N362f\Type{ref}{voffset}N363f\Type{cnt}{textheight}N364f\Type{cnt}{textwidth}RFinallyUUwestartanewpage.N365f\newpageN366\}N367\h5" cmmi9=pack9age#g ikv;y $': cmti10#p0J cmsl10"m#R cmss10ow cmss9 cmsy95" cmmi9ߤN cmtt9 cmmi10K`y cmr10ٓRcmr7q