%% %% This is file `ltxgrid.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% ltxgrid.dtx (with options: `package,kernel') %% %% This is a generated file; %% altering it directly is inadvisable; %% instead, modify the original source file. %% See the URL in the file README-LTXGRID.tex. %% %% License %% You may distribute this file under the conditions of the %% LaTeX Project Public License 1.3c or later %% (http://www.latex-project.org/lppl.txt). %% %% This file is distributed WITHOUT ANY WARRANTY; %% without even the implied warranty of MERCHANTABILITY %% or FITNESS FOR A PARTICULAR PURPOSE. %% %%% @LaTeX-file{ %%% filename = "ltxgrid.dtx", %%% version = "4.2c", %%% date = "2019/01/18", %%% time = "14:29:48 UT-5", %%% checksum = "5462", %%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net), %%% commissioned by the American Physical Society. %%% ", %%% copyright = "Copyright (C) 1999, 2009 Arthur Ogawa, %%% distributed under the terms of the %%% LaTeX Project Public License 1.3c, see %%% ftp://ctan.tug.org/macros/latex/base/lppl.txt %%% ", %%% address = "Arthur Ogawa, %%% USA", %%% telephone = "", %%% FAX = "", %%% email = "mailto colon arthur_ogawa at sbcglobal.net", %%% codetable = "ISO/ASCII", %%% keywords = "latex, page grid, main vertical list", %%% supported = "yes", %%% abstract = "package to change page grid, MVL", %%% docstring = "The checksum field above generated by ltxdoc", %%% } \NeedsTeXFormat{LaTeX2e}[1995/12/01]% \ProvidesFile{% ltxgrid% .sty% }% [2019/01/18/14:29:48 4.2c page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion \def\package@name{ltxgrid}% \expandafter\PackageInfo\expandafter{\package@name}{% Page grid for \protect\LaTeXe, by A. Ogawa (arthur_ogawa at sbcglobal.net)% }% \RequirePackage{ltxutil}% \newcounter{linecount} \def\loop@line#1#2{% \par \hb@xt@\hsize{% \global\advance#1\@ne \edef\@tempa{\@ifnum{100>#1}{0}{}\@ifnum{10>#1}{0}{}\number#1}% \@tempa\edef\@tempa{\special{line:\@tempa}}\@tempa \vrule depth2.5\p@#2\leaders\hrule\hfil }% }% \def\lineloop#1{% \loopwhile{\loop@line\c@linecount{}\@ifnum{#1>\c@linecount}}% }% \def\linefoot#1{% \loop@line\c@linecount{% \footnote{% #1\special{foot:#1}\vrule depth2.5\p@\leaders\hrule\hfill }% }% }% \let\@@mark\mark \let\@@topmark\topmark \let\@@firstmark\firstmark \let\@@botmark\botmark \let\@@splitfirstmark\splitfirstmark \let\@@splitbotmark\splitbotmark \def\@themark{{}{}{}{}}% \def\nul@mark{{}{}{}{}\@@nul}% \def\set@mark@netw@#1#2#3#4#5#6#7{\gdef#1{{#6}{#7}{#4}{#5}}\do@mark}% \def\set@marktw@#1#2#3#4#5#6{\gdef#1{{#2}{#6}{#4}{#5}}\do@mark}% \def\set@markthr@@#1#2#3#4#5#6{\gdef#1{{#2}{#3}{#6}{#5}}\do@mark}% \def\get@mark@@ne#1#2#3#4#5\@@nul{#1}% \def\get@mark@tw@#1#2#3#4#5\@@nul{#2}% \def\get@mark@thr@@#1#2#3#4#5\@@nul{#3}% \def\get@mark@f@ur#1#2#3#4#5\@@nul{#4}% \def\mark@netw@{\expandafter\set@mark@netw@\expandafter\@themark\@themark}% \def\marktw@{\expandafter\set@marktw@\expandafter\@themark\@themark}% \def\markthr@@{\expandafter\set@markthr@@\expandafter\@themark\@themark}% \def\do@mark{\do@@mark\@themark\nobreak@mark}% \def\do@@mark#1{% \begingroup \let@mark \@@mark{#1}% \endgroup }% \def\let@mark{% \let\protect\@unexpandable@protect \let\label\relax \let\index\relax \let\glossary\relax }% \def\nobreak@mark{% \@if@sw\if@nobreak\fi{\@ifvmode{\nobreak}{}}{}% }% \def\mark@envir{\markthr@@}% \def\bot@envir{% \expandafter\expandafter \expandafter\get@mark@thr@@ \expandafter\@@botmark \nul@mark }% \def\markboth{\mark@netw@}% \def\markright{\marktw@}% \def\leftmark{% \expandafter\expandafter \expandafter\get@mark@@ne \expandafter\saved@@botmark \nul@mark }% \def\rightmark{% \expandafter\expandafter \expandafter\get@mark@tw@ \expandafter\saved@@firstmark \nul@mark }% \let\primitive@output\output \long\def\@tempa#1\@@nil{#1}% \toks@ \expandafter\expandafter \expandafter{% \expandafter \@tempa \the\primitive@output \@@nil }% \newtoks\output@latex \output@latex\expandafter{\the\toks@}% \let\output\output@latex \primitive@output{\dispatch@output}% \def\dispatch@output{% \let\par\@@par \expandafter\let\expandafter\output@procedure\csname output@\the\outputpenalty\endcsname \@ifnotrelax\output@procedure{}{% \expandafter\def\expandafter\output@procedure\expandafter{\the\output@latex}% }% \expandafter\@ifx\expandafter{\csname output@-\the\execute@message@pen\endcsname\output@procedure}{% \let\output@procedure\@message@saved }{}% \ltxgrid@info@sw{\class@info{\string\dispatch@output}\say\output@procedure\saythe\holdinginserts}{}% \outputdebug@sw{\output@debug}{}% \output@procedure }% \def\set@output@procedure#1#2{% \count@\outputpenalty\advance\count@-#2% \expandafter\let\expandafter#1\csname output@\the\count@\endcsname }% \def\output@debug{% \def\@tempa{\save@message}% \@ifx{\output@procedure\@tempa}{% \true@sw }{% \@ifnum{\outputpenalty=-\save@column@insert@pen}{% \@ifnum{\holdinginserts>\z@}% }{% \false@sw }% }% {}{\output@debug@}% }% \def\output@debug@{% \saythe\outputpenalty \saythe\interlinepenalty \saythe\brokenpenalty \saythe\clubpenalty \saythe\widowpenalty \saythe\displaywidowpenalty \saythe\predisplaypenalty \saythe\interdisplaylinepenalty \saythe\postdisplaypenalty \saythe\badness \say\thepagegrid \saythe\pagegrid@col \saythe\pagegrid@cur \saythe\insertpenalties \say\@@botmark \saythe\pagegoal \saythe\pagetotal \saythe{\badness\@cclv}% \say\@toplist \say\@botlist \say\@dbltoplist \say\@deferlist \trace@scroll{% \showbox\@cclv \showbox\@cclv@saved \showbox\pagesofar \showbox\csname col@1\endcsname \showbox\footsofar \showbox\footins \showbox\footins@saved \showlists }% }% \@ifxundefined{\outputdebug@sw}{% \@booleanfalse\outputdebug@sw }{}% \def\trace@scroll#1{\begingroup\showboxbreadth\maxdimen\showboxdepth\maxdimen\scrollmode#1\endgroup}% \def\trace@box#1{\trace@scroll{\showbox#1}}% \prepdef\@outputpage{\@outputpage@head}% \let\@outputpage@head\@empty \appdef\@outputpage{\@outputpage@tail}% \let\@outputpage@tail\@empty \def\show@box@size#1#2{% \show@box@size@sw{% \begingroup \setbox\z@\vbox{\unvcopy#2\hrule}% \class@info{Show box size: #1^^J% (\the\ht\z@\space X \the\wd\z@) \the\c@page\space\space\the\pagegrid@cur\space\the\pagegrid@col }% \endgroup }{}% }% \def\show@text@box@size{% \show@box@size{Text column}\@outputbox \tally@box@size@sw{% \@ifdim{\wd\@outputbox>\z@}{% \dimen@\ht\@outputbox\divide\dimen@\@twopowerfourteen \advance\dimen@-\dp\csname box@size@\the\pagegrid@col\endcsname \@ifdim{\dimen@>\z@}{% \advance\dimen@ \ht\csname box@size@\the\pagegrid@col\endcsname \global\ht\csname box@size@\the\pagegrid@col\endcsname\dimen@ \show@box@size@sw{% \class@info{Column: \the\dimen@}% }{}% }{}% }{}% \global\dp\csname box@size@\the\pagegrid@col\endcsname\z@ }{}% }% \def\show@pagesofar@size{% \show@box@size{Page so far}\pagesofar \dimen@\ht\pagesofar\divide\dimen@\@twopowerfourteen \global\dp\csname box@size@1\endcsname\dimen@ \show@box@size@sw{% \class@info{Pagesofar: \the\dimen@}% }{}% }% \@booleanfalse\tally@box@size@sw \@booleanfalse\show@box@size@sw \expandafter\newbox\csname box@size@1\endcsname \expandafter\setbox\csname box@size@1\endcsname\hbox{}% \expandafter\newbox\csname box@size@2\endcsname \expandafter\setbox\csname box@size@2\endcsname\hbox{}% \def\total@text{% \@tempdima\the\ht\csname box@size@2\endcsname\divide\@tempdima\@twopowertwo\@tempcnta\@tempdima \@tempdimb\the\ht\csname box@size@1\endcsname\divide\@tempdimb\@twopowertwo\@tempcntb\@tempdimb \class@info{Total text: Column(\the\@tempcnta pt), Page(\the\@tempcntb pt)}% }% \def\natural@output{\toggle@insert{\output@holding}{\output@moving}}% \output@latex{\natural@output}% \def\output@holding{% \csname output@init@\bot@envir\endcsname \@if@exceed@pagegoal{\unvcopy\@cclv}{% \setbox\z@\vbox{\unvcopy\@cclv}% \outputdebug@sw{\trace@box\z@}{}% \dimen@\ht\@cclv\advance\dimen@-\ht\z@ \dead@cycle@repair\dimen@ }{% \dead@cycle }% }% \def\@if@exceed@pagegoal#1{% \begingroup \setbox\z@\vbox{#1}% \dimen@\ht\z@\advance\dimen@\dp\z@ \outputdebug@sw{\saythe\dimen@}{}% \@ifdim{\dimen@>\pagegoal}{% \setbox\z@\vbox{\@@mark{}\unvbox\z@}% \splittopskip\topskip \splitmaxdepth\maxdepth \vbadness\@M \vfuzz\maxdimen \setbox\tw@\vsplit\z@ to\pagegoal \outputdebug@sw{\trace@scroll{\showbox\tw@\showbox\z@}}{}% \setbox\tw@\vbox{\unvbox\tw@}% \@ifdim{\ht\tw@=\z@}{% \ltxgrid@info{Found overly large chunk while preparing to move insertions. Attempting repairs}% \aftergroup\true@sw }{% \aftergroup\false@sw }% }{% \aftergroup\false@sw }% \endgroup }% \def\output@moving{% \set@top@firstmark \@ifnum{\outputpenalty=\do@newpage@pen}{% \setbox\@cclv\vbox{% \unvbox\@cclv \remove@lastbox \@ifdim{\ht\z@=\ht\@protection@box}{\box\lastbox}{\unskip}% }% }{}% \@cclv@nontrivial@sw{% \expandafter\output@do@prep\csname output@prep@\bot@envir \endcsname \@makecolumn\true@sw \expandafter\output@column@do\csname output@column@\thepagegrid\endcsname \protect@penalty\do@startcolumn@pen \clearpage@sw{% \protect@penalty\do@endpage@pen }{}% \expandafter\let\expandafter\output@post@\csname output@post@\bot@envir \endcsname \outputdebug@sw{\say\output@post@}{}% \@ifx{\output@post@\relax}{\output@post@document}{\output@post@}% }{% \void@cclv }% \set@colht \global\@mparbottom\z@ \global\@textfloatsheight\z@ }% \def\output@do@prep#1{% \outputdebug@sw{\class@info{Prep: \string#1}}{}% \@ifx{#1\relax}{\output@prep@document}{#1}% }% \def\output@column@do#1{% \outputdebug@sw{\class@info{Output column: \string#1}}{}% \@ifx{#1\relax}{\output@column@one}{#1}% }% \def\void@cclv{\begingroup\setbox\z@\box\@cclv\endgroup}% \def\remove@lastbox{\setbox\z@\lastbox}% \def\@cclv@nontrivial@sw{% \@ifx@empty\@toplist{% \@ifx@empty\@botlist{% \@ifvoid\footins{% \@ifvoid\@cclv{% \false@sw }{% \setbox\z@\vbox{\unvcopy\@cclv}% \@ifdim{\ht\z@=\topskip}{% \setbox\z@\vbox\bgroup \unvbox\z@ \remove@lastbox \dimen@\lastskip\unskip \@ifdim{\ht\z@=\ht\@protection@box}{% \advance\dimen@\ht\z@ \@ifdim{\dimen@=\topskip}{% \aftergroup\true@sw }{% \aftergroup\false@sw }% }{% \aftergroup\false@sw }% \egroup {% \false@sw }{% \true@sw }% }{% \@ifdim{\ht\z@=\z@}{% \ltxgrid@info{Found trivial column. Discarding it}% \outputdebug@sw{\trace@box\@cclv}{}% \false@sw }{% \true@sw }% }% }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }% \def\protect@penalty#1{\protection@box\penalty-#1\relax}% \newbox\@protection@box \setbox\@protection@box\vbox to1986sp{\vfil}% \def\protection@box{\nointerlineskip\copy\@protection@box}% \def\dead@cycle@repair#1{% \expandafter\do@@mark \expandafter{% \@@botmark }% \unvbox\@cclv \nointerlineskip \vbox to#1{\vss}% \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% }% \def\dead@cycle@repair@protected#1{% \expandafter\do@@mark \expandafter{% \@@botmark }% \begingroup \unvbox\@cclv \remove@lastbox \nointerlineskip \advance#1-\ht\@protection@box \vbox to#1{\vss}% \protection@box % Reinsert protection box \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% \endgroup }% \def\dead@cycle{% \expandafter\do@@mark \expandafter{% \@@botmark }% \unvbox\@cclv \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% }% \def\output@init@document{% \ltxgrid@info@sw{\class@info{\string\output@init@document}}{}% \global\vsize\vsize }% \def\output@prep@document{% \ltxgrid@foot@info@sw{\class@info{\string\output@prep@document}\trace@scroll{\showbox\footins\showbox\footsofar}}{}% \@ifvoid\footsofar{% }{% \global\setbox\footins\vbox\bgroup \unvbox\footsofar \@ifvoid\footins{}{% \marry@baselines \unvbox\footins }% \egroup \ltxgrid@foot@info@sw{\trace@box\footins}{}% }% }% \def\output@post@document{}% \let\@opcol\@undefined \def\@makecolumn#1{% \ltxgrid@foot@info@sw{\class@info{\string\@makecolumn\string#1}}{}% \setbox\@outputbox\vbox\bgroup \boxmaxdepth\@maxdepth \@tempdima\dp\@cclv \unvbox\@cclv \vskip-\@tempdima \egroup \xdef\@freelist{\@freelist\@midlist}\global\let\@midlist\@empty \show@text@box@size \@combinefloats #1{% \@combineinserts\@outputbox\footins }{% \combine@foot@inserts\footsofar\footins }% \set@adj@colht\dimen@ \count@\vbadness \vbadness\@M \setbox\@outputbox\vbox to\dimen@\bgroup \@texttop \dimen@\dp\@outputbox \unvbox\@outputbox \vskip-\dimen@ \@textbottom \egroup \vbadness\count@ \global\maxdepth\@maxdepth }% \let\@makespecialcolbox\@undefined \def\@combineinserts#1#2{% \ltxgrid@foot@info@sw{\class@info{\string\@combineinserts\string#1\string#2}\trace@box#2}{}% \setbox#1\vbox\bgroup \unvbox#1% \@ifvoid{#2}{}{% \dimen@\ht#2\advance\dimen@\dp#2\advance\dimen@\skip#2% \show@box@size{Combining inserts}#2% \vskip\skip#2% \setbox\z@\vbox{\footnoterule}\dimen@i\ht\z@ \color@begingroup \normalcolor \cleaders\box\z@\vskip\dimen@i\kern-\dimen@i \csname combine@insert@\the\pagegrid@col\endcsname#2% \color@endgroup \kern-\dimen@\kern\dimen@ }% \egroup \ltxgrid@foot@info@sw{\trace@box#1}{}% }% \def\combine@insert@tw@#1{% \compose@footnotes@two#1\@ifvbox{#1}{\unvbox}{\box}#1% }% \def\combine@insert@@ne#1{% \compose@footnotes@one#1\@ifvbox{#1}{\unvbox}{\box}#1% }% \def\twocolumn@grid@setup{% \expandafter\let\csname combine@insert@1\endcsname\combine@insert@tw@ \expandafter\let\csname combine@insert@2\endcsname\combine@insert@@ne }% \def\onecolumn@grid@setup{% \expandafter\let\csname combine@insert@1\endcsname\combine@insert@@ne \expandafter\let\csname combine@insert@2\endcsname\combine@insert@@ne }% \let\columngrid@setup\onecolumn@grid@setup \columngrid@setup \appdef\@floatplacement{% \global\@fpmin\@fpmin }% \mathchardef\pagebreak@pen=\@M \expandafter\let\csname output@-\the\pagebreak@pen\endcsname\relax \mathchardef\do@startcolumn@pen=10005 \@namedef{output@-\the\do@startcolumn@pen}{\do@startcolumn}% \def\do@startcolumn{% \setbox\@cclv\vbox{\unvbox\@cclv\remove@lastbox\unskip}% \clearpage@sw{\@clearfloatplacement}{\@floatplacement}% \set@colht \@booleanfalse\pfloat@avail@sw \begingroup \@colht\@colroom \@booleanfalse\float@avail@sw \@tryfcolumn\test@colfloat \float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}% \endgroup \fcolmade@sw{% \setbox\@cclv\vbox{\unvbox\@outputbox\unvbox\@cclv}% \outputpenalty-\pagebreak@pen \dead@cycle }{% \begingroup \let\@elt\@scolelt \let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b \endgroup \clearpage@sw{% \outputpenalty\@M }{% \outputpenalty\do@newpage@pen }% \dead@cycle }% \check@deferlist@stuck\do@startcolumn \set@vsize }% \def\@scolelt#1{\def\@currbox{#1}\@addtonextcol}% \def\test@colfloat#1{% \csname @floatselect@sw@\thepagegrid\endcsname#1{}{\@testtrue}% \@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}% }% \def\@addtonextcol{% \begingroup \@insertfalse \@setfloattypecounts \csname @floatselect@sw@\thepagegrid\endcsname\@currbox{% \@ifnum{\@fpstype=8 }{}{% \@ifnum{\@fpstype=24 }{}{% \@flsettextmin \@reqcolroom \ht\@currbox \advance \@reqcolroom \@textmin \advance \@reqcolroom \vsize % take into account split insertions \advance \@reqcolroom -\pagegoal \@ifdim{\@colroom>\@reqcolroom}{% \@flsetnum \@colnum \@ifnum{\@colnum>\z@}{% \@bitor\@currtype\@deferlist \@if@sw\if@test\fi{}{% \@addtotoporbot }% }{}% }{}% }% }% }{}% \@if@sw\if@insert\fi{}{% \@cons\@deferlist\@currbox }% \endgroup }% \mathchardef\do@startpage@pen=10006 \@namedef{output@-\the\do@startpage@pen}{\do@startpage}% \def\do@startpage{% \setbox\@cclv\vbox{\unvbox\@cclv\remove@lastbox\unskip}% \clearpage@sw{\@clearfloatplacement}{\@dblfloatplacement}% \set@colht \@booleanfalse\pfloat@avail@sw \begingroup \@booleanfalse\float@avail@sw \@tryfcolumn\test@dblfloat \float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}% \endgroup \fcolmade@sw{% \global\setbox\pagesofar\vbox{\unvbox\pagesofar\unvbox\@outputbox}% \@output@combined@page }{% \begingroup \@booleanfalse\float@avail@sw \let\@elt\@sdblcolelt \let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b \endgroup \@ifdim{\@colht=\textheight}{% No luck... \pfloat@avail@sw{% ...but a float *was* available! \forcefloats@sw{% \ltxgrid@warn{Forced dequeueing of floats stalled}% }{% \ltxgrid@warn{Dequeueing of floats stalled}% }% }{}% }{}% \outputpenalty\@M \dead@cycle }% \check@deferlist@stuck\do@startpage \set@colht }% \def\@output@combined@page{% \@combinepage\true@sw \@combinedblfloats \@outputpage \global\pagegrid@cur\@ne \protect@penalty\do@startpage@pen }% \def\@sdblcolelt#1{\def\@currbox{#1}\@addtodblcol}% \def\test@dblfloat#1{% \@if@notdblfloat{#1}{\@testtrue}{}% \@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}% }% \def\@if@notdblfloat#1{\@ifdim{\wd#1<\textwidth}}% \@booleanfalse\forcefloats@sw \def\@addtodblcol{% \begingroup \@if@notdblfloat{\@currbox}{% \false@sw }{% \@setfloattypecounts \@getfpsbit \tw@ \@bitor \@currtype \@deferlist \@if@sw\if@test\fi{% \false@sw }{% \@ifodd\@tempcnta{% \aftergroup\@booleantrue\aftergroup\float@avail@sw \@flsetnum \@dbltopnum \@ifnum{\@dbltopnum>\z@}{% \@ifdim{\@dbltoproom>\ht\@currbox}{% \true@sw }{% \@ifnum{\@fpstype<\sixt@@n}{% \begingroup \advance \@dbltoproom \@textmin \@ifdim{\@dbltoproom>\ht\@currbox}{% \endgroup\true@sw }{% \endgroup\false@sw }% }{% \false@sw }% }% }{% \false@sw }% }{% \false@sw }% }% }% {% \@tempdima -\ht\@currbox \advance\@tempdima -\@ifx{\@dbltoplist\@empty}{\dbltextfloatsep}{\dblfloatsep}% \global \advance \@dbltoproom \@tempdima \global \advance \@colht \@tempdima \global \advance \@dbltopnum \m@ne \@cons \@dbltoplist \@currbox }{% \@cons \@deferlist \@currbox }% \endgroup }% \def\@tryfcolumn#1{% \global\@booleanfalse\fcolmade@sw \@ifx@empty\@deferlist{}{% \global\let\@trylist\@deferlist \global\let\@failedlist\@empty \begingroup \dimen@\vsize\advance\dimen@-\pagegoal\@ifdim{\dimen@>\z@}{% \advance\@fpmin-\dimen@ }{}% \def\@elt{\@xtryfc#1}\@trylist \endgroup \fcolmade@sw{% \global\setbox\@outputbox\vbox{\vskip \@fptop}% \let \@elt \@wtryfc \@flsucceed \global\setbox\@outputbox\vbox{\unvbox\@outputbox \unskip \vskip \@fpbot }% \let \@elt \relax \xdef\@deferlist{\@failedlist\@flfail}% \xdef\@freelist{\@freelist\@flsucceed}% }{}% }% }% \def\@wtryfc #1{% \global\setbox\@outputbox\vbox{\unvbox\@outputbox \box #1\vskip\@fpsep }% }% \def\@xtryfc#1#2{% \@next\reserved@a\@trylist{}{}% trim \@trylist. Ugly! \@currtype \count #2% \divide\@currtype\@xxxii\multiply\@currtype\@xxxii \@bitor \@currtype \@failedlist \@testfp #2% #1#2% \@ifdim{\ht #2>\@colht }{\@testtrue}{}% \@if@sw\if@test\fi{% \@cons\@failedlist #2% }{% \begingroup \gdef\@flsucceed{\@elt #2}% \global\let\@flfail\@empty \@tempdima\ht #2% \def \@elt {\@ztryfc#1}\@trylist \@ifdim{\@tempdima >\@fpmin}{% \global\@booleantrue\fcolmade@sw }{% \@cons\@failedlist #2% }% \endgroup \fcolmade@sw{% \let \@elt \@gobble }{}% }% }% \def\@ztryfc #1#2{% \@tempcnta \count#2% \divide\@tempcnta\@xxxii\multiply\@tempcnta\@xxxii \@bitor \@tempcnta {\@failedlist \@flfail}% \@testfp #2% #1#2% \@tempdimb\@tempdima \advance\@tempdimb \ht#2\advance\@tempdimb\@fpsep \@ifdim{\@tempdimb >\@colht}{% \@testtrue }{}% \@if@sw\if@test\fi{% \@cons\@flfail #2% }{% \@cons\@flsucceed #2% \@tempdima\@tempdimb }% }% \def\newpage@prep{% \if@noskipsec \ifx \@nodocument\relax \leavevmode \global \@noskipsecfalse \fi \fi \if@inlabel \leavevmode \global \@inlabelfalse \fi \if@nobreak \@nobreakfalse \everypar{}\fi \par }% \def \newpage {% \newpage@prep \do@output@MVL{% \vfil \penalty-\pagebreak@pen }% }% \def\clearpage{% \newpage@prep \do@output@MVL{% \vfil \penalty-\pagebreak@pen \global\@booleantrue\clearpage@sw \protect@penalty\do@startcolumn@pen \protect@penalty\do@endpage@pen }% \do@output@MVL{% \global\@booleanfalse\clearpage@sw }% }% \def\cleardoublepage{% \clearpage \@if@sw\if@twoside\fi{% \@ifodd\c@page{}{% \null\clearpage }% }{}% }% \@booleanfalse\clearpage@sw \mathchardef\do@endpage@pen=10007 \@namedef{output@-\the\do@endpage@pen}{\csname end@column@\thepagegrid\endcsname}% \mathchardef\do@newpage@pen=10001 \expandafter\let\csname output@-\the\do@newpage@pen\endcsname\relax \def\@clearfloatplacement{% \global\@topnum \maxdimen \global\@toproom \maxdimen \global\@botnum \maxdimen \global\@botroom \maxdimen \global\@colnum \maxdimen \global\@dbltopnum \maxdimen \global\@dbltoproom \maxdimen \global\@textmin \z@ \global\@fpmin \z@ \let\@testfp\@gobble \appdef\@setfloattypecounts{\@fpstype16\advance\@fpstype\m@ne}% }% \let\@doclearpage\@undefined \let\@makefcolumn\@undefined \let\@makecol\@undefined \def\clr@top@firstmark{% \global\let\saved@@topmark\@undefined \global\let\saved@@firstmark\@empty \global\let\saved@@botmark\@empty }% \clr@top@firstmark \def\set@top@firstmark{% \@ifxundefined\saved@@topmark{\expandafter\gdef\expandafter\saved@@topmark\expandafter{\@@topmark}}{}% \@if@empty\saved@@firstmark{\expandafter\gdef\expandafter\saved@@firstmark\expandafter{\@@firstmark}}{}% \@if@empty\@@botmark{}{\expandafter\gdef\expandafter\saved@@botmark\expandafter{\@@botmark}}% }% \appdef\@outputpage@tail{% \clr@top@firstmark }% \def\@float#1{% \@ifnextchar[{% \@yfloat\width@float{#1}% }{% \@ifxundefined@cs{fps@#1}{}{\expandafter\let\expandafter\fps@\csname fps@#1\endcsname}% \expandafter\@argswap\expandafter{\expandafter[\fps@]}{\@yfloat\width@float{#1}}% }% }% \def\@dblfloat#1{% \@ifnum{\pagegrid@col=\@ne}{% \@float{#1}% }{% \@ifnextchar[{% \@yfloat\widthd@float{#1}% }{% \@ifxundefined@cs{fpsd@#1}{}{\expandafter\let\expandafter\fpsd@\csname fpsd@#1\endcsname}% \expandafter\@argswap\expandafter{\expandafter[\fpsd@]}{\@yfloat\widthd@float{#1}}% }% }% }% \def\@yfloat#1#2[#3]{% \@xfloat{#2}[#3]% \hsize#1\linewidth\hsize \let\set@footnotewidth\@empty \minipagefootnote@init }% \def\fps@{tbp}% \def\fpsd@{tp}% \def\width@float{\columnwidth}% \def\widthd@float{\textwidth}% \def\end@float{% \end@@float{% \check@currbox@count }% }% \def\end@dblfloat{% \@ifnum{\pagegrid@col=\@ne}{% \end@float }{% \end@@float{% \@iffpsbit\@ne{\global\advance\count\@currbox\m@ne}{}% \@iffpsbit\f@ur{\global\advance\count\@currbox-4\relax}{}% \global\wd\@currbox\textwidth % Klootch \check@currbox@count }% }% }% \def\end@@float#1{% \minipagefootnote@here \@endfloatbox #1% \@ifnum{\@floatpenalty <\z@}{% \@largefloatcheck \@cons\@currlist\@currbox \@ifnum{\@floatpenalty <-\@Mii}{% \do@output@cclv{\@add@float}% }{% \vadjust{\do@output@cclv{\@add@float}}% \@Esphack }% }{}% }% \newcommand\float@end@float{% \@endfloatbox \global\setbox\@currbox\float@makebox\columnwidth \let\@endfloatbox\relax \end@float }% \newcommand\float@end@ltx{% \end@@float{% \global\setbox\@currbox\float@makebox\columnwidth \check@currbox@count }% }% \newcommand\newfloat@float[3]{% \@namedef{ext@#1}{#3} %! \let\float@do=\relax \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}% \@tempa \floatplacement{#1}{#2}% \@ifundefined{fname@#1}{\floatname{#1}{#1}}{} %! \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}% \addtocounter{float@type}{\value{float@type}} %! \restylefloat{#1}% \expandafter\edef\csname fnum@#1\endcsname{% \expandafter\noexpand\csname fname@#1\endcsname{} %! \expandafter\noexpand\csname the#1\endcsname } \@ifnextchar[%] {% \float@newx{#1}% }{% \@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}{}% }% }% \newcommand\newfloat@ltx[3]{% \@namedef{ext@#1}{#3}% \let\float@do=\relax \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}% \@tempa \floatplacement{#1}{#2}% \@ifundefined{fname@#1}{\floatname{#1}{#1}}{}% \expandafter\edef\csname ftype@#1\expandafter\endcsname\expandafter{\the\c@float@type}% \addtocounter{float@type}{\value{float@type}}% \restylefloat{#1}% \expandafter\edef\csname fnum@#1\endcsname{% \expandafter\noexpand\csname fname@#1\endcsname{}% \expandafter\noexpand\csname the#1\endcsname } \@ifnextchar[%] {% \float@newx{#1}% }{% \@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}{}% }% }% \appdef\document@inithook{% \@ifxundefined\newfloat{}{% \@ifx{\float@end\float@end@float}{% \@ifx{\newfloat\newfloat@float}{\true@sw}{\false@sw}% }{\false@sw}% {% \class@warn{Repair the float package}% \let\float@end\float@end@ltx \let\newfloat\newfloat@ltx }{% \class@warn{Failed to patch the float package}% }% }% }% \def\@iffpsbit#1{% \begingroup \@tempcnta\count\@currbox \divide\@tempcnta#1\relax \@ifodd\@tempcnta{\aftergroup\true@sw}{\aftergroup\false@sw}% \endgroup }% \def\check@currbox@count{% \@ifnum{\count\@currbox>\z@}{% \count@\count\@currbox\divide\count@\sixt@@n\multiply\count@\sixt@@n \@tempcnta\count\@currbox\advance\@tempcnta-\count@ \@ifnum{\@tempcnta=\z@}{% \ltxgrid@warn{Float cannot be placed}% }{}% \expandafter\tally@float\expandafter{\@captype}% }{% }% }% \providecommand\minipagefootnote@init{}% \providecommand\minipagefootnote@here{}% \providecommand\tally@float[1]{}% \let\@specialoutput\@undefined \def\@add@float{% \@pageht\ht\@cclv\@pagedp\dp\@cclv \unvbox\@cclv \@next\@currbox\@currlist{% \csname @floatselect@sw@\thepagegrid\endcsname\@currbox{% \@ifnum{\count\@currbox>\z@}{% \advance \@pageht \@pagedp \advance \@pageht \vsize \advance \@pageht -\pagegoal \@addtocurcol }{% \@addmarginpar }% }{% \@resethfps \@cons\@deferlist\@currbox }% }{\@latexbug}% \@ifnum{\outputpenalty<\z@}{% \@if@sw\if@nobreak\fi{% \nobreak }{% \addpenalty \interlinepenalty }% }{}% \set@vsize }% \let\@reinserts\@undefined \def \@addtocurcol {% \@insertfalse \@setfloattypecounts \ifnum \@fpstype=8 \else \ifnum \@fpstype=24 \else \@flsettextmin \advance \@textmin \@textfloatsheight \@reqcolroom \@pageht \ifdim \@textmin>\@reqcolroom \@reqcolroom \@textmin \fi \advance \@reqcolroom \ht\@currbox \ifdim \@colroom>\@reqcolroom \@flsetnum \@colnum \ifnum \@colnum>\z@ \@bitor\@currtype\@deferlist \if@test \else \@bitor\@currtype\@botlist \if@test \@addtobot \else \ifodd \count\@currbox \advance \@reqcolroom \intextsep \ifdim \@colroom>\@reqcolroom \global \advance \@colnum \m@ne \global \advance \@textfloatsheight \ht\@currbox \global \advance \@textfloatsheight 2\intextsep \@cons \@midlist \@currbox \if@nobreak \nobreak \@nobreakfalse \everypar{}% \else \addpenalty \interlinepenalty \fi \vskip \intextsep \unvbox\@currbox %AO \penalty\interlinepenalty \vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi \outputpenalty \z@ \@inserttrue \fi \fi \if@insert \else \@addtotoporbot \fi \fi \fi \fi \fi \fi \fi \if@insert \else \@resethfps \@cons\@deferlist\@currbox \fi }% \@twocolumnfalse \let\@twocolumntrue\@twocolumnfalse \def\@addmarginpar{% \@next\@marbox\@currlist{% \@cons\@freelist\@marbox\@cons\@freelist\@currbox }\@latexbug \setbox\@marbox\hb@xt@\columnwidth{% \csname @addmarginpar@\thepagegrid\endcsname{% \hskip-\marginparsep\hskip-\marginparwidth \box\@currbox }{% \hskip\columnwidth\hskip\marginparsep \box\@marbox }% \hss }% \setbox\z@\box\@currbox \@tempdima\@mparbottom \advance\@tempdima -\@pageht \advance\@tempdima\ht\@marbox \@ifdim{\@tempdima >\z@}{% \@latex@warning@no@line {Marginpar on page \thepage\space moved}% }{% \@tempdima\z@ }% \global\@mparbottom\@pageht \global\advance\@mparbottom\@tempdima \global\advance\@mparbottom\dp\@marbox \global\advance\@mparbottom\marginparpush \advance\@tempdima -\ht\@marbox \global\setbox \@marbox \vbox {\vskip \@tempdima \box \@marbox}% \global \ht\@marbox \z@ \global \dp\@marbox \z@ \kern -\@pagedp \nointerlineskip \box\@marbox \nointerlineskip \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}% }% \newenvironment{turnpage}{% \def\width@float{\textheight}% \def\widthd@float{\textheight}% \appdef\@endfloatbox{% \@ifxundefined\@currbox{% \ltxgrid@warn{Cannot rotate! Not a float}% }{% \setbox\@currbox\vbox to\textwidth{\vfil\unvbox\@currbox\vfil}% \global\setbox\@currbox\vbox{\rotatebox{90}{\box\@currbox}}% }% }% }{% }% \def\rotatebox@dummy#1#2{% \ltxgrid@warn{You must load the graphics or graphicx package in order to use the turnpage environment}% #2% }% \appdef\document@inithook{% \@ifxundefined\rotatebox{\let\rotatebox\rotatebox@dummy}{}% }% \@namedef{output@-1073741824}{% \deadcycles\z@ \void@cclv }% \mathchardef\save@column@pen=10016 \@namedef{output@-\the\save@column@pen}{\save@column}% \let \@cclv@saved \@holdpg \let \@holdpg \@undefined \def\save@column{% \@ifvoid\@cclv@saved{% \set@top@firstmark \global\@topmark@saved\expandafter{\@@topmark}% }{}% \global\setbox\@cclv@saved\vbox{% \@ifvoid\@cclv@saved{}{% \unvbox\@cclv@saved \marry@baselines }% \unvbox\@cclv \lose@breaks \remove@lastbox }% }% \newtoks\@topmark@saved \def\prep@cclv{% \void@cclv \setbox\@cclv\box\@cclv@saved \vbadness\@M }% \mathchardef\save@column@insert@pen=10017 \@namedef{output@-\the\save@column@insert@pen}{\toggle@insert{\savecolumn@holding}{\savecolumn@moving}}% \def\savecolumn@holding{% \@if@exceed@pagegoal{\unvcopy\@cclv\remove@lastbox}{% \setbox\z@\vbox{\unvcopy\@cclv\remove@lastbox}% \outputdebug@sw{\trace@box\z@}{}% \dimen@\ht\@cclv\advance\dimen@-\ht\z@ \dead@cycle@repair@protected\dimen@ }{% \dead@cycle }% }% \def\savecolumn@moving{% \ltxgrid@info@sw{\class@info{\string\savecolumn@moving}}{}% \@cclv@nontrivial@sw{% \save@column }{% \void@cclv }% \@ifvoid\footins{}{% \ltxgrid@foot@info@sw{\class@info{\string\savecolumn@moving}\trace@scroll{\showbox\footins@saved\showbox\footins}}{}% \@ifvoid\footins@saved{% \global\setbox\footins@saved\box\footins }{% \global\setbox\footins@saved\vbox\bgroup \unvbox\footins@saved \marry@baselines \unvbox\footins \egroup }% \ltxgrid@foot@info@sw{\trace@box\footins@saved}{}% \protect@penalty\save@column@insert@pen }% }% \newbox\footins@saved \newbox\footins@recovered \newbox\column@recovered \mathchardef\save@message@pen=10018 \@namedef{output@-\the\save@message@pen}{\save@message}% \def\save@message{% \void@cclv \toks@\expandafter{\@@firstmark}% \expandafter\gdef\expandafter\@message@saved\expandafter{\the\toks@}% \expandafter\do@@mark\expandafter{\the\@topmark@saved}% }% \gdef\@message@saved{}% \mathchardef\execute@message@pen=10019 \@namedef{output@-\the\execute@message@pen}{\@message@saved}% \def\execute@message{% \@execute@message\save@column@pen }% \def\execute@message@insert#1{% \@execute@message\save@column@insert@pen{% \setbox \footins \box \footins@saved \ltxgrid@foot@info@sw{\class@info{\string\execute@message@insert}\trace@box\footins}{}% #1% }% }% \long\def\@execute@message#1#2{% \begingroup \dimen@\prevdepth\@ifdim{\dimen@<\z@}{\dimen@\z@}{}% \setbox\z@\vbox{% \protect@penalty#1% \protection@box \toks@{\prep@cclv#2}% \@@mark{\the\toks@}% \penalty-\save@message@pen \setbox\z@\null\dp\z@\dimen@\ht\z@-\dimen@ \nointerlineskip\box\z@ \penalty-\execute@message@pen }\unvbox\z@ \endgroup }% \def\do@output@cclv{\execute@message}% \def\do@output@MVL#1{% \@ifvmode{% \begingroup\execute@message{\unvbox\@cclv#1}\endgroup }{% \@ifhmode{% \vadjust{\execute@message{\unvbox\@cclv#1}}% }{% \@latexerr{\string\do@output@MVL\space cannot be executed in this mode!}\@eha }% }% }% \def\lose@breaks{% \loopwhile{% \count@\lastpenalty \@ifnum{\count@=\@M}{% \unpenalty\true@sw }{% \false@sw }% }% }% \def\removestuff{\do@output@MVL{\unskip\unpenalty}}% \def\removephantombox{% \vadjust{% \execute@message{% \unvbox\@cclv \remove@lastbox \unskip \unskip \unpenalty \penalty\predisplaypenalty \vskip\abovedisplayskip }% }% }% \def\addstuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@addstuff{#1}{#2}}}\@tempa}% \def\@addstuff#1#2{% \skip@\lastskip\unskip \count@\lastpenalty\unpenalty \@if@empty{#1}{}{\penalty#1\relax}% \@ifnum{\count@=\z@}{}{\penalty\count@}% \vskip\skip@ \@if@empty{#2}{}{\vskip#2\relax}% }% \def\replacestuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@replacestuff{#1}{#2}}}\@tempa}% \def\@replacestuff#1#2{% \skip@\lastskip\unskip \count@\lastpenalty\unpenalty \@if@empty{#1}{}{% \@ifnum{\count@>\@M}{}{% \@ifnum{\count@=\z@}{\count@=#1\relax}{% \@ifnum{\count@<#1\relax}{}{% \count@=#1\relax }% }% }% }% \@ifnum{\count@=\z@}{}{\penalty\count@}% \@if@empty{#2}{}{% \@tempskipa#2\relax \@ifdim{\z@>\@tempskipa}{% \advance\skip@-\@tempskipa }{% \@ifdim{\skip@>\@tempskipa}{}{% \skip@\@tempskipa }% }% }% \vskip\skip@ }% \def\move@insertions{\global\holdinginserts\z@}% \def\hold@insertions{\global\holdinginserts\@ne}% \hold@insertions \def\toggle@insert#1#2{% \@ifnum{\holdinginserts>\z@}{\move@insertions#1}{\hold@insertions#2}% }% \def\do@columngrid#1#2{% \par \expandafter\let\expandafter\@tempa\csname open@column@#1\endcsname \@ifx{\relax\@tempa}{% \ltxgrid@warn{Unknown page grid #1. No action taken}% }{% \do@output@MVL{\start@column{#1}{#2}}% }% }% \def\start@column#1#2{% \def\@tempa{#1}\@ifx{\@tempa\thepagegrid}{% \ltxgrid@info{Already in page grid \thepagegrid. No action taken}% }{% \expandafter\execute@message@insert \expandafter{% \csname shut@column@\thepagegrid\expandafter\endcsname \csname open@column@#1\endcsname{#2}% \set@vsize }% }% }% \def\thepagegrid{one}% \newbox\pagesofar \newbox\footsofar \def\combine@foot@inserts#1#2{% \ltxgrid@info@sw{\class@info{\string\combine@foot@inserts\string#1\string#2}}{}% \@ifvoid#1{% \ltxgrid@foot@info@sw{\trace@box#2}{}\global\setbox#1\box#2% }{% \global\setbox#1\vbox\bgroup \ltxgrid@foot@info@sw{\trace@box#1}{}\unvbox#1% \@ifvoid#2{}{% \marry@baselines \ltxgrid@foot@info@sw{\trace@box#2}{}\unvbox#2% }% \egroup }% \ltxgrid@foot@info@sw{\trace@scroll{\showbox#1\showbox#2}}{}% }% \newcommand\onecolumngrid{\do@columngrid{one}{\@ne}}% \let\onecolumn\@undefined \def\open@column@one#1{% \ltxgrid@info@sw{\class@info{\string\open@column@one\string#1}}{}% \unvbox\pagesofar \@ifvoid{\footsofar}{}{% \insert\footins\bgroup\unvbox\footsofar\egroup \penalty\z@ }% \gdef\thepagegrid{one}% \global\pagegrid@col#1% \global\pagegrid@cur\@ne \global\count\footins\@m \global\divide\count\footins\tw@ \set@column@hsize\pagegrid@col \set@colht }% \def\shut@column@one{% \ltxgrid@info@sw{\class@info{\string\shut@column@one}}{}% \@makecolumn\false@sw \global\setbox\pagesofar\vbox\bgroup \recover@column\@outputbox\footsofar\column@recovered\footins@recovered \egroup \begingroup\setbox\z@\box\@outputbox\endgroup \combine@foot@inserts\footsofar\footins \set@colht }% \def\float@column@one{% \@makecolumn\true@sw \@outputpage }% \def\end@column@one{% \unvbox\@cclv\remove@lastbox \protect@penalty\do@newpage@pen }% \def\output@column@one{% \@outputpage }% \def\@addmarginpar@one{% \@if@sw\if@mparswitch\fi{% \@ifodd\c@page{\false@sw}{\true@sw}% }{\false@sw}{% \@if@sw\if@reversemargin\fi{\false@sw}{\true@sw}% }{% \@if@sw\if@reversemargin\fi{\true@sw}{\false@sw}% }% }% \def\@floatselect@sw@one#1{\true@sw}% \def\onecolumngrid@push{% \do@output@MVL{% \@ifnum{\pagegrid@col=\@ne}{% \global\let\restorecolumngrid\@empty }{% \xdef\restorecolumngrid{% \noexpand\start@column{\thepagegrid}{\the\pagegrid@col}% }% \start@column{one}{\@ne}% }% }% }% \def\onecolumngrid@pop{% \do@output@MVL{\restorecolumngrid}% }% \newcommand\twocolumngrid{\do@columngrid{mlt}{\tw@}}% \let\twocolumn\@undefined \let\@topnewpage\@undefined \def\open@column@mlt#1{% \ltxgrid@info@sw{\class@info{\string\open@column@mlt\string#1}}{}% \@ifvoid{\footsofar}{}{% \insert\footins\bgroup\unvbox\footsofar\egroup }% \gdef\thepagegrid{mlt}% \global\pagegrid@col#1% \global\pagegrid@cur\@ne \global\count\footins\@m \set@column@hsize\pagegrid@col \set@colht }% \def\shut@column@mlt{% \ltxgrid@info@sw{\class@info{\string\shut@column@mlt}}{}% \@cclv@nontrivial@sw{% \@makecolumn\false@sw \@ifnum{\pagegrid@cur<\pagegrid@col}{% \expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox \global\advance\pagegrid@cur\@ne }{}% }{% \void@cclv }% \@ifnum{\pagegrid@cur>\@ne}{% \csname balance@\the\pagegrid@col\endcsname \grid@column\@outputbox{}% \@combinepage\false@sw \@combinedblfloats \global\setbox\pagesofar\box\@outputbox \show@pagesofar@size }{}% \set@colht }% \def\float@column@mlt{% \@output@combined@page }% \def\end@column@mlt{% \@ifx@empty\@toplist{% \@ifx@empty\@botlist{% \@ifx@empty\@dbltoplist{% \@ifx@empty\@deferlist{% \@ifnum{\pagegrid@cur=\@ne}{% \false@sw }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% % true = kick out a column and try again {% \@cclv@nontrivial@sw{% \unvbox\@cclv\remove@lastbox }{% \unvbox\@cclv\remove@lastbox\unskip\null }% \protect@penalty\do@newpage@pen \protect@penalty\do@endpage@pen }{% \unvbox\@cclv\remove@lastbox }% }% \def\output@column@mlt{% \@ifnum{\pagegrid@cur<\pagegrid@col}{% \expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox \global\advance\pagegrid@cur\@ne }{% \set@adj@colht\dimen@ \grid@column\@outputbox{}% \@output@combined@page }% }% \let\@outputdblcol\@undefined \def\@floatselect@sw@mlt#1{\@if@notdblfloat{#1}}% \def\@addmarginpar@mlt{% emits a boolean \@ifnum{\pagegrid@cur=\@ne}% }% \def\set@footnotewidth@one{% \hsize\columnwidth \linewidth\hsize }% \def\set@footnotewidth@two{\set@footnotewidth@mlt\tw@}% \def\set@footnotewidth@mlt#1{% \hsize\textwidth \advance\hsize\columnsep \divide\hsize#1% \advance\hsize-\columnsep \linewidth\hsize }% \def\compose@footnotes@one#1{% \ltxgrid@foot@info@sw{\class@info{\string\compose@footnotes@one\string#1}\trace@box#1}{}% }% \let\compose@footnotes\compose@footnotes@one \def\compose@footnotes@two#1{% \ltxgrid@foot@info@sw{\class@info{\string\compose@footnotes@two\string#1}\trace@box#1}{}% \setbox\z@\box\@tempboxa \let\recover@column\recover@column@null \let\marry@baselines\@empty \balance@two#1\@tempboxa \global\setbox#1\hbox to\textwidth{\box#1\hfil\box\@tempboxa}% \ltxgrid@foot@info@sw{\trace@box#1}{}% }% \let\pagegrid@cur\col@number \let\col@number\@undefined \newcount\pagegrid@col \pagegrid@cur\@ne \expandafter\let\csname col@\the\pagegrid@cur\endcsname\@leftcolumn \let\@leftcolumn\@undefined \pagegrid@col\tw@ \def\pagegrid@init{% \advance\pagegrid@cur\@ne \@ifnum{\pagegrid@cur<\pagegrid@col}{% \csname newbox\expandafter\endcsname\csname col@\the\pagegrid@cur\endcsname \pagegrid@init }{% }% }% \appdef\class@documenthook{% \pagegrid@init }% \def\grid@column#1#2{% \ltxgrid@info@sw{\class@info{\string\grid@column\string#1}}{}% \global\setbox#1\vbox\bgroup \hb@xt@\textwidth\bgroup \vrule\@height\z@\@width\z@\@if@empty{#2}{}{\@depth#2}% \pagegrid@cur\@ne \@ifnum{\pagegrid@cur<\pagegrid@col}{\loopwhile{\append@column@\pagegrid@cur\pagegrid@col}}{}% \box@column#1% \egroup \vskip\z@skip \egroup }% \def\append@column@#1#2{% \expandafter\box@column\csname col@\the#1\endcsname \hfil\vrule\@width\columnseprule\hfil \advance#1\@ne \@ifnum{#1<#2}% }% \def\box@column#1{% \ltxgrid@info@sw{\class@info{\string\box@column\string#1}}{}% \raise\topskip \hb@xt@\columnwidth\bgroup \dimen@\ht#1\@ifdim{\dimen@>\@colht}{\dimen@\@colht}{}% \count@\vbadness\vbadness\@M \dimen@ii\vfuzz\vfuzz\maxdimen \ltxgrid@info@sw{\saythe\@colht\saythe\dimen@}{}% \vtop to\dimen@\bgroup \hrule\@height\z@ \unvbox#1% \raggedcolumn@skip \egroup \vfuzz\dimen@ii \vbadness\count@ \hss \egroup }% \def\marry@baselines{% \begingroup \setbox\z@\lastbox \@ifvoid{\z@}{% \endgroup }{% \aftergroup\kern \aftergroup-% \expandafter\box\expandafter\z@\expandafter\endgroup\the\dp\z@\relax }% \vskip\marry@skip\relax }% \gdef\marry@skip{\z@skip}% \def\set@marry@skip{% \begingroup \skip@\baselineskip\advance\skip@-\topskip \@ifdim{\skip@>\z@}{% \xdef\marry@skip{\the\skip@}% }{}% \endgroup }% \appdef\document@inithook{% \@ifxundefined\raggedcolumn@sw{\@booleanfalse\raggedcolumn@sw}{}% }% \def\raggedcolumn@skip{% \vskip\z@\raggedcolumn@sw{\@plus.0001fil\@minus.0001fil}{}\relax }% \def\@combinepage#1{% \ltxgrid@foot@info@sw{\class@info{\string\@combinepage\string#1}}{}% \@ifvoid\pagesofar{}{% \setbox\@outputbox\vbox{% \unvbox\pagesofar \marry@baselines \unvbox\@outputbox }% }% #1{% \@ifvoid\footsofar{}{% \show@box@size{Combining page footnotes}\footsofar \setbox\footins\box\footsofar \compose@footnotes \@combineinserts\@outputbox\footins }% }{% }% }% \def \@cflt{% \let \@elt \@comflelt \setbox\@tempboxa \vbox{}% \@toplist \setbox\@outputbox \vbox{% \boxmaxdepth \maxdepth \unvbox\@tempboxa\unskip \topfigrule\vskip \textfloatsep \unvbox\@outputbox }% \let\@elt\relax \xdef\@freelist{\@freelist\@toplist}% \global\let\@toplist\@empty }% \def \@cflb {% \let\@elt\@comflelt \setbox\@tempboxa \vbox{}% \@botlist \setbox\@outputbox \vbox{% \unvbox\@outputbox \vskip \textfloatsep\botfigrule \unvbox\@tempboxa\unskip }% \let\@elt\relax \xdef\@freelist{\@freelist\@botlist}% \global \let \@botlist\@empty }% \def\@combinedblfloats{% \@ifx@empty\@dbltoplist{}{% \setbox\@tempboxa\vbox{}% \let\@elt\@comdblflelt\@dbltoplist \let\@elt\relax\xdef\@freelist{\@freelist\@dbltoplist}% \global\let\@dbltoplist\@empty \setbox\@outputbox\vbox{% %\boxmaxdepth\maxdepth %% probably not needed, CAR \unvbox\@tempboxa\unskip \@ifnum{\@dbltopnum>\m@ne}{\dblfigrule}{}%FIXME: how is \@dbltopnum maintained? \vskip\dbltextfloatsep \unvbox\@outputbox }% }% }% \def\set@column@hsize#1{% \pagegrid@col#1% \global\columnwidth\textwidth \global\advance\columnwidth\columnsep \global\divide\columnwidth\pagegrid@col \global\advance\columnwidth-\columnsep \global\hsize\columnwidth \global\linewidth\columnwidth \skip@\baselineskip\advance\skip@-\topskip \@ifnum{\pagegrid@col>\@ne}{\set@marry@skip}{}% }% \def\set@colht{% \set@adj@textheight\@colht \global\let\enlarge@colroom\@empty \set@colroom }% \def\set@adj@textheight#1{% \ltxgrid@info@sw{\class@info{\string\set@adj@textheight\string#1}\saythe\textheight}{}% #1\textheight \def\@elt{\adj@page#1}% \@booleantrue\firsttime@sw\@dbltoplist \let\@elt\relax \global#1#1\relax \ltxgrid@info@sw{\saythe#1}{}% }% \def\set@colroom{% \ltxgrid@info@sw{\class@info{\string\set@colroom}}{}% \set@adj@colht\@colroom \@if@empty\enlarge@colroom{}{% \global\advance\@colroom\enlarge@colroom\relax \ltxgrid@info@sw{\saythe\@colroom}{}% }% \@ifdim{\@colroom>\topskip}{}{% \ltxgrid@info{Not enough room: \string\@colroom=\the\@colroom; increasing to \the\topskip}% \@colroom\topskip }% \global\@colroom\@colroom \set@vsize }% \def\set@vsize{% \global\vsize\@colroom \ltxgrid@info@sw{\class@info{\string\set@vsize\string\vsize=\string\colroom}\saythe\vsize}{}% }% \def\set@adj@colht#1{% #1\@colht \ltxgrid@info@sw{\class@info{\string\set@adj@colht\string#1-\string\pagesofar}\saythe#1}{}% \@ifvoid\pagesofar{}{% \advance#1-\ht\pagesofar\advance#1-\dp\pagesofar \ltxgrid@info@sw{\class@info{\string\pagesofar}\saythe#1}{}% }% \def\@elt{\adj@column#1}% \@booleantrue\firsttime@sw\@toplist \@booleantrue\firsttime@sw\@botlist \let\@elt\relax }% \def\adj@column#1#2{% \advance#1-\ht#2% \advance#1-\firsttime@sw{\textfloatsep\@booleanfalse\firsttime@sw}{\floatsep}% \ltxgrid@info@sw{\class@info{\string\adj@column\string#1-\string#2}\saythe#1}{}% }% \def\adj@page#1#2{% \advance#1-\ht#2% \advance#1-\firsttime@sw{\dbltextfloatsep\@booleanfalse\firsttime@sw}{\dblfloatsep}% \ltxgrid@info@sw{\class@info{\string\adj@page\string#1-\string#2}\saythe#1}{}% }% \def\set@adj@box#1#2{% \@ifvoid#2{}{% \advance#1-\ht#2\advance#1-\dp#2% \@booleantrue\temp@sw \ltxgrid@foot@info@sw{\class@info{\string\set@adj@box\string#2}\saythe#1}{}% }% }% \appdef\@outputpage@tail{% \set@colht % FIXME: needed? \@floatplacement % FIXME: needed? \@dblfloatplacement % FIXME: needed? }% \begingroup \catcode`\1=\cat@letter \catcode`\2=\cat@letter \toks@{% \setbox\footins\box\footsofar \balance@two\col@1\@outputbox \global\setbox\col@1\box\col@1 \global\setbox\@outputbox\box\@outputbox \combine@foot@inserts\footsofar\footins }% \aftergroup\def\aftergroup\balance@2\expandafter \endgroup\expandafter{\the\toks@}% \def\balance@two#1#2{% \ltxgrid@info@sw{\class@info{\string\balance@two\string#1\string#2}}{}% \outputdebug@sw{\trace@scroll{\showbox#1\showbox#2}}{}% \setbox\thr@@\copy\footsofar \setbox\@ne\vbox\bgroup \@ifvoid{#1}{}{% \recover@column#1\footsofar\column@recovered\footins@recovered \@ifvoid{#2}{}{\marry@baselines}% }% \@ifvoid{#2}{}{% \recover@column#2\footsofar\column@recovered\footins@recovered }% \egroup \outputdebug@sw{\trace@scroll{\showbox\@ne}}{}% \ltxgrid@foot@info@sw{\trace@scroll{\showbox\footsofar}}{}% \dimen@\ht\@ne\divide\dimen@\tw@ \dimen@i\dimen@ \vbadness\@M \vfuzz\maxdimen \splittopskip\topskip \loopwhile{% \setbox\z@\copy\@ne\setbox\tw@\vsplit\z@ to\dimen@ \remove@depth\z@\remove@depth\tw@ \dimen@ii\ht\tw@\advance\dimen@ii-\ht\z@ \dimen@i=.5\dimen@i \ltxgrid@info@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}% \@ifdim{\dimen@ii<.5\p@}{% \@ifdim{\dimen@ii>-.5\p@}% }{% \false@sw }% {% \true@sw }{% \@ifdim{\dimen@i<.5\p@}% }% {% \false@sw }% {% \advance\dimen@\@ifdim{\dimen@ii<\z@}{}{-}\dimen@i \true@sw }% }% \ltxgrid@info@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}% \@ifdim{\ht\z@=\z@}{% \@ifdim{\ht\tw@=\z@}% }{% \true@sw }% {% }{% \ltxgrid@info{Unsatifactorily balanced columns: giving up}% \setbox\tw@\box#1% \setbox\z@ \box#2% \global\setbox\footsofar\box\thr@@ }% \setbox\tw@\vbox{\unvbox\tw@\vskip\z@skip}% \setbox\z@ \vbox{\unvbox\z@ \vskip\z@skip}% \set@colht \dimen@\ht\z@\@ifdim{\dimen@<\ht\tw@}{\dimen@\ht\tw@}{}% \@ifdim{\dimen@>\@colroom}{\dimen@\@colroom}{}% \ltxgrid@info@sw{\saythe{\ht\z@}\saythe{\ht\tw@}\saythe\@colroom\saythe\dimen@}{}% \setbox#1\vbox to\dimen@{\unvbox\tw@\unskip\raggedcolumn@skip}% \setbox#2\vbox to\dimen@{\unvbox\z@ \unskip\raggedcolumn@skip}% \outputdebug@sw{\trace@scroll{\showbox#1\showbox#2}}{}% }% \def\remove@depth#1{% \setbox#1\vbox\bgroup \unvcopy#1% \setbox\z@\vbox\bgroup \unvbox#1% \setbox\z@\lastbox \aftergroup\kern\aftergroup-\expandafter \egroup \the\dp\z@\relax \egroup }% \def\recover@column#1#2#3#4{% \ltxgrid@info@sw{\class@info{\string\recover@column\string#1\string#2\string#3\string#4}}{}% \setbox#4\vbox{\unvcopy#1}% \ltxgrid@foot@info@sw{\trace@scroll{\showbox#4}}{}% \dimen@\ht#4% \ltxgrid@foot@info@sw{\saythe\dimen@}{}% \setbox#4\vbox\bgroup \unvbox#4\unskip \dimen@i\lastkern\unkern\advance\dimen@i\lastkern \@ifdim{\dimen@i=\z@}{% \dimen@i\lastkern\unkern \ltxgrid@foot@info@sw{\saythe\dimen@i}{}% \aftergroup\dimen@i \expandafter\egroup\the\dimen@i\relax }{% \egroup }% \@ifdim{\dimen@i<\z@}{% \advance\dimen@\dimen@i \ltxgrid@foot@info@sw{\saythe\dimen@i\saythe\dimen@}{}% \splittopskip\z@skip \global\setbox#3\vsplit#4 to\dimen@ \global\setbox#4\vbox{\unvbox#4}% \ltxgrid@foot@info@sw{\trace@scroll{\showbox#1\showbox#2\showbox#3\showbox#4}}{}% \global\setbox#2\vbox\bgroup\unvbox#2\vskip\z@skip\unvbox#4\egroup }{% \setbox#3\box#4% \ltxgrid@foot@info@sw{\trace@scroll{\showbox#1\showbox#2\showbox#3\showbox#4}}{}% }% \unvbox#3% \loopwhile{\dimen@\lastskip\@ifdim{\dimen@>\z@}{\unskip\true@sw}{\false@sw}}% }% \def\recover@column@null#1#2#3#4{% \unvcopy#1% }% \prepdef\@begindocumenthook{% \open@column@one\@ne \set@colht \@floatplacement \@dblfloatplacement }% \def\longtable@longtable{% \par \ifx\multicols\@undefined\else\ifnum\col@number>\@ne\@twocolumntrue\fi\fi \if@twocolumn\LT@err{longtable not in 1-column mode}\@ehc\fi \begingroup \@ifnextchar[\LT@array{\LT@array[x]}% }% \def\longtable@new{% \par \@ifnextchar[\LT@array{\LT@array[x]}% }% \def\endlongtable@longtable{% \crcr \noalign{% \let\LT@entry\LT@entry@chop \xdef\LT@save@row{\LT@save@row}}% \LT@echunk \LT@start \unvbox\z@ \LT@get@widths \if@filesw {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% \gdef\expandafter\noexpand \csname LT@\romannumeral\c@LT@tables\endcsname {\LT@save@row}}}% \fi \ifx\LT@save@row\LT@@save@row \else \LT@warn{Column \@width s have changed\MessageBreak in table \thetable}% \LT@final@warn \fi \endgraf\penalty -\LT@end@pen \endgroup \global\@mparbottom\z@ \pagegoal\vsize \endgraf\penalty\z@\addvspace\LTpost \ifvoid\footins\else\insert\footins{}\fi }% \def\endlongtable@new{% \crcr \noalign{% \let\LT@entry\LT@entry@chop \xdef\LT@save@row{\LT@save@row}% }% \LT@echunk \LT@start \unvbox\z@ \LT@get@widths \@if@sw\if@filesw\fi{% {% \let\LT@entry\LT@entry@write \immediate\write\@auxout{% \gdef\expandafter\noexpand\csname LT@\romannumeral\c@LT@tables\endcsname {\LT@save@row}% }% }% }{}% \@ifx{\LT@save@row\LT@@save@row}{}{% \LT@warn{% Column \@width s have changed\MessageBreak in table \thetable }\LT@final@warn }% \endgraf \nobreak \box\@ifvoid\LT@lastfoot{\LT@foot}{\LT@lastfoot}% \global\@mparbottom\z@ \endgraf \LT@post }% \def\LT@start@longtable{% \let\LT@start\endgraf \endgraf\penalty\z@\vskip\LTpre \dimen@\pagetotal \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi \advance\dimen@ \ht\LT@foot \dimen@ii\vfuzz \vfuzz\maxdimen \setbox\tw@\copy\z@ \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox \setbox\tw@\vbox{\unvbox\tw@}% \vfuzz\dimen@ii \advance\dimen@ \ht \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi \advance\dimen@\dp \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi \advance\dimen@ -\pagegoal \ifdim \dimen@>\z@\vfil\break\fi \global\@colroom\@colht \ifvoid\LT@foot\else \advance\vsize-\ht\LT@foot \global\advance\@colroom-\ht\LT@foot \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ \maxdepth\z@ \fi \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi \nobreak \output{\LT@output}% }% \def\LT@start@new{% \let\LT@start\endgraf \endgraf \markthr@@{}% \LT@pre \@ifvoid\LT@firsthead{\LT@top}{\box\LT@firsthead\nobreak}% \mark@envir{longtable}% }% \def\LT@end@hd@ft@longtable#1{% \LT@echunk \ifx\LT@start\endgraf \LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}% \fi \setbox#1\box\z@ \LT@get@widths\LT@bchunk }% \def\LT@end@hd@ft@new#1{% \LT@echunk \@ifx{\LT@start\endgraf}{% \LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}% }% \global\setbox#1\box\z@ \LT@get@widths \LT@bchunk }% \def\LT@array@longtable[#1]#2{% \refstepcounter{table}\stepcounter{LT@tables}% \if l#1% \LTleft\z@ \LTright\fill \else\if r#1% \LTleft\fill \LTright\z@ \else\if c#1% \LTleft\fill \LTright\fill \fi\fi\fi \let\LT@mcol\multicolumn \let\LT@@tabarray\@tabarray \let\LT@@hl\hline \def\@tabarray{% \let\hline\LT@@hl \LT@@tabarray}% \let\\\LT@tabularcr\let\tabularnewline\\% \def\newpage{\noalign{\break}}% \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption \@tempdima\ht\strutbox \let\@endpbox\LT@endpbox \ifx\extrarowheight\@undefined \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \def\@startpbox{\vtop\LT@startpbox}% \let\@@startpbox\@startpbox \let\@@endpbox\@endpbox \let\LT@LL@FM@cr\@tabularcr \else \advance\@tempdima\extrarowheight \col@sep\tabcolsep \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr \fi \setbox\@arstrutbox\hbox{\vrule \@height \arraystretch \@tempdima \@depth \arraystretch \dp \strutbox \@width \z@}% \let\@sharp##\let\protect\relax \begingroup \@mkpream{#2}% \xdef\LT@bchunk{% \global\advance\c@LT@chunks\@ne \global\LT@rows\z@\setbox\z@\vbox\bgroup \LT@setprevdepth \tabskip\LTleft \noexpand\halign to\hsize\bgroup \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}% \endgroup \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols \LT@make@row \m@th\let\par\@empty \everycr{}\lineskip\z@\baselineskip\z@ \LT@bchunk}% \def\LT@LR@l{\LTleft\z@ \LTright\fill}% \def\LT@LR@r{\LTleft\fill \LTright\z@ }% \def\LT@LR@c{\LTleft\fill \LTright\fill}% \def\LT@array@new[#1]#2{% \refstepcounter{table}\stepcounter{LT@tables}% \table@hook \LTleft\fill \LTright\fill \csname LT@LR@#1\endcsname \let\LT@mcol\multicolumn \let\LT@@hl\hline \prepdef\@tabarray{\let\hline\LT@@hl}% \let\\\LT@tabularcr \let\tabularnewline\\% \def\newpage{\noalign{\break}}% \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% \let\hline\LT@hline \let\kill\LT@kill \let\caption\LT@caption \@tempdima\ht\strutbox \let\@endpbox\LT@endpbox \@ifxundefined\extrarowheight{% \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \def\@startpbox{\vtop\LT@startpbox}% \let\@@startpbox\@startpbox \let\@@endpbox\@endpbox \let\LT@LL@FM@cr\@tabularcr@LaTeX \let\@xtabularcr\@xtabularcr@LaTeX }{% \advance\@tempdima\extrarowheight \col@sep\tabcolsep \let\@startpbox\LT@startpbox \let\LT@LL@FM@cr\@arraycr@array }% \let\@acoll\@tabacoll \let\@acolr\@tabacolr \let\@acol\@tabacol \setbox\@arstrutbox\hbox{% \vrule \@height \arraystretch \@tempdima \@depth \arraystretch \dp \strutbox \@width \z@ }% \let\@sharp##% \let\protect\relax \begingroup \@mkpream{#2}% \@mkpream@relax \edef\@preamble{\@preamble}% \prepdef\@preamble{% \global\advance\c@LT@chunks\@ne \global\LT@rows\z@ \setbox\z@\vbox\bgroup \LT@setprevdepth \tabskip\LTleft \halign to\hsize\bgroup \tabskip\z@ \@arstrut }% \appdef\@preamble{% \tabskip\LTright \cr }% \global\let\LT@bchunk\@preamble \endgroup \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols \LT@make@row \m@th \let\par\@empty \everycr{}% \lineskip\z@ \baselineskip\z@ \LT@bchunk }% \appdef\table@hook{}% \def\switch@longtable{% \@ifpackageloaded{longtable}{% \@ifx{\longtable\longtable@longtable}{% \@ifx{\endlongtable\endlongtable@longtable}{% \@ifx{\LT@start\LT@start@longtable}{% \@ifx{\LT@end@hd@ft\LT@end@hd@ft@longtable}{% \@ifx{\LT@array\LT@array@longtable}{% \true@sw }{\false@sw}% }{\false@sw}% }{\false@sw}% }{\false@sw}% }{\false@sw}% {% \class@info{Patching longtable package}% }{% \class@info{Patching unrecognized longtable package. (Proceeding with fingers crossed)}% }% \let\longtable\longtable@new \let\endlongtable\endlongtable@new \let\LT@start\LT@start@new \let\LT@end@hd@ft\LT@end@hd@ft@new \let\LT@array\LT@array@new \newenvironment{longtable*}{% \onecolumngrid@push \longtable }{% \endlongtable \onecolumngrid@pop }% }{}% }% \def\LT@pre{\penalty\z@\vskip\LTpre}% \def\LT@bot{\nobreak\copy\LT@foot\vfil}% \def\LT@top{\copy\LT@head\nobreak}% \def\LT@post{\penalty\z@\addvspace\LTpost\mark@envir{\curr@envir}}% \def\LT@adj{% \setbox\z@\vbox{\null}\dimen@-\ht\z@ \setbox\z@\vbox{\unvbox\z@\LT@bot}\advance\dimen@\ht\z@ \global\advance\vsize-\dimen@ }% \def\output@init@longtable{\LT@adj}% \def\output@prep@longtable{\setbox\@cclv\vbox{\unvbox\@cclv\LT@bot}}% \def\output@post@longtable{\LT@top}% \let\output@init@theindex\@empty \let\output@prep@theindex\@empty \def\output@post@theindex{% \@ifodd\c@page{}{% \@ifnum{\pagegrid@cur=\@ne}{% }% }% }% \def\check@aux{\do@output@MVL{\do@check@aux}}% \def\check@deferlist@stuck#1{% \@ifx{\@deferlist@postshipout\@empty}{}{% \@ifx{\@deferlist@postshipout\@deferlist}{% \@fltstk \clearpage@sw{% \ltxgrid@warn{Deferred float stuck during \string\clearpage\space processing}% }{% \force@deferlist@stuck#1% }% }{% }% \global\let\@deferlist@postshipout\@empty }% }% \def\@fltstk{% \@latex@warning{A float is stuck (cannot be placed without \string\clearpage)}% }% \appdef\@outputpage@tail{% \global\let\@deferlist@postshipout\@deferlist }% \def\@next#1#2{% \@ifx{#2\@empty}{\false@sw}{% \expandafter\@xnext#2\@@#1#2% \true@sw }% }% \def\@xnext\@elt#1#2\@@#3#4{% \def#3{#1}% \gdef#4{#2}% \def\@tempa{#4}\def\@tempb{\@freelist}% \@ifx{\@tempa\@tempb}{% \@ifx{#4\@empty}{% \force@deferlist@empty%{Float register pool exhausted}% }{}% }{}% }% \def\force@deferlist@stuck#1{% \force@deferlist@sw{% \@booleantrue\clearpage@sw \@booleantrue\forcefloats@sw #1% }{% }% }% \def\force@deferlist@empty{% \force@deferlist@sw{% \penalty-\pagebreak@pen \protect@penalty\do@forcecolumn@pen }{% }% }% \@booleanfalse\force@deferlist@sw \mathchardef\do@forcecolumn@pen=10009 \@namedef{output@-\the\do@forcecolumn@pen}{\do@forcecolumn}% \def\do@forcecolumn{% \@booleantrue\clearpage@sw \@booleantrue\forcefloats@sw \do@startcolumn }% \def\enlargethispage{% \@ifstar{% \@enlargethispage{}% }{% \@enlargethispage{}% }% }% \def\@enlargethispage#1#2{% \begingroup \dimen@#2\relax \edef\@tempa{#1}% \edef\@tempa{\noexpand\@@enlargethispage{\@tempa}{\the\dimen@}}% \expandafter\do@output@MVL\expandafter{\@tempa}% \endgroup }% \def\@@enlargethispage#1#2{% \def\@tempa{one}% \@ifx{\thepagegrid\@tempa}{% \true@sw }{% \def\@tempa{mlt}% \@ifx{\thepagegrid\@tempa}{% \@ifnum{\pagegrid@cur=\@ne}{% \gdef\enlarge@colroom{#2}% \true@sw }{% \ltxgrid@warn{Too late to enlarge this page; move the command to the first column.}% \false@sw }% }{% \ltxgrid@warn{Unable to enlarge a page of this kind.}% \false@sw }% }% {% \class@info{Enlarging page \thepage\space by #2}% \global\advance\@colroom#2\relax \set@vsize }{% }% }% \let\enlarge@colroom\@empty \let\@kludgeins\@undefined \@booleantrue\textheight@sw \prepdef\@outputpage@head{% \textheight@sw{% \count@\vbadness\vbadness\@M \dimen@\vfuzz\vfuzz\maxdimen \setbox\@outputbox\vbox to\textheight{\unvbox\@outputbox}% \vfuzz\dimen@ \vbadness\count@ }{}% }% \appdef\@outputpage@head{% \@ifx{\LS@rot\@undefined}{}{\LS@rot}% }% \def\ltxgrid@info{% \ltxgrid@info@sw{\class@info}{\@gobble}% }% \@booleanfalse\ltxgrid@info@sw \def\ltxgrid@warn{% \ltxgrid@warn@sw{\class@warn}{\@gobble}% }% \@booleantrue\ltxgrid@warn@sw \@booleanfalse\ltxgrid@foot@info@sw \def\def@next@handler#1#2#3{% \advance#1\@ne\mathchardef#2\the#1% \expandafter\def\csname output@-\the#1\endcsname{#3}% }% \def\def@line@handler#1#2{% \begingroup \@tempcnta\int@parpenalty \advance\@tempcnta-#1% \aftergroup\def \expandafter\aftergroup\csname output@-\the\@tempcnta\endcsname \endgroup{#2}% }% \mathchardef\int@parpenalty11012 \def@line@handler\z@{\@handle@line@ltx{}{}{}}% \def@line@handler\@ne{\@handle@line@ltx{}{}{\brokenpenalty@ltx}}% \def@line@handler\tw@{\@handle@line@ltx{}{\clubpenalty@ltx}{}}% \def@line@handler\thr@@{\@handle@line@ltx{\clubpenalty@ltx}{}{\brokenpenalty@ltx}}% \def@line@handler\f@ur{\@handle@line@ltx{\widowpenalty@ltx}{}{}}% \def@line@handler{5}{\@handle@line@ltx{\widowpenalty@ltx}{}{\brokenpenalty@ltx}}% \def@line@handler{6}{\@handle@line@ltx{\widowpenalty@ltx}{\clubpenalty@ltx}{}}% \def@line@handler{7}{\@handle@line@ltx{\widowpenalty@ltx}{\clubpenalty@ltx}{\brokenpenalty@ltx}}% \def@line@handler{8}{\@handle@line@ltx{\displaywidowpenalty@ltx}{}{}}% \def@line@handler{9}{\@handle@line@ltx{\displaywidowpenalty@ltx}{}{\brokenpenalty@ltx}}% \def@line@handler{10}{\@handle@line@ltx{\displaywidowpenalty@ltx}{\clubpenalty@ltx}{}}% \def@line@handler{11}{\@handle@line@ltx{\displaywidowpenalty@ltx}{\clubpenalty@ltx}{\brokenpenalty@ltx}}% \def\@handle@line@ltx#1#2#3{% \@@handle@line@ltx \@tempcnta\lastpenalty \@tempcntb\interlinepenalty@ltx\relax \@if@empty{#1}{}{\advance\@tempcntb#1\relax}% \@if@empty{#2}{}{\advance\@tempcntb#2\relax}% \@if@empty{#3}{}{\advance\@tempcntb#3\relax}% \penalty\@ifnum{\@tempcnta<\@tempcntb}{\@tempcntb}{\@tempcnta}% }% \let\@@handle@line@ltx\@empty \@tempcnta\int@parpenalty \def@next@handler\@tempcnta\int@postparpenalty{\reset@queues@ltx\handle@par@ltx}% \def@next@handler\@tempcnta\int@vadjustpenalty{\handle@vadjust@ltx}% \def@next@handler\@tempcnta\int@whatsitpenalty{\handle@whatsit@ltx}% \def@next@handler\@tempcnta\int@predisplaypenalty{\reset@queues@ltx\@handle@display@ltx{\predisplaypenalty@ltx}}% \def@next@handler\@tempcnta\int@interdisplaylinepenalty{\@handle@display@ltx{\interdisplaylinepenalty@ltx}}% \def@next@handler\@tempcnta\int@postdisplaypenalty{\@handle@display@ltx{\postdisplaypenalty@ltx}}% \def\@handle@display@ltx#1{% \@@handle@display@ltx \@tempcnta\lastpenalty \@tempcntb#1% \penalty\@ifnum{\@tempcnta<\@tempcntb}{\@tempcntb}{\@tempcnta}% }% \let\@@handle@display@ltx\@empty \def\handle@par@ltx{}% \def\set@linepenalties{% \expandafter\def\expandafter\interlinepenalty@ltx\expandafter{\the\interlinepenalty}% \interlinepenalty-\int@parpenalty \expandafter\def\expandafter\brokenpenalty@ltx\expandafter{\the\brokenpenalty}% \brokenpenalty\@ne \expandafter\def\expandafter\clubpenalty@ltx\expandafter{\the\clubpenalty}% \clubpenalty\tw@ \expandafter\def\expandafter\widowpenalty@ltx\expandafter{\the\widowpenalty}% \widowpenalty\f@ur \expandafter\def\expandafter\displaywidowpenalty@ltx\expandafter{\the\displaywidowpenalty}% \displaywidowpenalty8\relax }% \def\restore@linepenalties{% \interlinepenalty\interlinepenalty@ltx \brokenpenalty\brokenpenalty@ltx \clubpenalty\clubpenalty@ltx \widowpenalty\widowpenalty@ltx \displaywidowpenalty\displaywidowpenalty@ltx \relax }% \def\set@displaypenalties#1{% \expandafter\def\expandafter\predisplaypenalty@ltx\expandafter{\the\predisplaypenalty}% \expandafter\def\expandafter\interdisplaylinepenalty@ltx\expandafter{\the\interdisplaylinepenalty}% \expandafter\def\expandafter\postdisplaypenalty@ltx\expandafter{\the\postdisplaypenalty}% \@ifhmode{\predisplaypenalty-\int@predisplaypenalty\relax}{}% #1{\interdisplaylinepenalty-\int@interdisplaylinepenalty\relax}{}% #1{\postdisplaypenalty-\int@postdisplaypenalty\relax}{}% }% \def\enqueue@whatsit@ltx#1{% \gappdef\g@whatsit@queue{{#1}}% \vadjust{\penalty-\int@whatsitpenalty}% }% \def\handle@whatsit@ltx{% \unvbox\@cclv \g@pop@ltx\g@whatsit@queue\@tempa \expandafter\do@whatsit\expandafter{\@tempa}% }% \def\do@whatsit#1{}% \def\g@pop@ltx#1#2{% \expandafter\@g@pop@ltx#1{}{}\@@#1#2% }% \def\@g@pop@ltx#1#2\@@#3#4{% \gdef#3{#2}% \def#4{#1}% }% \let\vspace@ltx\vspace \let\pagebreak@ltx\pagebreak \let\nopagebreak@ltx\nopagebreak \let\endline@ltx\\ \let\@arrayparboxrestore@ltx\@arrayparboxrestore \def\@vspace@org #1{% \ifvmode \vskip #1 \vskip\z@skip \else \@bsphack \vadjust{\@restorepar \vskip #1 \vskip\z@skip }% \@esphack \fi }% \def\@vspace@ltx#1{% \@ifvmode{% \vskip#1\vskip\z@skip }{% \@bsphack \ex@vadjust@ltx{% \@restorepar \nobreak \vskip#1\vskip\z@skip }% \@esphack }% }% \def\@vspacer@org#1{% \ifvmode \dimen@\prevdepth \hrule \@height\z@ \nobreak \vskip #1 \vskip\z@skip \prevdepth\dimen@ \else \@bsphack \vadjust{\@restorepar \hrule \@height\z@ \nobreak \vskip #1 \vskip\z@skip}% \@esphack \fi }% \def\@vspacer@ltx#1{% \@ifvmode{% \dimen@\prevdepth \hrule\@height\z@ \nobreak \vskip#1\vskip\z@skip \prevdepth\dimen@ }{% \@bsphack \ex@vadjust@ltx{% \@restorepar \hrule\@height\z@ \nobreak \vskip#1\vskip\z@skip }% \@esphack }% }% \def\@no@pgbk@org #1[#2]{% \ifvmode \penalty #1\@getpen{#2}% \else \@bsphack \vadjust{\penalty #1\@getpen{#2}}% \@esphack \fi }% \def\@no@pgbk@ltx#1[#2]{% \@ifvmode{% \penalty#1\@getpen{#2}% }{% \@bsphack \ex@vadjust@ltx{% \penalty#1\@getpen{#2}% }% \@esphack }% }% \long\def\end@line@org{% \let\reserved@e\relax \let\reserved@f\relax \@ifstar{% \let\reserved@e\vadjust \let\reserved@f\nobreak \@xnewline }% \@xnewline }% \long\def\end@line@ltx{% \let\reserved@e\relax \let\reserved@f\relax \@ifstar{% \let\reserved@e\ex@vadjust@ltx \let\reserved@f\nobreak \@xnewline }{% \@xnewline }% }% \def\@newline@org[#1]{% \let\reserved@e\vadjust \@gnewline{\vskip#1}% }% \def\@newline@ltx[#1]{% \let\reserved@e\ex@vadjust@ltx \@gnewline{\vskip#1}% }% \@ifx{\@vspace\@vspace@org}{% \@ifx{\@vspacer\@vspacer@org}{% \@ifx{\@no@pgbk\@no@pgbk@org}{% \@ifx{\@newline\@newline@org}{% \expandafter\@ifx\expandafter{\csname\expandafter\@gobble\string\\ \endcsname\end@line@org}{% \true@sw }{\false@sw}% }{\false@sw}% }{\false@sw}% }{\false@sw}% }{\false@sw}% {% \class@info{Overriding \string\@vspace, \string\@vspacer, \string\@no@pgbk, \string\@newline, and \string\\ }% \let\@normalcr\end@line@ltx \expandafter\let\csname\expandafter\@gobble\string\\ \endcsname\@normalcr \let\@newline\@newline@ltx \let\@vspace\@vspace@ltx \let\@vspacer\@vspacer@ltx \let\@no@pgbk\@no@pgbk@ltx }{% \class@warn{% Failed to recognize \string\@vspace, \string\@vspacer, \string\@no@pgbk, \string\@newline, and \string\\; no patches applied. Please get a more up-to-date class, }% }% \let\ex@vadjust@ltx\vadjust \def\enqueue@vadjust@ltx#1{% \gappdef\g@vadjust@queue{{#1}}% \vadjust{\penalty-\int@vadjustpenalty}% }% \def\handle@vadjust@ltx{% \unvbox\@cclv \g@pop@ltx\g@vadjust@queue\@tempa \expandafter\gappdef\expandafter\g@vadjust@line\expandafter{\@tempa}% }% \let\g@vadjust@line\@empty \def\reset@queues@ltx{% \global\let\g@whatsit@queue\@empty \global\let\g@vadjust@queue\@empty }% \newcommand\linenomathWithnumbers@LN{% \ifLineNumbers \ifnum\interlinepenalty>-\linenopenaltypar \global\holdinginserts\thr@@ \advance\interlinepenalty \linenopenalty \ifhmode \advance\predisplaypenalty \linenopenalty \fi \advance\postdisplaypenalty \linenopenalty \advance\interdisplaylinepenalty \linenopenalty \fi \fi \ignorespaces }% \newcommand\linenomathNonumbers@LN{% \ifLineNumbers \ifnum\interlinepenalty>-\linenopenaltypar \global\holdinginserts\thr@@ \advance\interlinepenalty \linenopenalty \ifhmode \advance\predisplaypenalty \linenopenalty \fi \fi \fi \ignorespaces }% \def\endlinenomath@LN{% \ifLineNumbers \global\holdinginserts\@LN@outer@holdins \fi \global\@ignoretrue } \def\linenumberpar@LN{% \ifvmode \@@@par \else \ifinner \@@@par \else \xdef\@LN@outer@holdins{\the\holdinginserts}% \advance \interlinepenalty \linenopenalty \linenoprevgraf \prevgraf \global \holdinginserts \thr@@ \@@@par \ifnum\prevgraf>\linenoprevgraf \penalty-\linenopenaltypar \fi \@LN@parpgbrk \global\holdinginserts\@LN@outer@holdins \advance\interlinepenalty -\linenopenalty \fi \fi }% \appdef\class@documenthook{% \@ifpackageloaded{lineno}{% \@ifx{\linenomathWithnumbers\linenomathWithnumbers@LN}{% \@ifx{\linenomathNonumbers\linenomathNonumbers@LN}{% \@ifx{\endlinenomath\endlinenomath@LN}{% \@ifx{\linenumberpar\linenumberpar@LN}{% \true@sw }{\false@sw}% }{\false@sw}% }{\false@sw}% }{\false@sw}% {% \class@info{Overriding lineo.sty, restoring output routine,}% \let\linenumberpar\linenumberpar@ltx \let\endlinenomath\endlinenomath@ltx \expandafter\let\csname endlinenomath*\endcsname\endlinenomath@ltx \let\linenomathWithnumbers\linenomathWithnumbers@ltx \let\linenomathNonumbers\linenomathNonumbers@ltx \let\ex@vadjust@ltx\ex@vadjust@line \let\@LN@postlabel\enqueue@whatsit@ltx \let\do@whatsit\write@linelabel \let\handle@par@ltx\handle@par@LN \let\@@handle@line@ltx\Make@LineNo@ltx \let\@@handle@display@ltx\Make@LineNo@ltx \output@latex{\natural@output}% \let\vspace\vspace@ltx \let\pagebreak\pagebreak@ltx \let\nopagebreak\nopagebreak@ltx \let\@arrayparboxrestore\@arrayparboxrestore@ltx \let\\\endline@ltx \appdef\set@footnotefont{% \let\par\@@@par \let\@@par\@@@par }% \@if@sw\ifLineNumbers\fi{% \class@info{Reinvoke \string\linenumbers}% \let\@@par\linenumberpar \@ifx{\@par\linenumberpar@LN}{\let\@par\linenumberpar}{}% \@ifx{\par\linenumberpar@LN}{\let\par\linenumberpar}{}% }{% \class@info{Line numbering not turned on yet}% }% }{% \class@warn{Failed to recognize lineno.sty procedures; no patches applied. Please get a more up-to-date class.}% }% }{% }% }% \def\linenumberpar@ltx{\@ifvmode{\@@@par}{\@linenumberpar}}% \def\@linenumberpar{% \linenoprevgraf\prevgraf \set@linepenalties \@@@par \@ifnum{\prevgraf>\linenoprevgraf}{ \penalty-\int@postparpenalty }{}% \@LN@parpgbrk \restore@linepenalties }% \newcommand\linenomathWithnumbers@ltx{\@linenomathnumbers@ltx\true@sw}% \newcommand\linenomathNonumbers@ltx{\@linenomathnumbers@ltx\false@sw}% \def\@linenomathnumbers@ltx#1{% \@if@sw\ifLineNumbers\fi{% \set@linepenalties \set@displaypenalties#1% }{}% \ignorespaces }% \def\endlinenomath@ltx{% \global\@ignoretrue }% \def\handle@par@LN{% \Make@LineNo@ltx \@tempcnta\lastpenalty \@ifnum{\@tempcnta=\z@}{}{% \expandafter\gdef \expandafter\@LN@parpgbrk \expandafter{% \expandafter\penalty \the\@tempcnta \global\let\@LN@parpgbrk\@LN@screenoff@pen }% }% }% \def\Make@LineNo@ltx{% \@LN@maybe@normalLineNumber \boxmaxdepth\maxdimen\setbox\z@\vbox{\unvbox\@cclv}% \@tempdima\dp\z@ \unvbox\z@ \sbox\@tempboxa{\hb@xt@\z@{\makeLineNumber}}% \ht\@tempboxa\z@ \@LN@depthbox \stepLineNumber \g@vadjust@line \global\let\g@vadjust@line\@empty }% \def\write@linelabel#1{% \protected@write\@auxout{}{% \string\newlabel{#1}{{\theLineNumber}{\thepage}{}{}{}}% }% }% \def\ex@vadjust@line{% \@if@sw\ifLineNumbers\fi{\enqueue@vadjust@ltx}{\vadjust}% }% \endinput %% %% End of file `ltxgrid.sty'.