SHARE
TWEET

revtex4-1.cls

a guest Nov 29th, 2013 286 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. %%
  2. %% This is file `revtex4-1.cls',
  3. %% generated with the docstrip utility.
  4. %%
  5. %% The original source files were:
  6. %%
  7. %% revtex4-1.dtx  (with options: `kernel')
  8. %% ltxutil.dtx  (with options: `kernel')
  9. %% ltxfront.dtx  (with options: `kernel')
  10. %% ltxgrid.dtx  (with options: `kernel')
  11. %% revtex4-1.dtx  (with options: `options')
  12. %% ltxutil.dtx  (with options: `options')
  13. %% ltxfront.dtx  (with options: `options')
  14. %% ltxgrid.dtx  (with options: `options')
  15. %% revtex4-1.dtx  (with options: `package')
  16. %%
  17. %% This file is part of the APS files in the REVTeX 4 distribution.
  18. %% For the version number, search on the string
  19. %% Original version by David Carlisle
  20. %% Modified by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal dot net)
  21. %%
  22. %% Copyright (c) 2009 The American Physical Society.
  23. %% http://publish.aps.org/revtex4/
  24. %% mailto:revtex4@aps.org
  25. %%
  26. %% See the REVTeX 4 README file for restrictions and more information.
  27. %%
  28. \NeedsTeXFormat{LaTeX2e}[1996/12/01]%
  29. \ProvidesClass{revtex4-1}
  30.  [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
  31. \let\class@name\@gtempa
  32. \GenericInfo{}{\space
  33.  Copyright (c) 2009 The American Physical Society.^^J
  34.  mailto:revtex@aps.org^^J
  35.  Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J
  36.  Arthur Ogawa <arthur_ogawa at sbcglobal dot net>^^J
  37.  Based on work by David Carlisle <david at dcarlisle.demon.co.uk>%
  38.  \@gobble
  39. }%
  40. \if@compatibility
  41.   \edef\reserved@a{\errhelp{%
  42.    Change your \string\documentstyle\space statement to
  43.    \string\documentclass\space and rerun.
  44.   }}\reserved@a
  45.   \errmessage{You cannot run \class@name\space in compatability mode}%
  46.   \expandafter\@@end
  47. \fi
  48. \typeout{%
  49. ltxutil%
  50.  [2010/07/25/20:33:00 4.1r utilities package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
  51. }%
  52. \def\class@err#1{\ClassError{\class@name}{#1}\@eha}%
  53. \def\class@warn#1{\ClassWarningNoLine{\class@name}{#1}}%
  54. \def\class@info#1{\ClassInfo{\class@name}{#1}}%
  55. \def\obsolete@command#1{%
  56.  \class@warn@end{Command \string#1\space is obsolete.^^JPlease remove from your document}%
  57.  \global\let#1\@empty
  58.  #1%
  59. }%
  60. \def\replace@command#1#2{%
  61.  \class@warn@end{Command \string#1\space is obsolete;^^JUse \string#2\space instead}%
  62.  \global\let#1#2%
  63.  #1%
  64. }%
  65. \def\replace@environment#1#2{%
  66.  \class@warn@end{Environment #1 is obsolete;^^JUse #2 instead}%
  67.  \glet@environment{#1}{#2}%
  68.  \@nameuse{#1}%
  69. }%
  70. \def\incompatible@package#1{%
  71.  \@ifpackageloaded{#1}{%
  72.   \def\@tempa{I cannot continue. You must remove the \string\usepackage\ statement that caused that package to be loaded.}%
  73.   \ClassError{\class@name}{The #1 package cannot be used with \class@name}%
  74.   \@tempa\stop
  75.  }{%
  76.   \class@info{#1 was not loaded (OK!)}%
  77.  }%
  78. }%
  79. \def\class@warn@end#1{%
  80.  \gappdef\class@enddocumenthook{\class@warn{#1}}%
  81. }%
  82. \ifx\undefined\class@name
  83.  \def\class@name{ltxutil}%
  84.  \class@warn{You should define the class name before reading in this package. Using default}%
  85. \fi
  86. \def\t@{to}%
  87. \dimendef\dimen@iii\thr@@
  88. \def\halignt@{\halign\t@}%
  89. \chardef\f@ur=4\relax
  90. \chardef\cat@letter=11\relax
  91. \chardef\other=12\relax
  92. \def\let@environment#1#2{%
  93.  \expandafter\let
  94.  \csname#1\expandafter\endcsname\csname#2\endcsname
  95.  \expandafter\let
  96.  \csname end#1\expandafter\endcsname\csname end#2\endcsname
  97. }%
  98. \def\glet@environment#1#2{%
  99.  \global\expandafter\let
  100.  \csname#1\expandafter\endcsname\csname#2\endcsname
  101.  \global\expandafter\let
  102.  \csname end#1\expandafter\endcsname\csname end#2\endcsname
  103. }%
  104. \newcommand\tracingplain{%
  105.  \tracingonline\z@\tracingcommands\z@\tracingstats\z@
  106.  \tracingpages\z@\tracingoutput\z@\tracinglostchars\@ne
  107.  \tracingmacros\z@\tracingparagraphs\z@\tracingrestores\z@
  108.  \showboxbreadth5\showboxdepth3\relax %\errorstopmode
  109.  }%
  110. \newcommand\traceoutput{%
  111.  \appdef\@resetactivechars{\showoutput}%
  112. }%
  113. \newcommand\say[1]{\typeout{<\noexpand#1=\meaning#1>}}%
  114. \newcommand\saythe[1]{\typeout{<\noexpand#1=\the#1>}}%
  115. \def\fullinterlineskip{\prevdepth\z@}%
  116. \countdef\count@i\@ne
  117. \countdef\count@ii\tw@
  118. \long\def\prepdef#1#2{%
  119.  \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
  120.  \toks@ii{#2}%
  121.  \edef#1{\the\toks@ii\the\toks@}%
  122. }%
  123. \long\def\appdef#1#2{%
  124.  \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
  125.  \toks@ii{#2}%
  126.  \edef#1{\the\toks@\the\toks@ii}%
  127. }%
  128. \long\def\gappdef#1#2{%
  129.  \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
  130.  \toks@ii{#2}%
  131.  \global\edef#1{\the\toks@\the\toks@ii}%
  132. }%
  133. \long\def\appdef@val#1#2{%
  134.  \appdef#1{{#2}}%
  135. }%
  136. \long\def\appdef@e#1#2{%
  137.  \expandafter\appdef
  138.  \expandafter#1%
  139.  \expandafter{#2}%
  140. }%
  141. \long\def\appdef@eval#1#2{%
  142.  \expandafter\appdef@val
  143.  \expandafter#1%
  144.  \expandafter{#2}%
  145. }%
  146. \toksdef\toks@ii=\tw@
  147. \long\def\@ifxundefined#1{\@ifx{\undefined#1}}%
  148. \long\def\@ifnotrelax#1#2#3{\@ifx{\relax#1}{#3}{#2}}%
  149. \long\def\@argswap#1#2{#2#1}%
  150. \long\def\@argswap@val#1#2{#2{#1}}%
  151. \def\@ifxundefined@cs#1{\expandafter\@ifx\expandafter{\csname#1\endcsname\relax}}%
  152. \def\@boolean#1#2{%
  153.   \long\def#1{%
  154.     #2% \if<something>
  155.       \expandafter\true@sw
  156.     \else
  157.       \expandafter\false@sw
  158.     \fi
  159.   }%
  160. }%
  161. \def\@boole@def#1#{\@boolean{#1}}% Implicit #2
  162. \def\@booleantrue#1{\let#1\true@sw}%
  163. \def\@booleanfalse#1{\let#1\false@sw}%
  164. \@boole@def\@ifx#1{\ifx#1}%
  165. \@boole@def\@ifx@empty#1{\ifx\@empty#1}%
  166. \@boole@def\@if@empty#1{\if!#1!}%
  167. \def\@if@sw#1#2{#1\expandafter\true@sw\else\expandafter\false@sw#2}%
  168. \@boole@def\@ifdim#1{\ifdim#1}%
  169. \@boole@def\@ifeof#1{\ifeof#1}%
  170. \@boole@def\@ifhbox#1{\ifhbox#1}%
  171. \@boole@def\@ifhmode{\ifhmode}%
  172. \@boole@def\@ifinner{\ifinner}%
  173. \@boole@def\@ifmmode{\ifmmode}%
  174. \@boole@def\@ifnum#1{\ifnum#1}%
  175. \@boole@def\@ifodd#1{\ifodd#1}%
  176. \@boole@def\@ifvbox#1{\ifvbox#1}%
  177. \@boole@def\@ifvmode{\ifvmode}%
  178. \@boole@def\@ifvoid#1{\ifvoid#1}%
  179. \long\def\true@sw#1#2{#1}%
  180. \long\def\false@sw#1#2{#2}%
  181. \long\def\loopuntil#1{#1{}{\loopuntil{#1}}}%
  182. \long\def\loopwhile#1{#1{\loopwhile{#1}}{}}%
  183. \def\@provide#1{%
  184.  \@ifx{\undefined#1}{\true@sw}{\@ifx{\relax#1}{\true@sw}{\false@sw}}%
  185.  {\def#1}{\def\j@nk}%
  186. }%
  187. \prepdef\document{%
  188.  \endgroup
  189.  \document@inithook
  190.  \true@sw{}%
  191. }%
  192. \let\document@inithook\@empty
  193. \appdef\document@inithook{%
  194.  \AtBeginDocument{\class@documenthook}%
  195. }%
  196. \AtEndDocument{%
  197.  \class@enddocumenthook
  198. }%
  199. \let\class@documenthook\@empty
  200. \let\class@enddocumenthook\@empty
  201. \def\enddocument{%
  202.  \let\AtEndDocument\@firstofone
  203.  \@enddocumenthook
  204.  \@checkend{document}%
  205.  \clear@document
  206.  \check@aux
  207.  \deadcycles\z@
  208.  \@@end
  209. }%
  210. \def\check@aux{\do@check@aux}%
  211. \def\do@check@aux{%
  212.  \@if@sw\if@filesw\fi{%
  213.   \immediate\closeout\@mainaux
  214.   \let\@setckpt\@gobbletwo
  215.   \let\@newl@bel\@testdef
  216.   \@tempswafalse
  217.   \makeatletter
  218.   \input\jobname.aux\relax
  219.  }{}%
  220.  \@dofilelist
  221.  \@ifdim{\font@submax >\fontsubfuzz\relax}{%
  222.   \@font@warning{%
  223.    Size substitutions with differences\MessageBreak
  224.    up to \font@submax\space have occured.\@gobbletwo
  225.   }%
  226.  }{}%
  227.  \@defaultsubs
  228.  \@refundefined
  229.  \@if@sw\if@filesw\fi{%
  230.   \@ifx{\@multiplelabels\relax}{%
  231.    \@if@sw\if@tempswa\fi{%
  232.     \@latex@warning@no@line{%
  233.      Label(s) may have changed.
  234.      Rerun to get cross-references right
  235.     }%
  236.    }{}%
  237.   }{%
  238.     \@multiplelabels
  239.   }%
  240.  }{}%
  241. }%
  242. \def\clear@document{%
  243.  \clearpage
  244.  \do@output@cclv{%
  245.   \Call@AfterLastShipout
  246.  }%
  247. }%
  248. \appdef\class@documenthook{%
  249.  \providecommand\Call@AfterLastShipout{}%
  250. }%
  251. \def\class@extension#1#2{%
  252.  \IfFileExists{#1.#2}{%
  253.   \expandafter\class@extensionfile\csname ver@\@currname.\@currext\endcsname{#1}#2%
  254.  }{%
  255.   \csname rtx@#1\endcsname
  256.  }%
  257. }%
  258. \def\class@extensionfile#1#2#3{%
  259.  \@pass@ptions#3\@unusedoptionlist{#2}%
  260.  \global\let\@unusedoptionlist\@empty
  261.  \expandafter\class@ext@hook\csname#2.#3-h@@k\endcsname#1{#2}#3%
  262. }%
  263. \def\class@ext@hook#1#2#3#4{%
  264.  \@pushfilename@ltx
  265.  \makeatletter
  266.  \let\CurrentOption\@empty
  267.  \@reset@ptions
  268.  \let#1\@empty
  269.  \xdef\@currname{#3}%
  270.  \global\let\@currext#4%
  271.  \global\let\@clsextension\@currext
  272.  \input{#3.#4}%
  273.  \@ifl@ter#4{#3}#2{%
  274.   \class@info{Class extension later than: #2}%
  275.  }{%
  276.   \class@info{Class extension earlier: #2}%
  277.   \@@end
  278.  }%
  279.  #1%
  280.  \let#1\@undefined
  281.  \expandafter\@p@pfilename@ltx\@currnamestack@ltx\@nil
  282.  \@reset@ptions
  283. }%
  284. \def\@pushfilename@ltx{%
  285.  \xdef\@currnamestack@ltx{%
  286.   {\@currname}%
  287.   {\@currext}%
  288.   {\@clsextension}%
  289.   {\the\catcode`\@}%
  290.   \@currnamestack@ltx
  291.  }%
  292. }%
  293. \def\@p@pfilename@ltx#1#2#3#4#5\@nil{%
  294.  \gdef\@currname{#1}%
  295.  \gdef\@currext{#2}%
  296.  \gdef\@clsextension{#3}%
  297.  \catcode`\@#4\relax
  298.  \gdef\@currnamestack@ltx{#5}%
  299. }%
  300. \global\let\@currnamestack@ltx\@empty
  301. \def\flushing{%
  302.   \let\\\@normalcr
  303.   \leftskip\z@skip
  304.   \rightskip\z@skip
  305.   \@rightskip\z@skip
  306.   \parfillskip\@flushglue
  307. }%
  308. \expandafter\DeclareRobustCommand\expandafter\@centercr\expandafter{\@centercr}%
  309. \def\eqnarray@LaTeX{%
  310.    \stepcounter{equation}%
  311.    \def\@currentlabel{\p@equation\theequation}%
  312.    \global\@eqnswtrue
  313.    \m@th
  314.    \global\@eqcnt\z@
  315.    \tabskip\@centering
  316.    \let\\\@eqncr
  317.    $$\everycr{}\halign to\displaywidth\bgroup
  318.        \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel
  319.       &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil
  320.       &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep
  321.          $\displaystyle{##}$\hfil\tabskip\@centering
  322.       &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup
  323.          \tabskip\z@skip
  324.       \cr
  325. }
  326. \long\def\eqnarray@fleqn@fixed{%
  327.  \stepcounter{equation}\def\@currentlabel{\p@equation\theequation}%
  328.  \global\@eqnswtrue\m@th\global\@eqcnt\z@
  329.  \tabskip\ltx@mathindent
  330.  \let\\=\@eqncr
  331.  \setlength\abovedisplayskip{\topsep}%
  332.  \ifvmode\addtolength\abovedisplayskip{\partopsep}\fi
  333.  \addtolength\abovedisplayskip{\parskip}%
  334.  \setlength\belowdisplayskip{\abovedisplayskip}%
  335.  \setlength\belowdisplayshortskip{\abovedisplayskip}%
  336.  \setlength\abovedisplayshortskip{\abovedisplayskip}%
  337.  $$%
  338.  \everycr{}%
  339.  \halignt@\linewidth\bgroup
  340.   \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel
  341.   &\global\@eqcnt\@ne
  342.    \hskip\tw@\eqncolsep
  343.    \hfil${{}##{}}$\hfil
  344.   &\global\@eqcnt\tw@
  345.    \hskip\tw@\eqncolsep
  346.    $\displaystyle{##}$\hfil\tabskip\@centering
  347.   &\global\@eqcnt\thr@@\hb@xt@\z@\bgroup\hss##\egroup
  348.    \tabskip\z@skip
  349.   \cr
  350. }%
  351. \@ifx{\eqnarray\eqnarray@LaTeX}{%
  352.  \class@info{Repairing broken LaTeX eqnarray}%
  353.  \let\eqnarray\eqnarray@fleqn@fixed
  354.  \newlength\eqncolsep
  355.  \setlength\eqncolsep\z@
  356.  \let\eqnarray@LaTeX\relax
  357.  \let\eqnarray@fleqn@fixed\relax
  358. }{}%
  359. \def\ltx@mathindent{\@centering}%
  360. \def\set@eqnarray@skips{}%
  361. \def\prep@math{%
  362.  \@ifvmode{\everypar{{\setbox\z@\lastbox}}}{}%
  363. }%
  364. \def\prep@math@patch{%
  365.  \prepdef\equation{\prep@math}%
  366.  \prepdef\eqnarray{\prep@math}%
  367. }%
  368. \def\footnote{\@ifnextchar[\ltx@xfootnote\ltx@yfootnote}%
  369. \def\ltx@xfootnote[#1]{%
  370.  \ltx@def@footproc\ltx@footmark[#1]%
  371.  \expandafter\ltx@foottext\expandafter{\the\csname c@\@mpfn\endcsname}%
  372. }%
  373. \def\ltx@yfootnote{%
  374.  \ltx@stp@footproc\ltx@footmark
  375.  \expandafter\ltx@foottext\expandafter{\the\csname c@\@mpfn\endcsname}%
  376. }%
  377. \def\footnotemark{\@ifnextchar[\ltx@xfootmark\ltx@yfootmark}%
  378. \def\ltx@xfootmark{\ltx@def@footproc\ltx@footmark}%
  379. \def\ltx@yfootmark{\ltx@stp@footproc\ltx@footmark}%
  380. \def\ltx@footmark#1{%
  381.  \leavevmode
  382.  \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
  383.  \begingroup
  384.   \expandafter\ltx@make@current@footnote\expandafter{\@mpfn}{#1}%
  385.   \expandafter\@argswap@val\expandafter{\Hy@footnote@currentHref}{\hyper@linkstart {link}}%
  386.    \@makefnmark
  387.   \hyper@linkend
  388.  \endgroup
  389.  \ifhmode\spacefactor\@x@sf\fi
  390.  \relax
  391. }%
  392. \def\footnotetext{\@ifnextchar[\ltx@xfoottext\ltx@yfoottext}%
  393. \def\ltx@xfoottext{\ltx@def@footproc\ltx@foottext}%
  394. \def\ltx@yfoottext{\ltx@stp@footproc\ltx@foottext}%
  395. \long\def\ltx@foottext#1#2{%
  396.  \begingroup
  397.   \expandafter\ltx@make@current@footnote\expandafter{\@mpfn}{#1}%
  398.   \@footnotetext{#2}%
  399.  \endgroup
  400. }%
  401. \def\ltx@def@footproc#1[#2]{%
  402.  \begingroup
  403.    \csname c@\@mpfn\endcsname #2\relax
  404.    \unrestored@protected@xdef\@thefnmark{\thempfn}%
  405.  \expandafter\endgroup
  406.  \expandafter#1%
  407.  \expandafter{\the\csname c@\@mpfn\endcsname}%
  408. }%
  409. \def\ltx@stp@footproc#1{%
  410.  \expandafter\stepcounter\expandafter{\@mpfn}%
  411.  \protected@xdef\@thefnmark{\thempfn}%
  412.  \expandafter#1%
  413.  \expandafter{\the\csname c@\@mpfn\endcsname}%
  414. }%
  415. \appdef\class@documenthook{%
  416.  \let\footnote@latex\footnote
  417.  \@ifpackageloaded{hyperref}{}{%
  418.   \let\H@@footnotetext\@footnotetext
  419.   \def\@footnotetext{\H@@footnotetext}%
  420.   \let\H@@mpfootnotetext\@mpfootnotetext
  421.   \def\@mpfootnotetext{\H@@mpfootnotetext}%
  422.  }%
  423. }%
  424. \def\ltx@make@current@footnote#1#2{%
  425.   \csname c@#1\endcsname#2\relax
  426.   \protected@edef\Hy@footnote@currentHref{\@currentHref-#1.\csname the#1\endcsname}%
  427. }%
  428. \def\thempfootnote@latex{{\itshape \@alph \c@mpfootnote }}%
  429. \def\ltx@thempfootnote{\@alph\c@mpfootnote}%
  430. \@ifx{\thempfootnote\thempfootnote@latex}{%
  431.  \class@info{Repairing hyperref-unfriendly LaTeX definition of \string\mpfootnote}%
  432.  \let\thempfootnote\ltx@thempfootnote
  433. }{}%
  434. \def\@makefnmark{%
  435.  \hbox{%
  436.   \@textsuperscript{%
  437.    \normalfont\itshape\@thefnmark
  438.   }%
  439.  }%
  440. }%
  441. \long\def\@footnotetext{%
  442.  \insert\footins\bgroup
  443.   \make@footnotetext
  444. }%
  445. \long\def\@mpfootnotetext{%
  446.  \minipagefootnote@pick
  447.   \make@footnotetext
  448. }%
  449. \long\def\make@footnotetext#1{%
  450.   \set@footnotefont
  451.   \set@footnotewidth
  452.   \@parboxrestore
  453.   \protected@edef\@currentlabel{%
  454.    \csname p@\@mpfn\endcsname\@thefnmark
  455.   }%
  456.   \color@begingroup
  457.    \@makefntext{%
  458.     \rule\z@\footnotesep\ignorespaces#1%
  459.     \@finalstrut\strutbox\vadjust{\vskip\z@skip}%
  460.    }%
  461.   \color@endgroup
  462.  \minipagefootnote@drop
  463. }%
  464. \def\set@footnotefont{%
  465.   \reset@font\footnotesize
  466.   \interlinepenalty\interfootnotelinepenalty
  467.   \splittopskip\footnotesep
  468.   \splitmaxdepth\dp\strutbox
  469. }%
  470. \def\set@footnotewidth{\set@footnotewidth@one}%
  471. \def\robustify@contents{%
  472.  \let \label \@gobble
  473.  \let \index \@gobble
  474.  \let \glossary \@gobble
  475.  \let\footnote \@gobble
  476.  \def\({\string\(}%
  477.  \def\){\string\)}%
  478.  \def\\{\string\\}%
  479. }%
  480. \long\def\addtocontents#1#2{%
  481.  \protected@write\@auxout{\robustify@contents}{\string \@writefile {#1}{#2}}%
  482. }%
  483. \def\addcontentsline#1#2#3{%
  484.  \addtocontents{#1}{%
  485.   \protect\contentsline{#2}{#3}{\thepage}{}%
  486.  }%
  487. }%
  488. \def\label#1{%
  489.  \@bsphack
  490.   \protected@write\@auxout{}{%
  491.    \string\newlabel{#1}{{\@currentlabel}{\thepage}{}{}{}}%
  492.   }%
  493.  \@esphack
  494. }%
  495. \def\ltx@contentsline#1{%
  496.  \expandafter\@ifnotrelax\csname l@#1\endcsname{}{%
  497.   \expandafter\let\csname l@#1\endcsname\@gobbletwo
  498.  }%
  499.  \contentsline@latex{#1}%
  500. }%
  501. \appdef\document@inithook{%
  502.  \let\contentsline@latex\contentsline
  503.  \let\contentsline\ltx@contentsline
  504. }%
  505. \appdef\class@documenthook{%
  506.  \prepdef\caption{\minipagefootnote@here}%
  507. }%
  508. \def\minipagefootnote@init{%
  509.  \setbox\@mpfootins\box\voidb@x
  510. }%
  511. \def\minipagefootnote@pick{%
  512.  \global\setbox\@mpfootins\vbox\bgroup
  513.   \unvbox\@mpfootins
  514. }%
  515. \def\minipagefootnote@drop{%
  516.  \egroup
  517. }%
  518. \def\minipagefootnote@here{%
  519.     \par
  520.     \@ifvoid\@mpfootins{}{%
  521.       \vskip\skip\@mpfootins
  522.       \fullinterlineskip
  523.       \@ifinner{%
  524.        \vtop{\unvcopy\@mpfootins}%
  525.        {\setbox\z@\lastbox}%
  526.       }{}%
  527.       \unvbox\@mpfootins
  528.     }%
  529. }%
  530. \def\minipagefootnote@foot{%
  531.  \@ifvoid\@mpfootins{}{%
  532.   \insert\footins\bgroup\unvbox\@mpfootins\egroup
  533.  }%
  534. }%
  535. \def\endminipage{%
  536.     \par
  537.     \unskip
  538.     \minipagefootnote@here
  539.     \@minipagefalse   %% added 24 May 89
  540.   \color@endgroup
  541.   \egroup
  542.   \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}%
  543. }%
  544. \@booleantrue\floats@sw
  545. \let\@xfloat@LaTeX\@xfloat
  546. \def\@xfloat#1[#2]{%
  547.   \@xfloat@prep
  548.   \@nameuse{fp@proc@#2}%
  549.   \floats@sw{\@xfloat@LaTeX{#1}[#2]}{\@xfloat@anchored{#1}[]}%
  550. }%
  551. \def\@xfloat@prep{%
  552.   \ltx@footnote@pop
  553.   \def\@mpfn{mpfootnote}%
  554.   \def\thempfn{\thempfootnote}%
  555.   \c@mpfootnote\z@
  556.   \let\H@@footnotetext\H@@mpfootnotetext
  557. }%
  558. \let\ltx@footnote@pop\@empty
  559. \def\@xfloat@anchored#1[#2]{%
  560.  \def\@captype{#1}%
  561.  \begin@float@pagebreak
  562.   \let\end@float\end@float@anchored
  563.   \let\end@dblfloat\end@float@anchored
  564.         \hsize\columnwidth
  565.         \@parboxrestore
  566.         \@floatboxreset
  567.   \minipagefootnote@init
  568. }%
  569. \def\end@float@anchored{%
  570.   \minipagefootnote@here
  571.   \par\vskip\z@skip
  572.  \par
  573.  \end@float@pagebreak
  574. }%
  575. \def\begin@float@pagebreak{\par\addvspace\intextsep}%
  576. \def\end@float@pagebreak{\par\addvspace\intextsep}%
  577. \def\@mpmakefntext#1{%
  578.  \parindent=1em
  579.  \noindent
  580.  \hb@xt@1em{\hss\@makefnmark}%
  581.  #1%
  582. }%
  583. \def\do@if@floats#1#2{%
  584.  \floats@sw{}{%
  585.   \expandafter\newwrite
  586.               \csname#1write\endcsname
  587.   \expandafter\def
  588.               \csname#1@stream\endcsname{\jobname#2}%
  589.   \expandafter\immediate
  590.   \expandafter\openout
  591.               \csname#1write\endcsname
  592.               \csname#1@stream\endcsname\relax
  593.   \@ifxundefined\@float@LaTeX{%
  594.    \let\@float@LaTeX\@float
  595.    \let\@dblfloat@LaTeX\@dblfloat
  596.    \let\@float\write@float
  597.    \let\@dblfloat\write@floats
  598.   }{}%
  599.   \let@environment{#1@float}{#1}%
  600.   \let@environment{#1@floats}{#1*}%
  601.   \@ifxundefined@cs{#1@write}{}{%
  602.    \let@environment{#1}{#1@write}%
  603.   }%
  604.  }%
  605. }%
  606. \def\triggerpar{\leavevmode\@@par}%
  607. \def\oneapage{\def\begin@float@pagebreak{\newpage}\def\end@float@pagebreak{\newpage}}%
  608. \def\print@float#1#2{%
  609.  \lengthcheck@sw{%
  610.   \total@float{#1}%
  611.  }{}%
  612.  \@ifxundefined@cs{#1write}{}{%
  613.   \begingroup
  614.    \@booleanfalse\floats@sw
  615.    #2%
  616.    \raggedbottom
  617.    \def\array@default{v}% floats must
  618.    \let\@float\@float@LaTeX
  619.    \let\@dblfloat\@dblfloat@LaTeX
  620.    \let\trigger@float@par\triggerpar
  621.    \let@environment{#1}{#1@float}%
  622.    \let@environment{#1*}{#1@floats}%
  623.    \expandafter\prepdef\csname#1\endcsname{\trigger@float@par}%
  624.    \expandafter\prepdef\csname#1*\endcsname{\trigger@float@par}%
  625.    \@namedef{fps@#1}{h!}%
  626.    \expandafter\immediate
  627.    \expandafter\closeout
  628.                \csname#1write\endcsname
  629.    \everypar{%
  630.     \global\let\trigger@float@par\relax
  631.     \global\everypar{}\setbox\z@\lastbox
  632.     \@ifxundefined@cs{#1sname}{}{%
  633.      \begin@float@pagebreak
  634.      \expandafter\section
  635.      \expandafter*%
  636.      \expandafter{%
  637.                   \csname#1sname\endcsname
  638.                  }%
  639.     }%
  640.    }%
  641.    \input{\csname#1@stream\endcsname}%
  642.   \endgroup
  643.   \global\expandafter\let\csname#1write\endcsname\relax
  644.  }%
  645. }%
  646. \chardef\@xvi=16\relax
  647. \mathchardef\@twopowerfourteen="4000
  648. \mathchardef\@twopowertwo="4
  649. \def\tally@float#1{%
  650.  \begingroup
  651.   \@tempcnta\count\@currbox
  652.   \divide\@tempcnta\@xxxii
  653.   \multiply\@tempcnta\@xxxii
  654.   \advance\count\@currbox-\@tempcnta
  655.   \divide\@tempcnta\@xxxii
  656.   \@ifnum{\count\@currbox>\@xvi}{%
  657.    \advance\count\@currbox-\@xvi\@booleantrue\@temp@sw
  658.   }{%
  659.    \@booleanfalse\@temp@sw
  660.   }%
  661.   \show@box@size@sw{%
  662.    \class@info{Float #1
  663.     (\the\@tempcnta)[\@temp@sw{16+}{}\the\count\@currbox]^^J%
  664.     (\the\ht\@currbox+\the\dp\@currbox)X\the\wd\@currbox
  665.    }%
  666.   }{}%
  667.  \endgroup
  668.  \expandafter\let
  669.  \expandafter\@tempa
  670.              \csname fbox@\csname ftype@#1\endcsname\endcsname
  671.  \@ifnotrelax\@tempa{%
  672.   \@ifhbox\@tempa{%
  673.    \setbox\@tempboxa\vbox{\unvcopy\@currbox\hrule}%
  674.    \dimen@\ht\@tempboxa
  675.    \divide\dimen@\@twopowerfourteen
  676.    \@ifdim{\wd\@tempboxa<\textwidth}{%
  677.     \advance\dimen@\ht\@tempa
  678.     \global\ht\@tempa\dimen@
  679.    }{%
  680.     \advance\dimen@\dp\@tempa
  681.     \global\dp\@tempa\dimen@
  682.    }%
  683.   }{}%
  684.  }{}%
  685. }%
  686. \def\total@float#1{%
  687.  \expandafter\let
  688.  \expandafter\@tempa
  689.              \csname fbox@\csname ftype@#1\endcsname\endcsname
  690.  \@ifnotrelax\@tempa{%
  691.   \@ifhbox\@tempa{%
  692.    \@tempdima\the\ht\@tempa\divide\@tempdima\@twopowertwo\@tempcnta\@tempdima
  693.    \@tempdimb\the\dp\@tempa\divide\@tempdimb\@twopowertwo\@tempcntb\@tempdimb
  694.    \class@info{Total #1: Column(\the\@tempcnta pt), Page(\the\@tempcnta pt)}%
  695.   }{}%
  696.  }{}%
  697. }%
  698. \def\write@float#1{\write@@float{#1}{#1}}%
  699. \def\endwrite@float{\@Esphack}%
  700. \def\write@floats#1{\write@@float{#1*}{#1}}%
  701. \def\endwrite@floats{\@Esphack}%
  702. \def\write@@float#1#2{%
  703.   \ifhmode
  704.      \@bsphack
  705.   \fi
  706.   \chardef\@tempc\csname#2write\endcsname
  707.   \toks@{\begin{#1}}%
  708.   \def\@tempb{#1}%
  709.   \expandafter\let\csname end#1\endcsname\endwrite@float
  710.   \catcode`\^^M\active
  711.   \@makeother\{\@makeother\}\@makeother\%
  712.   \write@floatline
  713. }%
  714. \begingroup
  715.  \catcode`\[\the\catcode`\{\catcode`\]\the\catcode`\}\@makeother\{\@makeother\}%
  716.  \gdef\float@end@tag#1\end{#2}#3\@nul[%
  717.   \def\@tempa[#2]%
  718.   \@ifx[\@tempa\@tempb][\end[#2]][\write@floatline]%
  719.  ]%
  720.  \obeylines%
  721.  \gdef\write@floatline#1^^M[%
  722.   \begingroup%
  723.    \newlinechar`\^^M%
  724.    \toks@\expandafter[\the\toks@#1]\immediate\write\@tempc[\the\toks@]%
  725.   \endgroup%
  726.   \toks@[]%
  727.   \float@end@tag#1\end{}\@nul%
  728.  ]%
  729. \endgroup
  730. \def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi}
  731. \def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or
  732.   k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
  733.   y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or
  734.   kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or
  735.   vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi}
  736. \def\@startsection#1#2#3#4#5#6{%
  737.  \@startsection@hook
  738.  \if@noskipsec \leavevmode \fi
  739.  \par
  740.  \@tempskipa #4\relax
  741.  \@afterindenttrue
  742.  \ifdim \@tempskipa <\z@
  743.   \@tempskipa -\@tempskipa \@afterindentfalse
  744.  \fi
  745.  \if@nobreak
  746.   \everypar{}%
  747.  \else
  748.   \addpenalty\@secpenalty\addvspace\@tempskipa
  749.  \fi
  750.  \@ifstar
  751.   {\@dblarg{\@ssect@ltx{#1}{#2}{#3}{#4}{#5}{#6}}}%
  752.   {\@dblarg{\@sect@ltx {#1}{#2}{#3}{#4}{#5}{#6}}}%
  753. }%
  754. \def\@startsection@hook{}%
  755. \class@info{Repairing broken LateX \string\@sect}%
  756. \def\@sect@ltx#1#2#3#4#5#6[#7]#8{%
  757.   \@ifnum{#2>\c@secnumdepth}{%
  758.     \def\H@svsec{\phantomsection}%
  759.     \let\@svsec\@empty
  760.   }{%
  761.     \H@refstepcounter{#1}%
  762.     \def\H@svsec{%
  763.      \phantomsection
  764.     }%
  765.     \protected@edef\@svsec{{#1}}%
  766.     \@ifundefined{@#1cntformat}{%
  767.      \prepdef\@svsec\@seccntformat
  768.     }{%
  769.      \expandafter\prepdef
  770.      \expandafter\@svsec
  771.                  \csname @#1cntformat\endcsname
  772.     }%
  773.   }%
  774.   \@tempskipa #5\relax
  775.   \@ifdim{\@tempskipa>\z@}{%
  776.     \begingroup
  777.       \interlinepenalty \@M
  778.       #6{%
  779.        \@ifundefined{@hangfrom@#1}{\@hang@from}{\csname @hangfrom@#1\endcsname}%
  780.        {\hskip#3\relax\H@svsec}{\@svsec}{#8}%
  781.       }%
  782.       \@@par
  783.     \endgroup
  784.     \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}%
  785.     \addcontentsline{toc}{#1}{%
  786.       \@ifnum{#2>\c@secnumdepth}{%
  787.        \protect\numberline{}%
  788.       }{%
  789.        \protect\numberline{\csname the#1\endcsname}%
  790.       }%
  791.       #8}%
  792.   }{%
  793.     \def\@svsechd{%
  794.       #6{%
  795.        \@ifundefined{@runin@to@#1}{\@runin@to}{\csname @runin@to@#1\endcsname}%
  796.        {\hskip#3\relax\H@svsec}{\@svsec}{#8}%
  797.       }%
  798.       \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}%
  799.       \addcontentsline{toc}{#1}{%
  800.         \@ifnum{#2>\c@secnumdepth}{%
  801.          \protect\numberline{}%
  802.         }{%
  803.          \protect\numberline{\csname the#1\endcsname}%
  804.         }%
  805.         #8}%
  806.     }%
  807.   }%
  808.   \@xsect{#5}%
  809. }%
  810. \def\@hang@from#1#2#3{\@hangfrom{#1#2}#3}%
  811. \def\@runin@to #1#2#3{#1#2#3}%
  812. \def\@ssect@ltx#1#2#3#4#5#6[#7]#8{%
  813.   \def\H@svsec{\phantomsection}%
  814.   \@tempskipa #5\relax
  815.   \@ifdim{\@tempskipa>\z@}{%
  816.     \begingroup
  817.       \interlinepenalty \@M
  818.       #6{%
  819.        \@ifundefined{@hangfroms@#1}{\@hang@froms}{\csname @hangfroms@#1\endcsname}%
  820.        {\hskip#3\relax\H@svsec}{#8}%
  821.       }%
  822.       \@@par
  823.     \endgroup
  824.     \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}%
  825.     \addcontentsline{toc}{#1}{\protect\numberline{}#8}%
  826.   }{%
  827.     \def\@svsechd{%
  828.       #6{%
  829.        \@ifundefined{@runin@tos@#1}{\@runin@tos}{\csname @runin@tos@#1\endcsname}%
  830.        {\hskip#3\relax\H@svsec}{#8}%
  831.       }%
  832.       \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}%
  833.       \addcontentsline{toc}{#1}{\protect\numberline{}#8}%
  834.     }%
  835.   }%
  836.   \@xsect{#5}%
  837. }%
  838. \def\@hang@froms#1#2{#1#2}%
  839. \def\@runin@tos #1#2{#1#2}%
  840. \def\init@hyperref{%
  841.  \providecommand\phantomsection{}%
  842.  \providecommand\hyper@makecurrent[1]{}%
  843.  \providecommand\Hy@raisedlink[1]{}%
  844.  \providecommand\hyper@anchorstart[1]{}%
  845.  \providecommand\hyper@anchorend{}%
  846.  \providecommand\hyper@linkstart[2]{}%
  847.  \providecommand\hyper@linkend{}%
  848.  \providecommand\@currentHref{}%
  849. }%
  850. \let\H@refstepcounter\refstepcounter
  851. \appdef\document@inithook{%
  852.  \init@hyperref
  853. }%
  854. \def\sec@upcase#1{\relax{#1}}%
  855. \appdef\document@inithook{%
  856.  \@ifpackageloaded{array}{\switch@array}{\switch@tabular}%
  857.  \prepdef\endtabular{\endtabular@hook}%
  858.  \@provide\endtabular@hook{}%
  859.  \prepdef\endarray{\endarray@hook}%
  860.  \@provide\endarray@hook{}%
  861.  \providecommand\array@hook{}%
  862.  \prepdef\@tabular{\tabular@hook}%
  863.  \@provide\tabular@hook{}%
  864. }%
  865. \def\switch@tabular{%
  866.  \let\@array@sw\@array@sw@array
  867.  \@ifx{\@array\@array@LaTeX}{%
  868.   \@ifx{\multicolumn\multicolumn@LaTeX}{%
  869.    \@ifx{\@tabular\@tabular@LaTeX}{%
  870.     \@ifx{\@tabarray\@tabarray@LaTeX}{%
  871.      \@ifx{\array\array@LaTeX}{%
  872.       \@ifx{\endarray\endarray@LaTeX}{%
  873.        \@ifx{\endtabular\endtabular@LaTeX}{%
  874.         \@ifx{\@mkpream\@mkpream@LaTeX}{%
  875.          \@ifx{\@addamp\@addamp@LaTeX}{%
  876.           \@ifx{\@arrayacol\@arrayacol@LaTeX}{%
  877.            \@ifx{\@tabacol\@tabacol@LaTeX}{%
  878.             \@ifx{\@arrayclassz\@arrayclassz@LaTeX}{%
  879.              \@ifx{\@tabclassiv\@tabclassiv@LaTeX}{%
  880.               \@ifx{\@arrayclassiv\@arrayclassiv@LaTeX}{%
  881.                \@ifx{\@tabclassz\@tabclassz@LaTeX}{%
  882.                 \@ifx{\@classv\@classv@LaTeX}{%
  883.                  \@ifx{\hline\hline@LaTeX}{%
  884.                   \@ifx{\@tabularcr\@tabularcr@LaTeX}{%
  885.                    \@ifx{\@xtabularcr\@xtabularcr@LaTeX}{%
  886.                     \@ifx{\@xargarraycr\@xargarraycr@LaTeX}{%
  887.                      \@ifx{\@yargarraycr\@yargarraycr@LaTeX}{%
  888.                       \true@sw
  889.                      }{%
  890.                       \false@sw
  891.                      }%
  892.                     }{%
  893.                      \false@sw
  894.                     }%
  895.                    }{%
  896.                     \false@sw
  897.                    }%
  898.                   }{%
  899.                    \false@sw
  900.                   }%
  901.                  }{%
  902.                   \false@sw
  903.                  }%
  904.                 }{%
  905.                  \false@sw
  906.                 }%
  907.                }{%
  908.                 \false@sw
  909.                }%
  910.               }{%
  911.                \false@sw
  912.               }%
  913.              }{%
  914.               \false@sw
  915.              }%
  916.             }{%
  917.              \false@sw
  918.             }%
  919.            }{%
  920.             \false@sw
  921.            }%
  922.           }{%
  923.            \false@sw
  924.           }%
  925.          }{%
  926.           \false@sw
  927.          }%
  928.         }{%
  929.          \false@sw
  930.         }%
  931.        }{%
  932.         \false@sw
  933.        }%
  934.       }{%
  935.        \false@sw
  936.       }%
  937.      }{%
  938.       \false@sw
  939.      }%
  940.     }{%
  941.      \false@sw
  942.     }%
  943.    }{%
  944.     \false@sw
  945.    }%
  946.   }{%
  947.    \false@sw
  948.   }%
  949.  }{%
  950.   \false@sw
  951.  }%
  952.  {%
  953.   \class@info{Patching LaTeX tabular.}%
  954.  }{%
  955.   \class@info{Unrecognized LaTeX tabular. Please update this document class! (Proceeding with fingers crossed.)}%
  956.  }%
  957.  \let\@array\@array@ltx
  958.  \let\multicolumn\multicolumn@ltx
  959.  \let\@tabular\@tabular@ltx
  960.  \let\@tabarray\@tabarray@ltx
  961.  \let\array\array@ltx
  962.  \let\endarray\endarray@ltx
  963.  \let\endtabular\endtabular@ltx
  964.  \let\@mkpream\@mkpream@ltx
  965.  \let\@addamp\@addamp@ltx
  966.  \let\@arrayacol\@arrayacol@ltx
  967.  \let\@tabacol\@tabacol@ltx
  968.  \let\@arrayclassz\@arrayclassz@ltx
  969.  \let\@tabclassiv\@tabclassiv@ltx
  970.  \let\@arrayclassiv\@arrayclassiv@ltx
  971.  \let\@tabclassz\@tabclassz@ltx
  972.  \let\@classv\@classv@ltx
  973.  \let\hline\hline@ltx
  974.  \let\@tabularcr\@tabularcr@ltx
  975.  \let\@xtabularcr\@xtabularcr@ltx
  976.  \let\@xargarraycr\@xargarraycr@ltx
  977.  \let\@yargarraycr\@yargarraycr@ltx
  978. }%
  979. \def\switch@array{%
  980.  \@ifpackageloaded{colortbl}{\let\switch@array@info\colortbl@message}{\let\switch@array@info\array@message}%
  981.  \let\@array@sw\@array@sw@LaTeX
  982.  \@ifx{\@array\@array@array}{%
  983.   \@ifx{\@tabular\@tabular@array}{%
  984.    \@ifx{\@tabarray\@tabarray@array}{%
  985.     \@ifx{\array\array@array}{%
  986.      \@ifx{\endarray\endarray@array}{%
  987.       \@ifx{\endtabular\endtabular@array}{%
  988.        \@ifx{\@mkpream\@mkpream@array}{%
  989.         \@ifx{\@classx\@classx@array}{%
  990.          \@ifx{\insert@column\insert@column@array}{%
  991.           \@ifx{\@arraycr\@arraycr@array}{%
  992.            \@ifx{\@xarraycr\@xarraycr@array}{%
  993.             \@ifx{\@xargarraycr\@xargarraycr@array}{%
  994.              \@ifx{\@yargarraycr\@yargarraycr@array}{%
  995.               \true@sw
  996.              }{%
  997.               \false@sw
  998.              }%
  999.             }{%
  1000.              \false@sw
  1001.             }%
  1002.            }{%
  1003.             \false@sw
  1004.            }%
  1005.           }{%
  1006.            \false@sw
  1007.           }%
  1008.          }{%
  1009.           \false@sw
  1010.          }%
  1011.         }{%
  1012.          \false@sw
  1013.         }%
  1014.        }{%
  1015.         \false@sw
  1016.        }%
  1017.       }{%
  1018.        \false@sw
  1019.       }%
  1020.      }{%
  1021.       \false@sw
  1022.      }%
  1023.     }{%
  1024.      \false@sw
  1025.     }%
  1026.    }{%
  1027.     \false@sw
  1028.    }%
  1029.   }{%
  1030.    \false@sw
  1031.   }%
  1032.  }{%
  1033.   \false@sw
  1034.  }{%
  1035.   \class@info{Patching array package.}%
  1036.  }{%
  1037.   \switch@array@info
  1038.  }%
  1039.  \let\@array    \@array@array@new
  1040.  \let\@@array   \@array % Cosi fan tutti
  1041.  \let\@tabular  \@tabular@array@new
  1042.  \let\@tabarray \@tabarray@array@new
  1043.  \let\array     \array@array@new
  1044.  \let\endarray  \endarray@array@new
  1045.  \let\endtabular\endtabular@array@new
  1046.  \let\@mkpream  \@mkpream@array@new
  1047.  \let\@classx   \@classx@array@new
  1048.  \let\@arrayacol\@arrayacol@ltx
  1049.  \let\@tabacol  \@tabacol@ltx
  1050.  \let\insert@column\insert@column@array@new
  1051.  \expandafter\let\csname endtabular*\endcsname\endtabular % Cosi fan tutti
  1052.  \let\@arraycr  \@arraycr@new
  1053.  \let\@xarraycr \@xarraycr@new
  1054.  \let\@xargarraycr\@xargarraycr@new
  1055.  \let\@yargarraycr\@yargarraycr@new
  1056. }%
  1057. \def\array@message{%
  1058.  \class@info{Unrecognized array package. Please update this document class! (Proceeding with fingers crossed.)}%
  1059. }%
  1060. \def\colortbl@message{%
  1061.  \class@info{colortbl package is loaded. (Proceeding with fingers crossed.)}%
  1062. }%
  1063. \def\@array@sw@LaTeX{\@ifx{\\\@tabularcr}}%
  1064. \def\@array@sw@array{\@ifx{\d@llarbegin\begingroup}}%
  1065. \def\@tabular@LaTeX{%
  1066.  \leavevmode
  1067.  \hbox\bgroup$%
  1068.   \let\@acol\@tabacol
  1069.   \let\@classz\@tabclassz
  1070.   \let\@classiv\@tabclassiv
  1071.   \let\\\@tabularcr
  1072.   \@tabarray
  1073. }%
  1074. \def\@tabular@ltx{%
  1075.   \let\@acoll\@tabacoll
  1076.   \let\@acolr\@tabacolr
  1077.   \let\@acol\@tabacol
  1078.   \let\@classz\@tabclassz
  1079.   \let\@classiv\@tabclassiv
  1080.   \let\\\@tabularcr
  1081.   \@tabarray
  1082. }%
  1083. \def\@tabular@array{%
  1084.  \leavevmode
  1085.  \hbox\bgroup$%
  1086.   \col@sep\tabcolsep
  1087.   \let\d@llarbegin\begingroup
  1088.   \let\d@llarend\endgroup
  1089.   \@tabarray
  1090. }%
  1091. \def\@tabular@array@new{%
  1092.   \let\@acoll\@tabacoll
  1093.   \let\@acolr\@tabacolr
  1094.   \let\@acol\@tabacol
  1095.   \let\d@llarbegin\begingroup
  1096.   \let\d@llarend\endgroup
  1097.   \@tabarray
  1098. }%
  1099. \def\@tabarray@LaTeX{%
  1100.  \m@th\@ifnextchar[\@array{\@array[c]}%
  1101. }%
  1102. \def\@tabarray@ltx{%
  1103.  \m@th\@ifnextchar[\@array{\expandafter\@array\expandafter[\array@default]}%
  1104. }%
  1105. \def\@tabarray@array{%
  1106.  \@ifnextchar[{\@@array}{\@@array[c]}%
  1107. }%
  1108. \def\@tabarray@array@new{%
  1109.  \@ifnextchar[{\@@array}{\expandafter\@@array\expandafter[\array@default]}%
  1110. }%
  1111. \newcount\intertabularlinepenalty
  1112. \intertabularlinepenalty=100
  1113. \newcount\@tbpen
  1114. \appdef\samepage{\intertabularlinepenalty\@M}%
  1115. \def\@tabularcr@LaTeX{{\ifnum 0=`}\fi \@ifstar \@xtabularcr \@xtabularcr}%
  1116. \def\@tabularcr@ltx{{\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xtabularcr }{\global \@tbpen \intertabularlinepenalty \@xtabularcr }}%
  1117. \def\@xtabularcr@LaTeX{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr }}%
  1118. \def\@xtabularcr@ltx{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr \noalign {\penalty \@tbpen }}}%
  1119. \def\@xargarraycr@LaTeX#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr}%
  1120. \def\@xargarraycr@ltx#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr \noalign {\penalty \@tbpen }}%
  1121. \def\@yargarraycr@LaTeX#1{\cr \noalign {\vskip #1}}%
  1122. \def\@yargarraycr@ltx#1{\cr \noalign {\penalty \@tbpen \vskip #1}}%
  1123. \def\@arraycr@array{%
  1124.  \relax
  1125.  \iffalse{\fi\ifnum 0=`}\fi
  1126.  \@ifstar \@xarraycr \@xarraycr
  1127. }%
  1128. \def\@arraycr@new{%
  1129.  \relax
  1130.  \iffalse{\fi\ifnum 0=`}\fi
  1131.  \@ifstar {\global \@tbpen \@M \@xarraycr }{\global \@tbpen \intertabularlinepenalty \@xarraycr }%
  1132. }%
  1133. \def\@xarraycr@array{%
  1134.  \@ifnextchar [%]
  1135.  \@argarraycr {\ifnum 0=`{}\fi\cr}%
  1136. }%
  1137. \def\@xarraycr@new{%
  1138.  \@ifnextchar [%]
  1139.  \@argarraycr {\ifnum 0=`{}\fi\cr \noalign {\penalty \@tbpen }}%
  1140. }%
  1141. \def\@xargarraycr@array#1{%
  1142.  \unskip
  1143.  \@tempdima #1\advance\@tempdima \dp\@arstrutbox
  1144.  \vrule \@depth\@tempdima \@width\z@
  1145.  \cr
  1146. }%
  1147. \def\@xargarraycr@new#1{%
  1148.  \unskip
  1149.  \@tempdima #1\advance\@tempdima \dp\@arstrutbox
  1150.  \vrule \@depth\@tempdima \@width\z@
  1151.  \cr
  1152.  \noalign {\penalty \@tbpen }%
  1153. }%
  1154. \def\@yargarraycr@array#1{%
  1155.  \cr
  1156.  \noalign{\vskip #1}%
  1157. }%
  1158. \def\@yargarraycr@new#1{%
  1159.  \cr
  1160.  \noalign{\penalty \@tbpen \vskip #1}%
  1161. }%
  1162. \def\array@LaTeX{%
  1163.  \let\@acol\@arrayacol
  1164.  \let\@classz\@arrayclassz
  1165.  \let\@classiv\@arrayclassiv
  1166.  \let\\\@arraycr
  1167.  \let\@halignto\@empty
  1168.  \@tabarray
  1169. }%
  1170. \def\array@ltx{%
  1171.  \@ifmmode{}{\@badmath$}%
  1172.  \let\@acoll\@arrayacol
  1173.  \let\@acolr\@arrayacol
  1174.  \let\@acol\@arrayacol
  1175.  \let\@classz\@arrayclassz
  1176.  \let\@classiv\@arrayclassiv
  1177.  \let\\\@arraycr
  1178.  \let\@halignto\@empty
  1179.  \@tabarray
  1180. }%
  1181. \def\array@array{%
  1182.  \col@sep\arraycolsep
  1183.  \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\gdef\@halignto{}%
  1184.  \@tabarray
  1185. }
  1186. \def\array@array@new{%
  1187.  \@ifmmode{}{\@badmath$}%
  1188.  \let\@acoll\@arrayacol
  1189.  \let\@acolr\@arrayacol
  1190.  \let\@acol\@arrayacol
  1191.  \def\d@llarbegin{$}%
  1192.  \let\d@llarend\d@llarbegin
  1193.  \gdef\@halignto{}%
  1194.  \@tabarray
  1195. }%
  1196. \def\@array@LaTeX[#1]#2{%
  1197.   \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
  1198.   \bgroup
  1199.   \setbox\@arstrutbox\hbox{%
  1200.     \vrule \@height\arraystretch\ht\strutbox
  1201.            \@depth\arraystretch \dp\strutbox
  1202.            \@width\z@}%
  1203.   \@mkpream{#2}%
  1204.   \edef\@preamble{%
  1205.     \ialign \noexpand\@halignto
  1206.       \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}%
  1207.   \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox
  1208.   \let\tabularnewline\\%
  1209.     \let\par\@empty
  1210.     \let\@sharp##%
  1211.     \set@typeset@protect
  1212.     \lineskip\z@skip\baselineskip\z@skip
  1213.     \ifhmode \@preamerr\z@ \@@par\fi
  1214.     \@preamble
  1215. }%
  1216. \def\@array@ltx[#1]#2{%
  1217.  \@nameuse{@array@align@#1}%
  1218.   \set@arstrutbox
  1219.   \@mkpream{#2}%
  1220.   \prepdef\@preamble{%
  1221.     \tabskip\tabmid@skip
  1222.     \@arstrut
  1223.   }%
  1224.   \appdef\@preamble{%
  1225.     \tabskip\tabright@skip
  1226.     \cr
  1227.     \array@row@pre
  1228.   }%
  1229.   \let\tabularnewline\\%
  1230.   \let\par\@empty
  1231.   \let\@sharp##%
  1232.   \set@typeset@protect
  1233.   \lineskip\z@skip\baselineskip\z@skip
  1234.   \tabskip\tableft@skip\relax
  1235.   \ifhmode \@preamerr\z@ \@@par\fi
  1236.   \everycr{}%
  1237.   \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble
  1238. }%
  1239. \def\set@arstrutbox{%
  1240.   \setbox\@arstrutbox\hbox{%
  1241.     \vrule \@height\arraystretch\ht\strutbox
  1242.            \@depth\arraystretch \dp\strutbox
  1243.            \@width\z@
  1244.   }%
  1245. }%
  1246. \def\@array@array[#1]#2{%
  1247.   \@tempdima \ht \strutbox
  1248.   \advance \@tempdima by\extrarowheight
  1249.   \setbox \@arstrutbox \hbox{\vrule
  1250.              \@height \arraystretch \@tempdima
  1251.              \@depth \arraystretch \dp \strutbox
  1252.              \@width \z@}%
  1253.   \begingroup
  1254.   \@mkpream{#2}%
  1255.   \xdef\@preamble{\noexpand \ialign \@halignto
  1256.                   \bgroup \@arstrut \@preamble
  1257.                           \tabskip \z@ \cr}%
  1258.   \endgroup
  1259.   \@arrayleft
  1260.   \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi
  1261.   \bgroup
  1262.   \let \@sharp ##\let \protect \relax
  1263.   \lineskip \z@
  1264.   \baselineskip \z@
  1265.   \m@th
  1266.   \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble
  1267. }%
  1268. \def\@array@array@new[#1]#2{%
  1269.   \@tempdima\ht\strutbox
  1270.   \advance\@tempdima by\extrarowheight
  1271.   \setbox\@arstrutbox\hbox{%
  1272.    \vrule \@height\arraystretch\@tempdima
  1273.           \@depth \arraystretch\dp\strutbox
  1274.           \@width \z@
  1275.   }%
  1276.   \begingroup
  1277.    \@mkpream{#2}%
  1278.    \xdef\@preamble{\@preamble}%
  1279.   \endgroup
  1280.   \prepdef\@preamble{%
  1281.    \tabskip\tabmid@skip
  1282.     \@arstrut
  1283.   }%
  1284.   \appdef\@preamble{%
  1285.    \tabskip\tabright@skip
  1286.    \cr
  1287.    \array@row@pre
  1288.   }%
  1289.   \@arrayleft
  1290.   \@nameuse{@array@align@#1}%
  1291.   \m@th
  1292.   \let\\\@arraycr
  1293.   \let\tabularnewline\\%
  1294.   \let\par\@empty
  1295.   \let\@sharp##%
  1296.   \set@typeset@protect
  1297.   \lineskip\z@\baselineskip\z@
  1298.   \tabskip\tableft@skip
  1299.   \everycr{}%
  1300.   \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble
  1301. }%
  1302. \def\endarray@LaTeX{%
  1303.  \crcr\egroup\egroup
  1304. }%
  1305. \def\endarray@ltx{%
  1306.  \crcr\array@row@pst\egroup\egroup
  1307. }%
  1308. \def\endarray@array{%
  1309.  \crcr \egroup \egroup \@arrayright \gdef\@preamble{}%
  1310. }%
  1311. \def\endarray@array@new{%
  1312.  \crcr\array@row@pst\egroup\egroup % Same as \endarray@ltx
  1313.  \@arrayright
  1314.  \global\let\@preamble\@empty
  1315. }%
  1316. \def\endtabular@LaTeX{%
  1317.  \crcr\egroup\egroup $\egroup
  1318. }%
  1319. \def\endtabular@ltx{%
  1320.  \endarray
  1321. }%
  1322. \def\endtabular@array{%
  1323.  \endarray $\egroup
  1324. }%
  1325. \def\endtabular@array@new{%
  1326.  \endarray
  1327. }%
  1328. \@namedef{endtabular*}{\endtabular}%
  1329. \long\def\multicolumn@LaTeX#1#2#3{%
  1330.  \multispan{#1}\begingroup
  1331.   \@mkpream{#2}%
  1332.   \def\@sharp{#3}\set@typeset@protect
  1333.   \let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
  1334.   \@arstrut \@preamble\hbox{}\endgroup\ignorespaces
  1335. }%
  1336. \long\def\multicolumn@ltx#1#2#3{%
  1337.  \multispan{#1}%
  1338.  \begingroup
  1339.   \@mkpream{#2}%
  1340.   \def\@sharp{#3}%
  1341.   \set@typeset@protect
  1342.  %\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
  1343.   \@arstrut
  1344.   \@preamble
  1345.   \hbox{}%
  1346.  \endgroup
  1347.  \ignorespaces
  1348. }%
  1349. \def\@array@align@t{\leavevmode\vtop\bgroup}%
  1350. \def\@array@align@b{\leavevmode\vbox\bgroup}%
  1351. \def\@array@align@c{\leavevmode\@ifmmode{\vcenter\bgroup}{$\vcenter\bgroup\aftergroup$\aftergroup\relax}}%
  1352. \def\@array@align@v{%
  1353.  \@ifmmode{%
  1354.   \@badmath
  1355.   \vcenter\bgroup
  1356.  }{%
  1357.   \@ifinner{%
  1358.    $\vcenter\bgroup\aftergroup$
  1359.   }{%
  1360.    \@@par\bgroup
  1361.   }%
  1362.  }%
  1363. }%
  1364. \def\array@default{c}%
  1365. \def\array@row@rst{%
  1366.  \let\@array@align@v\@array@align@c
  1367. }%
  1368. \def\array@row@pre{}%
  1369. \def\array@row@pst{}%
  1370. \newcommand\toprule{\tab@rule{\column@font}{\column@fil}{\frstrut}}%
  1371. \newcommand\colrule{\unskip\lrstrut\\\tab@rule{\body@font}{}{\frstrut}}%
  1372. \newcommand\botrule{\unskip\lrstrut\\\noalign{\hline@rule}{}}%
  1373. \def\hline@LaTeX{%
  1374.  \noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet
  1375.    \reserved@a\@xhline
  1376. }%
  1377. \def\hline@ltx{%
  1378.  \noalign{%
  1379.   \ifnum0=`}\fi
  1380.   \hline@rule
  1381.   \futurelet\reserved@a\@xhline
  1382.  % \noalign ended in \@xhline
  1383. }%
  1384. \def\@xhline@unneeded{%
  1385.  \say\reserved@a
  1386.  \ifx\reserved@a\hline
  1387.   \vskip\doublerulesep
  1388.   \vskip-\arrayrulewidth
  1389.  \fi
  1390.  \ifnum0=`{\fi}%
  1391. }%
  1392. \def\tab@rule#1#2#3{%
  1393.  \crcr
  1394.  \noalign{%
  1395.   \hline@rule
  1396.   \gdef\@arstrut@hook{%
  1397.    \global\let\@arstrut@hook\@empty
  1398.    #3%
  1399.   }%
  1400.   \gdef\cell@font{#1}%
  1401.   \gdef\cell@fil{#2}%
  1402.  }%
  1403. }%
  1404. \def\column@font{}%
  1405. \def\column@fil{}%
  1406. \def\body@font{}%
  1407. \def\cell@font{}%
  1408. \def\frstrut{}%
  1409. \def\lrstrut{}%
  1410. \def\@arstrut@hline{%
  1411.  \relax
  1412.  \@ifmmode{\copy}{\unhcopy}\@arstrutbox@hline
  1413.  \@arstrut@hook
  1414. }%
  1415. \let\@arstrut@org\@arstrut
  1416. \def\@arstrut@hook{%
  1417.  \global\let\@arstrut\@arstrut@org
  1418. }%
  1419. \newbox\@arstrutbox@hline
  1420. \appdef\set@arstrutbox{%
  1421.   \setbox\@arstrutbox@hline\hbox{%
  1422.     \setbox\z@\hbox{$0^{0}_{}$}%
  1423.     \dimen@\ht\z@\advance\dimen@\@arstrut@hline@clnc
  1424.     \@ifdim{\dimen@<\arraystretch\ht\strutbox}{\dimen@=\arraystretch\ht\strutbox}{}%
  1425.     \vrule \@height\dimen@
  1426.            \@depth\arraystretch \dp\strutbox
  1427.            \@width\z@
  1428.   }%
  1429. }%
  1430. \def\hline@rule{%
  1431.  \hrule \@height \arrayrulewidth
  1432.  \global\let\@arstrut\@arstrut@hline
  1433. }%
  1434. \def\@arstrut@hline@clnc{2\p@}% % Klootch: magic number
  1435. \def\tableft@skip{\z@skip}%
  1436. \def\tabmid@skip{\z@skip}%\@flushglue
  1437. \def\tabright@skip{\z@skip}%
  1438. \def\tableftsep{\tabcolsep}%
  1439. \def\tabmidsep{\tabcolsep}%
  1440. \def\tabrightsep{\tabcolsep}%
  1441. \def\cell@fil{}%
  1442. \def\pbox@hook{}%
  1443. \appdef\@arstrut{\@arstrut@hook}%
  1444. \let\@arstrut@hook\@empty
  1445. \def\@addtopreamble{\appdef\@preamble}%
  1446. \def\@mkpream@LaTeX#1{%
  1447.   \@firstamptrue\@lastchclass6
  1448.   \let\@preamble\@empty
  1449.   \let\protect\@unexpandable@protect
  1450.   \let\@sharp\relax
  1451.   \let\@startpbox\relax\let\@endpbox\relax
  1452.   \@expast{#1}%
  1453.   \expandafter\@tfor \expandafter
  1454.     \@nextchar \expandafter:\expandafter=\reserved@a\do
  1455.        {\@testpach\@nextchar
  1456.     \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii
  1457.       \or \@classiv \or\@classv \fi\@lastchclass\@chclass}%
  1458.   \ifcase \@lastchclass \@acol
  1459.       \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi
  1460. }%
  1461. \def\@mkpream@ltx#1{%
  1462.  \@firstamptrue
  1463.  \@lastchclass6
  1464.  \let\@preamble\@empty
  1465.  \let\protect\@unexpandable@protect
  1466.  \let\@sharp\relax
  1467.  \@expast{#1}%
  1468.  \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\reserved@a
  1469.  \do{%
  1470.   \expandafter\@testpach\expandafter{\@nextchar}%
  1471.   \ifcase\@chclass
  1472.    \@classz
  1473.   \or
  1474.    \@classi
  1475.   \or
  1476.    \@classii
  1477.   \or
  1478.    \@classiii
  1479.   \or
  1480.    \@classiv
  1481.   \or
  1482.    \@classv
  1483.   \fi
  1484.   \@lastchclass\@chclass
  1485.  }%
  1486.  \ifcase\@lastchclass
  1487.   \@acolr % right-hand column
  1488.  \or
  1489.  \or
  1490.   \@preamerr\@ne
  1491.  \or
  1492.   \@preamerr\tw@
  1493.  \or
  1494.  \or
  1495.   \@acolr % right-hand column
  1496.  \fi
  1497. }%
  1498. \def\insert@column@array{%
  1499.    \the@toks \the \@tempcnta
  1500.    \ignorespaces \@sharp \unskip
  1501.    \the@toks \the \count@ \relax
  1502. }%
  1503. \def\insert@column@array@new{%
  1504.  \the@toks\the\@tempcnta
  1505.  \array@row@rst\cell@font
  1506.  \ignorespaces\@sharp\unskip
  1507.  \the@toks\the\count@
  1508.  \relax
  1509. }%
  1510. \def\@mkpream@relax{%
  1511.  \let\tableftsep   \relax
  1512.  \let\tabmidsep    \relax
  1513.  \let\tabrightsep  \relax
  1514.  \let\array@row@rst\relax
  1515.  \let\cell@font    \relax
  1516.  \let\@startpbox   \relax
  1517. }%
  1518. \def\@mkpream@array#1{%
  1519.    \gdef\@preamble{}\@lastchclass 4 \@firstamptrue
  1520.    \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax
  1521.    \@temptokena{#1}\@tempswatrue
  1522.    \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%
  1523.    \count@\m@ne
  1524.    \let\the@toks\relax
  1525.    \prepnext@tok
  1526.    \expandafter \@tfor \expandafter \@nextchar
  1527.     \expandafter :\expandafter =\the\@temptokena \do
  1528.    {\@testpach
  1529.    \ifcase \@chclass \@classz \or \@classi \or \@classii
  1530.      \or \save@decl \or \or \@classv \or \@classvi
  1531.      \or \@classvii \or \@classviii
  1532.      \or \@classx
  1533.      \or \@classx \fi
  1534.    \@lastchclass\@chclass}%
  1535.    \ifcase\@lastchclass
  1536.    \@acol \or
  1537.    \or
  1538.    \@acol \or
  1539.    \@preamerr \thr@@ \or
  1540.    \@preamerr \tw@ \@addtopreamble\@sharp \or
  1541.    \or
  1542.    \else  \@preamerr \@ne \fi
  1543.    \def\the@toks{\the\toks}%
  1544. }%
  1545. \def\@mkpream@array@new#1{%
  1546.  \gdef\@preamble{}%
  1547.  \@lastchclass\f@ur
  1548.  \@firstamptrue
  1549.  \let\@sharp\relax
  1550.  \@mkpream@relax
  1551.  \@temptokena{#1}\@tempswatrue
  1552.  \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%
  1553.  \count@\m@ne
  1554.  \let\the@toks\relax
  1555.  \prepnext@tok
  1556.  \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\the\@temptokena
  1557.  \do{%
  1558.   \@testpach
  1559.   \ifcase\@chclass
  1560.    \@classz
  1561.   \or
  1562.    \@classi
  1563.   \or
  1564.    \@classii
  1565.   \or
  1566.    \save@decl
  1567.   \or
  1568.   \or
  1569.    \@classv
  1570.   \or
  1571.    \@classvi
  1572.   \or
  1573.    \@classvii
  1574.   \or
  1575.    \@classviii
  1576.   \or
  1577.    \@classx
  1578.   \or
  1579.    \@classx
  1580.   \fi
  1581.   \@lastchclass\@chclass
  1582.  }%
  1583.  \ifcase\@lastchclass
  1584.   \@acolr % right-hand column
  1585.  \or
  1586.  \or
  1587.   \@acolr % right-hand column
  1588.  \or
  1589.   \@preamerr\thr@@
  1590.  \or
  1591.   \@preamerr\tw@\@addtopreamble\@sharp
  1592.  \or
  1593.  \or
  1594.  \else
  1595.   \@preamerr\@ne
  1596.  \fi
  1597.  \def\the@toks{\the\toks}%
  1598. }%
  1599. \appdef\@mkpream@relax{%
  1600.  \let\CT@setup       \relax
  1601.  \let\CT@color       \relax
  1602.  \let\CT@do@color    \relax
  1603.  \let\color          \relax
  1604.  \let\CT@column@color\relax
  1605.  \let\CT@row@color   \relax
  1606.  \let\CT@cell@color  \relax
  1607. }%
  1608. \def\@addamp@LaTeX{%
  1609.   \if@firstamp\@firstampfalse\else\edef\@preamble{\@preamble &}\fi
  1610. }%
  1611. \def\@addamp@ltx{%
  1612.  \if@firstamp\@firstampfalse\else\@addtopreamble{&}\fi
  1613. }%
  1614. \def\@arrayacol@LaTeX{%
  1615.  \edef\@preamble{\@preamble \hskip \arraycolsep}%
  1616. }%
  1617. \def\@arrayacol@ltx{%
  1618.  \@addtopreamble{\hskip\arraycolsep}%
  1619. }%
  1620. \def\@tabacoll{%
  1621.  \@addtopreamble{\hskip\tableftsep\relax}%
  1622. }%
  1623. \def\@tabacol@LaTeX{%
  1624.  \edef\@preamble{\@preamble \hskip \tabcolsep}%
  1625. }%
  1626. \def\@tabacol@ltx{%
  1627.  \@addtopreamble{\hskip\tabmidsep\relax}%
  1628. }%
  1629. \def\@tabacolr{%
  1630.  \@addtopreamble{\hskip\tabrightsep\relax}%
  1631. }%
  1632. \def\@arrayclassz@LaTeX{%
  1633.  \ifcase \@lastchclass \@acolampacol \or \@ampacol \or
  1634.    \or \or \@addamp \or
  1635.    \@acolampacol \or \@firstampfalse \@acol \fi
  1636.  \edef\@preamble{\@preamble
  1637.   \ifcase \@chnum
  1638.      \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil
  1639.     \or \hfil$\relax\@sharp$\fi}%
  1640. }%
  1641. \def\@arrayclassz@ltx{%
  1642.  \ifcase\@lastchclass
  1643.   \@acolampacol
  1644.  \or
  1645.   \@ampacol
  1646.  \or
  1647.  \or
  1648.  \or
  1649.   \@addamp
  1650.  \or
  1651.   \@acolampacol
  1652.  \or
  1653.   \@firstampfalse\@acoll
  1654.  \fi
  1655.  \ifcase\@chnum
  1656.   \@addtopreamble{%
  1657.    \hfil\array@row@rst$\relax\@sharp$\hfil
  1658.   }%
  1659.  \or
  1660.   \@addtopreamble{%
  1661.    \array@row@rst$\relax\@sharp$\hfil
  1662.   }%
  1663.  \or
  1664.   \@addtopreamble{%
  1665.    \hfil\array@row@rst$\relax\@sharp$%
  1666.   }%
  1667.  \fi
  1668. }%
  1669. \def\@tabclassz@LaTeX{%
  1670.   \ifcase\@lastchclass
  1671.     \@acolampacol
  1672.   \or
  1673.     \@ampacol
  1674.   \or
  1675.   \or
  1676.   \or
  1677.     \@addamp
  1678.   \or
  1679.     \@acolampacol
  1680.   \or
  1681.     \@firstampfalse\@acol
  1682.   \fi
  1683.   \edef\@preamble{%
  1684.     \@preamble{%
  1685.       \ifcase\@chnum
  1686.         \hfil\ignorespaces\@sharp\unskip\hfil
  1687.       \or
  1688.         \hskip1sp\ignorespaces\@sharp\unskip\hfil
  1689.       \or
  1690.         \hfil\hskip1sp\ignorespaces\@sharp\unskip
  1691.       \fi}}%
  1692. }%
  1693. \def\@tabclassz@ltx{%
  1694.  \ifcase\@lastchclass
  1695.   \@acolampacol
  1696.  \or
  1697.   \@ampacol
  1698.  \or
  1699.  \or
  1700.  \or
  1701.   \@addamp
  1702.  \or
  1703.   \@acolampacol
  1704.  \or
  1705.   \@firstampfalse\@acoll
  1706.  \fi
  1707.  \ifcase\@chnum
  1708.   \@addtopreamble{%
  1709.    {\hfil\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}%
  1710.   }%
  1711.  \or
  1712.   \@addtopreamble{%
  1713.    {\cell@fil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}%
  1714.   }%
  1715.  \or
  1716.   \@addtopreamble{%
  1717.    {\hfil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\cell@fil}%
  1718.   }%
  1719.  \fi
  1720. }%
  1721. \def\@tabclassiv@LaTeX{%
  1722.  \@addtopreamble\@nextchar
  1723. }%
  1724. \def\@tabclassiv@ltx{%
  1725.  \expandafter\@addtopreamble\expandafter{\@nextchar}%
  1726. }%
  1727. \def\@arrayclassiv@LaTeX{%
  1728.  \@addtopreamble{$\@nextchar$}%
  1729. }%
  1730. \def\@arrayclassiv@ltx{%
  1731.  \expandafter\@addtopreamble\expandafter{\expandafter$\@nextchar$}%
  1732. }%
  1733. \def\@classv@LaTeX{%
  1734.  \@addtopreamble{\@startpbox{\@nextchar}\ignorespaces
  1735.  \@sharp\@endpbox}%
  1736. }%
  1737. \def\@classv@ltx{%
  1738.  \expandafter\@addtopreamble
  1739.  \expandafter{%
  1740.  \expandafter \@startpbox
  1741.  \expandafter {\@nextchar}%
  1742.  \pbox@hook\array@row@rst\cell@font\ignorespaces\@sharp\@endpbox
  1743.  }%
  1744. }%
  1745. \def\@classx@array{%
  1746.   \ifcase \@lastchclass
  1747.   \@acolampacol \or
  1748.   \@addamp \@acol \or
  1749.   \@acolampacol \or
  1750.   \or
  1751.   \@acol \@firstampfalse \or
  1752.   \@addamp
  1753.   \fi
  1754. }%
  1755. \def\@classx@array@new{%
  1756.  \ifcase \@lastchclass
  1757.   \@acolampacol
  1758.  \or
  1759.   \@addamp \@acol
  1760.  \or
  1761.   \@acolampacol
  1762.  \or
  1763.  \or
  1764.   \@firstampfalse\@acoll
  1765.  \or
  1766.   \@addamp
  1767.  \fi
  1768. }%
  1769. \def\@xbitor@LaTeX #1{\@tempcntb \count#1
  1770.    \ifnum \@tempcnta =\z@
  1771.    \else
  1772.      \divide\@tempcntb\@tempcnta
  1773.      \ifodd\@tempcntb \@testtrue\fi
  1774.    \fi}%
  1775. \def\@xbitor@ltx#1{%
  1776.  \@tempcntb\count#1\relax
  1777.  \@ifnum{\@tempcnta=\z@}{}{%
  1778.   \divide\@tempcntb\@tempcnta
  1779.   \@ifodd\@tempcntb{\@testtrue}{}%
  1780.  }%
  1781. }%
  1782. \@ifx{\@xbitor\@xbitor@LaTeX}{%
  1783.   \class@info{Repairing broken LaTeX \string\@xbitor}%
  1784. }{%
  1785.   \class@info{Unrecognized LaTeX \string\@xbitor. Please update this document class! (Proceeding with fingers crossed.)}%
  1786. }%
  1787. \let\@xbitor\@xbitor@ltx
  1788. \newcommand*\@gobble@opt@one[2][]{}%
  1789. \def\@starttoc#1{%
  1790.   \begingroup
  1791.     \toc@pre
  1792.     \makeatletter
  1793.     \@input{\jobname.#1}%
  1794.     \if@filesw
  1795.       \expandafter\newwrite\csname tf@#1\endcsname
  1796.       \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
  1797.     \fi
  1798.     \@nobreakfalse
  1799.     \toc@post
  1800.   \endgroup
  1801. }%
  1802. \def\toc@pre{}%
  1803. \def\toc@post{}%
  1804. \def\toc@@font{}%
  1805. \def\ltxu@dotsep{\z@}%
  1806. \let\tocdim@section       \leftmargini
  1807. \let\tocdim@subsection    \leftmarginii
  1808. \let\tocdim@subsubsection \leftmarginiii
  1809. \let\tocdim@paragraph     \leftmarginiv
  1810. \let\tocdim@appendix      \leftmarginv
  1811. \let\tocdim@pagenum       \leftmarginvi
  1812. \def\toc@pre@auto{%
  1813.   \toc@@font
  1814.   \@tempdima\z@
  1815.   \toc@setindent\@tempdima{section}%
  1816.   \toc@setindent\@tempdima{subsection}%
  1817.   \toc@setindent\@tempdima{subsubsection}%
  1818.   \toc@setindent\@tempdima{paragraph}%
  1819.   \toc@letdimen{appendix}%
  1820.   \toc@letdimen{pagenum}%
  1821. }%
  1822. \def\toc@post@auto{%
  1823.   \if@filesw
  1824.    \begingroup
  1825.     \toc@writedimen{section}%
  1826.     \toc@writedimen{subsection}%
  1827.     \toc@writedimen{subsubsection}%
  1828.     \toc@writedimen{paragraph}%
  1829.     \toc@writedimen{appendix}%
  1830.     \toc@writedimen{pagenum}%
  1831.    \endgroup
  1832.   \fi
  1833. }%
  1834. \def\toc@setindent#1#2{%
  1835.  \csname tocdim@#2\endcsname\tocdim@min\relax
  1836.  \@ifundefined{tocmax@#2}{\@namedef{tocmax@#2}{\z@}}{}%
  1837.  \advance#1\@nameuse{tocmax@#2}\relax
  1838.  \expandafter\edef\csname tocleft@#2\endcsname{\the#1}%
  1839. }%
  1840. \def\toc@letdimen#1{%
  1841.  \csname tocdim@#1\endcsname\tocdim@min\relax
  1842.  \@ifundefined{tocmax@#1}{\@namedef{tocmax@#1}{\z@}}{}%
  1843.  \expandafter\let\csname tocleft@#1\expandafter\endcsname\csname tocmax@#1\endcsname
  1844. }%
  1845. \def\toc@writedimen#1{%
  1846.  \immediate\write\@auxout{%
  1847.   \gdef\expandafter\string\csname tocmax@#1\endcsname{%
  1848.    \expandafter\the\csname tocdim@#1\endcsname
  1849.   }%
  1850.  }%
  1851. }%
  1852. \def\l@@sections#1#2#3#4{%
  1853.  \begingroup
  1854.   \everypar{}%
  1855.   \set@tocdim@pagenum\@tempboxa{#4}%
  1856.   \global\@tempdima\csname tocdim@#2\endcsname
  1857.   \leftskip\csname tocleft@#2\endcsname\relax
  1858.   \dimen@\csname tocleft@#1\endcsname\relax
  1859.   \parindent-\leftskip\advance\parindent\dimen@
  1860.   \rightskip\tocleft@pagenum plus 1fil\relax
  1861.   \skip@\parfillskip\parfillskip\z@
  1862.   \let\numberline\numberline@@sections
  1863.   \@nameuse{l@f@#2}%
  1864.   \ignorespaces#3\unskip\nobreak\hskip\skip@
  1865.   \hb@xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z@skip
  1866.   \expandafter\par
  1867.   \expandafter\aftergroup\csname tocdim@#2%
  1868.   \expandafter\endcsname
  1869.   \expandafter\endgroup
  1870.               \the\@tempdima\relax
  1871. }%
  1872. \def\set@tocdim@pagenum#1#2{%
  1873.  \setbox#1\hbox{\ignorespaces#2}%
  1874.  \@ifdim{\tocdim@pagenum<\wd#1}{\global\tocdim@pagenum\wd#1}{}%
  1875. }%
  1876. \def\numberline@@sections#1{%
  1877.  \leavevmode\hb@xt@-\parindent{%
  1878.   \hfil
  1879.   \@if@empty{#1}{}{%
  1880.    \setbox\z@\hbox{#1.\kern\ltxu@dotsep}%
  1881.    \@ifdim{\@tempdima<\wd\z@}{\global\@tempdima\wd\z@}{}%
  1882.    \unhbox\z@
  1883.   }%
  1884.  }%
  1885.  \ignorespaces
  1886. }%
  1887. \def\tocdim@min{\z@}%
  1888. \def\list#1#2{%
  1889.   \ifnum \@listdepth >5\relax
  1890.     \@toodeep
  1891.   \else
  1892.     \global\advance\@listdepth\@ne
  1893.   \fi
  1894.   \rightmargin\z@
  1895.   \listparindent\z@
  1896.   \itemindent\z@
  1897.   \csname @list\romannumeral\the\@listdepth\endcsname
  1898.   \def\@itemlabel{#1}%
  1899.   \let\makelabel\@mklab
  1900.   \@nmbrlistfalse
  1901.   #2\relax
  1902.   \@trivlist
  1903.   \parskip\parsep
  1904.   \set@listindent
  1905.   \ignorespaces
  1906. }%
  1907. \def\set@listindent@parshape{%
  1908.  \parindent\listparindent
  1909.  \advance\@totalleftmargin\leftmargin
  1910.  \advance\linewidth-\rightmargin
  1911.  \advance\linewidth-\leftmargin
  1912.  \parshape\@ne\@totalleftmargin\linewidth
  1913. }%
  1914. \def\set@listindent@{%
  1915.  \parindent\listparindent
  1916.  \advance\@totalleftmargin\leftmargin
  1917.  \advance\rightskip\rightmargin
  1918.  \advance\leftskip\@totalleftmargin
  1919. }%
  1920. \let\set@listindent\set@listindent@parshape
  1921. \providecommand\href[0]{\begingroup\@sanitize@url\@href}%
  1922. \def\@href#1{\@@startlink{#1}\endgroup\@@href}%
  1923. \def\@@href#1{#1\@@endlink}%
  1924. \providecommand \url  [0]{\begingroup\@sanitize@url \@url }%
  1925. \def \@url #1{\endgroup\@href {#1}{\URL@prefix#1}}%
  1926. \providecommand \URL@prefix [0]{URL }%
  1927. \providecommand\doi[0]{\begingroup\@sanitize@url\@doi}%
  1928. \def\@doi#1{\endgroup\@@startlink{\doibase#1}doi:\discretionary {}{}{}#1\@@endlink }%
  1929. \providecommand \doibase [0]{http://dx.doi.org/}%
  1930. \providecommand \@sanitize@url[0]{\chardef\cat@space\the\catcode`\ \@sanitize\catcode`\ \cat@space}%
  1931. \def\@@startlink#1{}%
  1932. \def\@@endlink{}%
  1933. \@ifxundefined \pdfoutput {\true@sw}{\@ifnum{\z@=\pdfoutput}{\true@sw}{\false@sw}}%
  1934. {%
  1935.  \def\@@startlink@hypertext#1{\leavevmode\special{html:<a href="#1">}}%
  1936.  \def\@@endlink@hypertext{\special{html:</a>}}%
  1937. }{%
  1938.  \def\@@startlink@hypertext#1{%
  1939.   \leavevmode
  1940.   \pdfstartlink\pdfstartlink@attr
  1941.    user{/Subtype/Link/A<</Type/Action/S/URI/URI(#1)>>}%
  1942.   \relax
  1943.  }%
  1944.  \def\@@endlink@hypertext{\pdfendlink}%
  1945.  \def\pdfstartlink@attr{attr{/Border[0 0 1 ]/H/I/C[0 1 1]}}%
  1946. }%
  1947. \def\hypertext@enable@ltx{%
  1948.  \let\@@startlink\@@startlink@hypertext
  1949.  \let\@@endlink\@@endlink@hypertext
  1950. }%
  1951. \def\href@Hy{\hyper@normalise \href@ }%
  1952. \def\href@Hy@ltx{\@ifnextchar\bgroup\Hy@href{\hyper@normalise\href@}}%
  1953. \def\Hy@href#{\hyper@normalise\href@}%
  1954. \begingroup
  1955.   \endlinechar=-1 %
  1956.   \catcode`\^^A=14 %
  1957.   \catcode`\^^M\active
  1958.   \catcode`\%\active
  1959.   \catcode`\#\active
  1960.   \catcode`\_\active
  1961.   \catcode`\$\active
  1962.   \catcode`\&\active
  1963.   \gdef\hyper@normalise@ltx{^^A
  1964.     \begingroup
  1965.     \catcode`\^^M\active
  1966.     \def^^M{ }^^A
  1967.     \catcode`\%\active
  1968.     \let%\@percentchar
  1969.     \let\%\@percentchar
  1970.     \catcode`\#\active
  1971.     \def#{\hyper@hash}^^A
  1972.     \def\#{\hyper@hash}^^A
  1973.     \@makeother\&^^A
  1974.     \edef&{\string&}^^A
  1975.     \edef\&{\string&}^^A
  1976.     \edef\textunderscore{\string_}^^A
  1977.     \let\_\textunderscore
  1978.     \catcode`\_\active
  1979.     \let_\textunderscore
  1980.     \let~\hyper@tilde
  1981.     \let\~\hyper@tilde
  1982.     \let\textasciitilde\hyper@tilde
  1983.     \let\\\@backslashchar
  1984.     \edef${\string$}^^A
  1985.     \Hy@safe@activestrue
  1986.     \hyper@n@rmalise
  1987.   }^^A
  1988.   \catcode`\#=6 ^^A
  1989.   \gdef\Hy@ActiveCarriageReturn@ltx{^^M}^^A
  1990.   \gdef\hyper@n@rmalise@ltx#1#2{^^A
  1991.     \def\Hy@tempa{#2}^^A
  1992.     \ifx\Hy@tempa\Hy@ActiveCarriageReturn
  1993.       \Hy@ReturnAfterElseFi{^^A
  1994.         \hyper@@normalise{#1}^^A
  1995.       }^^A
  1996.     \else
  1997.       \Hy@ReturnAfterFi{^^A
  1998.         \hyper@@normalise{#1}{#2}^^A
  1999.       }^^A
  2000.     \fi
  2001.   }^^A
  2002.   \gdef\hyper@@normalise@ltx#1#2{^^A
  2003.     \edef\Hy@tempa{^^A
  2004.       \endgroup
  2005.       \noexpand#1{\Hy@RemovePercentCr#2%^^M\@nil}^^A
  2006.     }^^A
  2007.     \Hy@tempa
  2008.   }^^A
  2009.   \gdef\Hy@RemovePercentCr@ltx#1%^^M#2\@nil{^^A
  2010.     #1^^A
  2011.     \ifx\limits#2\limits
  2012.     \else
  2013.       \Hy@ReturnAfterFi{^^A
  2014.         \Hy@RemovePercentCr #2\@nil
  2015.       }^^A
  2016.     \fi
  2017.   }^^A
  2018. \endgroup
  2019. \def\switch@hyperref@href{%
  2020.  \expandafter\@ifx\expandafter{\csname href \endcsname\href@Hy}{
  2021.   \class@info{Repairing hyperref 6.75r \string\href}%
  2022.   \let\hyper@normalise\hyper@normalise@ltx
  2023.   \let\hyper@@normalise\hyper@@normalise@ltx
  2024.   \let\hyper@n@rmalise\hyper@n@rmalise@ltx
  2025.   \let\Hy@ActiveCarriageReturn\Hy@ActiveCarriageReturn@ltx
  2026.   \let\Hy@RemovePercentCr\Hy@RemovePercentCr@ltx
  2027.   \let\href\href@Hy@ltx
  2028.  }{}%
  2029. }%
  2030. \appdef\document@inithook{\switch@hyperref@href}%
  2031. \def\typeout@org#1{%
  2032.  \begingroup
  2033.   \set@display@protect
  2034.   \immediate\write\@unused{#1}%
  2035.  \endgroup
  2036. }%
  2037. \long\def\typeout@ltx#1{%
  2038.  \begingroup
  2039.   \set@display@protect
  2040.   \immediate\write\@unused{#1}%
  2041.  \endgroup
  2042. }%
  2043. \@ifx{\typeout\typeout@org}{%
  2044.  \class@info{Making \string\typeout\space \string\long}%
  2045.  \let\typeout\typeout@ltx
  2046. }{}%
  2047. \typeout{%
  2048. ltxfront%
  2049.  [2010/07/25/20:33:00 4.1r frontmatter package (AO,DPC)]% \fileversion
  2050. }%
  2051. \appdef\class@documenthook{\frontmatter@init}%
  2052. \let\frontmatter@init\@empty
  2053. \newcommand\frontmatter@title[2][]{%
  2054.  \def\@title{#2}%
  2055.  \def\@shorttitle{#1}%
  2056.  \let\@AF@join\@title@join
  2057. }%
  2058. \appdef\frontmatter@init{%
  2059.  \def\@title{\class@warn{No title}}%
  2060.  \let\@shorttitle\@empty
  2061.  \let\@title@aux\@title@aux@cleared
  2062. }%
  2063. \def\@title@join{\expandafter\@title@join@\@title@aux}%
  2064. \def\@title@join@#1#2{%
  2065.  \def\@title@aux{{\@join{\@separator}{#1}{#2}}}%
  2066. }%
  2067. \def\@title@aux@cleared{{}}%
  2068. \newcounter{affil}%
  2069. \newcounter{collab}%
  2070. \appdef\frontmatter@init{%
  2071.  \c@affil\z@
  2072.  \c@collab\z@
  2073. }%
  2074. \newcommand\frontmatter@author{% implicit #1
  2075.  \@author@def{}% implicit #2
  2076. }%
  2077. \def\collaboration{% implicit #1
  2078.  \@author@def{\@booleantrue\collaboration@sw}% implicit #2
  2079. }%
  2080. \appdef\frontmatter@init{%
  2081.  \@booleanfalse\collaboration@sw
  2082. }%
  2083. \def\@author@cleared{{}{}{}}%
  2084. \def\@author@gobble#1#2#3{}%
  2085. \def\@author@init{%
  2086.  \let\@author\@author@cleared
  2087.  \@booleanfalse\collaboration@sw
  2088. }%
  2089. \def\@authorclear@sw{\@ifx{\@author\@author@cleared}}%
  2090. \appdef\frontmatter@init{%
  2091.  \@author@init
  2092. }%
  2093. \def\@author@def#1#2{%
  2094.  \frontmatterverbose@sw{\typeout{\string\author\space\string\collaboration}}{}%
  2095.  \move@AU\move@AF\move@AUAF
  2096.  \let\@AF@join\@author@join
  2097.  #1%
  2098.  \def\@author{{#2}{}}%
  2099. }%
  2100. \def\@author@join@#1#2#3{%
  2101.   \def\@author{{#1}{\@join{\@separator}{#2}{#3}}}%
  2102. }%
  2103. \def\@author@join{\expandafter\@author@join@\@author}%
  2104. \def\move@AU{%
  2105.  \@authorclear@sw{}{%
  2106.   \collaboration@sw{%
  2107.    \advance\c@collab\@ne
  2108.    \@argswap{\CO@grp\CO@opr}%
  2109.   }{%
  2110.    \@argswap{\AU@grp\AU@opr}%
  2111.   }%
  2112.    {%
  2113.     \expandafter\@argswap@val
  2114.     \expandafter{\@author}%
  2115.      {\expandafter\@argswap@val\expandafter{\the\c@collab}{\add@AUCO@grp}}%
  2116.    }%
  2117.  }%
  2118.  \@author@init
  2119. }%
  2120. \def\add@AUCO@grp#1#2#3#4{%
  2121.  \appdef#3{#4{#1}#2}%
  2122.  \frontmatterverbose@sw{\say#3}{}%
  2123. }%
  2124. \def\@author@finish{%
  2125.  \frontmatterverbose@sw{\typeout{\string\@author@finish}}{}%
  2126.  \move@AU\move@AF
  2127.  \@ifx{\AU@grp\@empty}{%
  2128.   \@ifx{\CO@grp\@empty}%
  2129.  }{%
  2130.   \false@sw
  2131.  }%
  2132.  {}{%
  2133.   \@ifx{\AF@grp\@empty}{%
  2134.    \begingroup
  2135.     \let\href\@secondoftwo
  2136.     \let\AU@opr\@secondofthree
  2137.     \let\CO@opr\@secondofthree
  2138.     \let\footnote\@gobble
  2139.     \@ifx{\CO@grp\@empty}{%
  2140.      \class@warn{Assuming \string\noaffiliation\space for authors}%
  2141.      \frontmatterverbose@sw{\say\AU@grp}%
  2142.     }{%
  2143.      \class@warn{Assuming \string\noaffiliation\space for collaboration}%
  2144.      \frontmatterverbose@sw{\say\CO@grp}{}%
  2145.     }%
  2146.    \endgroup
  2147.    \@affil@none\move@AF
  2148.   }{}%
  2149.  }%
  2150.  \move@AUAF
  2151. }%
  2152. \def\@secondofthree#1#2#3{#2}%
  2153. \def\@join#1#2#3{%
  2154.   \@if@empty{#2}{#3}{#2#1#3}%
  2155. }%
  2156. \def\@separator{;\space}%
  2157. \let\surname\@firstofone
  2158. \let\firstname\@firstofone
  2159. \newcommand\frontmatter@and{\class@err{\protect\and\space is not supported}}
  2160. \def\cat@comma@active{\catcode`\,\active}%
  2161. {\cat@comma@active\gdef,{\active@comma}}%
  2162. \def\active@comma{,\penalty-300\relax}%
  2163. \newcommand\affiliation{%
  2164.  \frontmatterverbose@sw{\typeout{\string\affiliation}}{}%
  2165.  \move@AU\move@AF
  2166.  \begingroup
  2167.   \cat@comma@active
  2168.   \@affiliation
  2169. }%
  2170. \def\@affiliation#1{%
  2171.  \endgroup
  2172.  \let\@AF@join\@affil@join
  2173.  \@affil@def{#1}%
  2174. }%
  2175. \newcommand\frontmatter@noaffiliation{%
  2176.  \frontmatterverbose@sw{\typeout{\string\noaffiliation}}{}%
  2177.  \move@AU\move@AF
  2178.  \@affil@none\move@AF
  2179.  \move@AUAF
  2180. }%
  2181. \def\blankaffiliation{{}}%
  2182. \def\@affil@cleared{{{}}{}}%
  2183. \def\@affil@nil{{\relax}{}}%
  2184. \appdef\frontmatter@init{%
  2185.  \@affil@init
  2186. }%
  2187. \def\@affil@none{%
  2188.  \let\@affil\@affil@nil
  2189. }%
  2190. \def\@affil@init{%
  2191.  \let\@affil\@affil@cleared
  2192. }%
  2193. \def\@affilclear@sw{\@ifx{\@affil\@affil@cleared}}%
  2194. \def\@affil@def#1{%
  2195.  \def\@affil{{#1}{}}%
  2196. }%
  2197. \def\@affil@join@#1#2#3{%
  2198.   \def\@affil{{#1}{\@join{\@separator}{#2}{#3}}}%
  2199. }%
  2200. \def\@affil@join{\expandafter\@affil@join@\@affil}%
  2201. \def\move@AF{%
  2202.  \@affilclear@sw{}{%
  2203.   \@booleanfalse\temp@sw
  2204.   \let\@tempd\@empty
  2205.   \@affils@sw{%
  2206.     \expandafter\@affil@addr@def\expandafter\@tempa\@affil
  2207.     \def\AFF@opr{\@affil@match\@tempa}%
  2208.     \@AFF@list
  2209.   }{}\temp@sw
  2210.   {%
  2211.    \expandafter\@affil@aux@def\expandafter\@tempb\@affil
  2212.    \@ifx{\@tempb\@empty}{}{%
  2213.     \@ifx{\@tempb\@tempd}{}{%
  2214.      \class@warn{%
  2215.       Ancillary information for \@tempa\space must not be different!
  2216.       Please put all of it on the first instance%
  2217.      }%
  2218.     }%
  2219.    }%
  2220.   }%
  2221.   {%
  2222.    \@ifx{\@affil\@affil@nil}{%
  2223.     \def\@tempc{0}%
  2224.     \@argswap@val{0}%
  2225.    }{%
  2226.     \advance\c@affil\@ne
  2227.     \expandafter\def\expandafter\@tempc\expandafter{\the\c@affil}%
  2228.     \expandafter\@argswap@val\expandafter{\the\c@affil}%
  2229.    }%
  2230.    {%
  2231.     \expandafter\@argswap@val\expandafter{\the\c@collab}{%
  2232.      \expandafter\@argswap@val\expandafter{\@affil}{%
  2233.       \add@list@val@val@val\@AFF@list\AFF@opr
  2234.      }%
  2235.     }%
  2236.    }%
  2237.   }%
  2238.   \appdef@eval\AF@grp\@tempc
  2239.   \frontmatterverbose@sw{\say\AF@grp}{}%
  2240.   \@affil@init
  2241.  }%
  2242. }%
  2243. \def\@affil@addr@def#1#2#3{%
  2244.  \def#1{#2}%
  2245. }%
  2246. \def\@affil@aux@def#1#2#3{%
  2247.  \def#1{#3}%
  2248. }%
  2249. \def\add@list@val@val@val#1#2#3#4#5{%
  2250.  \appdef#1{#2{#5}{#4}#3}%
  2251.  \frontmatterverbose@sw{\say#1}{}%
  2252. }%
  2253. \def\@affil@match#1#2#3#4#5{%
  2254.  \temp@sw{}{%
  2255.   \def\@tempifx{#4}%
  2256.   \@ifx{\@tempifx#1}{%
  2257.    \groupauthors@sw{%
  2258.     \@ifnum{#3=\c@collab}{%
  2259.      \true@sw
  2260.     }{%
  2261.      \false@sw
  2262.     }%
  2263.    }{%
  2264.     \true@sw
  2265.    }%
  2266.   }{%
  2267.    \false@sw
  2268.   }%
  2269.   {%
  2270.    \@booleantrue\temp@sw
  2271.    \def\@tempc{#2}%
  2272.    \def\@tempd{#5}%
  2273.   }{%
  2274.   }%
  2275.  }%
  2276. }%
  2277. \def\move@AUAF{%
  2278.  \frontmatterverbose@sw{\say\AU@grp\say\AF@grp\say\CO@grp}{}%
  2279.  \@ifx{\AF@grp\@empty}{%
  2280.     \@ifx{\@empty\CO@grp}{%
  2281.     }{%
  2282.      \appdef     \@AAC@list{\AF@opr{{0}}}%
  2283.      \appdef@e   \@AAC@list{\CO@grp}%
  2284.      \appdef@e   \@AFG@list{\CO@grp}%
  2285.      \let\CO@grp\@empty
  2286.     }%
  2287.  }{%
  2288.       \appdef     \@AAC@list{\AF@opr}%
  2289.       \appdef@eval\@AAC@list{\AF@grp}%
  2290.       \appdef@e   \@AAC@list{\AU@grp}%
  2291.     \@ifx{\@empty\AU@grp}{%
  2292.      \@ifx{\@empty\CO@grp}%
  2293.     }{%
  2294.      \false@sw
  2295.     }%
  2296.     {%
  2297.     }{%
  2298.       \@booleanfalse\temp@sw
  2299.       \def\AFG@opr{\x@match\AF@grp}%
  2300.       \let\CO@opr\@author@gobble
  2301.       \@AFG@list
  2302.       \temp@sw{}{%
  2303.         \appdef     \@AFG@list{\AFG@opr}%
  2304.         \appdef@eval\@AFG@list{\AF@grp}%
  2305.       }%
  2306.      \@ifx{\@empty\CO@grp}{}{%
  2307.        \appdef@e   \@AAC@list{\CO@grp}%
  2308.        \appdef@e   \@AFG@list{\CO@grp}%
  2309.        \let\CO@grp\@empty
  2310.      }%
  2311.     }%
  2312.     \let\CO@grp\@empty
  2313.     \let\AU@grp\@empty
  2314.     \let\AF@grp\@empty
  2315.  }%
  2316.  \frontmatterverbose@sw{\say\@AAC@list\say\@AFG@list}{}%
  2317. }%
  2318. \appdef\frontmatter@init{%
  2319.  \let\AU@grp\@empty
  2320.  \let\CO@grp\@empty
  2321.  \let\AF@grp\@empty
  2322.  \let\@AAC@list\@empty
  2323.  \let\@AFG@list\@empty
  2324.  \let\@AFF@list\@empty
  2325. }%
  2326. \appdef\frontmatter@init{%
  2327.  \let\@AF@join\@AF@join@error
  2328. }%
  2329. \def\@AF@join@error#1{%
  2330.  \class@warn{%
  2331.   \string\email, \string\homepage, \string\thanks, or \string\altaffiliation\space
  2332.   appears in wrong context.
  2333.  }%
  2334. }%
  2335. \def\sanitize@url{%
  2336.  \@makeother\%%
  2337.  \@makeother\~%
  2338.  \@makeother\_%
  2339. }%
  2340. \newcommand*\email[1][]{\begingroup\sanitize@url\@email{#1}}%
  2341. \def\@email#1#2{%
  2342.  \endgroup
  2343.  \@AF@join{#1\href{mailto:#2}{#2}}%
  2344. }%
  2345. \newcommand*\homepage[1][]{\begingroup\sanitize@url\@homepage{#1}}%
  2346. \def\@homepage#1#2{%
  2347.  \endgroup
  2348.  \@AF@join{#1\href{#2}{#2}}%
  2349. }%
  2350. \appdef\class@documenthook{%
  2351.  \providecommand\href[1]{}%
  2352. }%
  2353. \def\frontmatter@thanks{% implicit #1
  2354.   \@AF@join
  2355. }%
  2356. \newcommand*\altaffiliation[2][]{%
  2357.   \@AF@join{#1#2}%
  2358. }%
  2359. \def\set@listcomma@list#1{%
  2360.   \expandafter\@reset@ac\expandafter#1#1{0}\@reset@ac{%
  2361.    \let\@listcomma\relax
  2362.   }{%
  2363.    \let\@listcomma\@listcomma@comma
  2364.   }%
  2365. }%
  2366. \def\set@listcomma@count#1{%
  2367.   \@ifnum{#1=\tw@}{%
  2368.     \let\@listcomma\relax
  2369.   }{%
  2370.     \let\@listcomma\@listcomma@comma
  2371.   }%
  2372. }%
  2373. \def\@reset@ac#1#2#3\@reset@ac{%
  2374.   \def#1{#3}%
  2375.   \@tempcnta#2\relax
  2376.   \@ifnum{#2=\tw@}%
  2377. }%
  2378. \def\@listand{\@ifnum{\@tempcnta=\tw@}{\andname\space}{}}%
  2379. \def\@listcomma@comma{\@ifnum{\@tempcnta>\@ne}{,}{}}%
  2380. \def\@listcomma@comma@UK{\@ifnum{\@tempcnta>\tw@}{,}{}}%
  2381. \def\@collaboration@gobble#1#2#3{}%
  2382. \def\doauthor#1#2#3{%
  2383.   \ignorespaces#1\unskip\@listcomma
  2384.   \begingroup
  2385.    #3%
  2386.   \@if@empty{#2}{\endgroup{}{}}{\endgroup{\comma@space}{}\frontmatter@footnote{#2}}%
  2387.   \space \@listand
  2388. }%
  2389. \def\x@match#1#2{%
  2390.  \temp@sw{}{%
  2391.   \def\@tempifx{#2}%
  2392.   \@ifx{\@tempifx#1}{%
  2393.     \@booleantrue\temp@sw
  2394.   }{%
  2395.   }%
  2396.  }%
  2397. }%
  2398. \def\y@match#1#2#3{%
  2399.  \temp@sw{}{%
  2400.   \def\@tempifx{#3}%
  2401.   \@ifx{\@tempifx#1}{%
  2402.     \@booleantrue\temp@sw
  2403.     \def\@tempb{#2}%
  2404.   }{%
  2405.   }%
  2406.  }%
  2407. }%
  2408. \def\frontmatter@footnote#1{%
  2409.  \begingroup
  2410.   \@booleanfalse\temp@sw
  2411.   \def\@tempa{#1}%
  2412.   \let\@tempb\@empty
  2413.   \def\@TBN@opr{\y@match\@tempa}%
  2414.   \@FMN@list
  2415.   \temp@sw{%
  2416.    \expandafter\frontmatter@footnotemark
  2417.    \expandafter{\@tempb}%
  2418.   }{%
  2419.    \stepcounter\@mpfn
  2420.    \expandafter\expandafter
  2421.    \expandafter\frontmatter@foot@mark
  2422.    \expandafter\expandafter
  2423.    \expandafter{%
  2424.    \expandafter \the\csname c@\@mpfn\endcsname
  2425.                }{#1}%
  2426.   }%
  2427.  \endgroup
  2428. }%
  2429. \def\frontmatter@foot@mark#1#2{%
  2430.  \frontmatter@footnotemark{#1}%
  2431.  \g@addto@macro\@FMN@list{\@TBN@opr{#1}{#2}}%
  2432. }%
  2433. \appdef\frontmatter@init{%
  2434.  \global\let\@FMN@list\@empty
  2435. }%
  2436. \def\frontmatter@footnotemark#1{%
  2437.  \leavevmode
  2438.  \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
  2439.   \begingroup
  2440.    \hyper@linkstart {link}{frontmatter.#1}%
  2441.     \csname c@\@mpfn\endcsname#1\relax
  2442.     \def\@thefnmark{\frontmatter@thefootnote}%
  2443.     \@makefnmark
  2444.    \hyper@linkend
  2445.   \endgroup
  2446.  \ifhmode\spacefactor\@x@sf\fi
  2447.  \relax
  2448. }%
  2449. \def\keywords#1{%
  2450.   \aftermaketitle@chk{\keywords}%
  2451.   \gdef\@keywords{#1}%
  2452. }%
  2453. \appdef\frontmatter@init{%
  2454.  \let\@keywords\@empty
  2455. }%
  2456. \newcommand*\frontmatter@date[2][\Dated@name]{\def\@date{#1#2}}%
  2457. \def\@date{}%
  2458. \newcommand*\received[2][\Received@name]{\def\@received{#1#2}}%
  2459. \def\@received{}%
  2460. \newcommand*\revised[2][\Revised@name]{\def\@revised{#1#2}}%
  2461. \def\@revised{}%
  2462. \newcommand*\accepted[2][\Accepted@name]{\def\@accepted{#1#2}}%
  2463. \def\@accepted{}%
  2464. \newcommand*\published[2][\Published@name]{\def\@published{#1#2}}%
  2465. \def\@published{}%
  2466. \def\pacs#1{%
  2467.   \aftermaketitle@chk{\pacs}%
  2468.   \gdef\@pacs{#1}%
  2469. }%
  2470. \appdef\frontmatter@init{%
  2471.  \let\@pacs\@empty
  2472. }%
  2473. \def\preprint#1{\gappdef\@preprint{\preprint{#1}}}%
  2474. \appdef\frontmatter@init{%
  2475.  \let\@preprint\@empty
  2476. }%
  2477. \newbox\absbox
  2478. \def\toclevel@abstract{1}%
  2479. \def\addcontents@abstract{%
  2480.  \phantomsection
  2481.  \expandafter\def\csname Parent0\endcsname{section*.2}%
  2482.  \expandafter\@argswap@val\expandafter{\abstractname}{\addcontentsline{toc}{abstract}}%
  2483. }%
  2484. \newenvironment{frontmatter@abstract}{%
  2485.   \aftermaketitle@chk{\begin{abstract}}%
  2486.   \global\setbox\absbox\vbox\bgroup
  2487.    \color@begingroup
  2488.    \columnwidth\textwidth
  2489.    \hsize\columnwidth
  2490.    \@parboxrestore
  2491.    \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
  2492.    \let\@footnotetext\frontmatter@footnotetext
  2493.    \minipagefootnote@init
  2494.    \let\set@listindent\set@listindent@
  2495.    \let\@listdepth\@mplistdepth \@mplistdepth\z@
  2496.    \let@environment{description}{frontmatter@description}%
  2497.    \@minipagerestore
  2498.    \@setminipage
  2499.     \frontmatter@abstractheading
  2500.     \frontmatter@abstractfont
  2501.     \let\footnote\mini@note
  2502.     \expandafter\everypar\expandafter{\the\everypar\addcontents@abstract\everypar{}}%
  2503. }{%
  2504.     \par
  2505.     \unskip
  2506.     \minipagefootnote@here
  2507.     \@minipagefalse   %% added 24 May 89
  2508.     \color@endgroup
  2509.   \egroup
  2510. }%
  2511. \long\def\frontmatter@footnotetext#1{%
  2512.   \minipagefootnote@pick
  2513.     \set@footnotefont
  2514.     \set@footnotewidth
  2515.     \@parboxrestore
  2516.     \protected@edef\@currentlabel{\csname p@\@mpfn\endcsname\@thefnmark}%
  2517.     \color@begingroup
  2518.       \frontmatter@makefntext{%
  2519.         \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox\vadjust{\vskip\z@skip}%
  2520.       }%
  2521.     \color@endgroup
  2522.   \minipagefootnote@drop
  2523. }%
  2524. \def\ltx@no@footnote{%
  2525.  \let\ltx@xfootnote\ltx@no@xfootnote\let\ltx@yfootnote\ltx@no@yfootnote
  2526.  \let\ltx@xfootmark\ltx@no@xfootmark\let\ltx@yfootmark\ltx@no@yfootmark
  2527.  \let\ltx@xfoottext\ltx@no@xfoottext\let\ltx@yfoottext\ltx@no@yfoottext
  2528. }%
  2529. \def\ltx@no@xfootnote[#1]#2{\ltx@no@footwarn\footnote}%
  2530. \def\ltx@no@yfootnote#1{\ltx@no@footwarn\footnote}%
  2531. \def\ltx@no@xfootmark[#1]{\ltx@no@footwarn\footnotemark}%
  2532. \def\ltx@no@yfootmark{\ltx@no@footwarn\footnotemark}%
  2533. \def\ltx@no@xfoottext[#1]#2{\ltx@no@footwarn\footnotetext}%
  2534. \def\ltx@no@yfoottext#1{\ltx@no@footwarn\footnotetext}%
  2535. \def\ltx@no@footwarn#1{%
  2536.  \class@warn{%
  2537.   The \string#1\space command is not legal on the title page;
  2538.   using \string\thanks\space instead might suit you: consult the manual for details%
  2539.  }%
  2540. }%
  2541. \def\frontmatter@abstractheading{%
  2542.  \begingroup
  2543.   \centering\large
  2544.   \abstractname
  2545.   \par
  2546.  \endgroup
  2547. }%
  2548. \def\frontmatter@abstractfont{}%
  2549. \newenvironment{frontmatter@description}{%
  2550.  \list{}{%
  2551.   \leftmargin\z@
  2552.   \labelwidth\z@
  2553.   \itemindent\z@
  2554.   \let\makelabel\frontmatter@descriptionlabel
  2555.  }%
  2556. }{%
  2557.  \endlist
  2558. }%
  2559. \def\frontmatter@descriptionlabel#1{%
  2560.  \hspace\labelsep
  2561.  \normalfont\bfseries
  2562.  #1:%
  2563. }%
  2564. \def\frontmatter@abstractwidth{\textwidth}
  2565. \def\frontmatter@abstract@produce{%
  2566.   \par
  2567.   \preprintsty@sw{%
  2568.    \do@output@MVL{%
  2569.     \vskip\frontmatter@preabstractspace
  2570.     \vskip200\p@\@plus1fil
  2571.     \penalty-200\relax
  2572.     \vskip-200\p@\@plus-1fil
  2573.    }%
  2574.   }{%
  2575.    \addvspace{\frontmatter@preabstractspace}%
  2576.   }%
  2577.    \begingroup
  2578.     \dimen@\baselineskip
  2579.     \setbox\z@\vtop{\unvcopy\absbox}%
  2580.     \advance\dimen@-\ht\z@\advance\dimen@-\prevdepth
  2581.     \@ifdim{\dimen@>\z@}{\vskip\dimen@}{}%
  2582.    \endgroup
  2583.    \begingroup
  2584.     \prep@absbox
  2585.     \unvbox\absbox
  2586.     \post@absbox
  2587.    \endgroup
  2588.   \@ifx{\@empty\mini@notes}{}{\mini@notes\par}%
  2589.   \addvspace\frontmatter@postabstractspace
  2590. }%
  2591. \appdef\frontmatter@init{\let\mini@notes\@empty}%
  2592. \let\prep@absbox\@empty
  2593. \let\post@absbox\@empty
  2594. \def\frontmatter@preabstractspace{.5\baselineskip}
  2595. \def\frontmatter@postabstractspace{.5\baselineskip}
  2596. \newenvironment{frontmatter@titlepage}{%
  2597.       \twocolumn@sw{\onecolumngrid}{\newpage}%
  2598.       \thispagestyle{titlepage}%
  2599.       \setcounter{page}\@ne
  2600. }{%
  2601.      \twocolumn@sw{\twocolumngrid}{\newpage}%
  2602.      \twoside@sw{}{%
  2603.         \setcounter{page}\@ne
  2604.      }%
  2605. }%
  2606. \def\frontmatter@maketitle{%
  2607.   \@author@finish
  2608.   \title@column\titleblock@produce
  2609.   \suppressfloats[t]%
  2610.   \let\and\relax
  2611.   \let\affiliation\@gobble
  2612.   \let\author\@gobble
  2613.   \let\@AAC@list\@empty
  2614.   \let\@AFF@list\@empty
  2615.   \let\@AFG@list\@empty
  2616.   \let\@AF@join\@AF@join@error
  2617.   \let\email\@gobble
  2618.   \let\@address\@empty
  2619.   \let\maketitle\relax
  2620.   \let\thanks\@gobble
  2621.   \let\abstract\@undefined\let\endabstract\@undefined
  2622.   \titlepage@sw{%
  2623.    \vfil
  2624.    \clearpage
  2625.   }{}%
  2626. }%
  2627. \def\maketitle@Hy{%
  2628.   \let\Hy@saved@footnotemark\@footnotemark
  2629.   \let\Hy@saved@footnotetext\@footnotetext
  2630.   \let\@footnotemark\H@@footnotemark
  2631.   \let\@footnotetext\H@@footnotetext
  2632.   \@ifnextchar[%]
  2633.    \Hy@maketitle@optarg
  2634.    {%
  2635.     \HyOrg@maketitle
  2636.     \Hy@maketitle@end
  2637.    }%
  2638. }%
  2639. \appdef\class@documenthook{%
  2640.   \@ifx{\maketitle\maketitle@Hy}{%
  2641.    \class@info{Taking \string\maketitle\space back from hyperref}%
  2642.    \let\maketitle\frontmatter@maketitle
  2643.   }{%
  2644.   }%
  2645. }%
  2646. \def\titleblock@produce{%
  2647.  \begingroup
  2648.   \ltx@footnote@pop
  2649.   \def\@mpfn{mpfootnote}%
  2650.   \def\thempfn{\thempfootnote}%
  2651.   \c@mpfootnote\z@
  2652.   \let\@makefnmark\frontmatter@makefnmark
  2653.   \frontmatter@setup
  2654.   \thispagestyle{titlepage}\label{FirstPage}%
  2655.   \frontmatter@title@produce
  2656.   \groupauthors@sw{%
  2657.    \frontmatter@author@produce@group
  2658.   }{%
  2659.    \frontmatter@author@produce@script
  2660.   }%
  2661.   \frontmatter@RRAPformat{%
  2662.    \expandafter\produce@RRAP\expandafter{\@date}%
  2663.    \expandafter\produce@RRAP\expandafter{\@received}%
  2664.    \expandafter\produce@RRAP\expandafter{\@revised}%
  2665.    \expandafter\produce@RRAP\expandafter{\@accepted}%
  2666.    \expandafter\produce@RRAP\expandafter{\@published}%
  2667.   }%
  2668.   \frontmatter@abstract@produce
  2669.   \@ifx@empty\@pacs{}{%
  2670.    \@pacs@produce\@pacs
  2671.   }%
  2672.   \@ifx@empty\@keywords{}{%
  2673.    \@keywords@produce\@keywords
  2674.   }%
  2675.   \par
  2676.   \frontmatter@finalspace
  2677.  \endgroup
  2678. }%
  2679. \def\toclevel@title{0}%
  2680. \def\frontmatter@title@produce{%
  2681.  \begingroup
  2682.   \frontmatter@title@above
  2683.   \frontmatter@title@format
  2684.   \@title
  2685.   \unskip
  2686.   \phantomsection\expandafter\@argswap@val\expandafter{\@title}{\addcontentsline{toc}{title}}%
  2687.   \@ifx{\@title@aux\@title@aux@cleared}{}{%
  2688.    \expandafter\frontmatter@footnote\expandafter{\@title@aux}%
  2689.   }%
  2690.   \par
  2691.   \frontmatter@title@below
  2692.  \endgroup
  2693. }%
  2694. \appdef\let@mark{\let\\\relax}%
  2695. \def\frontmatter@title@above{}%
  2696. \def\frontmatter@title@format{}%
  2697. \def\frontmatter@title@below{\addvspace{\baselineskip}}%
  2698. \def\frontmatter@author@produce@script{%
  2699.   \begingroup
  2700.     \let\@author@present\@author@present@script
  2701.     \frontmatterverbose@sw{\typeout{\string\frontmatter@author@produce@script:}\say\@AAC@list\say\@AFF@list\say\@AFG@list}{}%
  2702.     \let\AU@temp\@empty
  2703.     \@tempcnta\z@
  2704.     \let\AF@opr \@gobble
  2705.     \def\AU@opr{\@author@count\@tempcnta}%
  2706.     \def\CO@opr{\@collaboration@count\AU@temp\@tempcnta}%
  2707.     \@AAC@list
  2708.     \expandafter\CO@opr\@author@cleared
  2709.     \begingroup
  2710.      \frontmatter@authorformat
  2711.      \let\AF@opr \@affilID@def
  2712.      \let\AU@opr \@author@present
  2713.      \def\CO@opr{\@collaboration@present\AU@temp}%
  2714.      \set@listcomma@list\AU@temp
  2715.      \@AAC@list
  2716.      \unskip\unskip
  2717.      \par
  2718.     \endgroup
  2719.     \begingroup
  2720.      \frontmatter@above@affiliation@script
  2721.      \let\AFF@opr \@affil@script
  2722.      \@AFF@list
  2723.      \frontmatter@footnote@produce
  2724.      \par
  2725.     \endgroup
  2726.   \endgroup
  2727. }%
  2728. \def\@author@count#1{%
  2729.  \advance#1\@ne
  2730.  \@author@gobble
  2731. }%
  2732. \def\@collaboration@present#1#2#3#4{%
  2733.  \par
  2734.  \begingroup
  2735.   \frontmatter@collaboration@above
  2736.   \@affilID@def{}%
  2737.   \@tempcnta\z@
  2738.   \@author@present{}{(\ignorespaces#3\unskip)}{#4}%
  2739.   \par
  2740.  \endgroup
  2741.  \set@listcomma@list#1%
  2742. }%
  2743. \def\frontmatter@collaboration@above{}%
  2744. \def\@collaboration@count#1#2{%
  2745.  \appdef@eval#1{\the#2}#2\z@
  2746.  \@author@gobble
  2747. }%
  2748. \def\@affilID@def{\def\@affilID@temp}%
  2749. \let\@affilID@temp\@empty
  2750. \def\affil@script#1#2#3{%
  2751.  \def\@tempifx{#1}\@ifx{\@tempifx\@tempa}{%
  2752.   \@if@empty{#2}{}{%
  2753.    \par
  2754.    \begingroup
  2755.     \def\@thefnmark{#1}\@makefnmark\ignorespaces
  2756.     #2%
  2757.     \@if@empty{#3}{}{\frontmatter@footnote{#3}}%
  2758.     \par
  2759.    \endgroup
  2760.   }%
  2761.  }{}%
  2762. }%
  2763. \def\@affil@script#1#2#3#4{%
  2764.  \@ifnum{#1=\z@}{}{%
  2765.   \par
  2766.   \begingroup
  2767.    \frontmatter@affiliationfont
  2768.    \@ifnum{\c@affil<\affil@cutoff}{}{%
  2769.     \def\@thefnmark{#1}\@makefnmark
  2770.    }%
  2771.    \ignorespaces#3%
  2772.    \@if@empty{#4}{}{\frontmatter@footnote{#4}}%
  2773.    \par
  2774.   \endgroup
  2775.  }%
  2776. }%
  2777. \let\affil@cutoff\@ne
  2778. \def\@author@present@script#1#2#3{%
  2779.  \begingroup
  2780.   \gdef\comma@space{\textsuperscript{,\,}}%
  2781.   \doauthor{#2}{#3}{\@affil@present@script}%
  2782.  \endgroup
  2783.  \advance\@tempcnta\m@ne
  2784. }%
  2785. \def\@affilcomma#1#2{%
  2786.  \@ifx{\z@#1}{%
  2787.   \@ifx{\relax#2}{}{%
  2788.    \@affilcomma{#2}%
  2789.   }%
  2790.  }{%
  2791.   #1%
  2792.   \@ifx{\relax#2}{}{%
  2793.    \@ifx{\z@#2}{%
  2794.     \@affilcomma
  2795.    }{%
  2796.     ,\,\@affilcomma{#2}%
  2797.    }%
  2798.   }%
  2799.  }%
  2800. }%
  2801. \def\@affil@present@script{%
  2802.  \let\@tempa\@empty
  2803.  \expandafter\@affil@present@script@\@affilID@temp\relax
  2804. }%
  2805. \def\@affil@present@script@#1{%
  2806.  \@ifx{\relax#1}{%
  2807.   \@ifx{\@tempa\@empty}{%
  2808.    \aftergroup\false@sw
  2809.   }{%
  2810.    \textsuperscript{\expandafter\@affilcomma\@tempa\relax\relax}%
  2811.    \aftergroup\true@sw
  2812.   }%
  2813.  }{%
  2814.   \@ifnum{#1=\z@}{}{\appdef\@tempa{{#1}}}%
  2815.   \@affil@present@script@
  2816.  }%
  2817. }%
  2818. \@provide\@author@parskip{\z@skip}%
  2819. \def\frontmatter@author@produce@group{%
  2820.   \begingroup
  2821.     \let\@author@present\@author@present@group
  2822.     \frontmatter@authorformat
  2823.     \frontmatterverbose@sw{\typeout{\string\frontmatter@author@produce@group:}\say\@AAC@list\say\@AFF@list\say\@AFG@list}{}%
  2824.     \let\AU@temp\@empty
  2825.     \set@listcomma@list\AU@temp
  2826.     \def\CO@opr{\@collaboration@present\AU@temp}%
  2827.     \let\AFG@opr \affils@present@group
  2828.     \let\@listcomma\relax
  2829.     \@AFG@list
  2830.     \frontmatter@footnote@produce
  2831.     \par
  2832.   \endgroup
  2833.   \frontmatter@authorbelow
  2834. }%
  2835. \@provide\frontmatter@authorbelow{}%
  2836. \def\affils@present@group#1{%
  2837.  \begingroup
  2838.    \def\AF@temp{#1}%
  2839.    \@tempcnta\z@
  2840.    \let\AU@opr \@undefined
  2841.    \let\CO@opr \@undefined
  2842.    \def\AF@opr{\@affilID@count\AF@temp\@tempcnta}%
  2843.    \@AAC@list
  2844.    \@ifnum{\@tempcnta=\z@}{}{%
  2845.     \begingroup
  2846.      \frontmatter@above@affilgroup
  2847.      \set@listcomma@count\@tempcnta
  2848.      \let\AU@opr \@undefined
  2849.      \let\CO@opr \@undefined
  2850.      \def\AF@opr{\@affilID@match\AF@temp}%
  2851.      \@AAC@list
  2852.     \endgroup
  2853.     \begingroup
  2854.      \par
  2855.      \frontmatter@above@affiliation
  2856.      \frontmatter@affiliationfont
  2857.      \let\\\frontmatter@addressnewline
  2858.      \@tempcnta\z@
  2859.      \@tfor\AF@temp:=#1\do{%
  2860.       \expandafter\@ifx\expandafter{\expandafter\z@\AF@temp}{}{%
  2861.        \advance\@tempcnta\@ne
  2862.       }%
  2863.      }%
  2864.      \@ifnum{\@tempcnta=\tw@}{%
  2865.       \let\@listcomma\relax
  2866.      }{}%
  2867.      \def@after@address
  2868.      \runinaddress@sw{%
  2869.      }{%
  2870.       \tightenlines@sw{}{%
  2871.        \parskip\z@
  2872.       }%
  2873.       \appdef\after@address\par
  2874.      }%
  2875.      \let\AFF@opr \@affil@group
  2876.      \do@affil@fromgroup\@AFF@list#1\relax
  2877.     \endgroup
  2878.    }%
  2879.    \par
  2880.  \endgroup
  2881. }%
  2882. \def\def@after@address{\def\after@address{\@listcomma\ \@listand}}%
  2883. \def\def@after@address@empty{\let\after@address\@empty}%
  2884. \def\@affilID@count#1#2#3{%
  2885.   \def\@tempifx{#3}%
  2886.   \@ifx{\@tempifx#1}{%
  2887.     \def\AU@opr{\@author@count#2}%
  2888.   }{%
  2889.     \let\AU@opr \@author@gobble
  2890.   }%
  2891.   \let\CO@opr \@collaboration@gobble
  2892. }%
  2893. \def\@affilID@match#1#2{%
  2894.  \def\@tempifx{#2}%
  2895.  \@ifx{\@tempifx#1}{%
  2896.    \let\AU@opr \@author@present
  2897.  }{%
  2898.    \let\AU@opr \@author@gobble
  2899.  }%
  2900.   \let\CO@opr \@collaboration@gobble
  2901. }%
  2902. \def\do@affil@fromgroup#1#2{%
  2903.   \@ifx{\relax#2}{}{%
  2904.     \count@#2\relax
  2905.     \@ifnum{\z@=\count@}{}{#1}%
  2906.     \do@affil@fromgroup#1%
  2907.   }%
  2908. }%
  2909. \def\@affil@group#1#2#3#4{%
  2910.   \@ifnum{#1=\count@}{%
  2911.    \def\@tempa{#3}%
  2912.    \@ifx{\@tempa\blankaffiliation}{}{%
  2913.     #3%
  2914.     \@if@empty{#4}{}{%
  2915.      \frontmatter@footnote{#4}%
  2916.     }%
  2917.     \after@address
  2918.    }%
  2919.    \advance\@tempcnta\m@ne
  2920.   }{}%
  2921. }%
  2922. \def\@author@present@group#1#2#3{%
  2923.   \gdef\comma@space{\gdef\comma@space{\textsuperscript{,\,}}}%
  2924.   \doauthor{#2}{#3}{\@affil@present@group}%
  2925.   \advance\@tempcnta\m@ne
  2926. }%
  2927. \def\@affil@present@group{%
  2928.  \aftergroup\false@sw
  2929. }%
  2930. \def\@pacs@produce#1{%
  2931.  \showPACS@sw{%
  2932.   \begingroup
  2933.    \frontmatter@PACS@format
  2934.    \@pacs@name#1\par
  2935.   \endgroup
  2936.  }{%
  2937.   \@if@empty{#1}{}{%
  2938.    \class@warn{\PACS@warn}%
  2939.   }%
  2940.  }%
  2941. }%
  2942. \def\PACS@warn{If you want your PACS to appear in your output, use document class option showpacs}%
  2943. \def\@keywords@produce#1{%
  2944.  \showKEYS@sw{%
  2945.   \begingroup
  2946.    \frontmatter@keys@format
  2947.    \@keys@name#1\par
  2948.   \endgroup
  2949.  }{%
  2950.   \@if@empty{#1}{}{%
  2951.    \class@warn{If you want your keywords to appear in your output, use document class option showkeys}%
  2952.   }%
  2953.  }%
  2954. }%
  2955. \def\frontmatter@footnote@produce@footnote{%
  2956.  \let\@TBN@opr\present@FM@footnote
  2957.  \@FMN@list
  2958.  \global\let\@FMN@list\@empty
  2959. }%
  2960. \def\present@FM@footnote#1#2{%
  2961.  \begingroup
  2962.   \csname c@\@mpfn\endcsname#1\relax
  2963.   \def\@thefnmark{\frontmatter@thefootnote}%
  2964.   \frontmatter@footnotetext{#2}%
  2965.  \endgroup
  2966. }%
  2967. \def\frontmatter@footnote@produce@endnote{%
  2968. }%
  2969. \appdef\frontmatter@init{%
  2970.  \@ifxundefined\title@column         {\let\title@column\@empty}{}%
  2971.  \@ifxundefined\preprintsty@sw       {\@booleanfalse\preprintsty@sw}{}%
  2972.  \@ifxundefined\frontmatter@footnote@produce{\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote}{}%
  2973.  \@ifxundefined\do@output@MVL        {\let\do@output@MVL\@firstofone}{}%
  2974.  \@ifxundefined\comma@space          {\let\comma@space\@empty}{}%
  2975. }%
  2976. \def\frontmatter@thefootnote{%
  2977.  \altaffilletter@sw{\@alph}{\@fnsymbol}{\csname c@\@mpfn\endcsname}%
  2978. }%
  2979. \@ifx{\altaffilletter@sw\@undefined}{\@booleantrue\altaffilletter@sw}{}%
  2980. \def\frontmatter@makefnmark{%
  2981.  \@textsuperscript{%
  2982.   \normalfont\@thefnmark
  2983.  }%
  2984. }%
  2985. \long\def\frontmatter@makefntext#1{%
  2986.  \parindent 1em
  2987.  \noindent
  2988.  \Hy@raisedlink{\hyper@anchorstart{frontmatter.\expandafter\the\csname c@\@mpfn\endcsname}\hyper@anchorend}%
  2989.  \@makefnmark
  2990.  #1%
  2991. }%
  2992. \def\frontmatter@setup{}%
  2993. \def\frontmatter@RRAPformat#1{%
  2994.  \removelastskip
  2995.  \begingroup
  2996.   \frontmatter@RRAP@format
  2997.   #1\par
  2998.  \endgroup
  2999. }%
  3000. \def\punct@RRAP{; }%
  3001. \def\produce@RRAP#1{%
  3002.   \@if@empty{#1}{}{%
  3003.    \@ifvmode{\leavevmode}{\unskip\punct@RRAP\ignorespaces}%
  3004.    #1%
  3005.   }%
  3006. }%
  3007. \def\frontmatter@authorformat{}%
  3008. \def\frontmatter@above@affilgroup{}%
  3009. \def\frontmatter@above@affiliation{}%
  3010. \def\frontmatter@above@affiliation@script{}%
  3011. \def\frontmatter@affiliationfont{\itshape\selectfont}%
  3012. \def\frontmatter@RRAP@format{}%
  3013. \def\frontmatter@PACS@format{}%
  3014. \def\frontmatter@keys@format{}%
  3015. \def\frontmatter@finalspace{\addvspace{18\p@}}
  3016. \def\frontmatter@addressnewline{%
  3017.   \@ifhmode{\skip@\lastskip\unskip\unpenalty\break\hskip\skip@}{}%
  3018.   % was: \vskip-.5ex
  3019. }%
  3020. \def\frontmatter@preabstractspace{5.5\p@}
  3021. \def\frontmatter@postabstractspace{6.5\p@}
  3022. \def\aftermaketitle@chk#1{%
  3023.   \@ifx{\maketitle\relax}{%
  3024.     \class@err{\protect#1 must be used before \protect\maketitle}%
  3025.   }{}%
  3026. }%
  3027. \def\ps@titlepage{\ps@empty}%
  3028. \def\volumeyear#1{\gdef\@volumeyear{#1}}%
  3029. \def\@volumeyear{}%
  3030. \def\volumenumber#1{\gdef\@volumenumber{#1}}%
  3031. \def\@volumenumber{}%
  3032. \def\issuenumber#1{\gdef\@issuenumber{#1}}%
  3033. \def\@issuenumber{}%
  3034. \def\eid#1{\gdef\@eid{#1}}%
  3035. \def\@eid{}%
  3036. \def\startpage#1{\gdef\@startpage{#1}\c@page#1\relax}%
  3037. \def\@startpage{\pageref{FirstPage}}%
  3038. \def\endpage#1{\gdef\@endpage{#1}}%
  3039. \def\@endpage{\pageref{LastPage}}%
  3040. \def\print@toc#1{%
  3041.  \begingroup
  3042.   \expandafter\section
  3043.   \expandafter*%
  3044.   \expandafter{%
  3045.               \csname#1name\endcsname
  3046.               }%
  3047.   \let\appendix\appendix@toc
  3048.   \@starttoc{#1}%
  3049.  \endgroup
  3050. }%
  3051. \def\appendix@toc{}%
  3052. \def\Dated@name{Dated }%
  3053. \def\Received@name{Received }%
  3054. \def\Revised@name{Revised }%
  3055. \def\Accepted@name{Accepted }%
  3056. \def\Published@name{Published }%
  3057. \appdef\robustify@contents{%
  3058.  \let\thanks\@gobble\let\class@warn\@gobble
  3059.  \def\begin{\string\begin}\def\end{\string\end}%
  3060. }%
  3061. \@ifxundefined\frontmatter@syntax@sw{\@booleantrue\frontmatter@syntax@sw}{}%
  3062. \frontmatter@syntax@sw{%
  3063.  \let\title         \frontmatter@title
  3064.  \let\author        \frontmatter@author
  3065.  \let\date          \frontmatter@date
  3066.  \@ifxundefined\@maketitle{%
  3067.   \let\maketitle    \frontmatter@maketitle
  3068.   \@booleantrue     \titlepage@sw
  3069.  }{%
  3070.   \let\@maketitle   \frontmatter@maketitle
  3071.   \prepdef\maketitle\@author@finish
  3072.  }%
  3073.  \let\noaffiliation \frontmatter@noaffiliation
  3074.  \let\thanks@latex  \thanks
  3075.  \let\thanks        \frontmatter@thanks
  3076.  \let\and@latex     \and
  3077.  \let\and           \frontmatter@and
  3078.  \let@environment{titlepage}{frontmatter@titlepage}%
  3079.  \let@environment{abstract}{frontmatter@abstract}%
  3080. }{%
  3081.  \let\noaffiliation\@empty
  3082. }%
  3083. \typeout{%
  3084. ltxgrid%
  3085.  [2010/07/25/20:33:00 4.1r page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
  3086. }%
  3087. \newcounter{linecount}
  3088. \def\loop@line#1#2{%
  3089.  \par
  3090.  \hb@xt@\hsize{%
  3091.   \global\advance#1\@ne
  3092.   \edef\@tempa{\@ifnum{100>#1}{0}{}\@ifnum{10>#1}{0}{}\number#1}%
  3093.   \@tempa\edef\@tempa{\special{line:\@tempa}}\@tempa
  3094.   \vrule depth2.5\p@#2\leaders\hrule\hfil
  3095.  }%
  3096. }%
  3097. \def\lineloop#1{%
  3098.  \loopwhile{\loop@line\c@linecount{}\@ifnum{#1>\c@linecount}}%
  3099. }%
  3100. \def\linefoot#1{%
  3101.  \loop@line\c@linecount{%
  3102.   \footnote{%
  3103.    #1\special{foot:#1}\vrule depth2.5\p@\leaders\hrule\hfill
  3104.   }%
  3105.  }%
  3106. }%
  3107. \let\@@mark\mark
  3108. \let\@@topmark\topmark
  3109. \let\@@firstmark\firstmark
  3110. \let\@@botmark\botmark
  3111. \let\@@splitfirstmark\splitfirstmark
  3112. \let\@@splitbotmark\splitbotmark
  3113. \def\@themark{{}{}{}{}}%
  3114. \def\nul@mark{{}{}{}{}\@@nul}%
  3115. \def\set@mark@netw@#1#2#3#4#5#6#7{\gdef#1{{#6}{#7}{#4}{#5}}\do@mark}%
  3116. \def\set@marktw@#1#2#3#4#5#6{\gdef#1{{#2}{#6}{#4}{#5}}\do@mark}%
  3117. \def\set@markthr@@#1#2#3#4#5#6{\gdef#1{{#2}{#3}{#6}{#5}}\do@mark}%
  3118. \def\get@mark@@ne#1#2#3#4#5\@@nul{#1}%
  3119. \def\get@mark@tw@#1#2#3#4#5\@@nul{#2}%
  3120. \def\get@mark@thr@@#1#2#3#4#5\@@nul{#3}%
  3121. \def\get@mark@f@ur#1#2#3#4#5\@@nul{#4}%
  3122. \def\mark@netw@{\expandafter\set@mark@netw@\expandafter\@themark\@themark}%
  3123. \def\marktw@{\expandafter\set@marktw@\expandafter\@themark\@themark}%
  3124. \def\markthr@@{\expandafter\set@markthr@@\expandafter\@themark\@themark}%
  3125. \def\do@mark{\do@@mark\@themark\nobreak@mark}%
  3126. \def\do@@mark#1{%
  3127.  \begingroup
  3128.   \let@mark
  3129.   \@@mark{#1}%
  3130.  \endgroup
  3131. }%
  3132. \def\let@mark{%
  3133.  \let\protect\@unexpandable@protect
  3134.  \let\label\relax
  3135.  \let\index\relax
  3136.  \let\glossary\relax
  3137. }%
  3138. \def\nobreak@mark{%
  3139.  \@if@sw\if@nobreak\fi{\@ifvmode{\nobreak}{}}{}%
  3140. }%
  3141. \def\mark@envir{\markthr@@}%
  3142. \def\bot@envir{%
  3143.  \expandafter\expandafter
  3144.  \expandafter\get@mark@thr@@
  3145.  \expandafter\@@botmark
  3146.              \nul@mark
  3147. }%
  3148. \def\markboth{\mark@netw@}%
  3149. \def\markright{\marktw@}%
  3150. \def\leftmark{%
  3151.  \expandafter\expandafter
  3152.  \expandafter\get@mark@@ne
  3153.  \expandafter\saved@@botmark
  3154.              \nul@mark
  3155. }%
  3156. \def\rightmark{%
  3157.  \expandafter\expandafter
  3158.  \expandafter\get@mark@tw@
  3159.  \expandafter\saved@@firstmark
  3160.              \nul@mark
  3161. }%
  3162. \let\primitive@output\output
  3163. \long\def\@tempa#1\@@nil{#1}%
  3164.             \toks@
  3165. \expandafter\expandafter
  3166. \expandafter{%
  3167. \expandafter \@tempa
  3168.              \the\primitive@output
  3169.              \@@nil
  3170.              }%
  3171. \newtoks\output@latex
  3172. \output@latex\expandafter{\the\toks@}%
  3173. \let\output\output@latex
  3174. \primitive@output{\dispatch@output}%
  3175. \def\dispatch@output{%
  3176.  \let\par\@@par
  3177.  \expandafter\let\expandafter\output@procedure\csname output@\the\outputpenalty\endcsname
  3178.  \@ifnotrelax\output@procedure{}{%
  3179.   \expandafter\def\expandafter\output@procedure\expandafter{\the\output@latex}%
  3180.  }%
  3181.  \expandafter\@ifx\expandafter{\csname output@-\the\execute@message@pen\endcsname\output@procedure}{%
  3182.   \let\output@procedure\@message@saved
  3183.  }{}%
  3184.  \ltxgrid@info@sw{\class@info{\string\dispatch@output}\say\output@procedure\saythe\holdinginserts}{}%
  3185.  \outputdebug@sw{\output@debug}{}%
  3186.  \output@procedure
  3187. }%
  3188. \def\set@output@procedure#1#2{%
  3189.  \count@\outputpenalty\advance\count@-#2%
  3190.  \expandafter\let\expandafter#1\csname output@\the\count@\endcsname
  3191. }%
  3192. \def\output@debug{%
  3193.  \def\@tempa{\save@message}%
  3194.  \@ifx{\output@procedure\@tempa}{%
  3195.   \true@sw
  3196.  }{%
  3197.   \@ifnum{\outputpenalty=-\save@column@insert@pen}{%
  3198.    \@ifnum{\holdinginserts>\z@}%
  3199.   }{%
  3200.    \false@sw
  3201.   }%
  3202.  }%
  3203.  {}{\output@debug@}%
  3204. }%
  3205. \def\output@debug@{%
  3206.   \saythe\outputpenalty
  3207.   \saythe\interlinepenalty
  3208.   \saythe\brokenpenalty
  3209.   \saythe\clubpenalty
  3210.   \saythe\widowpenalty
  3211.   \saythe\displaywidowpenalty
  3212.   \saythe\predisplaypenalty
  3213.   \saythe\interdisplaylinepenalty
  3214.   \saythe\postdisplaypenalty
  3215.   \saythe\badness
  3216.   \say\thepagegrid
  3217.   \saythe\pagegrid@col
  3218.   \saythe\pagegrid@cur
  3219.   \saythe\insertpenalties
  3220.   \say\@@botmark
  3221.   \saythe\pagegoal
  3222.   \saythe\pagetotal
  3223.   \saythe{\badness\@cclv}%
  3224.   \say\@toplist
  3225.   \say\@botlist
  3226.   \say\@dbltoplist
  3227.   \say\@deferlist
  3228.   \trace@scroll{%
  3229.   \showbox\@cclv
  3230.   \showbox\@cclv@saved
  3231.   \showbox\pagesofar
  3232.   \showbox\csname col@1\endcsname
  3233.   \showbox\footsofar
  3234.   \showbox\footins
  3235.   \showbox\footins@saved
  3236.   \showlists
  3237.   }%
  3238. }%
  3239. \@ifxundefined{\outputdebug@sw}{%
  3240.  \@booleanfalse\outputdebug@sw
  3241. }{}%
  3242. \def\trace@scroll#1{\begingroup\showboxbreadth\maxdimen\showboxdepth\maxdimen\scrollmode#1\endgroup}%
  3243. \def\trace@box#1{\trace@scroll{\showbox#1}}%
  3244. \prepdef\@outputpage{\@outputpage@head}%
  3245. \let\@outputpage@head\@empty
  3246. \appdef\@outputpage{\@outputpage@tail}%
  3247. \let\@outputpage@tail\@empty
  3248. \def\show@box@size#1#2{%
  3249.  \show@box@size@sw{%
  3250.   \begingroup
  3251.    \setbox\z@\vbox{\unvcopy#2\hrule}%
  3252.    \class@info{Show box size: #1^^J%
  3253.     (\the\ht\z@\space X \the\wd\z@)
  3254.     \the\c@page\space\space\the\pagegrid@cur\space\the\pagegrid@col
  3255.    }%
  3256.   \endgroup
  3257.  }{}%
  3258. }%
  3259. \def\show@text@box@size{%
  3260.  \show@box@size{Text column}\@outputbox
  3261.  \tally@box@size@sw{%
  3262.   \@ifdim{\wd\@outputbox>\z@}{%
  3263.    \dimen@\ht\@outputbox\divide\dimen@\@twopowerfourteen
  3264.    \advance\dimen@-\dp\csname box@size@\the\pagegrid@col\endcsname
  3265.    \@ifdim{\dimen@>\z@}{%
  3266.     \advance\dimen@ \ht\csname box@size@\the\pagegrid@col\endcsname
  3267.     \global\ht\csname box@size@\the\pagegrid@col\endcsname\dimen@
  3268.     \show@box@size@sw{%
  3269.      \class@info{Column: \the\dimen@}%
  3270.     }{}%
  3271.    }{}%
  3272.   }{}%
  3273.   \global\dp\csname box@size@\the\pagegrid@col\endcsname\z@
  3274.  }{}%
  3275. }%
  3276. \def\show@pagesofar@size{%
  3277.  \show@box@size{Page so far}\pagesofar
  3278.  \dimen@\ht\pagesofar\divide\dimen@\@twopowerfourteen
  3279.  \global\dp\csname box@size@1\endcsname\dimen@
  3280.  \show@box@size@sw{%
  3281.   \class@info{Pagesofar: \the\dimen@}%
  3282.  }{}%
  3283. }%
  3284. \@booleanfalse\tally@box@size@sw
  3285. \@booleanfalse\show@box@size@sw
  3286. \expandafter\newbox\csname box@size@1\endcsname
  3287. \expandafter\setbox\csname box@size@1\endcsname\hbox{}%
  3288. \expandafter\newbox\csname box@size@2\endcsname
  3289. \expandafter\setbox\csname box@size@2\endcsname\hbox{}%
  3290. \def\total@text{%
  3291.  \@tempdima\the\ht\csname box@size@2\endcsname\divide\@tempdima\@twopowertwo\@tempcnta\@tempdima
  3292.  \@tempdimb\the\ht\csname box@size@1\endcsname\divide\@tempdimb\@twopowertwo\@tempcntb\@tempdimb
  3293.  \class@info{Total text: Column(\the\@tempcnta pt), Page(\the\@tempcntb pt)}%
  3294. }%
  3295. \def\natural@output{\toggle@insert{\output@holding}{\output@moving}}%
  3296. \output@latex{\natural@output}%
  3297. \def\output@holding{%
  3298.  \csname output@init@\bot@envir\endcsname
  3299.  \@if@exceed@pagegoal{\unvcopy\@cclv}{%
  3300.   \setbox\z@\vbox{\unvcopy\@cclv}%
  3301.   \outputdebug@sw{\trace@box\z@}{}%
  3302.   \dimen@\ht\@cclv\advance\dimen@-\ht\z@
  3303.   \dead@cycle@repair\dimen@
  3304.  }{%
  3305.   \dead@cycle
  3306.  }%
  3307. }%
  3308. \def\@if@exceed@pagegoal#1{%
  3309.  \begingroup
  3310.   \setbox\z@\vbox{#1}%
  3311.   \dimen@\ht\z@\advance\dimen@\dp\z@
  3312.   \outputdebug@sw{\saythe\dimen@}{}%
  3313.   \@ifdim{\dimen@>\pagegoal}{%
  3314.    \setbox\z@\vbox{\@@mark{}\unvbox\z@}%
  3315.    \splittopskip\topskip
  3316.    \splitmaxdepth\maxdepth
  3317.    \vbadness\@M
  3318.    \vfuzz\maxdimen
  3319.    \setbox\tw@\vsplit\z@ to\pagegoal
  3320.    \outputdebug@sw{\trace@scroll{\showbox\tw@\showbox\z@}}{}%
  3321.    \setbox\tw@\vbox{\unvbox\tw@}%
  3322.    \@ifdim{\ht\tw@=\z@}{%
  3323.     \ltxgrid@info{Found overly large chunk while preparing to move insertions. Attempting repairs}%
  3324.     \aftergroup\true@sw
  3325.    }{%
  3326.     \aftergroup\false@sw
  3327.    }%
  3328.  }{%
  3329.   \aftergroup\false@sw
  3330.  }%
  3331.  \endgroup
  3332. }%
  3333. \def\output@moving{%
  3334.  \set@top@firstmark
  3335.  \@ifnum{\outputpenalty=\do@newpage@pen}{%
  3336.   \setbox\@cclv\vbox{%
  3337.    \unvbox\@cclv
  3338.    \remove@lastbox
  3339.    \@ifdim{\ht\z@=\ht\@protection@box}{\box\lastbox}{\unskip}%
  3340.   }%
  3341.  }{}%
  3342.  \@cclv@nontrivial@sw{%
  3343.   \expandafter\output@do@prep\csname output@prep@\bot@envir \endcsname
  3344.   \@makecolumn\true@sw
  3345.   \expandafter\output@column@do\csname output@column@\thepagegrid\endcsname
  3346.   \protect@penalty\do@startcolumn@pen
  3347.   \clearpage@sw{%
  3348.    \protect@penalty\do@endpage@pen
  3349.   }{}%
  3350.   \expandafter\let\expandafter\output@post@\csname output@post@\bot@envir \endcsname
  3351.   \outputdebug@sw{\say\output@post@}{}%
  3352.   \@ifx{\output@post@\relax}{\output@post@document}{\output@post@}%
  3353.  }{%
  3354.   \void@cclv
  3355.  }%
  3356.  \set@colht
  3357.  \global\@mparbottom\z@
  3358.  \global\@textfloatsheight\z@
  3359. }%
  3360. \def\output@do@prep#1{%
  3361.  \outputdebug@sw{\class@info{Prep: \string#1}}{}%
  3362.  \@ifx{#1\relax}{\output@prep@document}{#1}%
  3363. }%
  3364. \def\output@column@do#1{%
  3365.   \outputdebug@sw{\class@info{Output column: \string#1}}{}%
  3366.   \@ifx{#1\relax}{\output@column@one}{#1}%
  3367. }%
  3368. \def\void@cclv{\begingroup\setbox\z@\box\@cclv\endgroup}%
  3369. \def\remove@lastbox{\setbox\z@\lastbox}%
  3370. \def\@cclv@nontrivial@sw{%
  3371.  \@ifx@empty\@toplist{%
  3372.   \@ifx@empty\@botlist{%
  3373.    \@ifvoid\footins{%
  3374.     \@ifvoid\@cclv{%
  3375.      \false@sw
  3376.     }{%
  3377.      \setbox\z@\vbox{\unvcopy\@cclv}%
  3378.      \@ifdim{\ht\z@=\topskip}{%
  3379.       \setbox\z@\vbox\bgroup
  3380.        \unvbox\z@
  3381.        \remove@lastbox
  3382.        \dimen@\lastskip\unskip
  3383.        \@ifdim{\ht\z@=\ht\@protection@box}{%
  3384.         \advance\dimen@\ht\z@
  3385.         \@ifdim{\dimen@=\topskip}{%
  3386.          \aftergroup\true@sw
  3387.         }{%
  3388.          \aftergroup\false@sw
  3389.         }%
  3390.        }{%
  3391.         \aftergroup\false@sw
  3392.        }%
  3393.       \egroup
  3394.       {%
  3395.        \false@sw
  3396.       }{%
  3397.        \true@sw
  3398.       }%
  3399.      }{%
  3400.       \@ifdim{\ht\z@=\z@}{%
  3401.        \ltxgrid@info{Found trivial column. Discarding it}%
  3402.        \outputdebug@sw{\trace@box\@cclv}{}%
  3403.        \false@sw
  3404.       }{%
  3405.        \true@sw
  3406.       }%
  3407.      }%
  3408.     }%
  3409.    }{%
  3410.     \true@sw
  3411.    }%
  3412.   }{%
  3413.    \true@sw
  3414.   }%
  3415.  }{%
  3416.   \true@sw
  3417.  }%
  3418. }%
  3419. \def\protect@penalty#1{\protection@box\penalty-#1\relax}%
  3420. \newbox\@protection@box
  3421. \setbox\@protection@box\vbox to1986sp{\vfil}%
  3422. \def\protection@box{\nointerlineskip\copy\@protection@box}%
  3423. \def\dead@cycle@repair#1{%
  3424.  \expandafter\do@@mark
  3425.  \expandafter{%
  3426.               \@@botmark
  3427.              }%
  3428.  \unvbox\@cclv
  3429.  \nointerlineskip
  3430.  \vbox to#1{\vss}%
  3431.  \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}%
  3432. }%
  3433. \def\dead@cycle@repair@protected#1{%
  3434.  \expandafter\do@@mark
  3435.  \expandafter{%
  3436.               \@@botmark
  3437.              }%
  3438.  \begingroup
  3439.   \unvbox\@cclv
  3440.   \remove@lastbox
  3441.   \nointerlineskip
  3442.   \advance#1-\ht\@protection@box
  3443.   \vbox to#1{\vss}%
  3444.   \protection@box % Reinsert protection box
  3445.   \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}%
  3446.  \endgroup
  3447. }%
  3448. \def\dead@cycle{%
  3449.  \expandafter\do@@mark
  3450.  \expandafter{%
  3451.               \@@botmark
  3452.              }%
  3453.  \unvbox\@cclv
  3454.  \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}%
  3455. }%
  3456. \def\output@init@document{%
  3457.  \ltxgrid@info@sw{\class@info{\string\output@init@document}}{}%
  3458.  \global\vsize\vsize
  3459. }%
  3460. \def\output@prep@document{%
  3461.  \ltxgrid@foot@info@sw{\class@info{\string\output@prep@document}\trace@scroll{\showbox\footins\showbox\footsofar}}{}%
  3462.  \@ifvoid\footsofar{%
  3463.  }{%
  3464.   \global\setbox\footins\vbox\bgroup
  3465.    \unvbox\footsofar
  3466.    \@ifvoid\footins{}{%
  3467.     \marry@baselines
  3468.     \unvbox\footins
  3469.    }%
  3470.   \egroup
  3471.   \ltxgrid@foot@info@sw{\trace@box\footins}{}%
  3472.  }%
  3473. }%
  3474. \def\output@post@document{}%
  3475. \let\@opcol\@undefined
  3476. \def\@makecolumn#1{%
  3477.  \ltxgrid@foot@info@sw{\class@info{\string\@makecolumn\string#1}}{}%
  3478.  \setbox\@outputbox\vbox\bgroup
  3479.   \boxmaxdepth\@maxdepth
  3480.   \@tempdima\dp\@cclv
  3481.   \unvbox\@cclv
  3482.   \vskip-\@tempdima
  3483.  \egroup
  3484.  \xdef\@freelist{\@freelist\@midlist}\global\let\@midlist\@empty
  3485.  \show@text@box@size
  3486.  \@combinefloats
  3487.  #1{%
  3488.   \@combineinserts\@outputbox\footins
  3489.  }{%
  3490.   \combine@foot@inserts\footsofar\footins
  3491.  }%
  3492.  \set@adj@colht\dimen@
  3493.  \count@\vbadness
  3494.  \vbadness\@M
  3495.  \setbox\@outputbox\vbox to\dimen@\bgroup
  3496.   \@texttop
  3497.   \dimen@\dp\@outputbox
  3498.   \unvbox\@outputbox
  3499.   \vskip-\dimen@
  3500.   \@textbottom
  3501.  \egroup
  3502.  \vbadness\count@
  3503.  \global\maxdepth\@maxdepth
  3504. }%
  3505. \let\@makespecialcolbox\@undefined
  3506. \def\@combineinserts#1#2{%
  3507.  \ltxgrid@foot@info@sw{\class@info{\string\@combineinserts\string#1\string#2}\trace@box#2}{}%
  3508.  \setbox#1\vbox\bgroup
  3509.   \unvbox#1%
  3510.   \@ifvoid{#2}{}{%
  3511.    \dimen@\ht#2\advance\dimen@\dp#2\advance\dimen@\skip#2%
  3512.    \show@box@size{Combining inserts}#2%
  3513.    \vskip\skip#2%
  3514.    \setbox\z@\vbox{\footnoterule}\dimen@i\ht\z@
  3515.    \color@begingroup
  3516.    \normalcolor
  3517.    \cleaders\box\z@\vskip\dimen@i\kern-\dimen@i
  3518.    \csname combine@insert@\the\pagegrid@col\endcsname#2%
  3519.    \color@endgroup
  3520.    \kern-\dimen@\kern\dimen@
  3521.   }%
  3522.  \egroup
  3523.  \ltxgrid@foot@info@sw{\trace@box#1}{}%
  3524. }%
  3525. \def\combine@insert@tw@#1{%
  3526.  \compose@footnotes@two#1\@ifvbox{#1}{\unvbox}{\box}#1%
  3527. }%
  3528. \def\combine@insert@@ne#1{%
  3529.  \compose@footnotes@one#1\@ifvbox{#1}{\unvbox}{\box}#1%
  3530. }%
  3531. \def\twocolumn@grid@setup{%
  3532.  \expandafter\let\csname combine@insert@1\endcsname\combine@insert@tw@
  3533.  \expandafter\let\csname combine@insert@2\endcsname\combine@insert@@ne
  3534. }%
  3535. \def\onecolumn@grid@setup{%
  3536.  \expandafter\let\csname combine@insert@1\endcsname\combine@insert@@ne
  3537.  \expandafter\let\csname combine@insert@2\endcsname\combine@insert@@ne
  3538. }%
  3539. \let\columngrid@setup\onecolumn@grid@setup
  3540. \columngrid@setup
  3541. \appdef\@floatplacement{%
  3542.  \global\@fpmin\@fpmin
  3543. }%
  3544. \mathchardef\pagebreak@pen=\@M
  3545. \expandafter\let\csname output@-\the\pagebreak@pen\endcsname\relax
  3546. \mathchardef\do@startcolumn@pen=10005
  3547. \@namedef{output@-\the\do@startcolumn@pen}{\do@startcolumn}%
  3548. \def\do@startcolumn{%
  3549.  \setbox\@cclv\vbox{\unvbox\@cclv\remove@lastbox\unskip}%
  3550.  \clearpage@sw{\@clearfloatplacement}{\@floatplacement}%
  3551.  \set@colht
  3552.  \@booleanfalse\pfloat@avail@sw
  3553.  \begingroup
  3554.   \@colht\@colroom
  3555.   \@booleanfalse\float@avail@sw
  3556.   \@tryfcolumn\test@colfloat
  3557.   \float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}%
  3558.  \endgroup
  3559.  \fcolmade@sw{%
  3560.   \setbox\@cclv\vbox{\unvbox\@outputbox\unvbox\@cclv}%
  3561.   \outputpenalty-\pagebreak@pen
  3562.   \dead@cycle
  3563.  }{%
  3564.   \begingroup
  3565.    \let\@elt\@scolelt
  3566.    \let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b
  3567.   \endgroup
  3568.   \clearpage@sw{%
  3569.    \outputpenalty\@M
  3570.   }{%
  3571.    \outputpenalty\do@newpage@pen
  3572.   }%
  3573.   \dead@cycle
  3574.  }%
  3575.  \check@deferlist@stuck\do@startcolumn
  3576.  \set@vsize
  3577. }%
  3578. \def\@scolelt#1{\def\@currbox{#1}\@addtonextcol}%
  3579. \def\test@colfloat#1{%
  3580.  \csname @floatselect@sw@\thepagegrid\endcsname#1{}{\@testtrue}%
  3581.  \@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}%
  3582. }%
  3583. \def\@addtonextcol{%
  3584.  \begingroup
  3585.   \@insertfalse
  3586.   \@setfloattypecounts
  3587.   \csname @floatselect@sw@\thepagegrid\endcsname\@currbox{%
  3588.    \@ifnum{\@fpstype=8 }{}{%
  3589.      \@ifnum{\@fpstype=24 }{}{%
  3590.        \@flsettextmin
  3591.        \@reqcolroom \ht\@currbox
  3592.        \advance \@reqcolroom \@textmin
  3593.        \advance \@reqcolroom \vsize % take into account split insertions
  3594.        \advance \@reqcolroom -\pagegoal
  3595.        \@ifdim{\@colroom>\@reqcolroom}{%
  3596.          \@flsetnum \@colnum
  3597.          \@ifnum{\@colnum>\z@}{%
  3598.             \@bitor\@currtype\@deferlist
  3599.             \@if@sw\if@test\fi{}{%
  3600.               \@addtotoporbot
  3601.             }%
  3602.          }{}%
  3603.        }{}%
  3604.      }%
  3605.    }%
  3606.   }{}%
  3607.   \@if@sw\if@insert\fi{}{%
  3608.     \@cons\@deferlist\@currbox
  3609.   }%
  3610.  \endgroup
  3611. }%
  3612. \mathchardef\do@startpage@pen=10006
  3613. \@namedef{output@-\the\do@startpage@pen}{\do@startpage}%
  3614. \def\do@startpage{%
  3615.  \setbox\@cclv\vbox{\unvbox\@cclv\remove@lastbox\unskip}%
  3616.  \clearpage@sw{\@clearfloatplacement}{\@dblfloatplacement}%
  3617.  \set@colht
  3618.  \@booleanfalse\pfloat@avail@sw
  3619.  \begingroup
  3620.   \@booleanfalse\float@avail@sw
  3621.   \@tryfcolumn\test@dblfloat
  3622.   \float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}%
  3623.  \endgroup
  3624.  \fcolmade@sw{%
  3625.   \global\setbox\pagesofar\vbox{\unvbox\pagesofar\unvbox\@outputbox}%
  3626.   \@output@combined@page
  3627.  }{%
  3628.   \begingroup
  3629.    \@booleanfalse\float@avail@sw
  3630.    \let\@elt\@sdblcolelt
  3631.    \let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b
  3632.   \endgroup
  3633.   \@ifdim{\@colht=\textheight}{% No luck...
  3634.    \pfloat@avail@sw{% ...but a float *was* available!
  3635.     \forcefloats@sw{%
  3636.      \ltxgrid@warn{Forced dequeueing of floats stalled}%
  3637.     }{%
  3638.      \ltxgrid@warn{Dequeueing of floats stalled}%
  3639.     }%
  3640.    }{}%
  3641.   }{}%
  3642.   \outputpenalty\@M
  3643.   \dead@cycle
  3644.  }%
  3645.  \check@deferlist@stuck\do@startpage
  3646.  \set@colht
  3647. }%
  3648. \def\@output@combined@page{%
  3649.  \@combinepage\true@sw
  3650.  \@combinedblfloats
  3651.  \@outputpage
  3652.  \global\pagegrid@cur\@ne
  3653.  \protect@penalty\do@startpage@pen
  3654. }%
  3655. \def\@sdblcolelt#1{\def\@currbox{#1}\@addtodblcol}%
  3656. \def\test@dblfloat#1{%
  3657.  \@if@notdblfloat{#1}{\@testtrue}{}%
  3658.  \@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}%
  3659. }%
  3660. \def\@if@notdblfloat#1{\@ifdim{\wd#1<\textwidth}}%
  3661. \@booleanfalse\forcefloats@sw
  3662. \def\@addtodblcol{%
  3663.  \begingroup
  3664.   \@if@notdblfloat{\@currbox}{%
  3665.    \false@sw
  3666.   }{%
  3667.    \@setfloattypecounts
  3668.    \@getfpsbit \tw@
  3669.    \@bitor \@currtype \@deferlist
  3670.    \@if@sw\if@test\fi{%
  3671.     \false@sw
  3672.    }{%
  3673.     \@ifodd\@tempcnta{%
  3674.      \aftergroup\@booleantrue\aftergroup\float@avail@sw
  3675.      \@flsetnum \@dbltopnum
  3676.      \@ifnum{\@dbltopnum>\z@}{%
  3677.        \@ifdim{\@dbltoproom>\ht\@currbox}{%
  3678.         \true@sw
  3679.        }{%
  3680.         \@ifnum{\@fpstype<\sixt@@n}{%
  3681.          \begingroup
  3682.           \advance \@dbltoproom \@textmin
  3683.           \@ifdim{\@dbltoproom>\ht\@currbox}{%
  3684.            \endgroup\true@sw
  3685.           }{%
  3686.            \endgroup\false@sw
  3687.           }%
  3688.         }{%
  3689.          \false@sw
  3690.         }%
  3691.        }%
  3692.      }{%
  3693.       \false@sw
  3694.      }%
  3695.     }{%
  3696.      \false@sw
  3697.     }%
  3698.    }%
  3699.   }%
  3700.   {%
  3701.    \@tempdima -\ht\@currbox
  3702.    \advance\@tempdima
  3703.     -\@ifx{\@dbltoplist\@empty}{\dbltextfloatsep}{\dblfloatsep}%
  3704.    \global \advance \@dbltoproom \@tempdima
  3705.    \global \advance \@colht \@tempdima
  3706.    \global \advance \@dbltopnum \m@ne
  3707.    \@cons \@dbltoplist \@currbox
  3708.   }{%
  3709.    \@cons \@deferlist \@currbox
  3710.   }%
  3711.  \endgroup
  3712. }%
  3713. \def\@tryfcolumn#1{%
  3714.   \global\@booleanfalse\fcolmade@sw
  3715.   \@ifx@empty\@deferlist{}{%
  3716.     \global\let\@trylist\@deferlist
  3717.     \global\let\@failedlist\@empty
  3718.     \begingroup
  3719.       \dimen@\vsize\advance\dimen@-\pagegoal\@ifdim{\dimen@>\z@}{%
  3720.        \advance\@fpmin-\dimen@
  3721.       }{}%
  3722.       \def\@elt{\@xtryfc#1}\@trylist
  3723.     \endgroup
  3724.     \fcolmade@sw{%
  3725.       \global\setbox\@outputbox\vbox{\vskip \@fptop}%
  3726.       \let \@elt \@wtryfc \@flsucceed
  3727.       \global\setbox\@outputbox\vbox{\unvbox\@outputbox
  3728.         \unskip \vskip \@fpbot
  3729.       }%
  3730.       \let \@elt \relax
  3731.       \xdef\@deferlist{\@failedlist\@flfail}%
  3732.       \xdef\@freelist{\@freelist\@flsucceed}%
  3733.     }{}%
  3734.   }%
  3735. }%
  3736. \def\@wtryfc #1{%
  3737.   \global\setbox\@outputbox\vbox{\unvbox\@outputbox
  3738.     \box #1\vskip\@fpsep
  3739.   }%
  3740. }%
  3741. \def\@xtryfc#1#2{%
  3742.   \@next\reserved@a\@trylist{}{}% trim \@trylist. Ugly!
  3743.   \@currtype \count #2%
  3744.   \divide\@currtype\@xxxii\multiply\@currtype\@xxxii
  3745.   \@bitor \@currtype \@failedlist
  3746.   \@testfp #2%
  3747.   #1#2%
  3748.   \@ifdim{\ht #2>\@colht   }{\@testtrue}{}%
  3749.   \@if@sw\if@test\fi{%
  3750.    \@cons\@failedlist #2%
  3751.   }{%
  3752.    \begingroup
  3753.      \gdef\@flsucceed{\@elt #2}%
  3754.      \global\let\@flfail\@empty
  3755.      \@tempdima\ht #2%
  3756.      \def \@elt {\@ztryfc#1}\@trylist
  3757.      \@ifdim{\@tempdima >\@fpmin}{%
  3758.        \global\@booleantrue\fcolmade@sw
  3759.      }{%
  3760.        \@cons\@failedlist #2%
  3761.      }%
  3762.    \endgroup
  3763.    \fcolmade@sw{%
  3764.      \let \@elt \@gobble
  3765.    }{}%
  3766.   }%
  3767. }%
  3768. \def\@ztryfc #1#2{%
  3769.   \@tempcnta \count#2%
  3770.   \divide\@tempcnta\@xxxii\multiply\@tempcnta\@xxxii
  3771.   \@bitor \@tempcnta {\@failedlist \@flfail}%
  3772.   \@testfp #2%
  3773.   #1#2%
  3774.   \@tempdimb\@tempdima
  3775.   \advance\@tempdimb \ht#2\advance\@tempdimb\@fpsep
  3776.   \@ifdim{\@tempdimb >\@colht}{%
  3777.     \@testtrue
  3778.   }{}%
  3779.   \@if@sw\if@test\fi{%
  3780.     \@cons\@flfail #2%
  3781.   }{%
  3782.     \@cons\@flsucceed #2%
  3783.     \@tempdima\@tempdimb
  3784.   }%
  3785. }%
  3786. \def\newpage@prep{%
  3787.   \if@noskipsec
  3788.     \ifx \@nodocument\relax
  3789.       \leavevmode
  3790.       \global \@noskipsecfalse
  3791.     \fi
  3792.   \fi
  3793.   \if@inlabel
  3794.     \leavevmode
  3795.     \global \@inlabelfalse
  3796.   \fi
  3797.   \if@nobreak \@nobreakfalse \everypar{}\fi
  3798.   \par
  3799. }%
  3800. \def \newpage {%
  3801.  \newpage@prep
  3802.  \do@output@MVL{%
  3803.   \vfil
  3804.   \penalty-\pagebreak@pen
  3805.  }%
  3806. }%
  3807. \def\clearpage{%
  3808.  \newpage@prep
  3809.  \do@output@MVL{%
  3810.   \vfil
  3811.   \penalty-\pagebreak@pen
  3812.   \global\@booleantrue\clearpage@sw
  3813.   \protect@penalty\do@startcolumn@pen
  3814.   \protect@penalty\do@endpage@pen
  3815.  }%
  3816.  \do@output@MVL{%
  3817.   \global\@booleanfalse\clearpage@sw
  3818.  }%
  3819. }%
  3820. \def\cleardoublepage{%
  3821.  \clearpage
  3822.  \@if@sw\if@twoside\fi{%
  3823.   \@ifodd\c@page{}{%
  3824.    \null\clearpage
  3825.   }%
  3826.  }{}%
  3827. }%
  3828. \@booleanfalse\clearpage@sw
  3829. \mathchardef\do@endpage@pen=10007
  3830. \@namedef{output@-\the\do@endpage@pen}{\csname end@column@\thepagegrid\endcsname}%
  3831. \mathchardef\do@newpage@pen=10001
  3832. \expandafter\let\csname output@-\the\do@newpage@pen\endcsname\relax
  3833. \def\@clearfloatplacement{%
  3834.  \global\@topnum     \maxdimen
  3835.  \global\@toproom    \maxdimen
  3836.  \global\@botnum     \maxdimen
  3837.  \global\@botroom    \maxdimen
  3838.  \global\@colnum     \maxdimen
  3839.  \global\@dbltopnum  \maxdimen
  3840.  \global\@dbltoproom \maxdimen
  3841.  \global\@textmin    \z@
  3842.  \global\@fpmin      \z@
  3843.  \let\@testfp\@gobble
  3844.  \appdef\@setfloattypecounts{\@fpstype16\advance\@fpstype\m@ne}%
  3845. }%
  3846. \let\@doclearpage\@undefined
  3847. \let\@makefcolumn\@undefined
  3848. \let\@makecol\@undefined
  3849. \def\clr@top@firstmark{%
  3850.  \global\let\saved@@topmark\@undefined
  3851.  \global\let\saved@@firstmark\@empty
  3852.  \global\let\saved@@botmark\@empty
  3853. }%
  3854. \clr@top@firstmark
  3855. \def\set@top@firstmark{%
  3856.  \@ifxundefined\saved@@topmark{\expandafter\gdef\expandafter\saved@@topmark\expandafter{\@@topmark}}{}%
  3857.  \@if@empty\saved@@firstmark{\expandafter\gdef\expandafter\saved@@firstmark\expandafter{\@@firstmark}}{}%
  3858.  \@if@empty\@@botmark{}{\expandafter\gdef\expandafter\saved@@botmark\expandafter{\@@botmark}}%
  3859. }%
  3860. \appdef\@outputpage@tail{%
  3861.  \clr@top@firstmark
  3862. }%
  3863. \def\@float#1{%
  3864.  \@ifnextchar[{%
  3865.   \@yfloat\width@float{#1}%
  3866.  }{%
  3867.   \@ifxundefined@cs{fps@#1}{}{\expandafter\let\expandafter\fps@\csname fps@#1\endcsname}%
  3868.   \expandafter\@argswap\expandafter{\expandafter[\fps@]}{\@yfloat\width@float{#1}}%
  3869.  }%
  3870. }%
  3871. \def\@dblfloat#1{%
  3872.  \@ifnum{\pagegrid@col=\@ne}{%
  3873.   \@float{#1}%
  3874.  }{%
  3875.   \@ifnextchar[{%
  3876.    \@yfloat\widthd@float{#1}%
  3877.   }{%
  3878.    \@ifxundefined@cs{fpsd@#1}{}{\expandafter\let\expandafter\fpsd@\csname fpsd@#1\endcsname}%
  3879.    \expandafter\@argswap\expandafter{\expandafter[\fpsd@]}{\@yfloat\widthd@float{#1}}%
  3880.   }%
  3881.  }%
  3882. }%
  3883. \def\@yfloat#1#2[#3]{%
  3884.  \@xfloat{#2}[#3]%
  3885.  \hsize#1\linewidth\hsize
  3886.  \let\set@footnotewidth\@empty
  3887.  \minipagefootnote@init
  3888. }%
  3889. \def\fps@{tbp}%
  3890. \def\fpsd@{tp}%
  3891. \def\width@float{\columnwidth}%
  3892. \def\widthd@float{\textwidth}%
  3893. \def\end@float{%
  3894.  \end@@float{%
  3895.   \check@currbox@count
  3896.  }%
  3897. }%
  3898. \def\end@dblfloat{%
  3899.  \@ifnum{\pagegrid@col=\@ne}{%
  3900.   \end@float
  3901.  }{%
  3902.   \end@@float{%
  3903.    \@iffpsbit\@ne{\global\advance\count\@currbox\m@ne}{}%
  3904.    \@iffpsbit\f@ur{\global\advance\count\@currbox-4\relax}{}%
  3905.    \global\wd\@currbox\textwidth % Klootch
  3906.    \check@currbox@count
  3907.   }%
  3908.  }%
  3909. }%
  3910. \def\end@@float#1{%
  3911.  \minipagefootnote@here
  3912.  \@endfloatbox
  3913.  #1%
  3914.  \@ifnum{\@floatpenalty <\z@}{%
  3915.   \@largefloatcheck
  3916.   \@cons\@currlist\@currbox
  3917.   \@ifnum{\@floatpenalty <-\@Mii}{%
  3918.    \do@output@cclv{\@add@float}%
  3919.   }{%
  3920.    \vadjust{\do@output@cclv{\@add@float}}%
  3921.    \@Esphack
  3922.   }%
  3923.  }{}%
  3924. }%
  3925. \newcommand\float@end@float{%
  3926.  \@endfloatbox
  3927.  \global\setbox\@currbox\float@makebox\columnwidth
  3928.  \let\@endfloatbox\relax
  3929.  \end@float
  3930. }%
  3931. \newcommand\float@end@ltx{%
  3932.  \end@@float{%
  3933.   \global\setbox\@currbox\float@makebox\columnwidth
  3934.   \check@currbox@count
  3935.  }%
  3936. }%
  3937. \newcommand\newfloat@float[3]{%
  3938.  \@namedef{ext@#1}{#3} %!
  3939.  \let\float@do=\relax
  3940.  \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}%
  3941.  \@tempa
  3942.  \floatplacement{#1}{#2}%
  3943.  \@ifundefined{fname@#1}{\floatname{#1}{#1}}{} %!
  3944.  \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}%
  3945.  \addtocounter{float@type}{\value{float@type}} %!
  3946.  \restylefloat{#1}%
  3947.  \expandafter\edef\csname fnum@#1\endcsname{%
  3948.   \expandafter\noexpand\csname fname@#1\endcsname{} %!
  3949.   \expandafter\noexpand\csname the#1\endcsname
  3950.  }
  3951.  \@ifnextchar[%]
  3952.   {%
  3953.    \float@newx{#1}%
  3954.   }{%
  3955.    \@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}{}%
  3956.   }%
  3957. }%
  3958. \newcommand\newfloat@ltx[3]{%
  3959.  \@namedef{ext@#1}{#3}%
  3960.  \let\float@do=\relax
  3961.  \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}%
  3962.  \@tempa
  3963.  \floatplacement{#1}{#2}%
  3964.  \@ifundefined{fname@#1}{\floatname{#1}{#1}}{}%
  3965.  \expandafter\edef\csname ftype@#1\expandafter\endcsname\expandafter{\the\c@float@type}%
  3966.  \addtocounter{float@type}{\value{float@type}}%
  3967.  \restylefloat{#1}%
  3968.  \expandafter\edef\csname fnum@#1\endcsname{%
  3969.   \expandafter\noexpand\csname fname@#1\endcsname{}%
  3970.   \expandafter\noexpand\csname the#1\endcsname
  3971.  }
  3972.  \@ifnextchar[%]
  3973.   {%
  3974.    \float@newx{#1}%
  3975.   }{%
  3976.    \@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}{}%
  3977.   }%
  3978. }%
  3979. \appdef\document@inithook{%
  3980.  \@ifxundefined\newfloat{}{%
  3981.   \@ifx{\float@end\float@end@float}{%
  3982.    \@ifx{\newfloat\newfloat@float}{\true@sw}{\false@sw}%
  3983.    }{\false@sw}%
  3984.    {%
  3985.     \class@warn{Repair the float package}%
  3986.     \let\float@end\float@end@ltx
  3987.     \let\newfloat\newfloat@ltx
  3988.    }{%
  3989.     \class@warn{Failed to patch the float package}%
  3990.    }%
  3991.  }%
  3992. }%
  3993. \def\@iffpsbit#1{%
  3994.  \begingroup
  3995.   \@tempcnta\count\@currbox
  3996.   \divide\@tempcnta#1\relax
  3997.   \@ifodd\@tempcnta{\aftergroup\true@sw}{\aftergroup\false@sw}%
  3998.  \endgroup
  3999. }%
  4000. \def\check@currbox@count{%
  4001.  \@ifnum{\count\@currbox>\z@}{%
  4002.   \count@\count\@currbox\divide\count@\sixt@@n\multiply\count@\sixt@@n
  4003.   \@tempcnta\count\@currbox\advance\@tempcnta-\count@
  4004.   \@ifnum{\@tempcnta=\z@}{%
  4005.    \ltxgrid@warn{Float cannot be placed}%
  4006.   }{}%
  4007.   \expandafter\tally@float\expandafter{\@captype}%
  4008.  }{%
  4009.  }%
  4010. }%
  4011. \providecommand\minipagefootnote@init{}%
  4012. \providecommand\minipagefootnote@here{}%
  4013. \providecommand\tally@float[1]{}%
  4014. \let\@specialoutput\@undefined
  4015. \def\@add@float{%
  4016.  \@pageht\ht\@cclv\@pagedp\dp\@cclv
  4017.  \unvbox\@cclv
  4018.  \@next\@currbox\@currlist{%
  4019.   \csname @floatselect@sw@\thepagegrid\endcsname\@currbox{%
  4020.    \@ifnum{\count\@currbox>\z@}{%
  4021.     \advance \@pageht \@pagedp
  4022.     \advance \@pageht \vsize \advance \@pageht -\pagegoal
  4023.     \@addtocurcol
  4024.    }{%
  4025.     \@addmarginpar
  4026.    }%
  4027.   }{%
  4028.    \@resethfps
  4029.    \@cons\@deferlist\@currbox
  4030.   }%
  4031.  }{\@latexbug}%
  4032.  \@ifnum{\outputpenalty<\z@}{%
  4033.   \@if@sw\if@nobreak\fi{%
  4034.    \nobreak
  4035.   }{%
  4036.    \addpenalty \interlinepenalty
  4037.   }%
  4038.  }{}%
  4039.  \set@vsize
  4040. }%
  4041. \let\@reinserts\@undefined
  4042. \def \@addtocurcol {%
  4043.    \@insertfalse
  4044.    \@setfloattypecounts
  4045.    \ifnum \@fpstype=8
  4046.    \else
  4047.      \ifnum \@fpstype=24
  4048.      \else
  4049.        \@flsettextmin
  4050.        \advance \@textmin \@textfloatsheight
  4051.        \@reqcolroom \@pageht
  4052.        \ifdim \@textmin>\@reqcolroom
  4053.          \@reqcolroom \@textmin
  4054.        \fi
  4055.        \advance \@reqcolroom \ht\@currbox
  4056.        \ifdim \@colroom>\@reqcolroom
  4057.          \@flsetnum \@colnum
  4058.          \ifnum \@colnum>\z@
  4059.            \@bitor\@currtype\@deferlist
  4060.            \if@test
  4061.            \else
  4062.              \@bitor\@currtype\@botlist
  4063.              \if@test
  4064.                \@addtobot
  4065.              \else
  4066.                \ifodd \count\@currbox
  4067.                  \advance \@reqcolroom \intextsep
  4068.                  \ifdim \@colroom>\@reqcolroom
  4069.                    \global \advance \@colnum \m@ne
  4070.                    \global \advance \@textfloatsheight \ht\@currbox
  4071.                    \global \advance \@textfloatsheight 2\intextsep
  4072.                    \@cons \@midlist \@currbox
  4073.                    \if@nobreak
  4074.                      \nobreak
  4075.                      \@nobreakfalse
  4076.                      \everypar{}%
  4077.                    \else
  4078.                      \addpenalty \interlinepenalty
  4079.                    \fi
  4080.                    \vskip \intextsep
  4081.                    \unvbox\@currbox %AO
  4082.                    \penalty\interlinepenalty
  4083.                    \vskip\intextsep
  4084.                    \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
  4085.                    \outputpenalty \z@
  4086.                    \@inserttrue
  4087.                  \fi
  4088.                \fi
  4089.                \if@insert
  4090.                \else
  4091.                  \@addtotoporbot
  4092.                \fi
  4093.              \fi
  4094.            \fi
  4095.          \fi
  4096.        \fi
  4097.      \fi
  4098.    \fi
  4099.    \if@insert
  4100.    \else
  4101.      \@resethfps
  4102.      \@cons\@deferlist\@currbox
  4103.    \fi
  4104. }%
  4105. \@twocolumnfalse
  4106. \let\@twocolumntrue\@twocolumnfalse
  4107. \def\@addmarginpar{%
  4108.  \@next\@marbox\@currlist{%
  4109.   \@cons\@freelist\@marbox\@cons\@freelist\@currbox
  4110.  }\@latexbug
  4111.  \setbox\@marbox\hb@xt@\columnwidth{%
  4112.   \csname @addmarginpar@\thepagegrid\endcsname{%
  4113.    \hskip-\marginparsep\hskip-\marginparwidth
  4114.    \box\@currbox
  4115.   }{%
  4116.    \hskip\columnwidth\hskip\marginparsep
  4117.    \box\@marbox
  4118.   }%
  4119.   \hss
  4120.  }%
  4121.  \setbox\z@\box\@currbox
  4122.     \@tempdima\@mparbottom
  4123.     \advance\@tempdima -\@pageht
  4124.     \advance\@tempdima\ht\@marbox
  4125.  \@ifdim{\@tempdima >\z@}{%
  4126.    \@latex@warning@no@line {Marginpar on page \thepage\space moved}%
  4127.  }{%
  4128.    \@tempdima\z@
  4129.  }%
  4130.     \global\@mparbottom\@pageht
  4131.     \global\advance\@mparbottom\@tempdima
  4132.     \global\advance\@mparbottom\dp\@marbox
  4133.     \global\advance\@mparbottom\marginparpush
  4134.     \advance\@tempdima -\ht\@marbox
  4135.     \global\setbox \@marbox
  4136.                    \vbox {\vskip \@tempdima
  4137.                           \box \@marbox}%
  4138.     \global \ht\@marbox \z@
  4139.     \global \dp\@marbox \z@
  4140.     \kern -\@pagedp
  4141.     \nointerlineskip
  4142.   \box\@marbox
  4143.     \nointerlineskip
  4144.     \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}%
  4145. }%
  4146. \newenvironment{turnpage}{%
  4147.  \def\width@float{\textheight}%
  4148.  \def\widthd@float{\textheight}%
  4149.  \appdef\@endfloatbox{%
  4150.   \@ifxundefined\@currbox{%
  4151.    \ltxgrid@warn{Cannot rotate! Not a float}%
  4152.   }{%
  4153.    \setbox\@currbox\vbox to\textwidth{\vfil\unvbox\@currbox\vfil}%
  4154.    \global\setbox\@currbox\vbox{\rotatebox{90}{\box\@currbox}}%
  4155.   }%
  4156.  }%
  4157. }{%
  4158. }%
  4159. \def\rotatebox@dummy#1#2{%
  4160.  \ltxgrid@warn{You must load the graphics or graphicx package in order to use the turnpage environment}%
  4161.  #2%
  4162. }%
  4163. \appdef\document@inithook{%
  4164.  \@ifxundefined\rotatebox{\let\rotatebox\rotatebox@dummy}{}%
  4165. }%
  4166. \@namedef{output@-1073741824}{%
  4167.  \deadcycles\z@
  4168.  \void@cclv
  4169. }%
  4170. \mathchardef\save@column@pen=10016
  4171. \@namedef{output@-\the\save@column@pen}{\save@column}%
  4172. \let \@cclv@saved \@holdpg
  4173. \let \@holdpg \@undefined
  4174. \def\save@column{%
  4175.  \@ifvoid\@cclv@saved{%
  4176.   \set@top@firstmark
  4177.   \global\@topmark@saved\expandafter{\@@topmark}%
  4178.  }{}%
  4179.  \global\setbox\@cclv@saved\vbox{%
  4180.   \@ifvoid\@cclv@saved{}{%
  4181.    \unvbox\@cclv@saved
  4182.    \marry@baselines
  4183.   }%
  4184.   \unvbox\@cclv
  4185.   \lose@breaks
  4186.   \remove@lastbox
  4187.  }%
  4188. }%
  4189. \newtoks\@topmark@saved
  4190. \def\prep@cclv{%
  4191.  \void@cclv
  4192.  \setbox\@cclv\box\@cclv@saved
  4193.  \vbadness\@M
  4194. }%
  4195. \mathchardef\save@column@insert@pen=10017
  4196. \@namedef{output@-\the\save@column@insert@pen}{\toggle@insert{\savecolumn@holding}{\savecolumn@moving}}%
  4197. \def\savecolumn@holding{%
  4198.  \@if@exceed@pagegoal{\unvcopy\@cclv\remove@lastbox}{%
  4199.   \setbox\z@\vbox{\unvcopy\@cclv\remove@lastbox}%
  4200.   \outputdebug@sw{\trace@box\z@}{}%
  4201.   \dimen@\ht\@cclv\advance\dimen@-\ht\z@
  4202.   \dead@cycle@repair@protected\dimen@
  4203.  }{%
  4204.   \dead@cycle
  4205.  }%
  4206. }%
  4207. \def\savecolumn@moving{%
  4208.  \ltxgrid@info@sw{\class@info{\string\savecolumn@moving}}{}%
  4209.  \@cclv@nontrivial@sw{%
  4210.   \save@column
  4211.  }{%
  4212.   \void@cclv
  4213.  }%
  4214.  \@ifvoid\footins{}{%
  4215.   \ltxgrid@foot@info@sw{\class@info{\string\savecolumn@moving}\trace@scroll{\showbox\footins@saved\showbox\footins}}{}%
  4216.   \@ifvoid\footins@saved{%
  4217.    \global\setbox\footins@saved\box\footins
  4218.   }{%
  4219.    \global\setbox\footins@saved\vbox\bgroup
  4220.     \unvbox\footins@saved
  4221.     \marry@baselines
  4222.     \unvbox\footins
  4223.    \egroup
  4224.   }%
  4225.   \ltxgrid@foot@info@sw{\trace@box\footins@saved}{}%
  4226.   \protect@penalty\save@column@insert@pen
  4227.  }%
  4228. }%
  4229. \newbox\footins@saved
  4230. \newbox\footins@recovered
  4231. \newbox\column@recovered
  4232. \mathchardef\save@message@pen=10018
  4233. \@namedef{output@-\the\save@message@pen}{\save@message}%
  4234. \def\save@message{%
  4235.  \void@cclv
  4236.  \toks@\expandafter{\@@firstmark}%
  4237.  \expandafter\gdef\expandafter\@message@saved\expandafter{\the\toks@}%
  4238.  \expandafter\do@@mark\expandafter{\the\@topmark@saved}%
  4239. }%
  4240. \gdef\@message@saved{}%
  4241. \mathchardef\execute@message@pen=10019
  4242. \@namedef{output@-\the\execute@message@pen}{\@message@saved}%
  4243. \def\execute@message{%
  4244.  \@execute@message\save@column@pen
  4245. }%
  4246. \def\execute@message@insert#1{%
  4247.  \@execute@message\save@column@insert@pen{%
  4248.   \setbox \footins \box \footins@saved
  4249.   \ltxgrid@foot@info@sw{\class@info{\string\execute@message@insert}\trace@box\footins}{}%
  4250.   #1%
  4251.  }%
  4252. }%
  4253. \long\def\@execute@message#1#2{%
  4254.  \begingroup
  4255.   \dimen@\prevdepth\@ifdim{\dimen@<\z@}{\dimen@\z@}{}%
  4256.   \setbox\z@\vbox{%
  4257.    \protect@penalty#1%
  4258.    \protection@box
  4259.    \toks@{\prep@cclv#2}%
  4260.    \@@mark{\the\toks@}%
  4261.    \penalty-\save@message@pen
  4262.    \setbox\z@\null\dp\z@\dimen@\ht\z@-\dimen@
  4263.    \nointerlineskip\box\z@
  4264.    \penalty-\execute@message@pen
  4265.   }\unvbox\z@
  4266.  \endgroup
  4267. }%
  4268. \def\do@output@cclv{\execute@message}%
  4269. \def\do@output@MVL#1{%
  4270.  \@ifvmode{%
  4271.   \begingroup\execute@message{\unvbox\@cclv#1}\endgroup
  4272.  }{%
  4273.   \@ifhmode{%
  4274.    \vadjust{\execute@message{\unvbox\@cclv#1}}%
  4275.   }{%
  4276.    \@latexerr{\string\do@output@MVL\space cannot be executed in this mode!}\@eha
  4277.   }%
  4278.  }%
  4279. }%
  4280. \def\lose@breaks{%
  4281.  \loopwhile{%
  4282.   \count@\lastpenalty
  4283.   \@ifnum{\count@=\@M}{%
  4284.    \unpenalty\true@sw
  4285.   }{%
  4286.    \false@sw
  4287.   }%
  4288.  }%
  4289. }%
  4290. \def\removestuff{\do@output@MVL{\unskip\unpenalty}}%
  4291. \def\removephantombox{%
  4292.  \vadjust{%
  4293.   \execute@message{%
  4294.    \unvbox\@cclv
  4295.    \remove@lastbox
  4296.    \unskip
  4297.    \unskip
  4298.    \unpenalty
  4299.    \penalty\predisplaypenalty
  4300.    \vskip\abovedisplayskip
  4301.   }%
  4302.  }%
  4303. }%
  4304. \def\addstuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@addstuff{#1}{#2}}}\@tempa}%
  4305. \def\@addstuff#1#2{%
  4306.  \skip@\lastskip\unskip
  4307.  \count@\lastpenalty\unpenalty
  4308.  \@if@empty{#1}{}{\penalty#1\relax}%
  4309.  \@ifnum{\count@=\z@}{}{\penalty\count@}%
  4310.  \vskip\skip@
  4311.  \@if@empty{#2}{}{\vskip#2\relax}%
  4312. }%
  4313. \def\replacestuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@replacestuff{#1}{#2}}}\@tempa}%
  4314. \def\@replacestuff#1#2{%
  4315.  \skip@\lastskip\unskip
  4316.  \count@\lastpenalty\unpenalty
  4317.  \@if@empty{#1}{}{%
  4318.  \@ifnum{\count@>\@M}{}{%
  4319.    \@ifnum{\count@=\z@}{\count@=#1\relax}{%
  4320.     \@ifnum{\count@<#1\relax}{}{%
  4321.      \count@=#1\relax
  4322.     }%
  4323.    }%
  4324.  }%
  4325.  }%
  4326.  \@ifnum{\count@=\z@}{}{\penalty\count@}%
  4327.  \@if@empty{#2}{}{%
  4328.   \@tempskipa#2\relax
  4329.   \@ifdim{\z@>\@tempskipa}{%
  4330.    \advance\skip@-\@tempskipa
  4331.   }{%
  4332.    \@ifdim{\skip@>\@tempskipa}{}{%
  4333.     \skip@\@tempskipa
  4334.    }%
  4335.   }%
  4336.  }%
  4337.  \vskip\skip@
  4338. }%
  4339. \def\move@insertions{\global\holdinginserts\z@}%
  4340. \def\hold@insertions{\global\holdinginserts\@ne}%
  4341. \hold@insertions
  4342. \def\toggle@insert#1#2{%
  4343.  \@ifnum{\holdinginserts>\z@}{\move@insertions#1}{\hold@insertions#2}%
  4344. }%
  4345. \def\do@columngrid#1#2{%
  4346.  \par
  4347.  \expandafter\let\expandafter\@tempa\csname open@column@#1\endcsname
  4348.  \@ifx{\relax\@tempa}{%
  4349.   \ltxgrid@warn{Unknown page grid #1. No action taken}%
  4350.  }{%
  4351.   \do@output@MVL{\start@column{#1}{#2}}%
  4352.  }%
  4353. }%
  4354. \def\start@column#1#2{%
  4355.  \def\@tempa{#1}\@ifx{\@tempa\thepagegrid}{%
  4356.   \ltxgrid@info{Already in page grid \thepagegrid. No action taken}%
  4357.  }{%
  4358.   \expandafter\execute@message@insert
  4359.   \expandafter{%
  4360.                \csname shut@column@\thepagegrid\expandafter\endcsname
  4361.                \csname open@column@#1\endcsname{#2}%
  4362.                \set@vsize
  4363.              }%
  4364.  }%
  4365. }%
  4366. \def\thepagegrid{one}%
  4367. \newbox\pagesofar
  4368. \newbox\footsofar
  4369. \def\combine@foot@inserts#1#2{%
  4370.   \ltxgrid@info@sw{\class@info{\string\combine@foot@inserts\string#1\string#2}}{}%
  4371.   \@ifvoid#1{%
  4372.     \ltxgrid@foot@info@sw{\trace@box#2}{}\global\setbox#1\box#2%
  4373.   }{%
  4374.    \global\setbox#1\vbox\bgroup
  4375.     \ltxgrid@foot@info@sw{\trace@box#1}{}\unvbox#1%
  4376.     \@ifvoid#2{}{%
  4377.      \marry@baselines
  4378.      \ltxgrid@foot@info@sw{\trace@box#2}{}\unvbox#2%
  4379.     }%
  4380.    \egroup
  4381.   }%
  4382.   \ltxgrid@foot@info@sw{\trace@scroll{\showbox#1\showbox#2}}{}%
  4383. }%
  4384. \newcommand\onecolumngrid{\do@columngrid{one}{\@ne}}%
  4385. \let\onecolumn\@undefined
  4386. \def\open@column@one#1{%
  4387.  \ltxgrid@info@sw{\class@info{\string\open@column@one\string#1}}{}%
  4388.  \unvbox\pagesofar
  4389.  \@ifvoid{\footsofar}{}{%
  4390.   \insert\footins\bgroup\unvbox\footsofar\egroup
  4391.   \penalty\z@
  4392.  }%
  4393.  \gdef\thepagegrid{one}%
  4394.  \global\pagegrid@col#1%
  4395.  \global\pagegrid@cur\@ne
  4396.  \global\count\footins\@m
  4397.  \global\divide\count\footins\tw@
  4398.  \set@column@hsize\pagegrid@col
  4399.  \set@colht
  4400. }%
  4401. \def\shut@column@one{%
  4402.  \ltxgrid@info@sw{\class@info{\string\shut@column@one}}{}%
  4403.  \@makecolumn\false@sw
  4404.  \global\setbox\pagesofar\vbox\bgroup
  4405.   \recover@column\@outputbox\footsofar\column@recovered\footins@recovered
  4406.  \egroup
  4407.  \begingroup\setbox\z@\box\@outputbox\endgroup
  4408.  \combine@foot@inserts\footsofar\footins
  4409.  \set@colht
  4410. }%
  4411. \def\float@column@one{%
  4412.  \@makecolumn\true@sw
  4413.  \@outputpage
  4414. }%
  4415. \def\end@column@one{%
  4416.  \unvbox\@cclv\remove@lastbox
  4417.  \protect@penalty\do@newpage@pen
  4418. }%
  4419. \def\output@column@one{%
  4420.  \@outputpage
  4421. }%
  4422. \def\@addmarginpar@one{%
  4423.  \@if@sw\if@mparswitch\fi{%
  4424.   \@ifodd\c@page{\false@sw}{\true@sw}%
  4425.  }{\false@sw}{%
  4426.   \@if@sw\if@reversemargin\fi{\false@sw}{\true@sw}%
  4427.  }{%
  4428.   \@if@sw\if@reversemargin\fi{\true@sw}{\false@sw}%
  4429.  }%
  4430. }%
  4431. \def\@floatselect@sw@one#1{\true@sw}%
  4432. \def\onecolumngrid@push{%
  4433.  \do@output@MVL{%
  4434.   \@ifnum{\pagegrid@col=\@ne}{%
  4435.    \global\let\restorecolumngrid\@empty
  4436.   }{%
  4437.    \xdef\restorecolumngrid{%
  4438.     \noexpand\start@column{\thepagegrid}{\the\pagegrid@col}%
  4439.    }%
  4440.    \start@column{one}{\@ne}%
  4441.   }%
  4442.  }%
  4443. }%
  4444. \def\onecolumngrid@pop{%
  4445.  \do@output@MVL{\restorecolumngrid}%
  4446. }%
  4447. \newcommand\twocolumngrid{\do@columngrid{mlt}{\tw@}}%
  4448. \let\twocolumn\@undefined
  4449. \let\@topnewpage\@undefined
  4450. \def\open@column@mlt#1{%
  4451.  \ltxgrid@info@sw{\class@info{\string\open@column@mlt\string#1}}{}%
  4452.  \@ifvoid{\footsofar}{}{%
  4453.   \insert\footins\bgroup\unvbox\footsofar\egroup
  4454.  }%
  4455.  \gdef\thepagegrid{mlt}%
  4456.  \global\pagegrid@col#1%
  4457.  \global\pagegrid@cur\@ne
  4458.  \global\count\footins\@m
  4459.  \set@column@hsize\pagegrid@col
  4460.  \set@colht
  4461. }%
  4462. \def\shut@column@mlt{%
  4463.  \ltxgrid@info@sw{\class@info{\string\shut@column@mlt}}{}%
  4464.  \@cclv@nontrivial@sw{%
  4465.   \@makecolumn\false@sw
  4466.   \@ifnum{\pagegrid@cur<\pagegrid@col}{%
  4467.    \expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox
  4468.    \global\advance\pagegrid@cur\@ne
  4469.   }{}%
  4470.  }{%
  4471.   \void@cclv
  4472.  }%
  4473.  \@ifnum{\pagegrid@cur>\@ne}{%
  4474.   \csname balance@\the\pagegrid@col\endcsname
  4475.   \grid@column\@outputbox{}%
  4476.   \@combinepage\false@sw
  4477.   \@combinedblfloats
  4478.   \global\setbox\pagesofar\box\@outputbox
  4479.   \show@pagesofar@size
  4480.  }{}%
  4481.  \set@colht
  4482. }%
  4483. \def\float@column@mlt{%
  4484.   \@output@combined@page
  4485. }%
  4486. \def\end@column@mlt{%
  4487.  \@ifx@empty\@toplist{%
  4488.   \@ifx@empty\@botlist{%
  4489.    \@ifx@empty\@dbltoplist{%
  4490.     \@ifx@empty\@deferlist{%
  4491.      \@ifnum{\pagegrid@cur=\@ne}{%
  4492.       \false@sw
  4493.      }{%
  4494.       \true@sw
  4495.      }%
  4496.     }{%
  4497.      \true@sw
  4498.     }%
  4499.    }{%
  4500.     \true@sw
  4501.    }%
  4502.   }{%
  4503.    \true@sw
  4504.   }%
  4505.  }{%
  4506.   \true@sw
  4507.  }%
  4508.  % true = kick out a column and try again
  4509.  {%
  4510.   \@cclv@nontrivial@sw{%
  4511.    \unvbox\@cclv\remove@lastbox
  4512.   }{%
  4513.    \unvbox\@cclv\remove@lastbox\unskip\null
  4514.   }%
  4515.   \protect@penalty\do@newpage@pen
  4516.   \protect@penalty\do@endpage@pen
  4517.  }{%
  4518.   \unvbox\@cclv\remove@lastbox
  4519.  }%
  4520. }%
  4521. \def\output@column@mlt{%
  4522.  \@ifnum{\pagegrid@cur<\pagegrid@col}{%
  4523.   \expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox
  4524.   \global\advance\pagegrid@cur\@ne
  4525.  }{%
  4526.   \set@adj@colht\dimen@
  4527.   \grid@column\@outputbox{}%
  4528.   \@output@combined@page
  4529.  }%
  4530. }%
  4531. \let\@outputdblcol\@undefined
  4532. \def\@floatselect@sw@mlt#1{\@if@notdblfloat{#1}}%
  4533. \def\@addmarginpar@mlt{% emits a boolean
  4534.  \@ifnum{\pagegrid@cur=\@ne}%
  4535. }%
  4536. \def\set@footnotewidth@one{%
  4537.  \hsize\columnwidth
  4538.  \linewidth\hsize
  4539. }%
  4540. \def\set@footnotewidth@two{\set@footnotewidth@mlt\tw@}%
  4541. \def\set@footnotewidth@mlt#1{%
  4542.  \hsize\textwidth
  4543.  \advance\hsize\columnsep
  4544.  \divide\hsize#1%
  4545.  \advance\hsize-\columnsep
  4546.  \linewidth\hsize
  4547. }%
  4548. \def\compose@footnotes@one#1{%
  4549.  \ltxgrid@foot@info@sw{\class@info{\string\compose@footnotes@one\string#1}\trace@box#1}{}%
  4550. }%
  4551. \let\compose@footnotes\compose@footnotes@one
  4552. \def\compose@footnotes@two#1{%
  4553.  \ltxgrid@foot@info@sw{\class@info{\string\compose@footnotes@two\string#1}\trace@box#1}{}%
  4554.  \setbox\z@\box\@tempboxa
  4555.  \let\recover@column\recover@column@null
  4556.  \let\marry@baselines\@empty
  4557.  \balance@two#1\@tempboxa
  4558.  \global\setbox#1\hbox to\textwidth{\box#1\hfil\box\@tempboxa}%
  4559.  \ltxgrid@foot@info@sw{\trace@box#1}{}%
  4560. }%
  4561. \let\pagegrid@cur\col@number
  4562. \let\col@number\@undefined
  4563. \newcount\pagegrid@col
  4564. \pagegrid@cur\@ne
  4565. \expandafter\let\csname col@\the\pagegrid@cur\endcsname\@leftcolumn
  4566. \let\@leftcolumn\@undefined
  4567. \pagegrid@col\tw@
  4568. \def\pagegrid@init{%
  4569.  \advance\pagegrid@cur\@ne
  4570.  \@ifnum{\pagegrid@cur<\pagegrid@col}{%
  4571.   \csname newbox\expandafter\endcsname\csname  col@\the\pagegrid@cur\endcsname
  4572.   \pagegrid@init
  4573.  }{%
  4574.  }%
  4575. }%
  4576. \appdef\class@documenthook{%
  4577.  \pagegrid@init
  4578. }%
  4579. \def\grid@column#1#2{%
  4580.  \ltxgrid@info@sw{\class@info{\string\grid@column\string#1}}{}%
  4581.  \global\setbox#1\vbox\bgroup
  4582.   \hb@xt@\textwidth\bgroup
  4583.    \vrule\@height\z@\@width\z@\@if@empty{#2}{}{\@depth#2}%
  4584.    \pagegrid@cur\@ne
  4585.    \@ifnum{\pagegrid@cur<\pagegrid@col}{\loopwhile{\append@column@\pagegrid@cur\pagegrid@col}}{}%
  4586.    \box@column#1%
  4587.   \egroup
  4588.   \vskip\z@skip
  4589.  \egroup
  4590. }%
  4591. \def\append@column@#1#2{%
  4592.  \expandafter\box@column\csname col@\the#1\endcsname
  4593.  \hfil\vrule\@width\columnseprule\hfil
  4594.  \advance#1\@ne
  4595.  \@ifnum{#1<#2}%
  4596. }%
  4597. \def\box@column#1{%
  4598.  \ltxgrid@info@sw{\class@info{\string\box@column\string#1}}{}%
  4599.  \raise\topskip
  4600.  \hb@xt@\columnwidth\bgroup
  4601.   \dimen@\ht#1\@ifdim{\dimen@>\@colht}{\dimen@\@colht}{}%
  4602.   \count@\vbadness\vbadness\@M
  4603.   \dimen@ii\vfuzz\vfuzz\maxdimen
  4604.   \ltxgrid@info@sw{\saythe\@colht\saythe\dimen@}{}%
  4605.   \vtop to\dimen@\bgroup
  4606.    \hrule\@height\z@
  4607.    \unvbox#1%
  4608.    \raggedcolumn@skip
  4609.   \egroup
  4610.   \vfuzz\dimen@ii
  4611.   \vbadness\count@
  4612.   \hss
  4613.  \egroup
  4614. }%
  4615. \def\marry@baselines{%
  4616.  \begingroup
  4617.   \setbox\z@\lastbox
  4618.   \@ifvoid{\z@}{%
  4619.    \endgroup
  4620.   }{%
  4621.    \aftergroup\kern
  4622.    \aftergroup-%
  4623.    \expandafter\box\expandafter\z@\expandafter\endgroup\the\dp\z@\relax
  4624.   }%
  4625.  \vskip\marry@skip\relax
  4626. }%
  4627. \gdef\marry@skip{\z@skip}%
  4628. \def\set@marry@skip{%
  4629.  \begingroup
  4630.   \skip@\baselineskip\advance\skip@-\topskip
  4631.   \@ifdim{\skip@>\z@}{%
  4632.    \xdef\marry@skip{\the\skip@}%
  4633.   }{}%
  4634.  \endgroup
  4635. }%
  4636. \appdef\document@inithook{%
  4637.  \@ifxundefined\raggedcolumn@sw{\@booleanfalse\raggedcolumn@sw}{}%
  4638. }%
  4639. \def\raggedcolumn@skip{%
  4640.  \vskip\z@\raggedcolumn@sw{\@plus.0001fil\@minus.0001fil}{}\relax
  4641. }%
  4642. \def\@combinepage#1{%
  4643.  \ltxgrid@foot@info@sw{\class@info{\string\@combinepage\string#1}}{}%
  4644.  \@ifvoid\pagesofar{}{%
  4645.   \setbox\@outputbox\vbox{%
  4646.    \unvbox\pagesofar
  4647.    \marry@baselines
  4648.    \unvbox\@outputbox
  4649.   }%
  4650.  }%
  4651.  #1{%
  4652.   \@ifvoid\footsofar{}{%
  4653.    \show@box@size{Combining page footnotes}\footsofar
  4654.    \setbox\footins\box\footsofar
  4655.    \compose@footnotes
  4656.    \@combineinserts\@outputbox\footins
  4657.   }%
  4658.  }{%
  4659.  }%
  4660. }%
  4661. \def \@cflt{%
  4662.  \let \@elt \@comflelt
  4663.  \setbox\@tempboxa \vbox{}%
  4664.  \@toplist
  4665.  \setbox\@outputbox \vbox{%
  4666.   \boxmaxdepth \maxdepth
  4667.   \unvbox\@tempboxa\unskip
  4668.   \topfigrule\vskip \textfloatsep
  4669.   \unvbox\@outputbox
  4670.  }%
  4671.  \let\@elt\relax
  4672.  \xdef\@freelist{\@freelist\@toplist}%
  4673.  \global\let\@toplist\@empty
  4674. }%
  4675. \def \@cflb {%
  4676.  \let\@elt\@comflelt
  4677.  \setbox\@tempboxa \vbox{}%
  4678.  \@botlist
  4679.  \setbox\@outputbox \vbox{%
  4680.   \unvbox\@outputbox
  4681.   \vskip \textfloatsep\botfigrule
  4682.   \unvbox\@tempboxa\unskip
  4683.  }%
  4684.  \let\@elt\relax
  4685.  \xdef\@freelist{\@freelist\@botlist}%
  4686.  \global \let \@botlist\@empty
  4687. }%
  4688. \def\@combinedblfloats{%
  4689.  \@ifx@empty\@dbltoplist{}{%
  4690.   \setbox\@tempboxa\vbox{}%
  4691.   \let\@elt\@comdblflelt\@dbltoplist
  4692.   \let\@elt\relax\xdef\@freelist{\@freelist\@dbltoplist}%
  4693.   \global\let\@dbltoplist\@empty
  4694.   \setbox\@outputbox\vbox{%
  4695.    %\boxmaxdepth\maxdepth   %% probably not needed, CAR
  4696.    \unvbox\@tempboxa\unskip
  4697.    \@ifnum{\@dbltopnum>\m@ne}{\dblfigrule}{}%FIXME: how is \@dbltopnum maintained?
  4698.    \vskip\dbltextfloatsep
  4699.    \unvbox\@outputbox
  4700.   }%
  4701.  }%
  4702. }%
  4703. \def\set@column@hsize#1{%
  4704.  \pagegrid@col#1%
  4705.  \global\columnwidth\textwidth
  4706.  \global\advance\columnwidth\columnsep
  4707.  \global\divide\columnwidth\pagegrid@col
  4708.  \global\advance\columnwidth-\columnsep
  4709.  \global\hsize\columnwidth
  4710.  \global\linewidth\columnwidth
  4711.  \skip@\baselineskip\advance\skip@-\topskip
  4712.  \@ifnum{\pagegrid@col>\@ne}{\set@marry@skip}{}%
  4713. }%
  4714. \def\set@colht{%
  4715.  \set@adj@textheight\@colht
  4716.  \global\let\enlarge@colroom\@empty
  4717.  \set@colroom
  4718. }%
  4719. \def\set@adj@textheight#1{%
  4720.  \ltxgrid@info@sw{\class@info{\string\set@adj@textheight\string#1}\saythe\textheight}{}%
  4721.  #1\textheight
  4722.  \def\@elt{\adj@page#1}%
  4723.  \@booleantrue\firsttime@sw\@dbltoplist
  4724.  \let\@elt\relax
  4725.  \global#1#1\relax
  4726.  \ltxgrid@info@sw{\saythe#1}{}%
  4727. }%
  4728. \def\set@colroom{%
  4729.  \ltxgrid@info@sw{\class@info{\string\set@colroom}}{}%
  4730.  \set@adj@colht\@colroom
  4731.  \@if@empty\enlarge@colroom{}{%
  4732.   \global\advance\@colroom\enlarge@colroom\relax
  4733.   \ltxgrid@info@sw{\saythe\@colroom}{}%
  4734.  }%
  4735.  \@ifdim{\@colroom>\topskip}{}{%
  4736.   \ltxgrid@info{Not enough room: \string\@colroom=\the\@colroom; increasing to \the\topskip}%
  4737.   \@colroom\topskip
  4738.  }%
  4739.  \global\@colroom\@colroom
  4740.  \set@vsize
  4741. }%
  4742. \def\set@vsize{%
  4743.  \global\vsize\@colroom
  4744.  \ltxgrid@info@sw{\class@info{\string\set@vsize\string\vsize=\string\colroom}\saythe\vsize}{}%
  4745. }%
  4746. \def\set@adj@colht#1{%
  4747.  #1\@colht
  4748.  \ltxgrid@info@sw{\class@info{\string\set@adj@colht\string#1-\string\pagesofar}\saythe#1}{}%
  4749.  \@ifvoid\pagesofar{}{%
  4750.   \advance#1-\ht\pagesofar\advance#1-\dp\pagesofar
  4751.   \ltxgrid@info@sw{\class@info{\string\pagesofar}\saythe#1}{}%
  4752.  }%
  4753.  \def\@elt{\adj@column#1}%
  4754.  \@booleantrue\firsttime@sw\@toplist
  4755.  \@booleantrue\firsttime@sw\@botlist
  4756.  \let\@elt\relax
  4757. }%
  4758. \def\adj@column#1#2{%
  4759.  \advance#1-\ht#2%
  4760.  \advance#1-\firsttime@sw{\textfloatsep\@booleanfalse\firsttime@sw}{\floatsep}%
  4761.  \ltxgrid@info@sw{\class@info{\string\adj@column\string#1-\string#2}\saythe#1}{}%
  4762. }%
  4763. \def\adj@page#1#2{%
  4764.  \advance#1-\ht#2%
  4765.  \advance#1-\firsttime@sw{\dbltextfloatsep\@booleanfalse\firsttime@sw}{\dblfloatsep}%
  4766.  \ltxgrid@info@sw{\class@info{\string\adj@page\string#1-\string#2}\saythe#1}{}%
  4767. }%
  4768. \def\set@adj@box#1#2{%
  4769.  \@ifvoid#2{}{%
  4770.   \advance#1-\ht#2\advance#1-\dp#2%
  4771.   \@booleantrue\temp@sw
  4772.   \ltxgrid@foot@info@sw{\class@info{\string\set@adj@box\string#2}\saythe#1}{}%
  4773.  }%
  4774. }%
  4775. \appdef\@outputpage@tail{%
  4776.  \set@colht          % FIXME: needed?
  4777.  \@floatplacement    % FIXME: needed?
  4778.  \@dblfloatplacement % FIXME: needed?
  4779. }%
  4780. \begingroup
  4781.  \catcode`\1=\cat@letter
  4782.  \catcode`\2=\cat@letter
  4783.  \toks@{%
  4784.   \setbox\footins\box\footsofar
  4785.   \balance@two\col@1\@outputbox
  4786.   \global\setbox\col@1\box\col@1
  4787.   \global\setbox\@outputbox\box\@outputbox
  4788.   \combine@foot@inserts\footsofar\footins
  4789.  }%
  4790.  \aftergroup\def\aftergroup\balance@2\expandafter
  4791. \endgroup\expandafter{\the\toks@}%
  4792. \def\balance@two#1#2{%
  4793.  \ltxgrid@info@sw{\class@info{\string\balance@two\string#1\string#2}}{}%
  4794.  \outputdebug@sw{\trace@scroll{\showbox#1\showbox#2}}{}%
  4795.  \setbox\thr@@\copy\footsofar
  4796.  \setbox\@ne\vbox\bgroup
  4797.   \@ifvoid{#1}{}{%
  4798.    \recover@column#1\footsofar\column@recovered\footins@recovered
  4799.    \@ifvoid{#2}{}{\marry@baselines}%
  4800.   }%
  4801.   \@ifvoid{#2}{}{%
  4802.    \recover@column#2\footsofar\column@recovered\footins@recovered
  4803.   }%
  4804.  \egroup
  4805.  \outputdebug@sw{\trace@scroll{\showbox\@ne}}{}%
  4806.  \ltxgrid@foot@info@sw{\trace@scroll{\showbox\footsofar}}{}%
  4807.  \dimen@\ht\@ne\divide\dimen@\tw@
  4808.  \dimen@i\dimen@
  4809.  \vbadness\@M
  4810.  \vfuzz\maxdimen
  4811.  \splittopskip\topskip
  4812.  \loopwhile{%
  4813.   \setbox\z@\copy\@ne\setbox\tw@\vsplit\z@ to\dimen@
  4814.   \remove@depth\z@\remove@depth\tw@
  4815.   \dimen@ii\ht\tw@\advance\dimen@ii-\ht\z@
  4816.   \dimen@i=.5\dimen@i
  4817.   \ltxgrid@info@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}%
  4818.   \@ifdim{\dimen@ii<.5\p@}{%
  4819.    \@ifdim{\dimen@ii>-.5\p@}%
  4820.   }{%
  4821.    \false@sw
  4822.   }%
  4823.   {%
  4824.    \true@sw
  4825.   }{%
  4826.    \@ifdim{\dimen@i<.5\p@}%
  4827.   }%
  4828.   {%
  4829.    \false@sw
  4830.   }%
  4831.   {%
  4832.    \advance\dimen@\@ifdim{\dimen@ii<\z@}{}{-}\dimen@i
  4833.    \true@sw
  4834.   }%
  4835.  }%
  4836.  \ltxgrid@info@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}%
  4837.  \@ifdim{\ht\z@=\z@}{%
  4838.   \@ifdim{\ht\tw@=\z@}%
  4839.  }{%
  4840.   \true@sw
  4841.  }%
  4842.  {%
  4843.  }{%
  4844.   \ltxgrid@info{Unsatifactorily balanced columns: giving up}%
  4845.   \setbox\tw@\box#1%
  4846.   \setbox\z@ \box#2%
  4847.   \global\setbox\footsofar\box\thr@@
  4848.  }%
  4849.  \setbox\tw@\vbox{\unvbox\tw@\vskip\z@skip}%
  4850.  \setbox\z@ \vbox{\unvbox\z@ \vskip\z@skip}%
  4851.  \set@colht
  4852.  \dimen@\ht\z@\@ifdim{\dimen@<\ht\tw@}{\dimen@\ht\tw@}{}%
  4853.  \@ifdim{\dimen@>\@colroom}{\dimen@\@colroom}{}%
  4854.  \ltxgrid@info@sw{\saythe{\ht\z@}\saythe{\ht\tw@}\saythe\@colroom\saythe\dimen@}{}%
  4855.  \setbox#1\vbox to\dimen@{\unvbox\tw@\unskip\raggedcolumn@skip}%
  4856.  \setbox#2\vbox to\dimen@{\unvbox\z@ \unskip\raggedcolumn@skip}%
  4857.  \outputdebug@sw{\trace@scroll{\showbox#1\showbox#2}}{}%
  4858. }%
  4859. \def\remove@depth#1{%
  4860.   \setbox#1\vbox\bgroup
  4861.    \unvcopy#1%
  4862.    \setbox\z@\vbox\bgroup
  4863.     \unvbox#1%
  4864.     \setbox\z@\lastbox
  4865.     \aftergroup\kern\aftergroup-\expandafter
  4866.    \egroup
  4867.    \the\dp\z@\relax
  4868.   \egroup
  4869. }%
  4870. \def\recover@column#1#2#3#4{%
  4871.  \ltxgrid@info@sw{\class@info{\string\recover@column\string#1\string#2\string#3\string#4}}{}%
  4872.  \setbox#4\vbox{\unvcopy#1}%
  4873.  \ltxgrid@foot@info@sw{\trace@scroll{\showbox#4}}{}%
  4874.  \dimen@\ht#4%
  4875.  \ltxgrid@foot@info@sw{\saythe\dimen@}{}%
  4876.  \setbox#4\vbox\bgroup
  4877.   \unvbox#4\unskip
  4878.   \dimen@i\lastkern\unkern\advance\dimen@i\lastkern
  4879.   \@ifdim{\dimen@i=\z@}{%
  4880.    \dimen@i\lastkern\unkern
  4881.    \ltxgrid@foot@info@sw{\saythe\dimen@i}{}%
  4882.    \aftergroup\dimen@i
  4883.    \expandafter\egroup\the\dimen@i\relax
  4884.   }{%
  4885.    \egroup
  4886.   }%
  4887.  \@ifdim{\dimen@i<\z@}{%
  4888.   \advance\dimen@\dimen@i
  4889.   \ltxgrid@foot@info@sw{\saythe\dimen@i\saythe\dimen@}{}%
  4890.   \splittopskip\z@skip
  4891.   \global\setbox#3\vsplit#4 to\dimen@
  4892.   \global\setbox#4\vbox{\unvbox#4}%
  4893.   \ltxgrid@foot@info@sw{\trace@scroll{\showbox#1\showbox#2\showbox#3\showbox#4}}{}%
  4894.   \global\setbox#2\vbox\bgroup\unvbox#2\vskip\z@skip\unvbox#4\egroup
  4895.  }{%
  4896.   \setbox#3\box#4%
  4897.   \ltxgrid@foot@info@sw{\trace@scroll{\showbox#1\showbox#2\showbox#3\showbox#4}}{}%
  4898.  }%
  4899.  \unvbox#3%
  4900.  \loopwhile{\dimen@\lastskip\@ifdim{\dimen@>\z@}{\unskip\true@sw}{\false@sw}}%
  4901. }%
  4902. \def\recover@column@null#1#2#3#4{%
  4903.  \unvcopy#1%
  4904. }%
  4905. \prepdef\@begindocumenthook{%
  4906.  \open@column@one\@ne
  4907.  \set@colht
  4908.  \@floatplacement
  4909.  \@dblfloatplacement
  4910. }%
  4911. \def\longtable@longtable{%
  4912.  \par
  4913.  \ifx\multicols\@undefined\else\ifnum\col@number>\@ne\@twocolumntrue\fi\fi
  4914.  \if@twocolumn\LT@err{longtable not in 1-column mode}\@ehc\fi
  4915.  \begingroup
  4916.  \@ifnextchar[\LT@array{\LT@array[x]}%
  4917. }%
  4918. \def\longtable@new{%
  4919.  \par
  4920.   \@ifnextchar[\LT@array{\LT@array[x]}%
  4921. }%
  4922. \def\endlongtable@longtable{%
  4923.   \crcr
  4924.   \noalign{%
  4925.     \let\LT@entry\LT@entry@chop
  4926.     \xdef\LT@save@row{\LT@save@row}}%
  4927.   \LT@echunk
  4928.   \LT@start
  4929.   \unvbox\z@
  4930.   \LT@get@widths
  4931.   \if@filesw
  4932.     {\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
  4933.       \gdef\expandafter\noexpand
  4934.         \csname LT@\romannumeral\c@LT@tables\endcsname
  4935.           {\LT@save@row}}}%
  4936.   \fi
  4937.   \ifx\LT@save@row\LT@@save@row
  4938.   \else
  4939.     \LT@warn{Column \@width s have changed\MessageBreak
  4940.              in table \thetable}%
  4941.     \LT@final@warn
  4942.   \fi
  4943.   \endgraf\penalty -\LT@end@pen
  4944.   \endgroup
  4945.   \global\@mparbottom\z@
  4946.   \pagegoal\vsize
  4947.   \endgraf\penalty\z@\addvspace\LTpost
  4948.   \ifvoid\footins\else\insert\footins{}\fi
  4949. }%
  4950. \def\endlongtable@new{%
  4951.   \crcr
  4952.   \noalign{%
  4953.    \let\LT@entry\LT@entry@chop
  4954.    \xdef\LT@save@row{\LT@save@row}%
  4955.   }%
  4956.   \LT@echunk
  4957.   \LT@start
  4958.   \unvbox\z@
  4959.   \LT@get@widths
  4960.   \@if@sw\if@filesw\fi{%
  4961.    {%
  4962.     \let\LT@entry\LT@entry@write
  4963.     \immediate\write\@auxout{%
  4964.      \gdef\expandafter\noexpand\csname LT@\romannumeral\c@LT@tables\endcsname
  4965.      {\LT@save@row}%
  4966.     }%
  4967.    }%
  4968.   }{}%
  4969.   \@ifx{\LT@save@row\LT@@save@row}{}{%
  4970.    \LT@warn{%
  4971.     Column \@width s have changed\MessageBreak in table \thetable
  4972.    }\LT@final@warn
  4973.   }%
  4974.   \endgraf
  4975.   \nobreak
  4976.   \box\@ifvoid\LT@lastfoot{\LT@foot}{\LT@lastfoot}%
  4977.  \global\@mparbottom\z@
  4978.  \endgraf
  4979.  \LT@post
  4980. }%
  4981. \def\LT@start@longtable{%
  4982.   \let\LT@start\endgraf
  4983.   \endgraf\penalty\z@\vskip\LTpre
  4984.   \dimen@\pagetotal
  4985.   \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
  4986.   \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
  4987.   \advance\dimen@ \ht\LT@foot
  4988.   \dimen@ii\vfuzz
  4989.   \vfuzz\maxdimen
  4990.     \setbox\tw@\copy\z@
  4991.     \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox
  4992.     \setbox\tw@\vbox{\unvbox\tw@}%
  4993.   \vfuzz\dimen@ii
  4994.   \advance\dimen@ \ht
  4995.         \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi
  4996.   \advance\dimen@\dp
  4997.         \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi
  4998.   \advance\dimen@ -\pagegoal
  4999.   \ifdim \dimen@>\z@\vfil\break\fi
  5000.       \global\@colroom\@colht
  5001.   \ifvoid\LT@foot\else
  5002.     \advance\vsize-\ht\LT@foot
  5003.     \global\advance\@colroom-\ht\LT@foot
  5004.     \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@
  5005.     \maxdepth\z@
  5006.   \fi
  5007.   \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi
  5008. \nobreak
  5009.   \output{\LT@output}%
  5010. }%
  5011. \def\LT@start@new{%
  5012.  \let\LT@start\endgraf
  5013.  \endgraf
  5014.  \markthr@@{}%
  5015.  \LT@pre
  5016.  \@ifvoid\LT@firsthead{\LT@top}{\box\LT@firsthead\nobreak}%
  5017.  \mark@envir{longtable}%
  5018. }%
  5019. \def\LT@end@hd@ft@longtable#1{%
  5020.  \LT@echunk
  5021.  \ifx\LT@start\endgraf
  5022.   \LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}%
  5023.  \fi
  5024.  \setbox#1\box\z@
  5025.  \LT@get@widths\LT@bchunk
  5026. }%
  5027. \def\LT@end@hd@ft@new#1{%
  5028.  \LT@echunk
  5029.  \@ifx{\LT@start\endgraf}{%
  5030.   \LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}%
  5031.  }%
  5032.  \global\setbox#1\box\z@
  5033.  \LT@get@widths
  5034.  \LT@bchunk
  5035. }%
  5036. \def\LT@array@longtable[#1]#2{%
  5037.   \refstepcounter{table}\stepcounter{LT@tables}%
  5038.   \if l#1%
  5039.     \LTleft\z@ \LTright\fill
  5040.   \else\if r#1%
  5041.     \LTleft\fill \LTright\z@
  5042.   \else\if c#1%
  5043.     \LTleft\fill \LTright\fill
  5044.   \fi\fi\fi
  5045.   \let\LT@mcol\multicolumn
  5046.   \let\LT@@tabarray\@tabarray
  5047.   \let\LT@@hl\hline
  5048.   \def\@tabarray{%
  5049.     \let\hline\LT@@hl
  5050.     \LT@@tabarray}%
  5051.   \let\\\LT@tabularcr\let\tabularnewline\\%
  5052.   \def\newpage{\noalign{\break}}%
  5053.   \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
  5054.   \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
  5055.   \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption
  5056.   \@tempdima\ht\strutbox
  5057.   \let\@endpbox\LT@endpbox
  5058.   \ifx\extrarowheight\@undefined
  5059.     \let\@acol\@tabacol
  5060.     \let\@classz\@tabclassz \let\@classiv\@tabclassiv
  5061.     \def\@startpbox{\vtop\LT@startpbox}%
  5062.     \let\@@startpbox\@startpbox
  5063.     \let\@@endpbox\@endpbox
  5064.     \let\LT@LL@FM@cr\@tabularcr
  5065.   \else
  5066.     \advance\@tempdima\extrarowheight
  5067.     \col@sep\tabcolsep
  5068.     \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr
  5069.   \fi
  5070.   \setbox\@arstrutbox\hbox{\vrule
  5071.     \@height \arraystretch \@tempdima
  5072.     \@depth \arraystretch \dp \strutbox
  5073.     \@width \z@}%
  5074.   \let\@sharp##\let\protect\relax
  5075.    \begingroup
  5076.     \@mkpream{#2}%
  5077.     \xdef\LT@bchunk{%
  5078.        \global\advance\c@LT@chunks\@ne
  5079.        \global\LT@rows\z@\setbox\z@\vbox\bgroup
  5080.        \LT@setprevdepth
  5081.        \tabskip\LTleft \noexpand\halign to\hsize\bgroup
  5082.       \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}%
  5083.   \endgroup
  5084.   \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
  5085.   \LT@make@row
  5086.   \m@th\let\par\@empty
  5087.   \everycr{}\lineskip\z@\baselineskip\z@
  5088.   \LT@bchunk}%
  5089. \def\LT@LR@l{\LTleft\z@   \LTright\fill}%
  5090. \def\LT@LR@r{\LTleft\fill \LTright\z@  }%
  5091. \def\LT@LR@c{\LTleft\fill \LTright\fill}%
  5092. \def\LT@array@new[#1]#2{%
  5093.  \refstepcounter{table}\stepcounter{LT@tables}%
  5094.  \table@hook
  5095.  \LTleft\fill \LTright\fill
  5096.  \csname LT@LR@#1\endcsname
  5097.  \let\LT@mcol\multicolumn
  5098.  \let\LT@@hl\hline
  5099.  \prepdef\@tabarray{\let\hline\LT@@hl}%
  5100.  \let\\\LT@tabularcr
  5101.  \let\tabularnewline\\%
  5102.  \def\newpage{\noalign{\break}}%
  5103.  \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
  5104.  \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
  5105.  \let\hline\LT@hline
  5106.  \let\kill\LT@kill
  5107.  \let\caption\LT@caption
  5108.  \@tempdima\ht\strutbox
  5109.  \let\@endpbox\LT@endpbox
  5110.  \@ifxundefined\extrarowheight{%
  5111.   \let\@acol\@tabacol
  5112.   \let\@classz\@tabclassz
  5113.   \let\@classiv\@tabclassiv
  5114.   \def\@startpbox{\vtop\LT@startpbox}%
  5115.   \let\@@startpbox\@startpbox
  5116.   \let\@@endpbox\@endpbox
  5117.   \let\LT@LL@FM@cr\@tabularcr@LaTeX
  5118.   \let\@xtabularcr\@xtabularcr@LaTeX
  5119.  }{%
  5120.   \advance\@tempdima\extrarowheight
  5121.   \col@sep\tabcolsep
  5122.   \let\@startpbox\LT@startpbox
  5123.   \let\LT@LL@FM@cr\@arraycr@array
  5124.  }%
  5125.  \let\@acoll\@tabacoll
  5126.  \let\@acolr\@tabacolr
  5127.  \let\@acol\@tabacol
  5128.  \setbox\@arstrutbox\hbox{%
  5129.   \vrule
  5130.   \@height \arraystretch \@tempdima
  5131.   \@depth \arraystretch \dp \strutbox
  5132.   \@width \z@
  5133.  }%
  5134.  \let\@sharp##%
  5135.  \let\protect\relax
  5136.  \begingroup
  5137.   \@mkpream{#2}%
  5138.   \@mkpream@relax
  5139.   \edef\@preamble{\@preamble}%
  5140.   \prepdef\@preamble{%
  5141.    \global\advance\c@LT@chunks\@ne
  5142.    \global\LT@rows\z@
  5143.    \setbox\z@\vbox\bgroup
  5144.     \LT@setprevdepth
  5145.     \tabskip\LTleft
  5146.     \halign to\hsize\bgroup
  5147.      \tabskip\z@
  5148.      \@arstrut
  5149.   }%
  5150.   \appdef\@preamble{%
  5151.      \tabskip\LTright
  5152.      \cr
  5153.   }%
  5154.   \global\let\LT@bchunk\@preamble
  5155.  \endgroup
  5156.  \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
  5157.  \LT@make@row
  5158.  \m@th
  5159.  \let\par\@empty
  5160.  \everycr{}%
  5161.  \lineskip\z@
  5162.  \baselineskip\z@
  5163.  \LT@bchunk
  5164. }%
  5165. \appdef\table@hook{}%
  5166. \def\switch@longtable{%
  5167.  \@ifpackageloaded{longtable}{%
  5168.   \@ifx{\longtable\longtable@longtable}{%
  5169.    \@ifx{\endlongtable\endlongtable@longtable}{%
  5170.     \@ifx{\LT@start\LT@start@longtable}{%
  5171.      \@ifx{\LT@end@hd@ft\LT@end@hd@ft@longtable}{%
  5172.       \@ifx{\LT@array\LT@array@longtable}{%
  5173.        \true@sw
  5174.       }{\false@sw}%
  5175.      }{\false@sw}%
  5176.     }{\false@sw}%
  5177.    }{\false@sw}%
  5178.   }{\false@sw}%
  5179.   {%
  5180.    \class@info{Patching longtable package}%
  5181.   }{%
  5182.    \class@info{Patching unrecognized longtable package. (Proceeding with fingers crossed)}%
  5183.   }%
  5184.   \let\longtable\longtable@new
  5185.   \let\endlongtable\endlongtable@new
  5186.   \let\LT@start\LT@start@new
  5187.   \let\LT@end@hd@ft\LT@end@hd@ft@new
  5188.   \let\LT@array\LT@array@new
  5189.   \newenvironment{longtable*}{%
  5190.    \onecolumngrid@push
  5191.    \longtable
  5192.   }{%
  5193.    \endlongtable
  5194.    \onecolumngrid@pop
  5195.   }%
  5196.  }{}%
  5197. }%
  5198. \def\LT@pre{\penalty\z@\vskip\LTpre}%
  5199. \def\LT@bot{\nobreak\copy\LT@foot\vfil}%
  5200. \def\LT@top{\copy\LT@head\nobreak}%
  5201. \def\LT@post{\penalty\z@\addvspace\LTpost\mark@envir{\curr@envir}}%
  5202. \def\LT@adj{%
  5203.  \setbox\z@\vbox{\null}\dimen@-\ht\z@
  5204.  \setbox\z@\vbox{\unvbox\z@\LT@bot}\advance\dimen@\ht\z@
  5205.  \global\advance\vsize-\dimen@
  5206. }%
  5207. \def\output@init@longtable{\LT@adj}%
  5208. \def\output@prep@longtable{\setbox\@cclv\vbox{\unvbox\@cclv\LT@bot}}%
  5209. \def\output@post@longtable{\LT@top}%
  5210. \let\output@init@theindex\@empty
  5211. \let\output@prep@theindex\@empty
  5212. \def\output@post@theindex{%
  5213.  \@ifodd\c@page{}{%
  5214.   \@ifnum{\pagegrid@cur=\@ne}{%
  5215.   }%
  5216.  }%
  5217. }%
  5218. \def\check@aux{\do@output@MVL{\do@check@aux}}%
  5219. \def\check@deferlist@stuck#1{%
  5220.  \@ifx{\@deferlist@postshipout\@empty}{}{%
  5221.   \@ifx{\@deferlist@postshipout\@deferlist}{%
  5222.    \@fltstk
  5223.    \clearpage@sw{%
  5224.     \ltxgrid@warn{Deferred float stuck during \string\clearpage\space processing}%
  5225.    }{%
  5226.     \force@deferlist@stuck#1%
  5227.    }%
  5228.   }{%
  5229.   }%
  5230.   \global\let\@deferlist@postshipout\@empty
  5231.  }%
  5232. }%
  5233. \def\@fltstk{%
  5234.  \@latex@warning{A float is stuck (cannot be placed without \string\clearpage)}%
  5235. }%
  5236. \appdef\@outputpage@tail{%
  5237.  \global\let\@deferlist@postshipout\@deferlist
  5238. }%
  5239. \def\@next#1#2{%
  5240.  \@ifx{#2\@empty}{\false@sw}{%
  5241.   \expandafter\@xnext#2\@@#1#2%
  5242.   \true@sw
  5243.  }%
  5244. }%
  5245. \def\@xnext\@elt#1#2\@@#3#4{%
  5246.  \def#3{#1}%
  5247.  \gdef#4{#2}%
  5248.  \def\@tempa{#4}\def\@tempb{\@freelist}%
  5249.  \@ifx{\@tempa\@tempb}{%
  5250.   \@ifx{#4\@empty}{%
  5251.    \force@deferlist@empty%{Float register pool exhausted}%
  5252.   }{}%
  5253.  }{}%
  5254. }%
  5255. \def\force@deferlist@stuck#1{%
  5256.  \force@deferlist@sw{%
  5257.   \@booleantrue\clearpage@sw
  5258.   \@booleantrue\forcefloats@sw
  5259.   #1%
  5260.  }{%
  5261.  }%
  5262. }%
  5263. \def\force@deferlist@empty{%
  5264.  \force@deferlist@sw{%
  5265.   \penalty-\pagebreak@pen
  5266.   \protect@penalty\do@forcecolumn@pen
  5267.  }{%
  5268.  }%
  5269. }%
  5270. \@booleanfalse\force@deferlist@sw
  5271. \mathchardef\do@forcecolumn@pen=10009
  5272. \@namedef{output@-\the\do@forcecolumn@pen}{\do@forcecolumn}%
  5273. \def\do@forcecolumn{%
  5274.  \@booleantrue\clearpage@sw
  5275.  \@booleantrue\forcefloats@sw
  5276.  \do@startcolumn
  5277. }%
  5278. \def\enlargethispage{%
  5279.  \@ifstar{%
  5280.   \@enlargethispage{}%
  5281.  }{%
  5282.   \@enlargethispage{}%
  5283.  }%
  5284. }%
  5285. \def\@enlargethispage#1#2{%
  5286.  \begingroup
  5287.   \dimen@#2\relax
  5288.   \edef\@tempa{#1}%
  5289.   \edef\@tempa{\noexpand\@@enlargethispage{\@tempa}{\the\dimen@}}%
  5290.   \expandafter\do@output@MVL\expandafter{\@tempa}%
  5291.  \endgroup
  5292. }%
  5293. \def\@@enlargethispage#1#2{%
  5294.  \def\@tempa{one}%
  5295.  \@ifx{\thepagegrid\@tempa}{%
  5296.   \true@sw
  5297.  }{%
  5298.   \def\@tempa{mlt}%
  5299.   \@ifx{\thepagegrid\@tempa}{%
  5300.    \@ifnum{\pagegrid@cur=\@ne}{%
  5301.     \gdef\enlarge@colroom{#2}%
  5302.     \true@sw
  5303.    }{%
  5304.     \ltxgrid@warn{Too late to enlarge this page; move the command to the first column.}%
  5305.     \false@sw
  5306.    }%
  5307.   }{%
  5308.    \ltxgrid@warn{Unable to enlarge a page of this kind.}%
  5309.    \false@sw
  5310.   }%
  5311.  }%
  5312.  {%
  5313.   \class@info{Enlarging page \thepage\space by #2}%
  5314.   \global\advance\@colroom#2\relax
  5315.   \set@vsize
  5316.  }{%
  5317.  }%
  5318. }%
  5319. \let\enlarge@colroom\@empty
  5320. \let\@kludgeins\@undefined
  5321. \@booleantrue\textheight@sw
  5322. \prepdef\@outputpage@head{%
  5323.  \textheight@sw{%
  5324.   \count@\vbadness\vbadness\@M
  5325.   \dimen@\vfuzz\vfuzz\maxdimen
  5326.   \setbox\@outputbox\vbox to\textheight{\unvbox\@outputbox}%
  5327.   \vfuzz\dimen@
  5328.   \vbadness\count@
  5329.  }{}%
  5330. }%
  5331. \appdef\@outputpage@head{%
  5332.  \@ifx{\LS@rot\@undefined}{}{\LS@rot}%
  5333. }%
  5334. \def\ltxgrid@info{%
  5335.  \ltxgrid@info@sw{\class@info}{\@gobble}%
  5336. }%
  5337. \@booleanfalse\ltxgrid@info@sw
  5338. \def\ltxgrid@warn{%
  5339.  \ltxgrid@warn@sw{\class@warn}{\@gobble}%
  5340. }%
  5341. \@booleantrue\ltxgrid@warn@sw
  5342. \@booleanfalse\ltxgrid@foot@info@sw
  5343. \def\def@next@handler#1#2#3{%
  5344.  \advance#1\@ne\mathchardef#2\the#1%
  5345.  \expandafter\def\csname output@-\the#1\endcsname{#3}%
  5346. }%
  5347. \def\def@line@handler#1#2{%
  5348.  \begingroup
  5349.   \@tempcnta\int@parpenalty
  5350.   \advance\@tempcnta-#1%
  5351.   \aftergroup\def
  5352.   \expandafter\aftergroup\csname output@-\the\@tempcnta\endcsname
  5353.  \endgroup{#2}%
  5354. }%
  5355. \mathchardef\int@parpenalty11012
  5356. \def@line@handler\z@{\@handle@line@ltx{}{}{}}%
  5357. \def@line@handler\@ne{\@handle@line@ltx{}{}{\brokenpenalty@ltx}}%
  5358. \def@line@handler\tw@{\@handle@line@ltx{}{\clubpenalty@ltx}{}}%
  5359. \def@line@handler\thr@@{\@handle@line@ltx{\clubpenalty@ltx}{}{\brokenpenalty@ltx}}%
  5360. \def@line@handler\f@ur{\@handle@line@ltx{\widowpenalty@ltx}{}{}}%
  5361. \def@line@handler{5}{\@handle@line@ltx{\widowpenalty@ltx}{}{\brokenpenalty@ltx}}%
  5362. \def@line@handler{6}{\@handle@line@ltx{\widowpenalty@ltx}{\clubpenalty@ltx}{}}%
  5363. \def@line@handler{7}{\@handle@line@ltx{\widowpenalty@ltx}{\clubpenalty@ltx}{\brokenpenalty@ltx}}%
  5364. \def@line@handler{8}{\@handle@line@ltx{\displaywidowpenalty@ltx}{}{}}%
  5365. \def@line@handler{9}{\@handle@line@ltx{\displaywidowpenalty@ltx}{}{\brokenpenalty@ltx}}%
  5366. \def@line@handler{10}{\@handle@line@ltx{\displaywidowpenalty@ltx}{\clubpenalty@ltx}{}}%
  5367. \def@line@handler{11}{\@handle@line@ltx{\displaywidowpenalty@ltx}{\clubpenalty@ltx}{\brokenpenalty@ltx}}%
  5368. \def\@handle@line@ltx#1#2#3{%
  5369.  \@@handle@line@ltx
  5370.  \@tempcnta\lastpenalty
  5371.  \@tempcntb\interlinepenalty@ltx\relax
  5372.  \@if@empty{#1}{}{\advance\@tempcntb#1\relax}%
  5373.  \@if@empty{#2}{}{\advance\@tempcntb#2\relax}%
  5374.  \@if@empty{#3}{}{\advance\@tempcntb#3\relax}%
  5375.  \penalty\@ifnum{\@tempcnta<\@tempcntb}{\@tempcntb}{\@tempcnta}%
  5376. }%
  5377. \let\@@handle@line@ltx\@empty
  5378. \@tempcnta\int@parpenalty
  5379. \def@next@handler\@tempcnta\int@postparpenalty{\reset@queues@ltx\handle@par@ltx}%
  5380. \def@next@handler\@tempcnta\int@vadjustpenalty{\handle@vadjust@ltx}%
  5381. \def@next@handler\@tempcnta\int@whatsitpenalty{\handle@whatsit@ltx}%
  5382. \def@next@handler\@tempcnta\int@predisplaypenalty{\reset@queues@ltx\@handle@display@ltx{\predisplaypenalty@ltx}}%
  5383. \def@next@handler\@tempcnta\int@interdisplaylinepenalty{\@handle@display@ltx{\interdisplaylinepenalty@ltx}}%
  5384. \def@next@handler\@tempcnta\int@postdisplaypenalty{\@handle@display@ltx{\postdisplaypenalty@ltx}}%
  5385. \def\@handle@display@ltx#1{%
  5386.  \@@handle@display@ltx
  5387.  \@tempcnta\lastpenalty
  5388.  \@tempcntb#1%
  5389.  \penalty\@ifnum{\@tempcnta<\@tempcntb}{\@tempcntb}{\@tempcnta}%
  5390. }%
  5391. \let\@@handle@display@ltx\@empty
  5392. \def\handle@par@ltx{}%
  5393. \def\set@linepenalties{%
  5394.  \expandafter\def\expandafter\interlinepenalty@ltx\expandafter{\the\interlinepenalty}%
  5395.  \interlinepenalty-\int@parpenalty
  5396.  \expandafter\def\expandafter\brokenpenalty@ltx\expandafter{\the\brokenpenalty}%
  5397.  \brokenpenalty\@ne
  5398.  \expandafter\def\expandafter\clubpenalty@ltx\expandafter{\the\clubpenalty}%
  5399.  \clubpenalty\tw@
  5400.  \expandafter\def\expandafter\widowpenalty@ltx\expandafter{\the\widowpenalty}%
  5401.  \widowpenalty\f@ur
  5402.  \expandafter\def\expandafter\displaywidowpenalty@ltx\expandafter{\the\displaywidowpenalty}%
  5403.  \displaywidowpenalty8\relax
  5404. }%
  5405. \def\restore@linepenalties{%
  5406.  \interlinepenalty\interlinepenalty@ltx
  5407.  \brokenpenalty\brokenpenalty@ltx
  5408.  \clubpenalty\clubpenalty@ltx
  5409.  \widowpenalty\widowpenalty@ltx
  5410.  \displaywidowpenalty\displaywidowpenalty@ltx
  5411.  \relax
  5412. }%
  5413. \def\set@displaypenalties#1{%
  5414.  \expandafter\def\expandafter\predisplaypenalty@ltx\expandafter{\the\predisplaypenalty}%
  5415.  \expandafter\def\expandafter\interdisplaylinepenalty@ltx\expandafter{\the\interdisplaylinepenalty}%
  5416.  \expandafter\def\expandafter\postdisplaypenalty@ltx\expandafter{\the\postdisplaypenalty}%
  5417.  \@ifhmode{\predisplaypenalty-\int@predisplaypenalty\relax}{}%
  5418.  #1{\interdisplaylinepenalty-\int@interdisplaylinepenalty\relax}{}%
  5419.  #1{\postdisplaypenalty-\int@postdisplaypenalty\relax}{}%
  5420. }%
  5421. \def\enqueue@whatsit@ltx#1{%
  5422.  \gappdef\g@whatsit@queue{{#1}}%
  5423.  \vadjust{\penalty-\int@whatsitpenalty}%
  5424. }%
  5425. \def\handle@whatsit@ltx{%
  5426.  \unvbox\@cclv
  5427.  \g@pop@ltx\g@whatsit@queue\@tempa
  5428.  \expandafter\do@whatsit\expandafter{\@tempa}%
  5429. }%
  5430. \def\do@whatsit#1{}%
  5431. \def\g@pop@ltx#1#2{%
  5432.  \expandafter\@g@pop@ltx#1{}{}\@@#1#2%
  5433. }%
  5434. \def\@g@pop@ltx#1#2\@@#3#4{%
  5435.  \gdef#3{#2}%
  5436.  \def#4{#1}%
  5437. }%
  5438. \let\vspace@ltx\vspace
  5439. \let\pagebreak@ltx\pagebreak
  5440. \let\nopagebreak@ltx\nopagebreak
  5441. \let\endline@ltx\\
  5442. \let\@arrayparboxrestore@ltx\@arrayparboxrestore
  5443. \def\@vspace@org #1{%
  5444.   \ifvmode
  5445.     \vskip #1
  5446.     \vskip\z@skip
  5447.    \else
  5448.      \@bsphack
  5449.      \vadjust{\@restorepar
  5450.               \vskip #1
  5451.               \vskip\z@skip
  5452.               }%
  5453.      \@esphack
  5454.    \fi
  5455. }%
  5456. \def\@vspace@ltx#1{%
  5457.  \@ifvmode{%
  5458.   \vskip#1\vskip\z@skip
  5459.  }{%
  5460.   \@bsphack
  5461.   \ex@vadjust@ltx{%
  5462.    \@restorepar
  5463.    \nobreak
  5464.    \vskip#1\vskip\z@skip
  5465.   }%
  5466.   \@esphack
  5467.  }%
  5468. }%
  5469. \def\@vspacer@org#1{%
  5470.   \ifvmode
  5471.     \dimen@\prevdepth
  5472.     \hrule \@height\z@
  5473.     \nobreak
  5474.     \vskip #1
  5475.     \vskip\z@skip
  5476.     \prevdepth\dimen@
  5477.   \else
  5478.     \@bsphack
  5479.     \vadjust{\@restorepar
  5480.              \hrule \@height\z@
  5481.              \nobreak
  5482.              \vskip #1
  5483.              \vskip\z@skip}%
  5484.     \@esphack
  5485. \fi
  5486. }%
  5487. \def\@vspacer@ltx#1{%
  5488.  \@ifvmode{%
  5489.   \dimen@\prevdepth
  5490.   \hrule\@height\z@
  5491.   \nobreak
  5492.   \vskip#1\vskip\z@skip
  5493.   \prevdepth\dimen@
  5494.  }{%
  5495.   \@bsphack
  5496.   \ex@vadjust@ltx{%
  5497.    \@restorepar
  5498.    \hrule\@height\z@
  5499.    \nobreak
  5500.    \vskip#1\vskip\z@skip
  5501.   }%
  5502.   \@esphack
  5503.  }%
  5504. }%
  5505. \def\@no@pgbk@org #1[#2]{%
  5506.   \ifvmode
  5507.     \penalty #1\@getpen{#2}%
  5508.   \else
  5509.     \@bsphack
  5510.     \vadjust{\penalty #1\@getpen{#2}}%
  5511.     \@esphack
  5512.   \fi
  5513. }%
  5514. \def\@no@pgbk@ltx#1[#2]{%
  5515.  \@ifvmode{%
  5516.   \penalty#1\@getpen{#2}%
  5517.  }{%
  5518.   \@bsphack
  5519.   \ex@vadjust@ltx{%
  5520.    \penalty#1\@getpen{#2}%
  5521.   }%
  5522.   \@esphack
  5523.  }%
  5524. }%
  5525. \long\def\end@line@org{%
  5526.  \let\reserved@e\relax
  5527.  \let\reserved@f\relax
  5528.  \@ifstar{%
  5529.   \let\reserved@e\vadjust
  5530.   \let\reserved@f\nobreak
  5531.   \@xnewline
  5532.  }%
  5533.  \@xnewline
  5534. }%
  5535. \long\def\end@line@ltx{%
  5536.  \let\reserved@e\relax
  5537.  \let\reserved@f\relax
  5538.  \@ifstar{%
  5539.   \let\reserved@e\ex@vadjust@ltx
  5540.   \let\reserved@f\nobreak
  5541.   \@xnewline
  5542.  }{%
  5543.   \@xnewline
  5544.  }%
  5545. }%
  5546. \def\@newline@org[#1]{%
  5547.  \let\reserved@e\vadjust
  5548.  \@gnewline{\vskip#1}%
  5549. }%
  5550. \def\@newline@ltx[#1]{%
  5551.  \let\reserved@e\ex@vadjust@ltx
  5552.  \@gnewline{\vskip#1}%
  5553. }%
  5554.  \@ifx{\@vspace\@vspace@org}{%
  5555.   \@ifx{\@vspacer\@vspacer@org}{%
  5556.    \@ifx{\@no@pgbk\@no@pgbk@org}{%
  5557.     \@ifx{\@newline\@newline@org}{%
  5558.      \expandafter\@ifx\expandafter{\csname\expandafter\@gobble\string\\ \endcsname\end@line@org}{%
  5559.       \true@sw
  5560.      }{\false@sw}%
  5561.     }{\false@sw}%
  5562.    }{\false@sw}%
  5563.   }{\false@sw}%
  5564.  }{\false@sw}%
  5565.  {%
  5566.   \class@info{Overriding \string\@vspace, \string\@vspacer, \string\@no@pgbk, \string\@newline, and \string\\ }%
  5567.   \let\@normalcr\end@line@ltx
  5568.   \expandafter\let\csname\expandafter\@gobble\string\\ \endcsname\@normalcr
  5569.   \let\@newline\@newline@ltx
  5570.   \let\@vspace\@vspace@ltx
  5571.   \let\@vspacer\@vspacer@ltx
  5572.   \let\@no@pgbk\@no@pgbk@ltx
  5573.  }{%
  5574.   \class@warn{%
  5575.    Failed to recognize \string\@vspace, \string\@vspacer, \string\@no@pgbk, \string\@newline, and \string\\;
  5576.    no patches applied. Please get a more up-to-date class,
  5577.   }%
  5578.  }%
  5579. \let\ex@vadjust@ltx\vadjust
  5580. \def\enqueue@vadjust@ltx#1{%
  5581.  \gappdef\g@vadjust@queue{{#1}}%
  5582.  \vadjust{\penalty-\int@vadjustpenalty}%
  5583. }%
  5584. \def\handle@vadjust@ltx{%
  5585.  \unvbox\@cclv
  5586.  \g@pop@ltx\g@vadjust@queue\@tempa
  5587.  \expandafter\gappdef\expandafter\g@vadjust@line\expandafter{\@tempa}%
  5588. }%
  5589. \let\g@vadjust@line\@empty
  5590. \def\reset@queues@ltx{%
  5591.  \global\let\g@whatsit@queue\@empty
  5592.  \global\let\g@vadjust@queue\@empty
  5593. }%
  5594. \newcommand\linenomathWithnumbers@LN{%
  5595.   \ifLineNumbers
  5596.     \ifnum\interlinepenalty>-\linenopenaltypar
  5597.       \global\holdinginserts\thr@@
  5598.       \advance\interlinepenalty \linenopenalty
  5599.      \ifhmode
  5600.       \advance\predisplaypenalty \linenopenalty
  5601.      \fi
  5602.       \advance\postdisplaypenalty \linenopenalty
  5603.       \advance\interdisplaylinepenalty \linenopenalty
  5604.     \fi
  5605.   \fi
  5606.   \ignorespaces
  5607. }%
  5608. \newcommand\linenomathNonumbers@LN{%
  5609.   \ifLineNumbers
  5610.     \ifnum\interlinepenalty>-\linenopenaltypar
  5611.       \global\holdinginserts\thr@@
  5612.       \advance\interlinepenalty \linenopenalty
  5613.      \ifhmode
  5614.       \advance\predisplaypenalty \linenopenalty
  5615.      \fi
  5616.     \fi
  5617.   \fi
  5618.   \ignorespaces
  5619. }%
  5620. \def\endlinenomath@LN{%
  5621.   \ifLineNumbers
  5622.    \global\holdinginserts\@LN@outer@holdins
  5623.   \fi
  5624.   \global\@ignoretrue
  5625. }
  5626. \def\linenumberpar@LN{%
  5627.   \ifvmode \@@@par \else
  5628.     \ifinner \@@@par \else
  5629.       \xdef\@LN@outer@holdins{\the\holdinginserts}%
  5630.       \advance \interlinepenalty \linenopenalty
  5631.       \linenoprevgraf \prevgraf
  5632.       \global \holdinginserts \thr@@
  5633.       \@@@par
  5634.       \ifnum\prevgraf>\linenoprevgraf
  5635.         \penalty-\linenopenaltypar
  5636.       \fi
  5637.       \@LN@parpgbrk
  5638.       \global\holdinginserts\@LN@outer@holdins
  5639.       \advance\interlinepenalty -\linenopenalty
  5640.     \fi
  5641.   \fi
  5642. }%
  5643. \appdef\class@documenthook{%
  5644.  \@ifpackageloaded{lineno}{%
  5645.   \@ifx{\linenomathWithnumbers\linenomathWithnumbers@LN}{%
  5646.    \@ifx{\linenomathNonumbers\linenomathNonumbers@LN}{%
  5647.     \@ifx{\endlinenomath\endlinenomath@LN}{%
  5648.      \@ifx{\linenumberpar\linenumberpar@LN}{%
  5649.       \true@sw
  5650.      }{\false@sw}%
  5651.     }{\false@sw}%
  5652.    }{\false@sw}%
  5653.   }{\false@sw}%
  5654.   {%
  5655.    \class@info{Overriding lineo.sty, restoring output routine,}%
  5656.    \let\linenumberpar\linenumberpar@ltx
  5657.    \let\endlinenomath\endlinenomath@ltx
  5658.    \expandafter\let\csname endlinenomath*\endcsname\endlinenomath@ltx
  5659.    \let\linenomathWithnumbers\linenomathWithnumbers@ltx
  5660.    \let\linenomathNonumbers\linenomathNonumbers@ltx
  5661.    \let\ex@vadjust@ltx\ex@vadjust@line
  5662.    \let\@LN@postlabel\enqueue@whatsit@ltx
  5663.    \let\do@whatsit\write@linelabel
  5664.    \let\handle@par@ltx\handle@par@LN
  5665.    \let\@@handle@line@ltx\Make@LineNo@ltx
  5666.    \let\@@handle@display@ltx\Make@LineNo@ltx
  5667.    \output@latex{\natural@output}%
  5668.    \let\vspace\vspace@ltx
  5669.    \let\pagebreak\pagebreak@ltx
  5670.    \let\nopagebreak\nopagebreak@ltx
  5671.    \let\@arrayparboxrestore\@arrayparboxrestore@ltx
  5672.    \let\\\endline@ltx
  5673.    \appdef\set@footnotefont{%
  5674.     \let\par\@@@par
  5675.     \let\@@par\@@@par
  5676.    }%
  5677.    \@if@sw\ifLineNumbers\fi{%
  5678.     \class@info{Reinvoke \string\linenumbers}%
  5679.     \let\@@par\linenumberpar
  5680.     \@ifx{\@par\linenumberpar@LN}{\let\@par\linenumberpar}{}%
  5681.     \@ifx{\par\linenumberpar@LN}{\let\par\linenumberpar}{}%
  5682.    }{%
  5683.     \class@info{Line numbering not turned on yet}%
  5684.    }%
  5685.   }{%
  5686.    \class@warn{Failed to recognize lineno.sty procedures; no patches applied. Please get a more up-to-date class.}%
  5687.   }%
  5688.  }{%
  5689.  }%
  5690. }%
  5691. \def\linenumberpar@ltx{\@ifvmode{\@@@par}{\@linenumberpar}}%
  5692. \def\@linenumberpar{%
  5693.    \linenoprevgraf\prevgraf
  5694.    \set@linepenalties
  5695.    \@@@par
  5696.    \@ifnum{\prevgraf>\linenoprevgraf}{
  5697.     \penalty-\int@postparpenalty
  5698.    }{}%
  5699.    \@LN@parpgbrk
  5700.    \restore@linepenalties
  5701. }%
  5702. \newcommand\linenomathWithnumbers@ltx{\@linenomathnumbers@ltx\true@sw}%
  5703. \newcommand\linenomathNonumbers@ltx{\@linenomathnumbers@ltx\false@sw}%
  5704. \def\@linenomathnumbers@ltx#1{%
  5705.  \@if@sw\ifLineNumbers\fi{%
  5706.    \set@linepenalties
  5707.    \set@displaypenalties#1%
  5708.  }{}%
  5709.  \ignorespaces
  5710. }%
  5711. \def\endlinenomath@ltx{%
  5712.  \global\@ignoretrue
  5713. }%
  5714. \def\handle@par@LN{%
  5715.  \Make@LineNo@ltx
  5716.  \@tempcnta\lastpenalty
  5717.  \@ifnum{\@tempcnta=\z@}{}{%
  5718.   \expandafter\gdef
  5719.   \expandafter\@LN@parpgbrk
  5720.   \expandafter{%
  5721.    \expandafter\penalty
  5722.                \the\@tempcnta
  5723.    \global\let\@LN@parpgbrk\@LN@screenoff@pen
  5724.   }%
  5725.  }%
  5726. }%
  5727. \def\Make@LineNo@ltx{%
  5728.  \@LN@maybe@normalLineNumber
  5729.  \boxmaxdepth\maxdimen\setbox\z@\vbox{\unvbox\@cclv}%
  5730.  \@tempdima\dp\z@
  5731.  \unvbox\z@
  5732.  \sbox\@tempboxa{\hb@xt@\z@{\makeLineNumber}}%
  5733.  \ht\@tempboxa\z@
  5734.  \@LN@depthbox
  5735.  \stepLineNumber
  5736.  \g@vadjust@line
  5737.  \global\let\g@vadjust@line\@empty
  5738. }%
  5739. \def\write@linelabel#1{%
  5740.  \protected@write\@auxout{}{%
  5741.   \string\newlabel{#1}{{\theLineNumber}{\thepage}{}{}{}}%
  5742.  }%
  5743. }%
  5744. \def\ex@vadjust@line{%
  5745.  \@if@sw\ifLineNumbers\fi{\enqueue@vadjust@ltx}{\vadjust}%
  5746. }%
  5747. \let\setup@hook\@empty
  5748. \appdef\document@inithook{%
  5749.  \switch@longtable
  5750.  \let\LT@makecaption\LT@makecaption@rtx
  5751. }%
  5752. \def\LT@makecaption@rtx#1#2#3{%
  5753.   \LT@mcol\LT@cols c{%
  5754.     \hbox to\z@{%
  5755.      \hss
  5756.      \parbox[t]\LTcapwidth{%
  5757.       \sbox\@tempboxa{#1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineskip}%
  5758.       \ifdim\wd\@tempboxa>\hsize
  5759.         #1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineskip
  5760.       \else
  5761.         \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
  5762.       \fi
  5763.       \endgraf
  5764.      }%
  5765.      \hss
  5766.     }%
  5767.   }%
  5768. }%
  5769. \def\protectdef@boldmath{%
  5770.  \expandafter\@ifnotrelax\csname boldmath \endcsname{}{%
  5771.   \class@info{Robustifying \string\LaTeX's \string\boldmath\space command}%
  5772.   \expandafter\let\csname boldmath \endcsname\boldmath
  5773.   \expandafter\def\expandafter\boldmath\expandafter{\expandafter\protect\csname boldmath \endcsname}%
  5774.  }%
  5775. }%
  5776. \appdef\document@inithook{%
  5777.  \protectdef@boldmath
  5778. }%
  5779. \DeclareOption{checkin}{%
  5780.   \@booleantrue\dateinRH@sw
  5781.   \@booleantrue\preprintsty@sw
  5782.   \def\@pointsize{12}%
  5783.   \@booleantrue\showPACS@sw
  5784.   \@booleantrue\showKEYS@sw
  5785.   \def\fp@proc@h{\allow@breaking@tables}%
  5786.   \def\fp@proc@H{\allow@breaking@tables}%
  5787. }%
  5788. \@booleanfalse\dateinRH@sw
  5789. \def\checkindate{\dateinRH@sw{{\tiny(\today)}}{}}%
  5790. \def\allow@breaking@tables{%
  5791.  \def\array@default{v}% tabular can break over pages
  5792.  \@booleanfalse\floats@sw % table can break over pages
  5793. }%
  5794. \DeclareOption{preprint}{%
  5795.  \@booleantrue\preprintsty@sw
  5796.  \ExecuteOptions{12pt}%
  5797. }%
  5798. \DeclareOption{reprint}{%
  5799.  \@booleanfalse\preprintsty@sw
  5800.  \@booleantrue\twocolumn@sw
  5801.  \ExecuteOptions{10pt}%
  5802. }%
  5803. \DeclareOption{manuscript}{%
  5804.  \class@warn{Document class option manuscript is obsolete; use preprint instead}%
  5805.  \ExecuteOptions{preprint}%
  5806. }%
  5807. \@booleanfalse\preprintsty@sw
  5808. \DeclareOption{showpacs}{%
  5809.   \@booleantrue\showPACS@sw
  5810. }%
  5811. \DeclareOption{noshowpacs}{%
  5812.   \@booleanfalse\showPACS@sw
  5813. }%
  5814. \DeclareOption{showkeys}{%
  5815.   \@booleantrue\showKEYS@sw
  5816. }%
  5817. \DeclareOption{noshowkeys}{%
  5818.   \@booleanfalse\showKEYS@sw
  5819. }%
  5820. \@booleanfalse\showPACS@sw
  5821. \@booleanfalse\showKEYS@sw
  5822. \DeclareOption{balancelastpage}{%
  5823.   \@booleantrue\balancelastpage@sw
  5824. }%
  5825. \DeclareOption{nobalancelastpage}{%
  5826.   \@booleanfalse\balancelastpage@sw
  5827. }%
  5828. \@booleantrue\balancelastpage@sw
  5829. \DeclareOption{nopreprintnumbers}{\@booleanfalse\preprint@sw}%
  5830. \DeclareOption{preprintnumbers}{\@booleantrue\preprint@sw}%
  5831. \appdef\setup@hook{%
  5832.  \@ifxundefined\preprint@sw{\let\preprint@sw\preprintsty@sw}{}%
  5833. }%
  5834. \DeclareOption{hyperref}{%
  5835.  \class@warn{Class option "hyperref" is no longer supported.^^JEmploy \string\usepackage{hyperref} instead}%
  5836. }%
  5837. \DeclareOption{10pt}{\def\@pointsize{10}}%
  5838. \DeclareOption{11pt}{\def\@pointsize{11}}%
  5839. \DeclareOption{12pt}{\def\@pointsize{12}}%
  5840. \let\@pointsize\@undefined
  5841. \DeclareOption{a4paper}{%
  5842.     \setlength\paperheight {297mm}%
  5843.     \setlength\paperwidth  {210mm}%
  5844. }%
  5845. \DeclareOption{a5paper}{%
  5846.     \setlength\paperheight {210mm}%
  5847.     \setlength\paperwidth  {148mm}%
  5848. }%
  5849. \DeclareOption{b5paper}{%
  5850.     \setlength\paperheight {250mm}%
  5851.     \setlength\paperwidth  {176mm}%
  5852. }%
  5853. \DeclareOption{letterpaper}{%
  5854.     \setlength\paperheight {11in}%
  5855.     \setlength\paperwidth  {8.5in}%
  5856. }%
  5857. \DeclareOption{legalpaper}{%
  5858.     \setlength\paperheight {14in}%
  5859.     \setlength\paperwidth  {8.5in}%
  5860. }%
  5861. \DeclareOption{executivepaper}{%
  5862.     \setlength\paperheight {10.5in}%
  5863.     \setlength\paperwidth  {7.25in}%
  5864. }%
  5865. \DeclareOption{landscape}{%
  5866.     \setlength\@tempdima   {\paperheight}%
  5867.     \setlength\paperheight {\paperwidth}%
  5868.     \setlength\paperwidth  {\@tempdima}%
  5869. }%
  5870. \ds@letterpaper
  5871. \DeclareOption{bibnotes}{\let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote}%
  5872. \DeclareOption{nobibnotes}{\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote}%
  5873. \let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote
  5874. \appdef\class@enddocumenthook{\auto@bib}%
  5875. \DeclareOption{footinbib}{\@booleantrue\footinbib@sw}
  5876. \DeclareOption{nofootinbib}{\@booleanfalse\footinbib@sw}
  5877. \@booleanfalse\footinbib@sw
  5878. \DeclareOption{altaffilletter}{\@booleantrue\altaffilletter@sw}%
  5879. \DeclareOption{altaffilsymbol}{\@booleanfalse\altaffilletter@sw}%
  5880. \@booleanfalse\altaffilletter@sw
  5881. \DeclareOption{superbib}{%
  5882.  \let\place@bibnumber\place@bibnumber@sup
  5883. }%
  5884. \def\place@bibnumber{\NATx@bibnumfmt}%
  5885. \def\place@bibnumber@sup#1{\textsuperscript{#1}}%
  5886. \def\place@bibnumber@inl#1{[#1]}%
  5887. \DeclareOption{citeautoscript}{\@booleantrue\citeautoscript@sw}%
  5888. \@booleanfalse\citeautoscript@sw
  5889. \DeclareOption{longbibliography}{\@booleantrue\longbibliography@sw}%
  5890. \DeclareOption{nolongbibliography}{\@booleanfalse\longbibliography@sw}%
  5891. \@booleanfalse\longbibliography@sw
  5892. \DeclareOption{eprint}{\@booleantrue\eprint@enable@sw}%
  5893. \DeclareOption{noeprint}{\@booleanfalse\eprint@enable@sw}%
  5894. \@booleantrue\eprint@enable@sw
  5895. \@booleanfalse\twoside@sw
  5896. \appdef\document@inithook{%
  5897.  \twoside@sw{\@twosidetrue}{\@twosidefalse}%
  5898. }%
  5899. \DeclareOption{twoside}{\@booleantrue \twoside@sw\@mparswitchfalse}%
  5900. \DeclareOption{oneside}{\@booleanfalse\twoside@sw\@mparswitchtrue}%
  5901. \DeclareOption{onecolumn}{\@booleanfalse\twocolumn@sw}%
  5902. \DeclareOption{twocolumn}{\@booleantrue \twocolumn@sw}%
  5903. \@booleanfalse\twocolumn@sw
  5904. \def\select@column@grid{%
  5905.  \twocolumn@sw{%
  5906.   \twocolumn@grid@setup
  5907.   \open@twocolumn
  5908.  }{%
  5909.   \onecolumn@grid@setup
  5910.  }%
  5911. }%
  5912. \appdef\class@documenthook{%
  5913.  \select@column@grid
  5914. }%
  5915. \appdef\setup@hook{%
  5916.  \let\clearpage@ltx\clearpage
  5917.  \prepdef\clear@document{\let\clearpage\clearpage@ltx\let\clear@document\@empty\close@column}%
  5918.  \appdef\class@documenthook{%
  5919.   \appdef\class@enddocumenthook{%
  5920.    \let\clearpage\clear@document
  5921.   }%
  5922.  }%
  5923. }%
  5924. \DeclareOption{author-year}{\@booleantrue\authoryear@sw}%
  5925. \DeclareOption{numerical}{\@booleantrue\authoryear@sw}%
  5926. \@booleanfalse\authoryear@sw
  5927. \DeclareOption{galley}{%
  5928.   \ExecuteOptions{onecolumn}%
  5929.   \@booleantrue\galley@sw
  5930.   \@booleanfalse\preprintsty@sw
  5931.   \appdef\setup@hook{%
  5932.     \advance\textwidth-\columnsep
  5933.     \textwidth.5\textwidth
  5934.   }%
  5935. }%
  5936. \@booleanfalse\galley@sw
  5937. \DeclareOption{raggedbottom}{\@booleantrue\raggedcolumn@sw}
  5938. \DeclareOption{flushbottom}{\@booleanfalse\raggedcolumn@sw}
  5939. \@booleanfalse\raggedcolumn@sw
  5940. \appdef\setup@hook{%
  5941.  \raggedcolumn@sw{\raggedbottom}{\flushbottom}%
  5942. }%
  5943. \DeclareOption{tightenlines}{\@booleantrue\tightenlines@sw}
  5944. \@booleanfalse\tightenlines@sw
  5945. \@booleanfalse\lengthcheck@sw
  5946. \DeclareOption{lengthcheck}{%
  5947.  \@booleantrue\lengthcheck@sw
  5948.  \ExecuteOptions{reprint}%
  5949. }%
  5950. \appdef\setup@hook{%
  5951.  \lengthcheck@sw{\@booleantrue\tally@box@size@sw}{}%
  5952. }%
  5953. \appdef\setup@hook{%
  5954.  \draft@sw{\overfullrule 5\p@}{\overfullrule\z@}%
  5955. }%
  5956. \DeclareOption{draft}{\@booleantrue\draft@sw}%
  5957. \DeclareOption{final}{\@booleanfalse\draft@sw}%
  5958. \@booleanfalse\draft@sw
  5959. \appdef\setup@hook{%
  5960.  \eqsecnum@sw{%
  5961.   \@addtoreset{equation}{section}%
  5962.   \def\theequation@prefix{\arabic{section}.}%
  5963.  }{}%
  5964. }%
  5965. \DeclareOption{eqsecnum}{\@booleantrue\eqsecnum@sw}%
  5966. \@booleanfalse\eqsecnum@sw
  5967. \appdef\setup@hook{%
  5968.  \setup@secnums
  5969. }%
  5970. \DeclareOption{secnumarabic}{%
  5971.  \def\setup@secnums{\secnums@arabic}%
  5972. }%
  5973. \def\setup@secnums{\secnums@rtx}%
  5974. \DeclareOption{fleqn}{%
  5975.  \input{fleqn.clo}%
  5976. }%
  5977. \DeclareOption{floats}{\@booleantrue\floats@sw\@booleanfalse\floatp@sw}
  5978. \DeclareOption{endfloats}{\@booleanfalse\floats@sw\@booleanfalse\floatp@sw}
  5979. \DeclareOption{endfloats*}{\@booleanfalse\floats@sw\@booleantrue\floatp@sw}
  5980. \@booleantrue\floats@sw
  5981. \@booleantrue\floatp@sw
  5982. \DeclareOption{titlepage}{\@booleantrue\titlepage@sw}
  5983. \DeclareOption{notitlepage}{\@booleanfalse\titlepage@sw}
  5984. \@booleanfalse\titlepage@sw
  5985. \def\change@society#1{%
  5986.  \def\@tempa{#1}%
  5987.  \@ifxundefined\@society{%
  5988.   \class@info{Selecting society \@tempa}%
  5989.   \let\@society\@tempa
  5990.  }{%
  5991.   \@ifx{\@tempa\@society}{}{%
  5992.    \class@warn{Conflicting society \@tempa<>\@society; not selected}%
  5993.   }%
  5994.  }%
  5995. }%
  5996. \def\change@journal#1{%
  5997.  \def\@tempa{#1}%
  5998.  \@ifxundefined\@journal{%
  5999.   \class@info{Selecting journal \@tempa}%
  6000.   \let\@journal\@tempa
  6001.  }{%
  6002.   \@ifx{\@tempa\@journal}{}{%
  6003.    \class@warn{Conflicting journal \@tempa<>\@journal; not selected}%
  6004.   }%
  6005.  }%
  6006. }%
  6007. \DeclareOption{osa}{\change@society{osa}\let\@journal\@undefined}%
  6008. \DeclareOption{osameet}{\change@society{osa}\def\@journal{osameet}}%
  6009. \DeclareOption{opex}{\change@society{osa}\def\@journal{opex}}%
  6010. \DeclareOption{tops}{\change@society{osa}\def\@journal{tops}}%
  6011. \DeclareOption{josa}{\change@society{osa}\def\@journal{josa}}%
  6012. \let\rtx@require@packages\@empty
  6013. \appdef\rtx@require@packages{%
  6014.  \RequirePackage[overload]{textcase}%
  6015. }%
  6016. \DeclareOption{amsfonts}{%
  6017.   \def\class@amsfonts{\RequirePackage{amsfonts}}%
  6018. }%
  6019. \DeclareOption{noamsfonts}{%
  6020.   \let\class@amsfonts\@empty
  6021. }%
  6022. \appdef\rtx@require@packages{%
  6023.  \@ifxundefined\class@amsfonts{}{\class@amsfonts}%
  6024. }%
  6025. \DeclareOption{amssymb}{%
  6026.   \def\class@amssymb{\RequirePackage{amssymb}}%
  6027. }%
  6028. \DeclareOption{noamssymb}{%
  6029.   \let\class@amssymb\@empty
  6030. }%
  6031. \appdef\rtx@require@packages{%
  6032.  \@ifxundefined\class@amssymb{}{\class@amssymb}%
  6033. }%
  6034. \DeclareOption{amsmath}{%
  6035.   \def\class@amsmath{\RequirePackage{amsmath}[\ver@amsmath@prefer]}%
  6036. }%
  6037. \DeclareOption{noamsmath}{%
  6038.   \let\class@amsmath\@empty
  6039. }%
  6040. \appdef\rtx@require@packages{%
  6041.  \preserve@LaTeX
  6042.  \@ifxundefined\class@amsmath{}{\class@amsmath}%
  6043.  \appdef\class@enddocumenthook{\test@amsmath@ver}%
  6044. }%
  6045. \appdef\preserve@LaTeX{%
  6046.  \let\@ifl@aded@LaTeX\@ifl@aded
  6047.  \let\@ifpackageloaded@LaTeX\@ifpackageloaded
  6048.  \let\@pkgextension@LaTeX\@pkgextension
  6049.  \let\@ifpackagelater@LaTeX\@ifpackagelater
  6050.  \let\@ifl@ter@LaTeX\@ifl@ter
  6051.  \let\@ifl@t@r@LaTeX\@ifl@t@r
  6052.  \let\@parse@version@LaTeX\@parse@version
  6053. }%
  6054. \appdef\restore@LaTeX{%
  6055.  \let\@ifl@aded\@ifl@aded@LaTeX
  6056.  \let\@ifpackageloaded\@ifpackageloaded@LaTeX
  6057.  \let\@pkgextension\@pkgextension@LaTeX
  6058.  \let\@ifpackagelater\@ifpackagelater@LaTeX
  6059.  \let\@ifl@ter\@ifl@ter@LaTeX
  6060.  \let\@ifl@t@r\@ifl@t@r@LaTeX
  6061.  \let\@parse@version\@parse@version@LaTeX
  6062. }%
  6063. \def\test@amsmath@ver{%
  6064.  \begingroup
  6065.   \restore@LaTeX
  6066.   \@ifpackageloaded{amsmath}{%
  6067.    \@ifpackagelater{amsmath}{\ver@amsmath@prefer}{}{%
  6068.      \class@warn{%
  6069.       You have loaded amsmath, version "\csname ver@amsmath.sty\endcsname",\MessageBreak
  6070.       but this class requires version "\ver@amsmath@prefer", or later.\MessageBreak
  6071.       Please update your LaTeX installation.
  6072.      }%
  6073.    }%
  6074.   }{%
  6075.   }%
  6076.  \endgroup
  6077. }%
  6078. \def\ver@amsmath@prefer{2000/01/15 v2.05 AMS math features}%
  6079. \DeclareOption{byrevtex}{\@booleantrue\byrevtex@sw}%
  6080. \@booleanfalse\byrevtex@sw
  6081. \DeclareOption{floatfix}{\@booleantrue\force@deferlist@sw}%
  6082. \DeclareOption{nofloatfix}{\@booleanfalse\force@deferlist@sw}%
  6083. \@booleanfalse\force@deferlist@sw
  6084. \gdef\@fltovf{%
  6085.  \@latex@error{%
  6086.   Too many unprocessed floats%
  6087.   \force@deferlist@sw{}{; try class option [floatfix]}%
  6088.  }\@ehb
  6089. }%
  6090. \def\@fltstk{%
  6091.  \@latex@warning{%
  6092.   A float is stuck (cannot be placed)%
  6093.   \force@deferlist@sw{}{; try class option [floatfix]}%
  6094.  }%
  6095. }%
  6096. \DeclareOption{ltxgridinfo}{%
  6097.  \@booleantrue\ltxgrid@info@sw
  6098. }%
  6099. \DeclareOption{outputdebug}{%
  6100.  \@booleantrue\outputdebug@sw
  6101.  \@booleantrue\ltxgrid@info@sw
  6102.  \@booleantrue\ltxgrid@foot@info@sw
  6103.  \traceoutput
  6104. }%
  6105. \DeclareOption{raggedfooter}{\@booleanfalse\textheight@sw}%
  6106. \DeclareOption{noraggedfooter}{\@booleantrue\textheight@sw}%
  6107. \DeclareOption{frontmatterverbose}{\@booleantrue\frontmatterverbose@sw}%
  6108. \@booleanfalse\frontmatterverbose@sw
  6109. \DeclareOption{linenumbers}{%
  6110.  \appdef
  6111.  \class@documenthook{%
  6112.   \RequirePackage{lineno}[2005/11/02 v4.41]%
  6113.   \linenumbersep4pt\relax
  6114.   \linenumbers\relax
  6115.  }%
  6116. }%
  6117. \DeclareOption{nomerge}{%
  6118.  \appdef\setup@hook{%
  6119.   \@ifnum{\NAT@merge>\z@}{\let\NAT@merge\z@}{}%
  6120.  }%
  6121. }%
  6122. \def\@parse@class@options@society{%
  6123.  \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
  6124.  \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
  6125.   \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{}{%
  6126.    \IfFileExists{\CurrentOption\substyle@post.\substyle@ext}{%
  6127.     \expandafter\change@society\expandafter{\CurrentOption}%
  6128.     \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
  6129.    }{}%
  6130.   }%
  6131.  }%
  6132. }%
  6133. \def\@parse@class@options@#1{%
  6134.  \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
  6135.  \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
  6136.   \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
  6137.    \begingroup\csname ds@\CurrentOption\endcsname
  6138.     \@ifxundefined#1{%
  6139.      \endgroup
  6140.     }{%
  6141.      \expandafter\endgroup\expandafter\def\expandafter#1\expandafter{#1}%
  6142.     }%
  6143.   }{}%
  6144.  }%
  6145. }%
  6146. \def\@parse@class@options@journal{%
  6147.  \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
  6148.  \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
  6149.   \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
  6150.    \begingroup
  6151.     \csname ds@\CurrentOption\endcsname
  6152.     \@ifxundefined\@journal{%
  6153.      \endgroup
  6154.     }{%
  6155.      \expandafter\endgroup\expandafter\def\expandafter\@journal\expandafter{\@journal}%
  6156.     }%
  6157.   }{}%
  6158.  }%
  6159. }%
  6160. \def\@parse@class@options{%
  6161.  \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
  6162.  \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
  6163.   \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
  6164.    \begingroup
  6165.     \csname ds@\CurrentOption\endcsname
  6166.     \@ifxundefined\@pointsize{%
  6167.      \endgroup
  6168.     }{%
  6169.      \expandafter\endgroup\expandafter\def\expandafter\@pointsize\expandafter{\@pointsize}%
  6170.     }%
  6171.   }{%
  6172.    \IfFileExists{\CurrentOption\substyle@post.\substyle@ext}{%
  6173.     \expandafter\change@society\expandafter{\CurrentOption}%
  6174.     \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
  6175.    }{}%
  6176.   }%
  6177.  }%
  6178. }%
  6179. \DeclareOption{hypertext}{\hypertext@enable@ltx}%
  6180. \appdef\document@inithook{\@ifpackageloaded{hyperref}{\hypertext@enable@ltx}{}}%
  6181. \DeclareOption{frontmatterverbose}{\@booleantrue\frontmatterverbose@sw}%
  6182. \@booleanfalse\frontmatterverbose@sw
  6183. \DeclareOption{inactive}{\@booleanfalse\frontmatter@syntax@sw}%
  6184. \@booleantrue\frontmatter@syntax@sw
  6185. \@booleanfalse\runinaddress@sw
  6186. \@booleantrue\@affils@sw
  6187. \@booleanfalse\groupauthors@sw
  6188. \DeclareOption{groupedaddress}{\clo@groupedaddress}%
  6189. \def\clo@groupedaddress{%
  6190.  \@booleantrue\groupauthors@sw
  6191.  \@booleantrue\@affils@sw
  6192.  \@booleanfalse\runinaddress@sw
  6193. }%
  6194. \DeclareOption{unsortedaddress}{\clo@unsortedaddress}%
  6195. \def\clo@unsortedaddress{%
  6196.  \@booleantrue\groupauthors@sw
  6197.  \@booleanfalse\@affils@sw
  6198.  \@booleanfalse\runinaddress@sw
  6199. }%
  6200. \DeclareOption{runinaddress}{\clo@runinaddress}%
  6201. \def\clo@runinaddress{%
  6202.  \@booleantrue\groupauthors@sw
  6203.  \@booleantrue\@affils@sw
  6204.  \@booleantrue\runinaddress@sw
  6205. }%
  6206. \DeclareOption{superscriptaddress}{\clo@superscriptaddress}%
  6207. \def\clo@superscriptaddress{%
  6208.  \@booleanfalse\groupauthors@sw
  6209.  \@booleantrue\@affils@sw
  6210.  \@booleanfalse\runinaddress@sw
  6211. }%
  6212. %%%  @LaTeX-file{
  6213. %%%     filename        = "revtex4-1.dtx",
  6214. %%%     version         = "4.1r",
  6215. %%%     date            = "2010/07/25",
  6216. %%%     time            = "20:33:00 UT-8",
  6217. %%%     checksum        = "7177",
  6218. %%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
  6219. %%%                        commissioned by the American Physical Society.
  6220. %%%                        ",
  6221. %%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa,
  6222. %%%                        distributed under the terms of the
  6223. %%%                        LaTeX Project Public License, see
  6224. %%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
  6225. %%%                        ",
  6226. %%%     address         = "Arthur Ogawa,
  6227. %%%                        USA",
  6228. %%%     telephone       = "",
  6229. %%%     FAX             = "",
  6230. %%%     email           = "mailto colon arthur_ogawa at sbcglobal.net",
  6231. %%%     codetable       = "ISO/ASCII",
  6232. %%%     keywords        = "latex, page grid, main vertical list",
  6233. %%%     supported       = "yes",
  6234. %%%     abstract        = "package to change page grid, MVL",
  6235. %%%     docstring       = "The checksum field above generated by ltxdoc",
  6236. %%%  }
  6237. \def\substyle@post{4-1}%
  6238. \def\substyle@ext{rtx}%
  6239. \DeclareOption*{\OptionNotUsed}%
  6240. \def\@process@society#1{%
  6241.  \@ifxundefined\@society{%
  6242.   \class@warn{No Society specified, using default society #1}%
  6243.   \def\@society{#1}\let\@journal\@undefined
  6244.  }{}%
  6245.  \expandafter\input\expandafter{\@society\substyle@post.\substyle@ext}%
  6246. }%
  6247. \def\@process@journal#1{%
  6248.  \@ifxundefined\@journal{%
  6249.   \class@warn{No journal specified, using default #1}%
  6250.   \def\@journal{#1}%
  6251.  }{}%
  6252.  \expandafter\expandafter
  6253.  \expandafter\rtx@do@substyle
  6254.  \expandafter\expandafter
  6255.  \expandafter{\expandafter\@society\@journal}%
  6256. }%
  6257. \def\rtx@do@substyle#1{%
  6258.  \InputIfFileExists{#1\substyle@post.\substyle@ext}{}{\csname rtx@#1\endcsname}%
  6259. }%
  6260. \def\@process@pointsize#1{%
  6261.  \@ifxundefined\@pointsize{%
  6262.   \def\@pointsize{#1}%
  6263.   \class@warn{No type size specified, using default \@pointsize}%
  6264.  }{}%
  6265.  \expandafter\expandafter
  6266.  \expandafter\rtx@do@substyle
  6267.  \expandafter\expandafter
  6268.  \expandafter{\expandafter\@society\@pointsize pt}%
  6269. }%
  6270.   \def\ps@headings{%
  6271.       \let\@oddfoot\@empty\let\@evenfoot\@empty
  6272.       \def\@evenhead{\thepage\hfil\slshape\leftmark}%
  6273.       \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
  6274.       \let\@mkboth\markboth
  6275.     \def\sectionmark##1{%
  6276.       \markboth {\MakeUppercase{%
  6277.         \ifnum \c@secnumdepth >\z@
  6278.           \thesection\quad
  6279.         \fi
  6280.         ##1}}{}}%
  6281.     \def\subsectionmark##1{%
  6282.       \markright {%
  6283.         \ifnum \c@secnumdepth >\@ne
  6284.           \thesubsection\quad
  6285.         \fi
  6286.         ##1}}}%
  6287. \def\ps@myheadings{%
  6288.     \let\@oddfoot\@empty\let\@evenfoot\@empty
  6289.     \def\@evenhead{\thepage\hfil\slshape\leftmark}%
  6290.     \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
  6291.     \let\@mkboth\@gobbletwo
  6292.     \let\sectionmark\@gobble
  6293.     \let\subsectionmark\@gobble
  6294.     }%
  6295. \def\ps@article{%
  6296.     \def\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}%
  6297.     \def\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}%
  6298.     \def\@oddfoot{}%
  6299.     \def\@evenfoot{}%
  6300.     \let\@mkboth\markboth
  6301.   \let\sectionmark\@gobble
  6302.   \let\subsectionmark\@gobble
  6303. }%
  6304. \def\ps@article@final{%
  6305.     \def\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}%
  6306.     \def\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}%
  6307.     \def\@oddfoot{}%
  6308.     \def\@evenfoot{}%
  6309.     \let\@mkboth\markboth
  6310.     \def\sectionmark##1{%
  6311.       \markboth{%
  6312.        \MakeTextUppercase{%
  6313.         \@ifnum{\c@secnumdepth >\z@}{\thesection\hskip 1em\relax}{}%
  6314.          ##1%
  6315.        }%
  6316.        }{}%
  6317.     }%
  6318.     \def\subsectionmark##1{%
  6319.       \markright {%
  6320.         \@ifnum{\c@secnumdepth >\@ne}{\thesubsection\hskip 1em\relax}{}%
  6321.          ##1%
  6322.       }%
  6323.     }%
  6324. }%
  6325. \def\heading@cr{\unskip\space\ignorespaces}%
  6326. \def\ps@preprint{%
  6327.   \def\@oddfoot{\hfil\thepage\quad\checkindate\hfil}%
  6328.   \def\@evenfoot{\hfil\thepage\quad\checkindate\hfil}%
  6329.   \def\@oddhead{}%
  6330.   \def\@evenhead{}%
  6331.   \let\@mkboth\@gobbletwo
  6332.   \let\sectionmark\@gobble
  6333.   \let\subsectionmark\@gobble
  6334. }%
  6335. \let\@oddhead\@empty
  6336. \let\@evenhead\@empty
  6337. \let\@oddfoot\@empty
  6338. \let\@evenfoot\@empty
  6339. \def\lastpage@putlabel{%
  6340.  \if@filesw
  6341.   \begingroup
  6342.     \advance\c@page\m@ne
  6343.     \immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}{}{}{}}}%
  6344.   \endgroup
  6345.  \fi
  6346. }%
  6347. \appdef\clear@document{%
  6348.  \do@output@cclv{%
  6349.   \lastpage@putlabel
  6350.   \tally@box@size@sw{\total@text}{}%
  6351.  }%
  6352. }%
  6353. \providecommand\write@column@totals{}%
  6354. \appdef\rtx@require@packages{%
  6355.  \RequirePackage{url}%
  6356. }%
  6357. \appdef\document@inithook{%
  6358.  \incompatible@package{cite}%
  6359.  \incompatible@package{mcite}%
  6360.  \incompatible@package{multicol}%
  6361. }%
  6362. \def\labelenumi{\theenumi.}
  6363. \def\theenumi{\arabic{enumi}}
  6364. \def\labelenumii{(\theenumii)}
  6365. \def\theenumii{\alph{enumii}}
  6366. \def\p@enumii{\theenumi}
  6367. \def\labelenumiii{\theenumiii.}
  6368. \def\theenumiii{\roman{enumiii}}
  6369. \def\p@enumiii{\theenumi(\theenumii)}
  6370. \def\labelenumiv{\theenumiv.}
  6371. \def\theenumiv{\Alph{enumiv}}
  6372. \def\p@enumiv{\p@enumiii\theenumiii}
  6373. \def\labelitemi{\textbullet}
  6374. \def\labelitemii{\normalfont\bfseries\textendash}
  6375. \def\labelitemiii{\textasteriskcentered}
  6376. \def\labelitemiv{\textperiodcentered}
  6377. \pagenumbering{arabic}
  6378. \setcounter{topnumber}{2}
  6379. \def\topfraction{.9}
  6380. \setcounter{bottomnumber}{1}
  6381. \def\bottomfraction{.9}
  6382. \setcounter{totalnumber}{3}
  6383. \def\textfraction{.1}
  6384. \def\floatpagefraction{.9}
  6385. \setcounter{dbltopnumber}{2}
  6386. \def\dbltopfraction{.9}
  6387. \def\dblfloatpagefraction{.9}
  6388. \newenvironment{verse}{%
  6389.   \let\\=\@centercr
  6390.   \list{}{%
  6391.     \itemsep\z@ \itemindent -1.5em\listparindent \itemindent
  6392.     \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]%
  6393. }{%
  6394.  \endlist
  6395. }%
  6396. \newenvironment{quotation}{%
  6397.   \list{}{%
  6398.     \listparindent 1.5em
  6399.     \itemindent\listparindent
  6400.     \rightmargin\leftmargin \parsep \z@ \@plus\p@}\item[]%
  6401. }{%
  6402.  \endlist
  6403. }%
  6404. \newenvironment{quote}{%
  6405.   \list{}{%
  6406.   \rightmargin\leftmargin}\item[]%
  6407. }{%
  6408.  \endlist
  6409. }%
  6410. \def\descriptionlabel#1{%
  6411.   \hspace\labelsep \normalfont\bfseries #1\unskip:%
  6412. }%
  6413. \newenvironment{description}{%
  6414.  \list{}{%
  6415.     \labelwidth\z@ \itemindent-\leftmargin
  6416.     \let\makelabel\descriptionlabel
  6417.  }%
  6418. }{%
  6419.  \endlist
  6420. }%
  6421. \newcounter{part}%
  6422. \let\thepart\@undefined
  6423. \newcounter{section}%
  6424. \let\thesection\@undefined
  6425. \newcounter{subsection}[section]%
  6426. \let\thesubsection\@undefined
  6427. \newcounter{subsubsection}[subsection]%
  6428. \let\thesubsubsection\@undefined
  6429. \newcounter{paragraph}[subsubsection]%
  6430. \let\theparagraph\@undefined
  6431. \newcounter{subparagraph}[paragraph]%
  6432. \let\thesubparagraph\@undefined
  6433. \def\secnums@rtx{%
  6434.  \@ifxundefined\thepart{%
  6435.   \def\thepart{\Roman{part}}%
  6436.  }{}%
  6437.  \@ifxundefined\thesection{%
  6438.   \def\thesection       {\Roman{section}}%
  6439.   \def\p@section        {}%
  6440.  }{}%
  6441.  \@ifxundefined\thesubsection{%
  6442.   \def\thesubsection    {\Alph{subsection}}%
  6443.   \def\p@subsection     {\thesection\,}%
  6444.  }{}%
  6445.  \@ifxundefined\thesubsubsection{%
  6446.   \def\thesubsubsection {\arabic{subsubsection}}%
  6447.   \def\p@subsubsection  {\thesection\,\thesubsection\,}%
  6448.  }{}%
  6449.  \@ifxundefined\theparagraph{%
  6450.   \def\theparagraph     {\alph{paragraph}}%
  6451.   \def\p@paragraph      {\thesection\,\thesubsection\,\thesubsubsection\,}%
  6452.  }{}%
  6453.  \@ifxundefined\thesubparagraph{%
  6454.   \def\thesubparagraph  {\arabic{subparagraph}}%
  6455.   \def\p@subparagraph   {\thesection\,\thesubsection\,\thesubsubsection\,\theparagraph\,}%
  6456.  }{}%
  6457. }%
  6458. \def\secnums@arabic{%
  6459.  \@ifxundefined\thepart{%
  6460.   \def\thepart          {\Roman{part}}%
  6461.  }{}%
  6462.  \@ifxundefined\thesection{%
  6463.   \def\thesection       {\Roman{section}}%
  6464.   \def\p@section        {}%
  6465.  }{}%
  6466.  \@ifxundefined\thesubsection{%
  6467.   \def\thesubsection    {\thesection.\arabic{subsection}}%
  6468.   \def\p@subsection     {}%
  6469.  }{}%
  6470.  \@ifxundefined\thesubsubsection{%
  6471.   \def\thesubsubsection {\thesubsection.\arabic{subsubsection}}%
  6472.   \def\p@subsubsection  {}%
  6473.  }{}%
  6474.  \@ifxundefined\theparagraph{%
  6475.   \def\theparagraph     {\thesubsubsection.\arabic{paragraph}}%
  6476.   \def\p@paragraph      {}%
  6477.  }{}%
  6478.  \@ifxundefined\thesubparagraph{%
  6479.   \def\thesubparagraph  {\theparagraph.\arabic{subparagraph}}%
  6480.   \def\p@subparagraph   {}%
  6481.  }{}%
  6482. }%
  6483. \newenvironment{acknowledgments}{%
  6484.  \acknowledgments@sw{%
  6485.   \expandafter\section\expandafter*\expandafter{\acknowledgmentsname}%
  6486.  }{%
  6487.   \par
  6488.   \phantomsection
  6489.   \addcontentsline{toc}{section}{\protect\numberline{}\acknowledgmentsname}%
  6490.  }%
  6491. }{%
  6492.  \par
  6493. }%
  6494. \@booleantrue\acknowledgments@sw
  6495. \newenvironment{acknowledgements}{%
  6496.  \replace@environment{acknowledgements}{acknowledgments}%
  6497. }{%
  6498.  \endacknowledgments
  6499. }%
  6500. \def\part{\par
  6501.    \addvspace{4ex}%
  6502.    \@afterindentfalse
  6503.    \secdef\@part\@spart}%
  6504. \def\@part[#1]#2{%
  6505.  \@ifnum{\c@secnumdepth >\m@ne}{%
  6506.         \refstepcounter{part}%
  6507.         \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
  6508.  }{%
  6509.       \addcontentsline{toc}{part}{#1}%
  6510.  }%
  6511.  \begingroup
  6512.     \parindent \z@ \raggedright
  6513.     \interlinepenalty\@M
  6514.     \@ifnum{\c@secnumdepth >\m@ne}{%
  6515.       \Large \bf \partname~\thepart%
  6516.       \par\nobreak
  6517.     }{}%
  6518.     \huge \bf
  6519.     #2%
  6520.     \markboth{}{}\par
  6521.  \endgroup
  6522.    \nobreak
  6523.    \vskip 3ex
  6524.    \@afterheading
  6525. }%
  6526. \def\@spart#1{{\parindent \z@ \raggedright
  6527.     \interlinepenalty\@M
  6528.     \huge \bf
  6529.     #1\par}
  6530.     \nobreak
  6531.     \vskip 3ex
  6532.     \@afterheading}
  6533. \def\section{%
  6534.   \@startsection
  6535.     {section}%
  6536.     {1}%
  6537.     {\z@}%
  6538.     {0.8cm \@plus1ex \@minus .2ex}%
  6539.     {0.5cm}%
  6540.     {\normalfont\small\bfseries}%
  6541. }%
  6542. \def\subsection{%
  6543.   \@startsection
  6544.     {subsection}%
  6545.     {2}%
  6546.     {\z@}%
  6547.     {.8cm \@plus1ex \@minus .2ex}%
  6548.     {.5cm}%
  6549.     {\normalfont\small\bfseries}%
  6550. }%
  6551. \def\subsubsection{%
  6552.   \@startsection
  6553.     {subsubsection}%
  6554.     {3}%
  6555.     {\z@}%
  6556.     {.8cm \@plus1ex \@minus .2ex}%
  6557.     {.5cm}%
  6558.     {\normalfont\small\itshape}%
  6559. }%
  6560. \def\paragraph{%
  6561.   \@startsection
  6562.     {paragraph}%
  6563.     {4}%
  6564.     {\parindent}%
  6565.     {\z@}%
  6566.     {-1em}%
  6567.     {\normalfont\normalsize\itshape}%
  6568. }%
  6569. \def\subparagraph{%
  6570.   \@startsection
  6571.     {subparagraph}%
  6572.     {5}%
  6573.     {\parindent}%
  6574.     {3.25ex \@plus1ex \@minus .2ex}%
  6575.     {-1em}%
  6576.     {\normalfont\normalsize\bfseries}%
  6577. }%
  6578. \def\theequation{%
  6579.  \theequation@prefix\arabic{equation}%
  6580. }%
  6581. \def\theequation@prefix{}%
  6582. \setcounter{secnumdepth}{4}
  6583. \lineskip 1pt
  6584. \normallineskip 1pt
  6585. \def\baselinestretch{1}%
  6586. \@lowpenalty   51
  6587. \@medpenalty  151
  6588. \@highpenalty 301
  6589. \@beginparpenalty -\@lowpenalty
  6590. \@endparpenalty   -\@lowpenalty
  6591. \@itempenalty     -\@lowpenalty
  6592. \arraycolsep 3pt
  6593. \tabcolsep 2pt
  6594. \arrayrulewidth .4pt
  6595. \doublerulesep 2pt
  6596. \skip\@mpfootins = 0pt
  6597. \fboxsep  = 3.0pt
  6598. \fboxrule = 0.4pt
  6599. \newenvironment{figure}
  6600.                {\@float{figure}}
  6601.                {\end@float}
  6602. \newenvironment{figure*}
  6603.                {\@dblfloat{figure}}
  6604.                {\end@dblfloat}
  6605. \def\listoffigures{\print@toc{lof}}%
  6606. \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}%
  6607. \newlength\abovecaptionskip
  6608. \newlength\belowcaptionskip
  6609. \setlength\abovecaptionskip{10\p@}
  6610. \setlength\belowcaptionskip{2\p@}
  6611. \long\def\@makecaption#1#2{%
  6612.   \par
  6613.   \vskip\abovecaptionskip
  6614.   \begingroup
  6615.    \small\rmfamily
  6616.    \sbox\@tempboxa{%
  6617.     \let\\\heading@cr
  6618.     \@make@capt@title{#1}{#2}%
  6619.    }%
  6620.    \@ifdim{\wd\@tempboxa >\hsize}{%
  6621.     \begingroup
  6622.      \samepage
  6623.      \flushing
  6624.      \let\footnote\@footnotemark@gobble
  6625.      \@make@capt@title{#1}{#2}\par
  6626.     \endgroup
  6627.    }{%
  6628.      \global \@minipagefalse
  6629.      \hb@xt@\hsize{\hfil\unhbox\@tempboxa\hfil}%
  6630.    }%
  6631.   \endgroup
  6632.   \vskip\belowcaptionskip
  6633. }%
  6634. \def\@make@capt@title#1#2{%
  6635.  \@ifx@empty\float@link{\@firstofone}{\expandafter\href\expandafter{\float@link}}%
  6636.   {#1}\@caption@fignum@sep#2%
  6637. }%
  6638. \def\@footnotemark@gobble{%
  6639.  \@footnotemark
  6640.  \@ifnextchar[{\@gobble@opt@i}{\@gobble}%
  6641. }%
  6642. \def\@gobble@opt@i[#1]#2{}%
  6643. \def\@mpmakefntext#1{%
  6644.  \flushing
  6645.  \parindent=1em
  6646.  \noindent
  6647.  \hb@xt@1em{\hss\@makefnmark}%
  6648.  #1%
  6649. }%
  6650. \def\@caption@fignum@sep{. }%
  6651. \def\setfloatlink{\def\float@link}%
  6652. \let\float@link\@empty
  6653. \newcounter{figure}
  6654. \renewcommand \thefigure {\@arabic\c@figure}
  6655. \def\fps@figure{tbp}
  6656. \def\ftype@figure{1}
  6657. \def\ext@figure{lof}
  6658. \def\fnum@figure{\figurename~\thefigure}
  6659. \expandafter\newbox\csname fbox@\ftype@figure\endcsname
  6660. \expandafter\setbox\csname fbox@\ftype@figure\endcsname\hbox{}%
  6661. \appdef\class@documenthook{%
  6662.  \do@if@floats{figure}{.fgx}%
  6663. }%
  6664. \appdef\class@enddocumenthook{%
  6665.  \printfigures\relax
  6666. }%
  6667. \newcommand\printfigures{%
  6668.  \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
  6669.  {%
  6670.   \print@float{figure}{\oneapage}%
  6671.  }{%
  6672.   \print@float{figure}{}%
  6673.  }%
  6674. }%
  6675. \appdef\@xfloat@prep{%
  6676.  \appdef\@parboxrestore{\centering}%
  6677. }%
  6678. \newenvironment{table}
  6679.                {\@float{table}}
  6680.                {\end@float}
  6681. \newenvironment{table*}
  6682.                {\@dblfloat{table}}
  6683.                {\end@dblfloat}
  6684. \newcounter{table}
  6685. \renewcommand\thetable{\@Roman\c@table}
  6686. \def\fps@table{tbp}
  6687. \def\ftype@table{2}
  6688. \def\ext@table{lot}
  6689. \def\fnum@table{\tablename~\thetable}
  6690. \expandafter\newbox\csname fbox@\ftype@table\endcsname
  6691. \expandafter\setbox\csname fbox@\ftype@table\endcsname\hbox{}%
  6692. \def\listoftables{\print@toc{lot}}%
  6693. \let\l@table\l@figure
  6694. \def\table@hook{\small}%
  6695. \def\squeezetable{\def\table@hook{\scriptsize}}%
  6696. \appdef\@floatboxreset{\table@hook}%
  6697. \def\set@table@environments{%
  6698.  \floats@sw{}{%
  6699.   \let@environment{longtable@float}{longtable}%
  6700.   \let@environment{longtable}{longtable@write}%
  6701.   \let@environment{longtable*@float}{longtable*}%
  6702.   \let@environment{longtable*}{longtable*@write}%
  6703.   \let@environment{turnpage@float}{turnpage}%
  6704.   \let@environment{turnpage}{turnpage@write}%
  6705.  }%
  6706.  \do@if@floats{table}{.tbx}%
  6707. }%
  6708. \appdef\document@inithook{%
  6709.  \set@table@environments
  6710. }%
  6711. \appdef\class@enddocumenthook{%
  6712.  \printtables\relax
  6713. }%
  6714. \newenvironment{longtable@write}{%
  6715.  \write@@float{longtable}{table}%
  6716. }{%
  6717.  \endwrite@float
  6718. }%
  6719. \newenvironment{longtable*@write}{%
  6720.  \write@@float{longtable*}{table}%
  6721. }{%
  6722.  \endwrite@float
  6723. }%
  6724. \newenvironment{turnpage@write}{%
  6725.  \immediate\write\tablewrite{\string\begin{turnpage}}%
  6726. }{%
  6727.  \immediate\write\tablewrite{\string\end{turnpage}}%
  6728. }%
  6729. \newcommand\printtables{%
  6730.  \begingroup
  6731.   \let@environment{longtable}{longtable@float}%
  6732.   \let@environment{longtable*}{longtable*@float}%
  6733.   \let@environment{turnpage}{turnpage@anchored}%
  6734.   \prepdef\longtable{\trigger@float@par}%
  6735.   \expandafter\prepdef\csname longtable*\endcsname{\trigger@float@par}%
  6736.   \expandafter\prepdef\csname table@floats\endcsname{%
  6737.    \onecolumngrid@push
  6738.   }%
  6739.   \expandafter\appdef\csname endtable@floats\endcsname{%
  6740.    \onecolumngrid@pop
  6741.   }%
  6742.   \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
  6743.   {%
  6744.    \print@float{table}{\oneapage}%
  6745.   }{%
  6746.    \print@float{table}{}%
  6747.   }%
  6748.  \endgroup
  6749. }%
  6750. \newenvironment{turnpage@anchored}{%
  6751.  \onecolumngrid@push
  6752.  \setbox\z@\vbox to\textwidth\bgroup
  6753.   \columnwidth\textheight
  6754. }{%
  6755.   \vfil
  6756.  \egroup
  6757.  \rotatebox{90}{\box\z@}%
  6758.  \onecolumngrid@pop
  6759. }%
  6760. \newenvironment{video}
  6761.  {\@float{video}}
  6762.  {\end@float}%
  6763. \newenvironment{video*}
  6764.  {\@dblfloat{video}}
  6765.  {\end@dblfloat}%
  6766. \newcounter{video}
  6767. \renewcommand \thevideo {\@arabic\c@video}
  6768. \def\ext@video{lov}%
  6769. \def\fname@video{Video}%
  6770. \def\lovname{List of Videos}%
  6771. \def\fps@video{tbp}%
  6772. \def\ftype@video{4}%
  6773. \def\fnum@video{\fname@video~\thevideo}%
  6774. \appdef\document@inithook{%
  6775.  \@ifxundefined\c@float@type{}{%
  6776.   \global\setcounter{float@type}{8}%
  6777.  }%
  6778. }%
  6779. \expandafter\newbox\csname fbox@\ftype@video\endcsname
  6780. \expandafter\setbox\csname fbox@\ftype@video\endcsname\hbox{}%
  6781. \let\theHvideo\thevideo
  6782. \def\listofvideos{\print@toc{lov}}%
  6783. \let\l@video\l@figure
  6784. \appdef\class@documenthook{%
  6785.  \do@if@floats{video}{.vdx}%
  6786. }%
  6787. \appdef\class@enddocumenthook{%
  6788.  \printvideos\relax
  6789. }%
  6790. \newcommand\printvideos{%
  6791.  \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
  6792.  {%
  6793.   \print@float{video}{\oneapage}%
  6794.  }{%
  6795.   \print@float{video}{}%
  6796.  }%
  6797. }%
  6798. \def\endtabular@hook{}%
  6799. \appdef\document@inithook{%
  6800.  \@ifpackageloaded{dcolumn}{%
  6801.   \expandafter\@ifnotrelax\csname NC@find@d\endcsname{}{%
  6802.    \newcolumntype{d}{D{.}{.}{-1}}%
  6803.   }%
  6804.  }{}%
  6805. }%
  6806. \def\toprule{\hline\hline}%
  6807. \def\colrule{\hline}%
  6808. \def\botrule{\hline\hline}%
  6809. \newenvironment{ruledtabular}{%
  6810.  \def\array@default{v}%
  6811.  \appdef\tabular@hook{\def\@halignto{to\hsize}}%
  6812.  \let\tableft@skip@default\tableft@skip
  6813.  \let\tableft@skip\tableft@skip@float
  6814.  \let\tabmid@skip@default\tabmid@skip
  6815.  \let\tabmid@skip\tabmid@skip@float
  6816.  \let\tabright@skip@default\tabright@skip
  6817.  \let\tabright@skip\tabright@skip@float
  6818.  \let\array@row@pre@default\array@row@pre
  6819.  \let\array@row@pre\array@row@pre@float
  6820.  \let\array@row@pst@default\array@row@pst
  6821.  \let\array@row@pst\array@row@pst@float
  6822.  \appdef\array@row@rst{%
  6823.   \let\array@row@pre\array@row@pre@default
  6824.   \let\array@row@pst\array@row@pst@default
  6825.   \let\tableft@skip\tableft@skip@default
  6826.   \let\tabmid@skip\tabmid@skip@default
  6827.   \let\tabright@skip\tabright@skip@default
  6828.   \appdef\tabular@hook{\let\@halignto\@empty}%
  6829.  }%
  6830. }{%
  6831. }%
  6832. \def\@makefntext#1{%
  6833.   \def\baselinestretch{1}%
  6834.   \parindent1em%
  6835.   \noindent
  6836.   \hb@xt@1.8em{%
  6837.    \hss\@makefnmark
  6838.   }%
  6839.   #1%
  6840.   \par
  6841. }%
  6842. \def\@makefnmark{%
  6843.  \hbox{%
  6844.   \@textsuperscript{%
  6845.    \normalfont\@thefnmark
  6846.   }%
  6847.  }%
  6848. }%
  6849. \expandafter\DeclareRobustCommand
  6850. \expandafter\rev@citet
  6851. \expandafter{%
  6852.  \expandafter\begingroup
  6853.   \expandafter\rtx@swap@citea
  6854.   \expandafter\g@bblefirsttoken
  6855.               \csname citet \endcsname
  6856. }%
  6857. \expandafter\DeclareRobustCommand
  6858. \expandafter\rev@citealp
  6859. \expandafter{%
  6860.  \expandafter\begingroup
  6861.   \expandafter\rtx@swap@citea
  6862.   \expandafter\g@bblefirsttoken
  6863.               \csname citealp \endcsname
  6864. }%
  6865. \expandafter\DeclareRobustCommand
  6866. \expandafter\rev@citealpnum
  6867. \expandafter{%
  6868.  \expandafter\begingroup
  6869.   \expandafter\rtx@swap@citenum
  6870.   \expandafter\g@bblefirsttoken
  6871.               \csname citealp \endcsname
  6872. }%
  6873. \def\rtx@swap@citenum{%
  6874.   \rtx@swap@citea
  6875.   \let\@cite\NAT@citenum
  6876.   \let\NAT@mbox\mbox
  6877.   \let\citeyear\NAT@citeyear
  6878.   \let\NAT@space\NAT@spacechar
  6879. }%
  6880. \def\g@bblefirsttoken{%
  6881.  \expandafter\true@sw
  6882.  \expandafter\@empty
  6883. }%
  6884. \newcommand\rtx@citesuper[3]{%
  6885.  \ifNAT@swa
  6886.   \leavevmode
  6887.   \unskip
  6888.   \textsuperscript{\normalfont#1}%
  6889.   \if*#3*\else\ (#3)\fi
  6890.  \else
  6891.   #1%
  6892.  \fi
  6893.  \endgroup
  6894. }%
  6895. \def\@makefnmark@cite{\begingroup\NAT@swatrue\@cite{{\@thefnmark}}{}{}}%
  6896. \def\rtx@bibsection{%
  6897.  \@ifx@empty\refname{%
  6898.   \par
  6899.  }{%
  6900.   \expandafter\section\expandafter*\expandafter{\refname}%
  6901.   \@nobreaktrue
  6902.  }%
  6903. }%
  6904. \def\rtx@swap@citea{%
  6905.  \let\NAT@def@citea\rtx@def@citea
  6906.  \let\NAT@def@citea@close\rtx@def@citea@close
  6907.  \let\NAT@def@citea@box\rtx@def@citea@box
  6908. }%
  6909. \def\rtx@def@citea{%
  6910.  \def\@citea{\NAT@separator\NAT@space}%
  6911.  \advance\c@NAT@ctr\@ne
  6912.  \@ifnum{\count@>\tw@}{%
  6913.   \@ifnum{\c@NAT@ctr=\count@}{\appdef\@citea{\NAT@conj\NAT@space}}{}%
  6914.  }{%
  6915.   \def\@citea{\NAT@space\NAT@conj\NAT@space}%
  6916.  }%
  6917. }%
  6918. \def\rtx@def@citea@close{%
  6919.  \rtx@def@citea
  6920.  \prepdef\@citea{\NAT@@close}%
  6921. }%
  6922. \def\rtx@def@citea@box{%
  6923.  \rtx@def@citea@close
  6924.  \expandafter\def\expandafter\@citea\expandafter{\expandafter\NAT@mbox\expandafter{\@citea}}%
  6925. }%
  6926. \def\NAT@conj{and}%
  6927. \def\NAT@BibitemShut#1{%
  6928.  \def\@bibstop{#1}%
  6929.  \let\bibitem@Stop\bibitemStop
  6930.  \let\bibitem@NoStop\bibitemNoStop
  6931.  \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
  6932.   \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
  6933.  }%
  6934. }%
  6935. \def\BibitemShut@ltx#1{%
  6936.  \unskip
  6937.  \def\@bibstop{#1}%
  6938.  \let\bibitem@Stop\bibitemStop
  6939.  \let\bibitem@NoStop\bibitemNoStop
  6940.  \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
  6941.   \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
  6942.  }%
  6943. }%
  6944. \newenvironment{thebibliography}{}{}%
  6945. \let\@listi\@empty
  6946. \appdef\rtx@require@packages{%
  6947.  \RequirePackage[sort&compress]{natbib}[2009/11/07 8.31a (PWD, AO)]%
  6948.  \let@environment{NAT@thebibliography}{thebibliography}%
  6949.  \let@environment{thebibliography}{rtx@thebibliography}%
  6950.  \let\bibliographystyle@latex\bibliographystyle
  6951.  \let\NAT@citesuper\rtx@citesuper
  6952. \let\bibsection\rtx@bibsection
  6953. \let\NATx@bibsetnum\NAT@bibsetnum
  6954. \def\NAT@bibsetnum#1{%
  6955.  \setlength{\topsep}{\z@}%
  6956.  \NATx@bibsetnum{\ref{LastBibItem}}%
  6957. }%
  6958. \let\NATx@bibsetup\NAT@bibsetup
  6959. \def\NAT@bibsetup{%
  6960.  \setlength{\labelwidth}{\z@}%
  6961.  \setlength{\labelsep}{\z@}%
  6962.  \setlength{\itemindent}{\z@}%
  6963.  \setlength{\listparindent}{\z@}%
  6964.  \setlength{\topsep}{\z@}%
  6965.  \setlength{\parsep}{\z@}%
  6966.  \NATx@bibsetup
  6967. }%
  6968. \let\bibpreamble\@empty
  6969. \def\newblock{\ }%
  6970. \let\NATx@bibnumfmt\bibnumfmt
  6971. \def\bibnumfmt{\place@bibnumber}%
  6972. \let\NAT@merge\thr@@
  6973. \let\NAT@citeyear\citeyear
  6974. \let\onlinecite\rev@citealp
  6975. \let\textcite\rev@citet
  6976. \@ifx{\BibitemShut\NAT@BibitemShut}{%
  6977.  \class@info{Repairing natbib's \string\BibitemShut}%
  6978.  \let\BibitemShut\BibitemShut@ltx
  6979. }{}%
  6980. \let\bibliographystyle@latex\bibliographystyle
  6981. \def\bibliographystyle{\@booleantrue\bibliographystyle@sw\def\@bibstyle}%
  6982. \@booleanfalse\bibliographystyle@sw
  6983. \def\NAT@bibitem@cont{%
  6984.  \let\bibitem@Stop\bibitemContinue@Stop
  6985.  \let\bibitem@NoStop\bibitemContinue
  6986. }%
  6987. \def\bibitemNoStop{%
  6988.  \@ifx@empty\@bibitemShut{.\spacefactor\@mmm\space}{\@bibitemShut}%
  6989. }%
  6990. \def\bibitemContinue{%
  6991.  \@ifx@empty\@bibitemShut{;\spacefactor\@mmm\space}{\@bibitemShut}%
  6992. }%
  6993. \def\bibitemContinue@Stop{%
  6994.  \@ifx@empty\@bibitemShut{\spacefactor\@mmm\space}{\@bibitemShut}%
  6995. }%
  6996. }%
  6997. \DeclareRobustCommand\onlinecite{\@onlinecite}%
  6998. \DeclareRobustCommand\textcite{\@textcite}%
  6999. \let\bibliography@latex\bibliography
  7000. \def\bibliography#1{%
  7001.  \auto@bib@empty
  7002.  \begingroup
  7003.   \let\auto@bib@innerbib\@empty
  7004.   \@ifx@empty{\pre@bibdata}{%
  7005.    \bibliography@latex{#1}%
  7006.   }{%
  7007.    \@if@empty{#1}{%
  7008.     \expandafter\bibliography@latex\expandafter{\pre@bibdata}%
  7009.    }{%
  7010.     \expandafter\bibliography@latex\expandafter{\pre@bibdata,#1}%
  7011.    }%
  7012.   }%
  7013.  \endgroup
  7014. }%
  7015. \let\pre@bibdata\@empty
  7016. \newenvironment{rtx@thebibliography}[1]{%
  7017.  \NAT@thebibliography{#1}%
  7018.  \let\@TBN@opr\present@bibnote
  7019.  \@FMN@list
  7020. }{%
  7021.  \auto@bib@innerbib
  7022.  \edef\@currentlabel{\arabic{NAT@ctr}}%
  7023.  \label{LastBibItem}%
  7024.  \endNAT@thebibliography
  7025.  \aftergroup\auto@bib@empty
  7026. }%
  7027. \def\present@bibnote#1#2{%
  7028.  \item[%
  7029.   \textsuperscript{%
  7030.    \normalfont
  7031.    \Hy@raisedlink{\hyper@anchorstart{frontmatter.#1}\hyper@anchorend}%
  7032.    \begingroup
  7033.     \csname c@\@mpfn\endcsname#1\relax
  7034.     \frontmatter@thefootnote
  7035.    \endgroup
  7036.   }%
  7037.  ]#2\par
  7038. }%
  7039. \def\write@bibliographystyle{%
  7040.  \@ifxundefined\@bibstyle{}{%
  7041.   \expandafter\bibliographystyle@latex\expandafter{\@bibstyle}%
  7042.   \bibliographystyle@sw{}{\@bibdataout@rev}%
  7043.  }%
  7044.  \global\let\write@bibliographystyle\relax
  7045. }%
  7046. \AtEndDocument{\write@bibliographystyle}%
  7047. \def\rtx@@citetp[#1]{\@ifnextchar[{\rtx@citex[#1]}{\rtx@citex[][#1]}}%
  7048. \def\rtx@citex[#1][#2]#3{%
  7049.  \begingroup
  7050.   \def\@tempa{[#1][#2]{#3}}%
  7051.   \@ifx{\@cite\NAT@citesuper}{%
  7052.    \leavevmode
  7053.    \skip@\lastskip
  7054.    \unskip
  7055.    \super@cite@let
  7056.   }{%
  7057.    \super@cite@end
  7058.   }%
  7059. }%
  7060. \def\super@cite@let{%
  7061.  \futurelet\@let@token\super@cite@check
  7062. }%
  7063. \def\super@cite@end{%
  7064.  \aftergroup\@citex\expandafter\endgroup\@tempa
  7065. }%
  7066. \def\super@cite@check{%
  7067.  \@ifx{\@let@token\@sptoken}{%
  7068.   \super@cite@end
  7069.  }{%
  7070.   \super@cite@swap
  7071.  }%
  7072. }%
  7073. \long\def\super@cite@swap#1{%
  7074.  \expandafter\@ifx\expandafter{\csname rtx@automove#1\endcsname\@empty}{%
  7075.   #1%
  7076.   \super@cite@let
  7077.  }{%
  7078.   \super@cite@end
  7079.   #1%
  7080.  }%
  7081. }%
  7082. \expandafter\let\csname rtx@automove.\endcsname\@empty
  7083. \expandafter\let\csname rtx@automove,\endcsname\@empty
  7084. \expandafter\let\csname rtx@automove:\endcsname\@empty
  7085. \expandafter\let\csname rtx@automove;\endcsname\@empty
  7086. \appdef\class@documenthook{%
  7087.  \citeautoscript@sw{%
  7088.   \@ifx{\@cite\NAT@citesuper}{%
  7089.    \let\NAT@@citetp\rtx@@citetp
  7090.   }{}%
  7091.  }{}%
  7092. }%
  7093. \def\mini@note{\save@note\mini@notes}%Implicit #2
  7094. \def\save@note#1#2{%
  7095.   \stepcounter\@mpfn
  7096.   \protected@xdef\@thefnmark{\thempfn}%
  7097.   \@footnotemark
  7098.   \expandafter\g@addto@macro
  7099.   \expandafter#1%
  7100.   \expandafter{%
  7101.   \expandafter \@@footnotetext
  7102.   \expandafter {\@thefnmark}{#2}%
  7103.               }%
  7104. }%
  7105. \long\def\@@footnotetext#1{\def\@thefnmark{#1}\@footnotetext}%
  7106. \let\mini@notes\@empty
  7107. \def\rev@citemark#1{%
  7108.  \expandafter\cite\expandafter{\@thefnmark}%
  7109. }%
  7110. \def\rev@endtext#1{%
  7111.  \let\@endnotelabel\@thefnmark
  7112.  \@endnotetext
  7113. }%
  7114. \def\endnote@ext{.end}%
  7115. \def\bibdata@app{Notes}%
  7116. \def\bibdata@ext{bib}%
  7117. \long\def\@endnotetext#1{%
  7118.   \begingroup
  7119.     \endnote@relax
  7120.     \immediate\write\@bibdataout{%
  7121.      @FOOTNOTE{%
  7122.       \@endnotelabel,%
  7123.       key="\@endnotelabel",%
  7124.       note="#1"%
  7125.      }%
  7126.     }%
  7127.   \endgroup
  7128. }%
  7129. \newwrite\@bibdataout
  7130. \def\endnote@relax{%
  7131.  \let\label\relax \let\index\relax \let\glossary\relax
  7132.  \let\cite \relax \let\ref  \relax \let\pageref \relax
  7133.  \let\(    \relax \let\)    \relax \let\\       \relax
  7134.  \let~\relax
  7135.  \let \protect \@unexpandable@protect
  7136.  \newlinechar`\^^M%
  7137.  \let\begin\relax \let\end\relax
  7138. }%
  7139. \appdef\class@documenthook{\@bibdataout@init}%
  7140. \def\@bibdataout@init{%
  7141.  \immediate\openout\@bibdataout\pre@bibdata.\bibdata@ext\relax
  7142. }%
  7143. \def\@bibdataout@rev{%
  7144.  \immediate\write\@bibdataout{%
  7145.   @CONTROL{%
  7146.    REVTEX41Control%
  7147.    \eprint@enable@sw{}{,eprint=""}%
  7148.   }%
  7149.  }%
  7150.  \if@filesw
  7151.   \immediate\write\@auxout{\string\citation{REVTEX41Control}}%
  7152.  \fi
  7153. }%
  7154. \def\printendnotes{%
  7155.  \class@warn{The \string\printendnotes\space command no longer serves any function. Please remove it from your document.}%
  7156. }%
  7157. \def\make@footnote@endnote{%
  7158.  \footinbib@sw{%
  7159.   \authoryear@sw{}{%
  7160.    \ltx@footnote@push
  7161.    \def\thempfn{Note\thefootnote}%
  7162.    \let\ltx@footmark\rev@citemark
  7163.    \let\ltx@foottext\rev@endtext
  7164.   }%
  7165.  }{}%
  7166. }%
  7167. \def\ltx@footnote@push{%
  7168.  \let\ltx@footmark@latex\ltx@footmark
  7169.  \let\ltx@foottext@latex\ltx@foottext
  7170.  \let\thempfn@latex\thempfn
  7171.  \def\ltx@footnote@pop{%
  7172.   \let\ltx@footmark\ltx@footmark@latex
  7173.   \let\ltx@foottext\ltx@foottext@latex
  7174.   \let\thempfn\thempfn@latex
  7175.  }%
  7176. }%
  7177. \appdef\class@documenthook{%
  7178.  \make@footnote@endnote
  7179. }%
  7180. \def\auto@bib{%
  7181.  \@ifx@empty\@FMN@list{%
  7182.   \footinbib@sw{%
  7183.    \@ifnum{\csname c@\@mpfn\endcsname>\z@}{%
  7184.     \true@sw
  7185.    }{%
  7186.     \test@bbl@sw
  7187.    }%
  7188.   }{%
  7189.    \test@bbl@sw
  7190.   }%
  7191.  }{%
  7192.   \true@sw
  7193.  }%
  7194.  {%
  7195.   \bibliography{}%
  7196.  }{}%
  7197. }%
  7198. \def\auto@bib@empty{%
  7199.  \let\auto@bib\@empty
  7200. }%
  7201. \def\test@bbl@sw{%
  7202.  \setbox\z@\vbox\bgroup
  7203.   \let\providecommand\providecommand@j@nk
  7204.   \let\bibfield\@gobbletwo
  7205.   \let\bibinfo\@gobbletwo
  7206.   \let\translation\@gobble
  7207.   \let\BibitemOpen\@empty
  7208.   \let\bibitemStop\@empty
  7209.   \let\bibitemNoStop\@empty
  7210.   \let\EOS\@empty
  7211.   \let\BibitemShut\@gobble
  7212.   \let\bibAnnoteFile\@gobbletwo
  7213.   \let\bibAnnote\@gobblethree
  7214.   \let\textbf\@gobble
  7215.   \let\emph\@gobble
  7216.   \@booleanfalse\bibitem@sw
  7217.   \let\bibitem\bibitem@set
  7218.   \auto@bib@innerbib
  7219.   \bibitem@sw{\aftergroup\true@sw}{\aftergroup\false@sw}%
  7220.  \egroup
  7221. }%
  7222. \newcommand\bibitem@set[1][]{%
  7223.  \bibitem@sw{}{%
  7224.   \@booleantrue\bibitem@sw
  7225.   \aftergroup\@booleantrue\aftergroup\bibitem@sw
  7226.  }%
  7227. }%
  7228. \def\auto@bib@innerbib{%
  7229.  \begingroup
  7230.   \let@environment{thebibliography}{thebibliography@nogroup}%
  7231.   \bibliography{}%
  7232.  \endgroup
  7233. }%
  7234. \def\thebibliography@nogroup#1{%
  7235.  \endgroup
  7236.  \def\@currenvir{thebibliography}%
  7237. }%
  7238. \def\endthebibliography@nogroup{\begingroup}%
  7239. \long\def \@gobblethree #1#2#3{}%
  7240. \def\providecommand@j@nk#1[#2]{%
  7241.  \@ifnum{#2=\z@}{\def\j@nk}{%
  7242.   \@ifnum{#2=\@ne}{\def\j@nk##1}{%
  7243.    \@ifnum{#2=\tw@}{\def\j@nk##1##2}{%
  7244.     \@ifnum{#2=\thr@@}{\def\j@nk##1##2##3}{%
  7245.     }%
  7246.    }%
  7247.   }%
  7248.  }%
  7249. }%
  7250. \def\thepage{\@arabic\c@page}%
  7251. \appdef\setup@hook{%
  7252.  \tabbingsep \labelsep
  7253.  \leftmargin\leftmargini
  7254.  \labelwidth\leftmargin\advance\labelwidth-\labelsep
  7255.  \let\@listi\@listI
  7256.  \@listi
  7257. }%
  7258. \appdef\class@documenthook{%
  7259.  \global\c@page\@ne
  7260.  \def\curr@envir{document}%
  7261.  \mark@envir{\curr@envir}%
  7262. }%
  7263. \def\open@onecolumn{%
  7264.  \open@column@one\@ne
  7265.  \set@colht
  7266.  \@floatplacement
  7267.  \@dblfloatplacement
  7268. }%
  7269. \def\open@twocolumn{%
  7270.  \open@column@mlt\tw@
  7271.  \set@colht
  7272.  \@floatplacement
  7273.  \@dblfloatplacement
  7274.  \sloppy
  7275.  \let\set@listindent\set@listindent@
  7276. }%
  7277. \def\appendix{%
  7278.  \par
  7279.  \setcounter{section}\z@
  7280.  \setcounter{subsection}\z@
  7281.  \setcounter{subsubsection}\z@
  7282.  \def\thesubsection{\arabic{subsection}}%
  7283.  \def\thesubsubsection{\alph{subsubsection}}%
  7284.  \@addtoreset{equation}{section}%
  7285.  \def\theequation@prefix{\thesection}%
  7286.  \addtocontents{toc}{\protect\appendix}%
  7287.  \@ifstar{%
  7288.   \def\thesection{\unskip}%
  7289.   \def\theequation@prefix{A.}%
  7290.  }{%
  7291.   \def\thesection{\Alph{section}}%
  7292.  }%
  7293. }%
  7294. \def\title@column#1{%
  7295.  \minipagefootnote@init
  7296.  #1%
  7297.  \minipagefootnote@foot
  7298. }%
  7299. \def\close@column{%
  7300.  \newpage
  7301. }%
  7302. \def\galley@outdent{\rightmargin-\columnwidth\advance\rightmargin-\columnsep}%
  7303. \let\widetext@outdent\@empty
  7304. \newenvironment{widetext@galley}{%
  7305.   \list{}{%
  7306.     \topsep        \z@skip
  7307.     \listparindent \parindent
  7308.     \itemindent    \parindent
  7309.     \leftmargin    \z@
  7310.     \parsep        \z@\@plus\p@
  7311.     \widetext@outdent
  7312.     \relax
  7313.   }%
  7314.   \item\relax
  7315. }{
  7316.   \endlist
  7317. }%
  7318. \def\title@column@grid#1{%
  7319.  \minipagefootnote@init
  7320.   \onecolumngrid
  7321.   \begingroup
  7322.    \let\@footnotetext\frontmatter@footnotetext
  7323.    \ltx@no@footnote
  7324.    #1%
  7325.   \endgroup
  7326.   \twocolumngrid
  7327.  \minipagefootnote@foot
  7328. }%
  7329. \def\close@column@grid{%
  7330.  \balancelastpage@sw{%
  7331.   \onecolumngrid
  7332.  }{}%
  7333. }%
  7334. \newenvironment{widetext@grid}{%
  7335.   \par\ignorespaces
  7336.   \setbox\widetext@top\vbox{%
  7337.    \hb@xt@\hsize{%
  7338.     \leaders\hrule\hfil
  7339.     \vrule\@height6\p@
  7340.    }%
  7341.   }%
  7342.   \setbox\widetext@bot\hb@xt@\hsize{%
  7343.     \vrule\@depth6\p@
  7344.     \leaders\hrule\hfil
  7345.   }%
  7346.   \onecolumngrid
  7347.   \vskip10\p@
  7348.   \dimen@\ht\widetext@top\advance\dimen@\dp\widetext@top
  7349.   \cleaders\box\widetext@top\vskip\dimen@
  7350.   \vskip6\p@
  7351.   \prep@math@patch
  7352. }{%
  7353.   \par
  7354.   \vskip6\p@
  7355.   \setbox\widetext@bot\vbox{%
  7356.    \hb@xt@\hsize{\hfil\box\widetext@bot}%
  7357.   }%
  7358.   \dimen@\ht\widetext@bot\advance\dimen@\dp\widetext@bot
  7359.   \cleaders\box\widetext@bot\vskip\dimen@
  7360.   \vskip8.5\p@
  7361.   \twocolumngrid\global\@ignoretrue
  7362.   \@endpetrue
  7363. }%
  7364. \newbox\widetext@top
  7365. \newbox\widetext@bot
  7366. \def\set@page@grid{%
  7367.  \twocolumn@sw{%
  7368.   \let\set@footnotewidth\set@footnotewidth@two
  7369.   \let\compose@footnotes\compose@footnotes@two
  7370.   \let@environment{widetext}{widetext@grid}%
  7371.   \let\title@column\title@column@grid
  7372.   \let\close@column\close@column@grid
  7373.  }{%
  7374.   \let@environment{widetext}{widetext@galley}%
  7375.   \preprintsty@sw{%
  7376.   }{%
  7377.    \galley@sw{%
  7378.     \let\widetext@outdent\galley@outdent
  7379.    }{}%
  7380.   }%
  7381.  }%
  7382. }%
  7383. \appdef\setup@hook{\set@page@grid}%
  7384. \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
  7385. \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
  7386. \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
  7387. \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
  7388. \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
  7389. \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
  7390. \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
  7391. \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
  7392. \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
  7393. \def\today{\ifcase\month\or
  7394.   January\or February\or March\or April\or May\or June\or
  7395.   July\or August\or September\or October\or November\or December\fi
  7396.   \space\number\day, \number\year}
  7397. \def\partname{Part}
  7398. \def\tocname{Contents}
  7399. \def\lofname{List of Figures}
  7400. \def\lotname{List of Tables}
  7401. \def\refname{References}
  7402. \def\indexname{Index}
  7403. \def\figurename{FIG.}
  7404. \def\figuresname{Figures}%
  7405. \def\tablename{TABLE}
  7406. \def\tablesname{Tables}%
  7407. \def\abstractname{Abstract}
  7408. \def\appendixesname{Appendixes}%
  7409. \def\appendixname{Appendix}%
  7410. \def\acknowledgmentsname{Acknowledgments}
  7411. \def\journalname{??}
  7412. \def\copyrightname{??}
  7413. \def\andname{and}
  7414. \def\@pacs@name{PACS numbers: }%
  7415. \def\@keys@name{Keywords: }%
  7416. \def\ppname{pp}
  7417. \def\numbername{number}
  7418. \def\volumename{volume}
  7419. \def\Dated@name{Dated: }%
  7420. \def\Received@name{Received }%
  7421. \def\Revised@name{Revised }%
  7422. \def\Accepted@name{Accepted }%
  7423. \def\Published@name{Published }%
  7424. \def\address{\replace@command\address\affiliation}%
  7425. \def\altaddress{\replace@command\altaddress\altaffiliation}%
  7426. \newenvironment{references}{%
  7427.  \class@warn@end{The references environment is not supported; use thebibliography instead.}
  7428.  \gdef\references{\thebibliography{}}\references
  7429. }{%
  7430.  \endthebibliography
  7431. }%
  7432. \def\draft{%
  7433.  \class@warn@end{Command \string\draft\space is obsolete;^^JInvoke option draft instead.}%
  7434.  \@booleantrue\draft@sw
  7435. }%
  7436. \def\tighten{%
  7437.  \class@warn@end{Command \string\tighten\space is obsolete;^^JInvoke option tightenlines instead.}%
  7438.  \@booleantrue\tightenlines@sw
  7439. }%
  7440. \def\tableline{%
  7441.  \noalign{%
  7442.   \class@warn@end{Command \string\tableline\space is obsolete;^^JUse \string\colrule\space instead.}%
  7443.   \global\let\tableline\colrule
  7444.  }%
  7445.  \tableline
  7446. }%
  7447. \def\case{\replace@command\case\frac}%
  7448. \def\slantfrac{\replace@command\slantfrac\frac}%
  7449. \def\tablenote{\replace@command\tablenote\footnote}%
  7450. \def\tablenotemark{\replace@command\tablenotemark\footnotemark}%
  7451. \def\tablenotetext{\replace@command\tablenotetext\footnotetext}%
  7452. \DeclareRobustCommand\REV@text[1]{%
  7453.  \relax
  7454.  \ifmmode
  7455.   \mathchoice
  7456.    {\hbox{{\everymath{\displaystyle     }#1}}}%
  7457.    {\hbox{{\everymath{\textstyle        }#1}}}%
  7458.    {\hbox{{\everymath{\scriptstyle      }\let\f@size\sf@size\selectfont#1}}}%
  7459.    {\hbox{{\everymath{\scriptscriptstyle}\let\f@size\ssf@size\selectfont#1}}}%
  7460.   \glb@settings
  7461.  \else
  7462.   \mbox{#1}%
  7463.  \fi
  7464. }%
  7465. \DeclareRobustCommand\REV@bbox[1]{%
  7466.  \relax
  7467.  \ifmmode
  7468.   \mathchoice
  7469.    {\hbox{{\everymath{\displaystyle     }\boldmath$#1$}}}%
  7470.    {\hbox{{\everymath{\textstyle        }\boldmath$#1$}}}%
  7471.    {\hbox{{\everymath{\scriptstyle      }\boldmath$#1$}}}%
  7472.    {\hbox{{\everymath{\scriptscriptstyle}\boldmath$#1$}}}%
  7473.   \glb@settings
  7474.  \else
  7475.   \mbox{#1}%
  7476.  \fi
  7477. }%
  7478. \DeclareRobustCommand\REV@bm[1]{%
  7479.  \class@warn@end{To use \string\bm, please load the bm package!}%
  7480.  \global\let\bm\relax
  7481. }%
  7482. \def\FL{\obsolete@command\FL}%
  7483. \def\FR{\obsolete@command\FR}%
  7484. \def\narrowtext{\obsolete@command\narrowtext}%
  7485. \def\mediumtext{\obsolete@command\mediumtext}%
  7486. \newenvironment{quasitable}{%
  7487.  \let@environment{tabular}{longtable}%
  7488. }{%
  7489. }%
  7490. \let\text\REV@text
  7491. \let\bm\REV@bm
  7492. \appdef\setup@hook{%
  7493.  \providecommand\bibinfo[2]{#2}%
  7494.  \providecommand\eprint[2][]{#2}%
  7495. }%
  7496. \def\bbox#1{%
  7497.  \class@warn@end{\string\bbox\space is obsolete,^^Jload the bm package and use \string\bm\space instead.}%
  7498.  \global\let\bbox\relax
  7499. }%
  7500. \newenvironment{mathletters}{%
  7501.  \class@warn@end{Environment {mathletters} is obsolete;^^Jload the amsmath package and use {subequations}!}%
  7502.  \global\let\mathletters\@empty
  7503. }{%
  7504. }%
  7505. \def\eqnum#1{%
  7506.  \class@warn@end{\string\eqnum\space is obsolete, load the amsmath package and use \string\tag!}%
  7507.  \global\let\eqnum\@gobble
  7508. }%
  7509. \appdef\rtx@require@packages{%
  7510.  \RequirePackage{revsymb4-1}%
  7511. }%
  7512. \appdef\class@documenthook{\revsymb@inithook}%
  7513. \def\@LN@LLerror@org{%
  7514.  \PackageError{lineno}{%
  7515.   \string\linelabel\space without \string\linenumbers
  7516.  }{%
  7517.   Just see documentation. (New feature v4.11)%
  7518.  }%
  7519.  \@gobble
  7520. }%
  7521. \def\@LN@LLerror@ltx{%
  7522.  \PackageWarning{lineno}{%
  7523.   To make the \string\linelabel\space command work, you must issue the \string\linenumbers\ command
  7524.  }%
  7525.  \@gobble
  7526. }%
  7527. \appdef\class@documenthook{%
  7528.  \@ifx{\@LN@LLerror\@LN@LLerror@org}{%
  7529.   \class@info{Overriding \string\@LN@LLerror}%
  7530.   \let\@LN@LLerror\@LN@LLerror@ltx
  7531.  }{}%
  7532.  \@ifpackageloaded{lineno}{%
  7533.   \@ifxundefined{\set@linepenalties}{}{%
  7534.    \def\prep@absbox{\set@linepenalties}%
  7535.    \def\post@absbox{\let\@LN@parpgbrk\@empty\@linenumberpar}%
  7536.   }%
  7537.  }{}%
  7538. }%
  7539. \appdef\rtx@require@packages{%
  7540.  \InputIfFileExists{\jobname.rty}{}{}%
  7541. }%
  7542. \@parse@class@options@society
  7543. \@process@society{aps}%
  7544. \@parse@class@options@\@journal
  7545. \expandafter\@process@journal\expandafter{\@journal@default}%
  7546. \@parse@class@options@\@pointsize
  7547. \expandafter\@process@pointsize\expandafter{\@pointsize@default}%
  7548. \@options
  7549. \rtx@require@packages
  7550. \setup@hook
  7551. \endinput
  7552. %%
  7553. %% End of file `revtex4-1.cls'.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top