%% %% This is file `revtex4.cls', %% generated with the docstrip utility. %% %% The original source files were: %% %% revtex4.dtx (with options: `class-pre') %% ltxutil.dtx (with options: `ltxutil-krn') %% ltxgrid.dtx (with options: `ltxgrid-krn') %% textcase.dtx (with options: `package') %% revtex4.dtx (with options: `class-pst') %% %% This file is part of the APS files in the REVTeX 4 distribution. %% For the version number, search on the string %% Original version by David Carlisle %% Modified by Arthur Ogawa (mailto:ogawa@teleport.com) %% %% Copyright (c) 1999 The American Physical Society. %% http://publish.aps.org/revtex4/ %% mailto:revtex4@aps.org %% %% See the REVTeX 4 README file for restrictions and more information. %% \NeedsTeXFormat{LaTeX2e}[1996/12/01] \ProvidesClass{revtex4} [2001/08/03 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo \def\class@name{revtex4}% \GenericInfo{}{\space Copyright (c) 2001 The American Physical Society.^^J mailto:revtex@aps.org^^J Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J Arthur Ogawa ^^J Based on work by David Carlisle % \@gobble }% \if@compatibility \edef\reserved@a{\errhelp{% Change your \string\documentstyle\space statement to \string\documentclass\space and rerun. }}\reserved@a \errmessage{You cannot run \class@name\space in compatability mode}% \expandafter\@@end \fi \let\DeclareOption@latex\DeclareOption \let\DeclareOption\@gobbletwo \let\ProcessOptions@latex\ProcessOptions \let\ProcessOptions\@empty \let\ProvidesPackage@latex\ProvidesPackage \def\ProvidesPackage#1[#2]{% \class@info{Incorporating package #1 [#2].}% }% \typeout{% ltxutil: portions licensed from W. E. Baxter (web@superscript.com)% }% \def\class@err#1{\ClassError{\class@name}{#1}\@eha}% \def\class@warn#1{\ClassWarningNoLine{\class@name}{#1}}% \def\class@info#1{\ClassInfo{\class@name}{#1}}% \def\obsolete@command#1{% \class@warn@end{Command \string#1\space is obsolete.^^JPlease remove from your document}% \global\let#1\@empty #1% }% \def\replace@command#1#2{% \class@warn@end{Command \string#1\space is obsolete;^^JUse \string#2\space instead}% \global\let#1#2% #1% }% \def\replace@environment#1#2{% \class@warn@end{Environment #1 is obsolete;^^JUse #2 instead}% \glet@environment{#1}{#2}% \@nameuse{#1}% }% \def\incompatible@package#1{% \@ifpackageloaded{#1}{% \def\@tempa{I cannot continue. You must remove the \string\usepackage\ statement that caused that package to be loaded.}% \ClassError{\class@name}{The #1 package cannot be used with \class@name}% \@tempa\stop }{% \class@info{#1 was not loaded (OK!)}% }% }% \def\class@warn@end#1{% \gappdef\class@enddocumenthook{\class@warn{#1}}% }% \AtEndOfClass{% \@ifxundefined\class@name{\def\class@name{Generic Class}}{}% }% \def\t@{to}% \dimendef\dimen@iii\thr@@ \def\halignt@{\halign\t@}% \chardef\f@ur=4\relax \chardef\cat@letter=11\relax \chardef\other=12\relax \def\let@environment#1#2{% \expandafter\let \csname#1\expandafter\endcsname\csname#2\endcsname \expandafter\let \csname end#1\expandafter\endcsname\csname end#2\endcsname }% \def\glet@environment#1#2{% \global\expandafter\let \csname#1\expandafter\endcsname\csname#2\endcsname \global\expandafter\let \csname end#1\expandafter\endcsname\csname end#2\endcsname }% \newcommand\tracingplain{% \tracingonline\z@\tracingcommands\z@\tracingstats\z@ \tracingpages\z@\tracingoutput\z@\tracinglostchars\@ne \tracingmacros\z@\tracingparagraphs\z@\tracingrestores\z@ \showboxbreadth5\showboxdepth3\relax %\errorstopmode }% \newcommand\traceoutput{% \appdef\@resetactivechars{\showoutput}% }% \newcommand\say[1]{\typeout{<\noexpand#1=\meaning#1>}}% \newcommand\saythe[1]{\typeout{<\noexpand#1=\the#1>}}% \def\fullinterlineskip{\prevdepth\z@}% \countdef\count@i\@ne \countdef\count@ii\tw@ \long\def\prepdef#1#2{% \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% \toks@ii{#2}% \edef#1{\the\toks@ii\the\toks@}% }% \long\def\appdef#1#2{% \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% \toks@ii{#2}% \edef#1{\the\toks@\the\toks@ii}% }% \long\def\gappdef#1#2{% \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% \toks@ii{#2}% \global\edef#1{\the\toks@\the\toks@ii}% }% \long\def\appdef@val#1#2{% \appdef#1{{#2}}% }% \long\def\appdef@e#1#2{% \expandafter\appdef \expandafter#1% \expandafter{#2}% }% \long\def\appdef@eval#1#2{% \expandafter\appdef@val \expandafter#1% \expandafter{#2}% }% \toksdef\toks@ii=\tw@ \long\def\@ifxundefined#1{\@ifx{\undefined#1}}% \long\def\@ifnotrelax#1#2#3{\@ifx{\relax#1}{#3}{#2}}% \long\def\@argswap#1#2{#2#1}% \long\def\@argswap@val#1#2{#2{#1}}% \def\@ifxundefined@cs#1{\expandafter\@ifx\expandafter{\csname#1\endcsname\relax}}% \def\@boolean#1#2{% \long\def#1{% #2% \if \expandafter\true@sw \else \expandafter\false@sw \fi }% }% \def\@boole@def#1#{\@boolean{#1}}% Implicit #2 \def\@booleantrue#1{\let#1\true@sw}% \def\@booleanfalse#1{\let#1\false@sw}% \@boole@def\@ifx#1{\ifx#1}% \@boole@def\@ifx@empty#1{\ifx\@empty#1}% \@boole@def\@if@empty#1{\if!#1!}% \def\@if@sw#1#2{#1\expandafter\true@sw\else\expandafter\false@sw#2}% \@boole@def\@ifdim#1{\ifdim#1}% \@boole@def\@ifeof#1{\ifeof#1}% \@boole@def\@ifhbox#1{\ifhbox#1}% \@boole@def\@ifhmode{\ifhmode}% \@boole@def\@ifinner{\ifinner}% \@boole@def\@ifmmode{\ifmmode}% \@boole@def\@ifnum#1{\ifnum#1}% \@boole@def\@ifodd#1{\ifodd#1}% \@boole@def\@ifvbox#1{\ifvbox#1}% \@boole@def\@ifvmode{\ifvmode}% \@boole@def\@ifvoid#1{\ifvoid#1}% \long\def\true@sw#1#2{#1}% \long\def\false@sw#1#2{#2}% \long\def\loopuntil#1{#1{}{\loopuntil{#1}}}% \long\def\loopwhile#1{#1{\loopwhile{#1}}{}}% \def\@provide#1{% \@ifx{\undefined#1}{\true@sw}{\@ifx{\relax#1}{\true@sw}{\false@sw}}% {\def#1}{\def\j@nk}% }% \prepdef\document{% \endgroup \init@documenthook \set@typesize@hook \normalsize \set@pica@hook \true@sw{}% }% \def\init@documenthook{}% \AtBeginDocument{% \class@documenthook }% \AtEndDocument{% \class@enddocumenthook }% \def\class@documenthook{}% \def\class@enddocumenthook{}% \def\set@typesize@hook{}% \def\set@pica@hook{}% \def\enddocument{% \@enddocumenthook \@checkend{document}% \clear@document \check@aux \deadcycles\z@ \@@end }% \def\clear@document{\clearpage}% \def\check@aux{\do@check@aux}% \def\do@check@aux{% \@if@sw\if@filesw\fi{% \immediate\closeout\@mainaux \let\@setckpt\@gobbletwo \let\@newl@bel\@testdef \@tempswafalse \makeatletter \input\jobname.aux\relax }{}% \@dofilelist \@ifdim{\font@submax >\fontsubfuzz\relax}{% \@font@warning{% Size substitutions with differences\MessageBreak up to \font@submax\space have occured.\@gobbletwo }% }{}% \@defaultsubs \@refundefined \@if@sw\if@filesw\fi{% \@ifx{\@multiplelabels\relax}{% \@if@sw\if@tempswa\fi{% \@latex@warning@no@line{% Label(s) may have changed. Rerun to get cross-references right }% }{}% }{% \@multiplelabels }% }{}% }% \def\flushing{% \let\\\@normalcr \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip \parfillskip\@flushglue }% \def\eqnarray@LaTeX{% \stepcounter{equation}% \def\@currentlabel{\p@equation\theequation}% \global\@eqnswtrue \m@th \global\@eqcnt\z@ \tabskip\@centering \let\\\@eqncr $$\everycr{}\halign\t@\displaywidth\bgroup \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep $\displaystyle{##}$\hfil\tabskip\@centering &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip \cr } \long\def\eqnarray@fleqn@fixed{% \stepcounter{equation}\def\@currentlabel{\p@equation\theequation}% \global\@eqnswtrue\m@th\global\@eqcnt\z@ \tabskip\mathindent \let\\=\@eqncr \setlength\abovedisplayskip{\topsep}% \ifvmode\addtolength\abovedisplayskip{\partopsep}\fi \addtolength\abovedisplayskip{\parskip}% \setlength\belowdisplayskip{\abovedisplayskip}% \setlength\belowdisplayshortskip{\abovedisplayskip}% \setlength\abovedisplayshortskip{\abovedisplayskip}% $$% \everycr{}% \halignt@\linewidth\bgroup \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel &\global\@eqcnt\@ne \hskip\tw@\eqncolsep \hfil${{}##{}}$\hfil &\global\@eqcnt\tw@ \hskip\tw@\eqncolsep $\displaystyle{##}$\hfil\tabskip\@centering &\global\@eqcnt\thr@@\hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip \cr }% \@ifx{\eqnarray\eqnarray@LaTeX}{% \class@info{Repairing broken LaTeX eqnarray}% \let\eqnarray\eqnarray@fleqn@fixed \newlength\eqncolsep \setlength\eqncolsep\z@ \let\eqnarray@LaTeX\relax \let\eqnarray@fleqn@fixed\relax }{}% \def\mathindent{\@centering}% \def\set@eqnarray@skips{}% \def\footnote{% \@ifnextchar[\@xfootnote{\@yfootnote\@footnotetext}% }% \def\footnotemark{% \@ifnextchar[\@xfootnotemark{\@yfootnote}% }% \def\@xfootnote[#1]{% \@xfootnotemark[#1]% \@footnotetext }% \def\@xfootnotemark@ltx[#1]{% \begingroup \csname c@\@mpfn\endcsname #1\relax \unrestored@protected@xdef\@thefnmark{\thempfn}% \endgroup \H@@footnotemark }% \def\@yfootnote{% \stepcounter\@mpfn \protected@xdef\@thefnmark{\thempfn}% \H@@footnotemark }% \appdef\class@documenthook{% \@ifxundefined\H@@footnotemark{% \let\H@@footnotemark\@footnotemark }{}% \let\@xfootnotemark\@xfootnotemark@ltx }% \long\def\@footnotetext{% \insert\footins\bgroup \make@footnotetext }% \long\def\@mpfootnotetext{% \minipagefootnote@pick \make@footnotetext }% \def\make@footnotetext#1{% \reset@font\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth\dp\strutbox \set@footnotewidth \@parboxrestore \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox }% \color@endgroup \minipagefootnote@drop }% \def\set@footnotewidth{% \hsize\columnwidth \linewidth\hsize }% \def\set@footnotewidth@ii{% \hsize\textwidth \advance\hsize\columnsep \divide\hsize\tw@ \advance\hsize-\columnsep \linewidth\hsize }% \def\addtocontents#1#2{% \protected@write\@auxout{% \let \label \@gobble \let \index \@gobble \let \glossary \@gobble \def\({\string\(}% \def\){\string\)}% \def\\{\string\\}% }{\string \@writefile {#1}{#2}}% }% \def\addcontentsline#1#2#3{% \addtocontents{#1}{% \protect\contentsline{#2}{#3}{\thepage}{}% }% }% \def\contentsline#1#2#3#4{% \csname l@#1\endcsname{#2}{#3}% }% \def\label#1{% \@bsphack \protected@write\@auxout{}{% \string\newlabel{#1}{{\@currentlabel}{\thepage}{}{}{}}% }% \@esphack }% \appdef\class@documenthook{% \prepdef\caption{\minipagefootnote@here}% }% \def\minipagefootnote@init{% \setbox\@mpfootins\box\voidb@x }% \def\minipagefootnote@pick{% \global\setbox\@mpfootins\vbox\bgroup \unvbox\@mpfootins }% \def\minipagefootnote@drop{% \egroup }% \def\minipagefootnote@here{% \par \@ifvoid\@mpfootins{}{% \vskip\skip\@mpfootins \fullinterlineskip \@ifinner{% \vtop{\unvcopy\@mpfootins}% {\setbox\z@\lastbox}% }{}% \unvbox\@mpfootins }% }% \def\minipagefootnote@foot{% \@ifvoid\@mpfootins{}{% \insert\footins\bgroup\unvbox\@mpfootins\egroup }% }% \def\endminipage{% \par \unskip \minipagefootnote@here \@minipagefalse %% added 24 May 89 \color@endgroup \egroup \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}% }% \let\@xfloat@LaTeX\@xfloat \def\@xfloat#1[#2]{% \@xfloat@prep \@nameuse{fp@proc@#2}% \@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}% \floats@sw{\@xfloat@LaTeX{#1}[#2]}{\@xfloat@anchored{#1}[]}% }% \def\@xfloat@prep{% \let\footnote\footnote@latex \def\@mpfn{mpfootnote}% \def\thempfn{\thempfootnote}% \c@mpfootnote\z@ \let\@footnotetext\@mpfootnotetext \let\H@@footnotetext\@mpfootnotetext \let\@makefntext\@mpmakefntext }% \appdef\class@documenthook{% \let\footnote@latex\footnote }% \def\@xfloat@anchored#1[#2]{% \def\@captype{#1}% \begin@float@pagebreak \let\end@float\end@float@anchored \let\end@dblfloat\end@float@anchored \hsize\columnwidth \@parboxrestore \@floatboxreset \minipagefootnote@init }% \def\end@float@anchored{% \minipagefootnote@here \par\vskip\z@skip %% \par\vskip\z@ added 15 Dec 87 \par \end@float@pagebreak }% \def\begin@float@pagebreak{\par\addvspace\intextsep}% \def\end@float@pagebreak{\par\addvspace\intextsep}% \def\@mpmakefntext#1{% \parindent=1em \noindent \hb@xt@1em{\hss\@makefnmark}% #1% }% \def\do@if@floats#1#2{% \@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}% \floats@sw{}{% \expandafter\newwrite \csname#1write\endcsname \expandafter\def \csname#1@stream\endcsname{\jobname#2}% \expandafter\immediate \expandafter\openout \csname#1write\endcsname \csname#1@stream\endcsname\relax \@ifxundefined\@float@LaTeX{% \let\@float@LaTeX\@float \let\@dblfloat@LaTeX\@dblfloat \let\@float\write@float \let\@dblfloat\write@floats }{}% \let@environment{#1@float}{#1}% \let@environment{#1@floats}{#1*}% \@ifxundefined@cs{#1@write}{}{% \let@environment{#1}{#1@write}% }% }% }% \def\triggerpar{\leavevmode\@@par}% \def\oneapage{\def\begin@float@pagebreak{\newpage}\def\end@float@pagebreak{\newpage}}% \def\print@float#1#2{% \@ifxundefined@cs{#1write}{}{% \begingroup \@booleanfalse\floats@sw #2% \raggedbottom \def\array@default{v}% floats must \let\@float\@float@LaTeX \let\@dblfloat\@dblfloat@LaTeX \let\trigger@float@par\triggerpar \let@environment{#1}{#1@float}% \let@environment{#1*}{#1@floats}% \expandafter\prepdef\csname#1\endcsname{\trigger@float@par}% \expandafter\prepdef\csname#1*\endcsname{\trigger@float@par}% \@namedef{fps@#1}{h!}% \expandafter\immediate \expandafter\closeout \csname#1write\endcsname \everypar{% \global\let\trigger@float@par\relax \global\everypar{}\setbox\z@\lastbox \@ifxundefined@cs{#1sname}{}{% \begin@float@pagebreak \expandafter\section \expandafter*% \expandafter{% \csname#1sname\endcsname }% }% }% \input{\csname#1@stream\endcsname}% \endgroup \global\expandafter\let\csname#1write\endcsname\relax }% }% \def\write@float#1{\write@@float{#1}{#1}}% \def\endwrite@float{\@Esphack}% \def\write@floats#1{\write@@float{#1*}{#1}}% \def\endwrite@floats{\@Esphack}% \def\write@@float#1#2{% \ifhmode \@bsphack \fi \chardef\@tempc\csname#2write\endcsname \toks@{\begin{#1}}% \def\@tempb{#1}% \expandafter\let\csname end#1\endcsname\endwrite@float \catcode`\^^M\active \@makeother\{\@makeother\}\@makeother\% \write@floatline }% \begingroup \catcode`\[\the\catcode`\{\catcode`\]\the\catcode`\}\@makeother\{\@makeother\}% \gdef\float@end@tag#1\end{#2}#3\@nul[% \def\@tempa[#2]% \@ifx[\@tempa\@tempb][\end[#2]][\write@floatline]% ]% \obeylines% \gdef\write@floatline#1^^M[% \begingroup% \newlinechar`\^^M% \toks@\expandafter[\the\toks@#1]\immediate\write\@tempc[\the\toks@]% \endgroup% \toks@[]% \float@end@tag#1\end{}\@nul% ]% \endgroup \def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi} \def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or 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 y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi} \def\@startsection#1#2#3#4#5#6{% \@startsection@hook \if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse \fi \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace\@tempskipa \fi \@ifstar {\@dblarg{\@ssect@ltx{#1}{#2}{#3}{#4}{#5}{#6}}}% {\@dblarg{\@sect@ltx {#1}{#2}{#3}{#4}{#5}{#6}}}% }% \def\@startsection@hook{}% \class@info {Repairing broken LateX \string\@sect}% \def\@sect@ltx#1#2#3#4#5#6[#7]#8{% \@ifnum{#2>\c@secnumdepth}{% \def\H@svsec{\phantomsection}% \let\@svsec\@empty }{% \H@refstepcounter{#1}% \def\H@svsec{% \phantomsection }% \protected@edef\@svsec{{#1}}% \@ifundefined{@#1cntformat}{% \prepdef\@svsec\@seccntformat }{% \expandafter\prepdef \expandafter\@svsec \csname @#1cntformat\endcsname }% }% \@tempskipa #5\relax \@ifdim{\@tempskipa>\z@}{% \begingroup \interlinepenalty \@M #6{% \@ifundefined{@hangfrom@#1}{\@hang@from}{\csname @hangfrom@#1\endcsname}% {\hskip#3\relax\H@svsec}{\@svsec}{#8}% }% \@@par \endgroup \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}% \addcontentsline{toc}{#1}{% \@ifnum{#2>\c@secnumdepth}{% \protect\numberline{}% }{% \protect\numberline{\csname the#1\endcsname}% }% #8}% }{% \def\@svsechd{% #6{% \@ifundefined{@runin@to@#1}{\@runin@to}{\csname @runin@to@#1\endcsname}% {\hskip#3\relax\H@svsec}{\@svsec}{#8}% }% \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}% \addcontentsline{toc}{#1}{% \@ifnum{#2>\c@secnumdepth}{% \protect\numberline{}% }{% \protect\numberline{\csname the#1\endcsname}% }% #8}% }% }% \@xsect{#5}% }% \def\@hang@from#1#2#3{\@hangfrom{#1#2}#3}% \def\@runin@to #1#2#3{#1#2#3}% \def\@ssect@ltx#1#2#3#4#5#6[#7]#8{% \def\H@svsec{\phantomsection}% \@tempskipa #5\relax \@ifdim{\@tempskipa>\z@}{% \begingroup \interlinepenalty \@M #6{% \@ifundefined{@hangfroms@#1}{\@hang@froms}{\csname @hangfroms@#1\endcsname}% {\hskip#3\relax\H@svsec}{#8}% }% \@@par \endgroup \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}% \addcontentsline{toc}{#1}{\protect\numberline{}#8}% }{% \def\@svsechd{% #6{% \@ifundefined{@runin@tos@#1}{\@runin@tos}{\csname @runin@tos@#1\endcsname}% {\hskip#3\relax\H@svsec}{#8}% }% \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}% \addcontentsline{toc}{#1}{\protect\numberline{}#8}% }% }% \@xsect{#5}% }% \def\@hang@froms#1#2{#1#2}% \def\@runin@tos #1#2{#1#2}% \appdef\init@documenthook{% \providecommand\phantomsection{}% \providecommand\hyper@anchor[1]{}% \providecommand\hyper@last{}% \providecommand\Hy@raisedlink[1]{#1}% \providecommand\hyper@anchorstart[1]{}% \providecommand\hyper@anchorend{}% \providecommand\hyper@linkstart[2]{}% \providecommand\hyper@linkend{}% }% \let\H@refstepcounter\refstepcounter \def\sec@upcase#1{\relax{#1}}% \appdef\class@documenthook{% \@ifpackageloaded{array}{\switch@array}{\switch@tabular}% \prepdef\endtabular{\endtabular@hook}% \@provide\endtabular@hook{}% \prepdef\endarray{\endarray@hook}% \@provide\endarray@hook{}% \providecommand\array@hook{}% \prepdef\@tabular{\tabular@hook}% \@provide\tabular@hook{}% }% \def\switch@tabular{% \let\@array@sw\@array@sw@array \@ifx{\@array\@array@LaTeX}{% \@ifx{\multicolumn\multicolumn@LaTeX}{% \@ifx{\@tabular\@tabular@LaTeX}{% \@ifx{\@tabarray\@tabarray@LaTeX}{% \@ifx{\array\array@LaTeX}{% \@ifx{\endarray\endarray@LaTeX}{% \@ifx{\endtabular\endtabular@LaTeX}{% \@ifx{\@mkpream\@mkpream@LaTeX}{% \@ifx{\@addamp\@addamp@LaTeX}{% \@ifx{\@arrayacol\@arrayacol@LaTeX}{% \@ifx{\@tabacol\@tabacol@LaTeX}{% \@ifx{\@arrayclassz\@arrayclassz@LaTeX}{% \@ifx{\@tabclassiv\@tabclassiv@LaTeX}{% \@ifx{\@arrayclassiv\@arrayclassiv@LaTeX}{% \@ifx{\@tabclassz\@tabclassz@LaTeX}{% \@ifx{\@classv\@classv@LaTeX}{% \@ifx{\hline\hline@LaTeX}{% \@ifx{\@tabularcr\@tabularcr@LaTeX}{% \@ifx{\@xtabularcr\@xtabularcr@LaTeX}{% \@ifx{\@xargarraycr\@xargarraycr@LaTeX}{% \@ifx{\@yargarraycr\@yargarraycr@LaTeX}{% \true@sw }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% {% \class@info{Patching LaTeX tabular.}% }{% \class@info{Unrecognized LaTeX tabular. Please update this document class! (Proceeding with fingers crossed.)}% }% \let\@array\@array@ltx \let\multicolumn\multicolumn@ltx \let\@tabular\@tabular@ltx \let\@tabarray\@tabarray@ltx \let\array\array@ltx \let\endarray\endarray@ltx \let\endtabular\endtabular@ltx \let\@mkpream\@mkpream@ltx \let\@addamp\@addamp@ltx \let\@arrayacol\@arrayacol@ltx \let\@tabacol\@tabacol@ltx \let\@arrayclassz\@arrayclassz@ltx \let\@tabclassiv\@tabclassiv@ltx \let\@arrayclassiv\@arrayclassiv@ltx \let\@tabclassz\@tabclassz@ltx \let\@classv\@classv@ltx \let\hline\hline@ltx \let\@tabularcr\@tabularcr@ltx \let\@xtabularcr\@xtabularcr@ltx \let\@xargarraycr\@xargarraycr@ltx \let\@yargarraycr\@yargarraycr@ltx }% \def\switch@array{% \let\@array@sw\@array@sw@LaTeX \@ifx{\@array\@array@array}{% \@ifx{\@tabular\@tabular@array}{% \@ifx{\@tabarray\@tabarray@array}{% \@ifx{\array\array@array}{% \@ifx{\endarray\endarray@array}{% \@ifx{\endtabular\endtabular@array}{% \@ifx{\@mkpream\@mkpream@array}{% \@ifx{\@classx\@classx@array}{% \@ifx{\insert@column\insert@column@array}{% \@ifx{\@arraycr\@arraycr@array}{% \@ifx{\@xarraycr\@xarraycr@array}{% \@ifx{\@xargarraycr\@xargarraycr@array}{% \@ifx{\@yargarraycr\@yargarraycr@array}{% \true@sw }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }{% \class@info{Patching array package.}% }{% \class@info{Unrecognized array package. Please update this document class! (Proceeding with fingers crossed.)}% }% \let\@array \@array@array@new \let\@@array \@array % Cosi fan tutti \let\@tabular \@tabular@array@new \let\@tabarray \@tabarray@array@new \let\array \array@array@new \let\endarray \endarray@array@new \let\endtabular\endtabular@array@new \let\@mkpream \@mkpream@array@new \let\@classx \@classx@array@new \let\@arrayacol\@arrayacol@ltx \let\@tabacol \@tabacol@ltx \let\insert@column\insert@column@array@new \expandafter\let\csname endtabular*\endcsname\endtabular % Cosi fan tutti \let\@arraycr \@arraycr@new \let\@xarraycr \@xarraycr@new \let\@xargarraycr\@xargarraycr@new \let\@yargarraycr\@yargarraycr@new }% \def\@array@sw@LaTeX{\@ifx{\\\@tabularcr}}% \def\@array@sw@array{\@ifx{\d@llarbegin\begingroup}}% \def\@tabular@LaTeX{% \leavevmode \hbox\bgroup$% \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr \@tabarray }% \def\@tabular@ltx{% \let\@acoll\@tabacoll \let\@acolr\@tabacolr \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr \@tabarray }% \def\@tabular@array{% \leavevmode \hbox\bgroup$% \col@sep\tabcolsep \let\d@llarbegin\begingroup \let\d@llarend\endgroup \@tabarray }% \def\@tabular@array@new{% \let\@acoll\@tabacoll \let\@acolr\@tabacolr \let\@acol\@tabacol \let\col@sep\@undefined \let\d@llarbegin\begingroup \let\d@llarend\endgroup \@tabarray }% \def\@tabarray@LaTeX{% \m@th\@ifnextchar[\@array{\@array[c]}% }% \def\@tabarray@ltx{% \m@th\@ifnextchar[\@array{\expandafter\@array\expandafter[\array@default]}% }% \def\@tabarray@array{% \@ifnextchar[{\@@array}{\@@array[c]}% }% \def\@tabarray@array@new{% \@ifnextchar[{\@@array}{\expandafter\@@array\expandafter[\array@default]}% }% \newcount\intertabularlinepenalty \intertabularlinepenalty=100 \newcount\@tbpen \appdef\samepage{\intertabularlinepenalty\@M}% \def\@tabularcr@LaTeX{{\ifnum 0=`}\fi \@ifstar \@xtabularcr \@xtabularcr}% \def\@tabularcr@ltx{{\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xtabularcr }{\global \@tbpen \intertabularlinepenalty \@xtabularcr }}% \def\@xtabularcr@LaTeX{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr }}% \def\@xtabularcr@ltx{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr \noalign {\penalty \@tbpen }}}% \def\@xargarraycr@LaTeX#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr}% \def\@xargarraycr@ltx#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr \noalign {\penalty \@tbpen }}% \def\@yargarraycr@LaTeX#1{\cr \noalign {\vskip #1}}% \def\@yargarraycr@ltx#1{\cr \noalign {\penalty \@tbpen \vskip #1}}% \def\@arraycr@array{% \relax \iffalse{\fi\ifnum 0=`}\fi \@ifstar \@xarraycr \@xarraycr }% \def\@arraycr@new{% \relax \iffalse{\fi\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xarraycr }{\global \@tbpen \intertabularlinepenalty \@xarraycr }% }% \def\@xarraycr@array{% \@ifnextchar [%] \@argarraycr {\ifnum 0=`{}\fi\cr}% }% \def\@xarraycr@new{% \@ifnextchar [%] \@argarraycr {\ifnum 0=`{}\fi\cr \noalign {\penalty \@tbpen }}% }% \def\@xargarraycr@array#1{% \unskip \@tempdima #1\advance\@tempdima \dp\@arstrutbox \vrule \@depth\@tempdima \@width\z@ \cr }% \def\@xargarraycr@new#1{% \unskip \@tempdima #1\advance\@tempdima \dp\@arstrutbox \vrule \@depth\@tempdima \@width\z@ \cr \noalign {\penalty \@tbpen }% }% \def\@yargarraycr@array#1{% \cr \noalign{\vskip #1}% }% \def\@yargarraycr@new#1{% \cr \noalign{\penalty \@tbpen \vskip #1}% }% \def\array@LaTeX{% \let\@acol\@arrayacol \let\@classz\@arrayclassz \let\@classiv\@arrayclassiv \let\\\@arraycr \let\@halignto\@empty \@tabarray }% \def\array@ltx{% \@ifmmode{}{\@badmath$}% \let\@acoll\@arrayacol \let\@acolr\@arrayacol \let\@acol\@arrayacol \let\@classz\@arrayclassz \let\@classiv\@arrayclassiv \let\\\@arraycr \let\@halignto\@empty \@tabarray }% \def\array@array{% \col@sep\arraycolsep \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\gdef\@halignto{}% \@tabarray } \def\array@array@new{% \@ifmmode{}{\@badmath$}% \let\@acoll\@arrayacol \let\@acolr\@arrayacol \let\@acol\@arrayacol \let\col@sep\@undefined \def\d@llarbegin{$}% \let\d@llarend\d@llarbegin \gdef\@halignto{}% \@tabarray }% \def\@array@LaTeX[#1]#2{% \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi \bgroup \setbox\@arstrutbox\hbox{% \vrule \@height\arraystretch\ht\strutbox \@depth\arraystretch \dp\strutbox \@width\z@}% \@mkpream{#2}% \edef\@preamble{% \ialign \noexpand\@halignto \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}% \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox \let\tabularnewline\\% \let\par\@empty \let\@sharp##% \set@typeset@protect \lineskip\z@skip\baselineskip\z@skip \ifhmode \@preamerr\z@ \@@par\fi \@preamble }% \def\@array@ltx[#1]#2{% \@nameuse{@array@align@#1}% \set@arstrutbox \@mkpream{#2}% \prepdef\@preamble{% \tabskip\tabmid@skip \@arstrut }% \appdef\@preamble{% \tabskip\tabright@skip \cr \array@row@pre }% \let\tabularnewline\\% \let\par\@empty \let\@sharp##% \set@typeset@protect \lineskip\z@skip\baselineskip\z@skip \tabskip\tableft@skip\relax \ifhmode \@preamerr\z@ \@@par\fi \everycr{}% \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble }% \def\set@arstrutbox{% \setbox\@arstrutbox\hbox{% \vrule \@height\arraystretch\ht\strutbox \@depth\arraystretch \dp\strutbox \@width\z@ }% }% \def\@array@array[#1]#2{% \@tempdima \ht \strutbox \advance \@tempdima by\extrarowheight \setbox \@arstrutbox \hbox{\vrule \@height \arraystretch \@tempdima \@depth \arraystretch \dp \strutbox \@width \z@}% \begingroup \@mkpream{#2}% \xdef\@preamble{\noexpand \ialign \@halignto \bgroup \@arstrut \@preamble \tabskip \z@ \cr}% \endgroup \@arrayleft \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi \bgroup \let \@sharp ##\let \protect \relax \lineskip \z@ \baselineskip \z@ \m@th \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble }% \def\@array@array@new[#1]#2{% \@tempdima\ht\strutbox \advance\@tempdima by\extrarowheight \setbox\@arstrutbox\hbox{% \vrule \@height\arraystretch\@tempdima \@depth \arraystretch\dp\strutbox \@width \z@ }% \begingroup \@mkpream{#2}% \xdef\@preamble{\@preamble}% \endgroup \prepdef\@preamble{% \tabskip\tabmid@skip \@arstrut }% \appdef\@preamble{% \tabskip\tabright@skip \cr \array@row@pre }% \@arrayleft \@nameuse{@array@align@#1}% \m@th \let\\\@arraycr \let\tabularnewline\\% \let\par\@empty \let\@sharp##% \set@typeset@protect \lineskip\z@\baselineskip\z@ \tabskip\tableft@skip \everycr{}% \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble }% \def\endarray@LaTeX{% \crcr\egroup\egroup }% \def\endarray@ltx{% \crcr\array@row@pst\egroup\egroup }% \def\endarray@array{% \crcr \egroup \egroup \@arrayright \gdef\@preamble{}% }% \def\endarray@array@new{% \crcr\array@row@pst\egroup\egroup % Same as \endarray@ltx \@arrayright \global\let\@preamble\@empty }% \def\endtabular@LaTeX{% \crcr\egroup\egroup $\egroup }% \def\endtabular@ltx{% \endarray }% \def\endtabular@array{% \endarray $\egroup }% \def\endtabular@array@new{% \endarray }% \@namedef{endtabular*}{\endtabular}% \long\def\multicolumn@LaTeX#1#2#3{% \multispan{#1}\begingroup \@mkpream{#2}% \def\@sharp{#3}\set@typeset@protect \let\@startpbox\@@startpbox\let\@endpbox\@@endpbox \@arstrut \@preamble\hbox{}\endgroup\ignorespaces }% \long\def\multicolumn@ltx#1#2#3{% \multispan{#1}% \begingroup \@mkpream{#2}% \def\@sharp{#3}% \set@typeset@protect %\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox \@arstrut \@preamble \hbox{}% \endgroup \ignorespaces }% \def\@array@align@t{\leavevmode\vtop\bgroup}% \def\@array@align@b{\leavevmode\vbox\bgroup}% \def\@array@align@c{\leavevmode\@ifmmode{\vcenter\bgroup}{$\vcenter\bgroup\aftergroup$\aftergroup\relax}}% \def\@array@align@v{% \@ifmmode{% \@badmath \vcenter\bgroup }{% \@ifinner{% $\vcenter\bgroup\aftergroup$ }{% \@@par\bgroup }% }% }% \def\array@default{c}% \def\array@row@rst{% \let\@array@align@v\@array@align@c }% \def\array@row@pre{}% \def\array@row@pst{}% \newcommand\toprule{\tab@rule{\column@font}{\column@fil}{\frstrut}}% \newcommand\colrule{\unskip\lrstrut\\\tab@rule{\body@font}{}{\frstrut}}% \newcommand\botrule{\unskip\lrstrut\\\noalign{\hline@rule}{}}% \def\hline@LaTeX{% \noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet \reserved@a\@xhline }% \def\hline@ltx{% \noalign{% \ifnum0=`}\fi \hline@rule \futurelet\reserved@a\@xhline % \noalign ended in \@xhline }% \def\@xhline@unneeded{% \say\reserved@a \ifx\reserved@a\hline \vskip\doublerulesep \vskip-\arrayrulewidth \fi \ifnum0=`{\fi}% }% \def\tab@rule#1#2#3{% \crcr \noalign{% \hline@rule \gdef\@arstrut@hook{% \global\let\@arstrut@hook\@empty #3% }% \gdef\cell@font{#1}% \gdef\cell@fil{#2}% }% }% \def\column@font{}% \def\column@fil{}% \def\body@font{}% \def\cell@font{}% \def\frstrut{}% \def\lrstrut{}% \def\@arstrut@hline{% \relax \@ifmmode{\copy}{\unhcopy}\@arstrutbox@hline \@arstrut@hook }% \let\@arstrut@org\@arstrut \def\@arstrut@hook{% \global\let\@arstrut\@arstrut@org }% \newbox\@arstrutbox@hline \appdef\set@arstrutbox{% \setbox\@arstrutbox@hline\hbox{% \setbox\z@\hbox{$0^{0}_{}$}% \dimen@\ht\z@\advance\dimen@\@arstrut@hline@clnc \@ifdim{\dimen@<\arraystretch\ht\strutbox}{\dimen@=\arraystretch\ht\strutbox}{}% \vrule \@height\dimen@ \@depth\arraystretch \dp\strutbox \@width\z@ }% }% \def\hline@rule{% \hrule \@height \arrayrulewidth \global\let\@arstrut\@arstrut@hline }% \def\@arstrut@hline@clnc{2\p@}% % Klootch: magic number \def\tableft@skip{\z@skip}% \def\tabmid@skip{\z@skip}%\@flushglue \def\tabright@skip{\z@skip}% \def\tableftsep{\tabcolsep}% \def\tabmidsep{\tabcolsep}% \def\tabrightsep{\tabcolsep}% \def\cell@fil{}% \def\pbox@hook{}% \appdef\@arstrut{\@arstrut@hook}% \let\@arstrut@hook\@empty \def\@addtopreamble{\appdef\@preamble}% \def\@mkpream@LaTeX#1{% \@firstamptrue\@lastchclass6 \let\@preamble\@empty \let\protect\@unexpandable@protect \let\@sharp\relax \let\@startpbox\relax\let\@endpbox\relax \@expast{#1}% \expandafter\@tfor \expandafter \@nextchar \expandafter:\expandafter=\reserved@a\do {\@testpach\@nextchar \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii \or \@classiv \or\@classv \fi\@lastchclass\@chclass}% \ifcase \@lastchclass \@acol \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi }% \def\@mkpream@ltx#1{% \@firstamptrue \@lastchclass6 \let\@preamble\@empty \let\protect\@unexpandable@protect \let\@sharp\relax \@expast{#1}% \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\reserved@a \do{% \expandafter\@testpach\expandafter{\@nextchar}% \ifcase\@chclass \@classz \or \@classi \or \@classii \or \@classiii \or \@classiv \or \@classv \fi \@lastchclass\@chclass }% \ifcase\@lastchclass \@acolr % right-hand column \or \or \@preamerr\@ne \or \@preamerr\tw@ \or \or \@acolr % right-hand column \fi }% \def\insert@column@array{% \the@toks \the \@tempcnta \ignorespaces \@sharp \unskip \the@toks \the \count@ \relax }% \def\insert@column@array@new{% \the@toks\the\@tempcnta \array@row@rst\cell@font \ignorespaces\@sharp\unskip \the@toks\the\count@ \relax }% \def\@mkpream@relax{% \let\tableftsep\relax \let\tabmidsep\relax \let\tabrightsep\relax \let\array@row@rst\relax \let\cell@font\relax \let\@startpbox\relax }% \def\@mkpream@array#1{% \gdef\@preamble{}\@lastchclass 4 \@firstamptrue \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax \@temptokena{#1}\@tempswatrue \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% \count@\m@ne \let\the@toks\relax \prepnext@tok \expandafter \@tfor \expandafter \@nextchar \expandafter :\expandafter =\the\@temptokena \do {\@testpach \ifcase \@chclass \@classz \or \@classi \or \@classii \or \save@decl \or \or \@classv \or \@classvi \or \@classvii \or \@classviii \or \@classx \or \@classx \fi \@lastchclass\@chclass}% \ifcase\@lastchclass \@acol \or \or \@acol \or \@preamerr \thr@@ \or \@preamerr \tw@ \@addtopreamble\@sharp \or \or \else \@preamerr \@ne \fi \def\the@toks{\the\toks}% }% \def\@mkpream@array@new#1{% \gdef\@preamble{}% \@lastchclass\f@ur \@firstamptrue \let\@sharp\relax \@mkpream@relax \@temptokena{#1}\@tempswatrue \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% \count@\m@ne \let\the@toks\relax \prepnext@tok \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\the\@temptokena \do{% \@testpach \ifcase\@chclass \@classz \or \@classi \or \@classii \or \save@decl \or \or \@classv \or \@classvi \or \@classvii \or \@classviii \or \@classx \or \@classx \fi \@lastchclass\@chclass }% \ifcase\@lastchclass \@acolr % right-hand column \or \or \@acolr % right-hand column \or \@preamerr\thr@@ \or \@preamerr\tw@\@addtopreamble\@sharp \or \or \else \@preamerr\@ne \fi \def\the@toks{\the\toks}% }% \def\@addamp@LaTeX{% \if@firstamp\@firstampfalse\else\edef\@preamble{\@preamble &}\fi }% \def\@addamp@ltx{% \if@firstamp\@firstampfalse\else\@addtopreamble{&}\fi }% \def\@arrayacol@LaTeX{% \edef\@preamble{\@preamble \hskip \arraycolsep}% }% \def\@arrayacol@ltx{% \@addtopreamble{\hskip\arraycolsep}% }% \def\@tabacoll{% \@addtopreamble{\hskip\tableftsep\relax}% }% \def\@tabacol@LaTeX{% \edef\@preamble{\@preamble \hskip \tabcolsep}% }% \def\@tabacol@ltx{% \@addtopreamble{\hskip\tabmidsep\relax}% }% \def\@tabacolr{% \@addtopreamble{\hskip\tabrightsep\relax}% }% \def\@arrayclassz@LaTeX{% \ifcase \@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse \@acol \fi \edef\@preamble{\@preamble \ifcase \@chnum \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil \or \hfil$\relax\@sharp$\fi}% }% \def\@arrayclassz@ltx{% \ifcase\@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse\@acoll \fi \ifcase\@chnum \@addtopreamble{% \hfil\array@row@rst$\relax\@sharp$\hfil }% \or \@addtopreamble{% \array@row@rst$\relax\@sharp$\hfil }% \or \@addtopreamble{% \hfil\array@row@rst$\relax\@sharp$% }% \fi }% \def\@tabclassz@LaTeX{% \ifcase\@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse\@acol \fi \edef\@preamble{% \@preamble{% \ifcase\@chnum \hfil\ignorespaces\@sharp\unskip\hfil \or \hskip1sp\ignorespaces\@sharp\unskip\hfil \or \hfil\hskip1sp\ignorespaces\@sharp\unskip \fi}}% }% \def\@tabclassz@ltx{% \ifcase\@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse\@acoll \fi \ifcase\@chnum \@addtopreamble{% {\hfil\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}% }% \or \@addtopreamble{% {\cell@fil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}% }% \or \@addtopreamble{% {\hfil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\cell@fil}% }% \fi }% \def\@tabclassiv@LaTeX{% \@addtopreamble\@nextchar }% \def\@tabclassiv@ltx{% \expandafter\@addtopreamble\expandafter{\@nextchar}% }% \def\@arrayclassiv@LaTeX{% \@addtopreamble{$\@nextchar$}% }% \def\@arrayclassiv@ltx{% \expandafter\@addtopreamble\expandafter{\expandafter$\@nextchar$}% }% \def\@classv@LaTeX{% \@addtopreamble{\@startpbox{\@nextchar}\ignorespaces \@sharp\@endpbox}% }% \def\@classv@ltx{% \expandafter\@addtopreamble \expandafter{% \expandafter \@startpbox \expandafter {\@nextchar}% \pbox@hook\array@row@rst\cell@font\ignorespaces\@sharp\@endpbox }% }% \def\@classx@array{% \ifcase \@lastchclass \@acolampacol \or \@addamp \@acol \or \@acolampacol \or \or \@acol \@firstampfalse \or \@addamp \fi }% \def\@classx@array@new{% \ifcase \@lastchclass \@acolampacol \or \@addamp \@acol \or \@acolampacol \or \or \@firstampfalse\@acoll \or \@addamp \fi }% \def\@xbitor@LaTeX #1{\@tempcntb \count#1 \ifnum \@tempcnta =\z@ \else \divide\@tempcntb\@tempcnta \ifodd\@tempcntb \@testtrue\fi \fi}% \def\@xbitor@ltx#1{% \@tempcntb\count#1% \@ifnum{\@tempcnta=\z@}{}{% \divide\@tempcntb\@tempcnta \@ifodd\@tempcntb{\@testtrue}{}% }% }% \@ifx{\@xbitor\@xbitor@LaTeX}{% \class@info{Repairing broken LaTeX \string\@xbitor}% }{% \class@info{Unrecognized LaTeX \string\@xbitor. Please update this document class! (Proceeding with fingers crossed.)}% }% \let\@xbitor\@xbitor@ltx \newcommand*\@gobble@opt@one[2][]{}% \def\@starttoc#1{% \begingroup \toc@pre \makeatletter \@input{\jobname.#1}% \if@filesw \expandafter\newwrite\csname tf@#1\endcsname \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax \fi \@nobreakfalse \toc@post \endgroup }% \def\toc@pre{}% \def\toc@post{}% \def\toc@@font{}%{\footnotesize\rmfamily}% \def\@dotsep{\z@}%{5.5pt}% \let\tocdim@section \leftmargini \let\tocdim@subsection \leftmarginii \let\tocdim@subsubsection \leftmarginiii \let\tocdim@paragraph \leftmarginiv \let\tocdim@appendix \leftmarginv \let\tocdim@pagenum \leftmarginvi \def\toc@pre@auto{% \toc@@font \@tempdima\z@ \toc@setindent\@tempdima{section}% \toc@setindent\@tempdima{subsection}% \toc@setindent\@tempdima{subsubsection}% \toc@setindent\@tempdima{paragraph}% \toc@letdimen{appendix}% \toc@letdimen{pagenum}% }% \def\toc@post@auto{% \if@filesw \begingroup \toc@writedimen{section}% \toc@writedimen{subsection}% \toc@writedimen{subsubsection}% \toc@writedimen{paragraph}% \toc@writedimen{appendix}% \toc@writedimen{pagenum}% \endgroup \fi }% \def\toc@setindent#1#2{% \csname tocdim@#2\endcsname\tocdim@min\relax \@ifundefined{tocmax@#2}{\@namedef{tocmax@#2}{\z@}}{}% \advance#1\@nameuse{tocmax@#2}\relax \expandafter\edef\csname tocleft@#2\endcsname{\the#1}% }% \def\toc@letdimen#1{% \csname tocdim@#1\endcsname\tocdim@min\relax \@ifundefined{tocmax@#1}{\@namedef{tocmax@#1}{\z@}}{}% \expandafter\let\csname tocleft@#1\expandafter\endcsname\csname tocmax@#1\endcsname }% \def\toc@writedimen#1{% \immediate\write\@auxout{% \gdef\expandafter\string\csname tocmax@#1\endcsname{% \expandafter\the\csname tocdim@#1\endcsname }% }% }% \def\l@@sections#1#2#3#4{% % #1 - superior section % #2 - this section % #3 - content, including possible \numberline % #4 - page number \begingroup \everypar{}% \set@tocdim@pagenum{#4}% \global\@tempdima\csname tocdim@#2\endcsname \leftskip\csname tocleft@#2\endcsname\relax \dimen@\csname tocleft@#1\endcsname\relax \parindent-\leftskip\advance\parindent\dimen@ \rightskip\tocleft@pagenum plus 1fil\relax \skip@\parfillskip\parfillskip\z@ \let\numberline\numberline@@sections \@nameuse{l@f@#2}% \ignorespaces#3\unskip\nobreak\hskip\skip@ \hb@xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z@skip \par \expandafter\aftergroup\csname tocdim@#2\endcsname\expandafter \endgroup\the\@tempdima\relax }% \def\set@tocdim@pagenum#1{% \setbox\@tempboxa\hbox{\ignorespaces#1}% \@ifdim{\tocdim@pagenum<\wd\z@}{\global\tocdim@pagenum\wd\z@}{}% }% \def\numberline@@sections#1{% \leavevmode\hb@xt@-\parindent{% \hfil \@if@empty{#1}{}{% \setbox\z@\hbox{#1.\kern\@dotsep}% \@ifdim{\@tempdima<\wd\z@}{\global\@tempdima\wd\z@}{}% \unhbox\z@ }% }% \ignorespaces }% \def\tocdim@min{\z@}% \def\list#1#2{% \ifnum \@listdepth >5\relax \@toodeep \else \global\advance\@listdepth\@ne \fi \rightmargin\z@ \listparindent\z@ \itemindent\z@ \csname @list\romannumeral\the\@listdepth\endcsname \def\@itemlabel{#1}% \let\makelabel\@mklab \@nmbrlistfalse #2\relax \@trivlist \parskip\parsep \set@listindent \ignorespaces }% \def\set@listindent@parshape{% \parindent\listparindent \advance\@totalleftmargin\leftmargin \advance\linewidth-\rightmargin \advance\linewidth-\leftmargin \parshape\@ne\@totalleftmargin\linewidth }% \def\set@listindent@{% \parindent\listparindent \advance\@totalleftmargin\leftmargin \advance\rightskip\rightmargin \advance\leftskip\@totalleftmargin }% \let\set@listindent\set@listindent@parshape \typeout{% ltxgrid: portions licensed from W. E. Baxter (web@superscript.com)% }% \newcounter{linecount} \def\lineloop#1{% \loop \ifnum\c@linecount<#1\relax \global\advance\c@linecount\@ne \par \hb@xt@\hsize{% \ifnum\c@linecount<100 0\fi\ifnum\c@linecount<10 0\fi\number\c@linecount \vrule depth2.5\p@ \leaders\hrule\hfil }% \penalty\interlinepenalty \repeat }% \let\@@mark\mark \let\@@topmark\topmark \let\@@firstmark\firstmark \let\@@botmark\botmark \let\@@splitfirstmark\splitfirstmark \let\@@splitbotmark\splitbotmark \def\@themark{{}{}{}{}}% \def\nul@mark{{}{}{}{}\@@nul}% \def\set@mark@netw@#1#2#3#4#5#6#7{\gdef#1{{#6}{#7}{#4}{#5}}\do@mark}% \def\set@marktw@#1#2#3#4#5#6{\gdef#1{{#2}{#6}{#4}{#5}}\do@mark}% \def\set@markthr@@#1#2#3#4#5#6{\gdef#1{{#2}{#3}{#6}{#5}}\do@mark}% \def\get@mark@@ne#1#2#3#4#5\@@nul{#1}% \def\get@mark@tw@#1#2#3#4#5\@@nul{#2}% \def\get@mark@thr@@#1#2#3#4#5\@@nul{#3}% \def\get@mark@f@ur#1#2#3#4#5\@@nul{#4}% \def\mark@netw@{\expandafter\set@mark@netw@\expandafter\@themark\@themark}% \def\marktw@{\expandafter\set@marktw@\expandafter\@themark\@themark}% \def\markthr@@{\expandafter\set@markthr@@\expandafter\@themark\@themark}% \def\do@mark{\do@@mark\@themark\nobreak@mark}% \def\do@@mark#1{% \begingroup \let@mark \@@mark{#1}% \endgroup }% \def\let@mark{% \let\protect\@unexpandable@protect \let\label\relax \let\index\relax \let\glossary\relax }% \def\nobreak@mark{% \@if@sw\if@nobreak\fi{\@ifvmode{\nobreak}{}}{}% }% \def\mark@envir{\markthr@@}% \def\bot@envir{% \expandafter\expandafter \expandafter\get@mark@thr@@ \expandafter\@@botmark \nul@mark }% \def\markboth{\mark@netw@}% \def\markright{\marktw@}% \def\leftmark{% \expandafter\expandafter \expandafter\get@mark@@ne \expandafter\saved@@botmark \nul@mark }% \def\rightmark{% \expandafter\expandafter \expandafter\get@mark@tw@ \expandafter\saved@@firstmark \nul@mark }% \let\primitive@output\output \long\def\@tempa#1\@@nil{#1}% \toks@ \expandafter\expandafter \expandafter{% \expandafter \@tempa \the\output \@@nil }% \newtoks\output \output\expandafter{\the\toks@}% \primitive@output{\dispatch@output}% \def\dispatch@output{% \let\par\@@par \expandafter\let\expandafter\@tempa\csname output@\the\outputpenalty\endcsname \outputdebug@sw{% \saythe\badness \saythe\outputpenalty \saythe\holdinginserts \say\thepagegrid \saythe\pagegrid@col \saythe\pagegrid@cur %\say\bot@envir \saythe\insertpenalties %\say\@@topmark %\say\saved@@topmark %\say\@@firstmark %\say\saved@@firstmark \say\@@botmark %\say\saved@@botmark \saythe\pagegoal \saythe\pagetotal \saythe{\badness\@cclv}% \expandafter\@ifx\expandafter{\csname output@-\the\execute@message@pen\endcsname\@tempa}{% \say\@message@saved }{% \expandafter\say\csname output@\the\outputpenalty\endcsname }% \say\@toplist \say\@botlist \say\@dbltoplist \say\@deferlist {\tracingall\scrollmode \showbox\@cclv \showbox\@cclv@saved \showbox\pagesofar \showbox\footbox \showbox\footins@saved \showbox\footins \showlists }% }{}% \@ifnotrelax\@tempa{\@tempa}{\the\output}% }% \@ifxundefined{\outputdebug@sw}{% \@booleanfalse\outputdebug@sw }{}% \output={\toggle@insert\output@holding\output@moving}% \def\output@holding{% \csname output@init@\bot@envir\endcsname \@if@exceed@pagegoal{\unvcopy\@cclv}{% \setbox\z@\vbox{\unvcopy\@cclv}% \outputdebug@sw{{\tracingall\scrollmode\showbox\z@}}{}% \dimen@\ht\@cclv\advance\dimen@-\ht\z@ \dead@cycle@repair\dimen@ }{% \dead@cycle }% }% \def\@if@exceed@pagegoal#1{% \begingroup \setbox\z@\vbox{#1}% \dimen@\ht\z@\advance\dimen@\dp\z@ \outputdebug@sw{\saythe\dimen@}{}% \@ifdim{\dimen@>\pagegoal}{% \setbox\z@\vbox{\@@mark{}\unvbox\z@}% \splittopskip\topskip \splitmaxdepth\maxdepth \vbadness\@M \vfuzz\maxdimen \setbox\tw@\vsplit\z@ to\pagegoal \outputdebug@sw{{\tracingall\scrollmode\showbox\tw@\showbox\z@}}{}% \setbox\tw@\vbox{\unvbox\tw@}% \@ifdim{\ht\tw@=\z@}{% \ltxgrid@info{Found overly large chunk while preparing to move insertions. Attempting repairs}% \aftergroup\true@sw }{% \aftergroup\false@sw }% }{% \aftergroup\false@sw }% \endgroup }% %% \item %% Put down the same interrupts as for the non-trivial case above. \def\output@moving{% \set@top@firstmark \@ifnum{\outputpenalty=\do@newpage@pen}{% \setbox\@cclv\vbox{% \unvbox\@cclv \setbox\z@\lastbox \@ifdim{\ht\z@=\ht\@protection@box}{\box\lastbox}{\unskip}% }% }{}% \@cclv@nontrivial@sw{% \csname output@prep@\bot@envir \endcsname \@makecol\csname output@column@\thepagegrid\endcsname \protect@penalty\do@startcolumn@pen \clearpage@sw{% \protect@penalty\do@endpage@pen }{}% \csname output@post@\bot@envir \endcsname }{% {\setbox\z@\box\@cclv}% }% \set@colroom \global\@mparbottom\z@ \global\@textfloatsheight\z@ %FIXME: this legacy LaTeX variable is set, but never queried! }% \def\@cclv@nontrivial@sw{% \@ifx@empty\@toplist{% \@ifx@empty\@botlist{% \@ifvoid\footins{% \@ifvoid\@cclv{% \false@sw }{% \setbox\z@\vbox{\unvcopy\@cclv}% \@ifdim{\ht\z@=\topskip}{% \setbox\z@\vbox{% \unvbox\z@ \setbox\z@\lastbox\dimen@\lastskip\unskip \@ifdim{\ht\z@=\ht\@protection@box}{% \advance\dimen@\ht\z@ \@ifdim{\dimen@=\topskip}{% \aftergroup\true@sw }{% \aftergroup\false@sw }% }{% \aftergroup\false@sw }% }% {% \false@sw % Normal for \clearpage }{% \true@sw }% }{% \@ifdim{\ht\z@=\z@}{% \ltxgrid@info{Found trivial column. Discarding it}% \outputdebug@sw{{\tracingall\scrollmode\showbox\@cclv}}{}% \false@sw }{% \true@sw }% }% }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }% \def\protect@penalty#1{\protection@box\penalty-#1\relax}% \newbox\@protection@box \setbox\@protection@box\vbox to1986sp{\vfil}% \def\protection@box{\nointerlineskip\copy\@protection@box}% \def\dead@cycle@repair#1{% \expandafter\do@@mark \expandafter{% \@@botmark }% \unvbox\@cclv \nointerlineskip \vbox to#1{\vss}% \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% }% \def\dead@cycle@repair@protected#1{% \expandafter\do@@mark \expandafter{% \@@botmark }% \begingroup \unvbox\@cclv \setbox\z@\lastbox % Remove protection box \nointerlineskip \advance#1-\ht\@protection@box \vbox to#1{\vss}% \protection@box % Reinsert protection box \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% \endgroup }% \def\dead@cycle{% \expandafter\do@@mark \expandafter{% \@@botmark }% \unvbox\@cclv \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% }% \def\output@init@document{% \@ifvoid\footbox{}{% \global\advance\vsize-\ht\footbox \global\advance\vsize-\dp\footbox }% }% \def\output@prep@document{% \@ifvoid\footbox{}{% \setbox\footins\vbox{\unvbox\footbox\unvbox\footins}% }% }% \def\output@post@document{}% \let\@opcol\@undefined \def\@makecol{% \setbox\@outputbox\vbox{% \boxmaxdepth\@maxdepth \@tempdima\dp\@cclv \unvbox\@cclv \vskip-\@tempdima }% \xdef\@freelist{\@freelist\@midlist}\global\let\@midlist\@empty \@combinefloats \@combineinserts\@outputbox\footins \set@adj@colht\dimen@ \count@\vbadness \vbadness\@M \setbox\@outputbox\vbox to\dimen@{% \@texttop \dimen@\dp\@outputbox \unvbox\@outputbox \vskip-\dimen@ \@textbottom }% \vbadness\count@ \global\maxdepth\@maxdepth }% \let\@makespecialcolbox\@undefined \def\@combineinserts#1#2{% \setbox#1\vbox{% \unvbox#1% \vbox{% \@ifvoid#2{}{% \vskip\skip\footins \color@begingroup \normalcolor \footnoterule \nointerlineskip \box#2% \color@endgroup }{}% }% }% }% \appdef\@floatplacement{% \global\@fpmin\@fpmin }% \mathchardef\pagebreak@pen=\@M \expandafter\let\csname output@-\the\pagebreak@pen\endcsname\relax \mathchardef\do@startcolumn@pen=10005 \@namedef{output@-\the\do@startcolumn@pen}{\do@startcolumn}% \def\do@startcolumn{% \setbox\@cclv\vbox{\unvbox\@cclv\setbox\z@\lastbox\unskip}% \clearpage@sw{\@clearfloatplacement}{\@floatplacement}% \set@colroom \@booleanfalse\pfloat@avail@sw \begingroup \@colht\@colroom \@booleanfalse\float@avail@sw \@tryfcolumn\test@colfloat \float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}% \endgroup \fcolmade@sw{% \setbox\@cclv\vbox{\unvbox\@outputbox\unvbox\@cclv}% \outputpenalty-\pagebreak@pen % ask for a return visit, this time with insertions and all. \dead@cycle }{% \begingroup \let\@elt\@scolelt \let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b \endgroup \clearpage@sw{% \outputpenalty\@M }{% \outputpenalty\do@newpage@pen }% \dead@cycle }% \check@deferlist@stuck\do@startcolumn \set@vsize }% \def\@scolelt#1{\def\@currbox{#1}\@addtonextcol}% \def\test@colfloat#1{% \csname @floatselect@sw@\thepagegrid\endcsname#1{}{\@testtrue}% \@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}% }% \def\@addtonextcol{% \begingroup \@insertfalse \@setfloattypecounts \csname @floatselect@sw@\thepagegrid\endcsname\@currbox{% \@ifnum{\@fpstype=8 }{}{% \@ifnum{\@fpstype=24 }{}{% \@flsettextmin \@reqcolroom \ht\@currbox \advance \@reqcolroom \@textmin \advance \@reqcolroom \vsize % take into account split insertions \advance \@reqcolroom -\pagegoal \@ifdim{\@colroom>\@reqcolroom}{% \@flsetnum \@colnum \@ifnum{\@colnum>\z@}{% \@bitor\@currtype\@deferlist \@if@sw\if@test\fi{}{% \@addtotoporbot }% }{}% }{}% }% }% }{}% \@if@sw\if@insert\fi{}{% \@cons\@deferlist\@currbox }% \endgroup }% \mathchardef\do@startpage@pen=10006 \@namedef{output@-\the\do@startpage@pen}{\do@startpage}% \def\do@startpage{% \setbox\@cclv\vbox{\unvbox\@cclv\setbox\z@\lastbox\unskip}% \clearpage@sw{\@clearfloatplacement}{\@dblfloatplacement}% \set@colht \@booleanfalse\pfloat@avail@sw \begingroup \@booleanfalse\float@avail@sw \@tryfcolumn\test@dblfloat \float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}% \endgroup \fcolmade@sw{% \global\setbox\pagesofar\vbox{\unvbox\pagesofar\unvbox\@outputbox}% \@combinepage \@combinedblfloats \@outputpage \global\pagegrid@cur\@ne \protect@penalty\do@startpage@pen }{% \begingroup \@booleanfalse\float@avail@sw \let\@elt\@sdblcolelt \let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b \endgroup \@ifdim{\@colht=\textheight}{% No luck... \pfloat@avail@sw{% ...but a float *was* available! \forcefloats@sw{% \ltxgrid@warn{Forced dequeueing of floats stalled}% }{% \ltxgrid@warn{Dequeueing of floats stalled}% }% }{}% }{}% \outputpenalty\@M \dead@cycle }% \check@deferlist@stuck\do@startpage \set@colht }% \def\@sdblcolelt#1{\def\@currbox{#1}\@addtodblcol}% \def\test@dblfloat#1{% \@if@notdblfloat{#1}{\@testtrue}{}% \@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}% }% \def\@if@notdblfloat#1{\@ifdim{\wd#1<\textwidth}}% \@booleanfalse\forcefloats@sw \def\@addtodblcol{% \begingroup \@if@notdblfloat{\@currbox}{% \false@sw }{% \@setfloattypecounts \@getfpsbit \tw@ \@bitor \@currtype \@deferlist \@if@sw\if@test\fi{% \false@sw }{% \@ifodd\@tempcnta{% \aftergroup\@booleantrue\aftergroup\float@avail@sw \@flsetnum \@dbltopnum \@ifnum{\@dbltopnum>\z@}{% \@ifdim{\@dbltoproom>\ht\@currbox}{% \true@sw }{% \@ifnum{\@fpstype<\sixt@@n}{% \begingroup \advance \@dbltoproom \@textmin \@ifdim{\@dbltoproom>\ht\@currbox}{% \endgroup\true@sw }{% \endgroup\false@sw }% }{% \false@sw }% }% }{% \false@sw }% }{% \false@sw }% }% }% {% \@tempdima -\ht\@currbox \advance\@tempdima -\@ifx{\@dbltoplist\@empty}{\dbltextfloatsep}{\dblfloatsep}% \global \advance \@dbltoproom \@tempdima \global \advance \@colht \@tempdima \global \advance \@dbltopnum \m@ne \@cons \@dbltoplist \@currbox }{% \@cons \@deferlist \@currbox }% \endgroup }% \def\@tryfcolumn#1{% \global\@booleanfalse\fcolmade@sw \@ifx@empty\@deferlist{}{% \global\let\@trylist\@deferlist \global\let\@failedlist\@empty \begingroup \dimen@\vsize\advance\dimen@-\pagegoal\@ifdim{\dimen@>\z@}{% \advance\@fpmin-\dimen@ }{}% \def\@elt{\@xtryfc#1}\@trylist \endgroup \fcolmade@sw{% \global\setbox\@outputbox\vbox{\vskip \@fptop}% \let \@elt \@wtryfc \@flsucceed \global\setbox\@outputbox\vbox{\unvbox\@outputbox \unskip \vskip \@fpbot }% \let \@elt \relax \xdef\@deferlist{\@failedlist\@flfail}% \xdef\@freelist{\@freelist\@flsucceed}% }{}% }% }% \def\@wtryfc #1{% \global\setbox\@outputbox\vbox{\unvbox\@outputbox \box #1\vskip\@fpsep }% }% \def\@xtryfc#1#2{% \@next\reserved@a\@trylist{}{}% trim \@trylist. Ugly! \@currtype \count #2% \divide\@currtype\@xxxii\multiply\@currtype\@xxxii \@bitor \@currtype \@failedlist \@testfp #2% #1#2% \@ifdim{\ht #2>\@colht }{\@testtrue}{}% \@if@sw\if@test\fi{% \@cons\@failedlist #2% }{% \begingroup \gdef\@flsucceed{\@elt #2}% \global\let\@flfail\@empty \@tempdima\ht #2% \def \@elt {\@ztryfc#1}\@trylist \@ifdim{\@tempdima >\@fpmin}{% \global\@booleantrue\fcolmade@sw }{% \@cons\@failedlist #2% }% \endgroup \fcolmade@sw{% \let \@elt \@gobble }{}% }% }% \def\@ztryfc #1#2{% \@tempcnta \count#2% \divide\@tempcnta\@xxxii\multiply\@tempcnta\@xxxii \@bitor \@tempcnta {\@failedlist \@flfail}% \@testfp #2% #1#2% \@tempdimb\@tempdima \advance\@tempdimb \ht#2\advance\@tempdimb\@fpsep \@ifdim{\@tempdimb >\@colht}{% \@testtrue }{}% \@if@sw\if@test\fi{% \@cons\@flfail #2% }{% \@cons\@flsucceed #2% \@tempdima\@tempdimb }% }% \def\newpage@prep{% \if@noskipsec \ifx \@nodocument\relax \leavevmode \global \@noskipsecfalse \fi \fi \if@inlabel \leavevmode \global \@inlabelfalse \fi \if@nobreak \@nobreakfalse \everypar{}\fi \par }% \def \newpage {% \newpage@prep \do@output@MVL{% \vfil \penalty-\pagebreak@pen }% }% \def\clearpage{% \newpage@prep \do@output@MVL{% \vfil \penalty-\pagebreak@pen \global\@booleantrue\clearpage@sw \protect@penalty\do@startcolumn@pen \protect@penalty\do@endpage@pen }% \do@output@MVL{% \global\@booleanfalse\clearpage@sw }% }% \def\cleardoublepage{% \clearpage \@if@sw\if@twoside\fi{% \@ifodd\c@page{}{% \null\clearpage }% }{}% }% \@booleanfalse\clearpage@sw \mathchardef\do@endpage@pen=10007 \@namedef{output@-\the\do@endpage@pen}{% \csname end@column@\thepagegrid\endcsname }% \mathchardef\do@newpage@pen=10001 \expandafter\let\csname output@-\the\do@newpage@pen\endcsname\relax \def\@clearfloatplacement{% \global\@topnum \maxdimen % \c@topnumber \global\@toproom \maxdimen % \topfraction\@colht \global\@botnum \maxdimen % \c@bottomnumber \global\@botroom \maxdimen % \bottomfraction\@colht \global\@colnum \maxdimen % \c@totalnumber \global\@dbltopnum \maxdimen % \c@dbltopnumber \global\@dbltoproom \maxdimen % \dbltopfraction\@colht \global\@textmin \z@ % \@colht\advance \@textmin -\@dbltoproom \global\@fpmin \z@ % \dblfloatpagefraction\textheight \let\@testfp\@gobble \appdef\@setfloattypecounts{\@fpstype16\advance\@fpstype\m@ne}% }% \let\@doclearpage\@undefined \let\@makefcolumn\@undefined \def\clr@top@firstmark{% \global\let\saved@@topmark\@undefined \global\let\saved@@firstmark\@empty \global\let\saved@@botmark\@empty }% \clr@top@firstmark \def\set@top@firstmark{% \@ifxundefined\saved@@topmark{\expandafter\gdef\expandafter\saved@@topmark\expandafter{\@@topmark}}{}% \@if@empty\saved@@firstmark{\expandafter\gdef\expandafter\saved@@firstmark\expandafter{\@@firstmark}}{}% \@if@empty\@@botmark{}{\expandafter\gdef\expandafter\saved@@botmark\expandafter{\@@botmark}}% }% \appdef\@outputpage{% \clr@top@firstmark }% \def\@float#1{% \@ifnextchar[{%}]{%Brace-matching klootch \@yfloat\width@float{#1}% }{% \@ifxundefined@cs{fps@#1}{% \edef\reserved@a{\noexpand\@yfloat\noexpand\width@float{#1}[\csname fps@\endcsname]}\reserved@a }{% \edef\reserved@a{\noexpand\@yfloat\noexpand\width@float{#1}[\csname fps@#1\endcsname]}\reserved@a }% }% }% \def\@dblfloat#1{% \@ifnum{\pagegrid@col=\@ne}{% \@float{#1}% }{% \@ifnextchar[{%}]{%Brace-matching klootch \@yfloat\widthd@float{#1}% }{% \@ifxundefined@cs{fpsd@#1}{% \edef\reserved@a{\noexpand\@yfloat\noexpand\widthd@float{#1}[\csname fpsd@\endcsname]}\reserved@a }{% \edef\reserved@a{\noexpand\@yfloat\noexpand\widthd@float{#1}[\csname fpsd@#1\endcsname]}\reserved@a }% }% }% }% \def\@yfloat#1#2[#3]{% \@xfloat{#2}[#3]% \hsize#1\linewidth\hsize \minipagefootnote@init }% \def\fps@{tbp}% \def\fpsd@{tp}% \def\width@float{\columnwidth}% \def\widthd@float{\textwidth}% \def\end@float{% \end@@float{% \check@currbox@count }% }% \def\end@dblfloat{% \@ifnum{\pagegrid@col=\@ne}{% \end@float }{% \end@@float{% \@boxfpsbit\@currbox{1}\@ifodd\@tempcnta{\global\advance\count\@currbox\m@ne}{}% \@boxfpsbit\@currbox{4}\@ifodd\@tempcnta{\global\advance\count\@currbox-4\relax}{}% \global\wd\@currbox\textwidth % Klootch \check@currbox@count }% }% }% \def\end@@float#1{% \minipagefootnote@here \@endfloatbox #1% \@ifnum{\@floatpenalty <\z@}{% \@largefloatcheck \@cons\@currlist\@currbox \@ifnum{\@floatpenalty <-\@Mii}{% \do@output@cclv{\@add@float}% }{% \vadjust{\do@output@cclv{\@add@float}}% \@Esphack }% }{}% }% \def\check@currbox@count{% \@ifnum{\count\@currbox>\z@}{% \count@\count\@currbox\divide\count@\sixt@@n\multiply\count@\sixt@@n \@tempcnta\count\@currbox\advance\@tempcnta-\count@ \@ifnum{\@tempcnta=\z@}{% \ltxgrid@warn{Float cannot be placed}% }{}% }{% % Is a \marginpar }% }% \providecommand\minipagefootnote@init{}% \providecommand\minipagefootnote@here{}% \let\@specialoutput\@undefined \def\@add@float{% \@pageht\ht\@cclv\@pagedp\dp\@cclv \unvbox\@cclv \@next\@currbox\@currlist{% \csname @floatselect@sw@\thepagegrid\endcsname\@currbox{% \@ifnum{\count\@currbox>\z@}{% \advance \@pageht \@pagedp \advance \@pageht \vsize \advance \@pageht -\pagegoal % do not assume \holdinginserts is cleared! \@addtocurcol % Commit an h float }{% \@addmarginpar }% }{% \@resethfps \@cons\@deferlist\@currbox }% }{\@latexbug}% \@ifnum{\outputpenalty<\z@}{% \@if@sw\if@nobreak\fi{% \nobreak }{% \addpenalty \interlinepenalty }% }{}% \set@vsize }% \let\@reinserts\@undefined \def \@addtocurcol {% \@insertfalse \@setfloattypecounts \ifnum \@fpstype=8 \else \ifnum \@fpstype=24 \else \@flsettextmin \advance \@textmin \@textfloatsheight \@reqcolroom \@pageht \ifdim \@textmin>\@reqcolroom \@reqcolroom \@textmin \fi \advance \@reqcolroom \ht\@currbox \ifdim \@colroom>\@reqcolroom \@flsetnum \@colnum \ifnum \@colnum>\z@ \@bitor\@currtype\@deferlist \if@test \else \@bitor\@currtype\@botlist \if@test \@addtobot \else \ifodd \count\@currbox \advance \@reqcolroom \intextsep \ifdim \@colroom>\@reqcolroom \global \advance \@colnum \m@ne \global \advance \@textfloatsheight \ht\@currbox \global \advance \@textfloatsheight 2\intextsep \@cons \@midlist \@currbox \if@nobreak \nobreak \@nobreakfalse \everypar{}% \else \addpenalty \interlinepenalty \fi \vskip \intextsep \unvbox\@currbox %AO \penalty\interlinepenalty \vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi \outputpenalty \z@ \@inserttrue \fi \fi \if@insert \else \@addtotoporbot \fi \fi \fi \fi \fi \fi \fi \if@insert \else \@resethfps \@cons\@deferlist\@currbox \fi }% \@twocolumnfalse \let\@twocolumntrue\@twocolumnfalse \def\@addmarginpar{% \@next\@marbox\@currlist{% \@cons\@freelist\@marbox\@cons\@freelist\@currbox }\@latexbug \setbox\@marbox\hb@xt@\columnwidth{% \csname @addmarginpar@\thepagegrid\endcsname{% \hskip-\marginparsep\hskip-\marginparwidth \box\@currbox }{% \hskip\columnwidth\hskip\marginparsep \box\@marbox }% \hss }% \setbox\z@\box\@currbox \@tempdima\@mparbottom \advance\@tempdima -\@pageht \advance\@tempdima\ht\@marbox \@ifdim{\@tempdima >\z@}{% \@latex@warning@no@line {Marginpar on page \thepage\space moved}% }{% \@tempdima\z@ }% \global\@mparbottom\@pageht \global\advance\@mparbottom\@tempdima \global\advance\@mparbottom\dp\@marbox \global\advance\@mparbottom\marginparpush \advance\@tempdima -\ht\@marbox \global\setbox \@marbox \vbox {\vskip \@tempdima \box \@marbox}% \global \ht\@marbox \z@ \global \dp\@marbox \z@ \kern -\@pagedp \nointerlineskip \box\@marbox \nointerlineskip \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}% }% \newenvironment{turnpage}{% \def\width@float{\textheight}% \def\widthd@float{\textheight}% \appdef\@endfloatbox{% \@ifxundefined\@currbox{% \ltxgrid@warn{Cannot rotate! Not a float}% }{% \setbox\@currbox\vbox to\textwidth{\vfil\unvbox\@currbox\vfil}% \global\setbox\@currbox\vbox{\rotatebox{90}{\box\@currbox}}% }% }% }{% }% \def\rotatebox@dummy#1#2{% \ltxgrid@warn{You must load the graphics or graphicx package in order to use the turnpage environment}% #2% }% \AtBeginDocument{% \@ifxundefined\rotatebox{\let\rotatebox\rotatebox@dummy}{}% }% \@namedef{output@-1073741824}{%"40000000 \deadcycles\z@ \setbox\z@\box\@cclv }% \mathchardef\save@column@pen=10016 \@namedef{output@-\the\save@column@pen}{\save@column}% \let \@cclv@saved \@holdpg \let \@holdpg \@undefined \def\save@column{% \@ifvoid\@cclv@saved{% \set@top@firstmark \global\@topmark@saved\expandafter{\@@topmark}% }{}% \global\setbox\@cclv@saved\vbox{% \@ifvoid\@cclv@saved{}{% \unvbox\@cclv@saved \marry@baselines }% \unvbox\@cclv \lose@breaks \setbox\z@\lastbox }% }% \newtoks\@topmark@saved \def\prep@cclv{% \setbox\z@\box\@cclv \setbox\@cclv\box\@cclv@saved \vbadness\@M }% \mathchardef\save@column@insert@pen=10017 \@namedef{output@-\the\save@column@insert@pen}{\toggle@insert\savecolumn@holding\savecolumn@moving}% \def\savecolumn@holding{% \@if@exceed@pagegoal{\unvcopy\@cclv\setbox\z@\lastbox}{% \setbox\z@\vbox{\unvcopy\@cclv\setbox\z@\lastbox}% \outputdebug@sw{{\tracingall\scrollmode\showbox\z@}}{}% \dimen@\ht\@cclv\advance\dimen@-\ht\z@ \dead@cycle@repair@protected\dimen@ }{% \dead@cycle }% }% \def\savecolumn@moving{% \@cclv@nontrivial@sw{% \save@column }{% {\setbox\z@\box\@cclv}% }% \@ifvoid\footins{}{% \outputdebug@sw{{\tracingall\scrollmode\showbox\footins}}{}% \global\setbox\footins@saved\vbox{\unvbox\footins@saved\marry@baselines\unvbox\footins}% \protect@penalty\save@column@insert@pen }% }% \newbox\footins@saved \mathchardef\save@message@pen=10018 \@namedef{output@-\the\save@message@pen}{\save@message}% \def\save@message{% \setbox\z@\box\@cclv %FIXME: what if \box\@cclv is not empty? \toks@\expandafter{\@@firstmark}% \expandafter\gdef\expandafter\@message@saved\expandafter{\the\toks@}% \expandafter\do@@mark\expandafter{\the\@topmark@saved}% }% \gdef\@message@saved{}% \mathchardef\execute@message@pen=10019 \@namedef{output@-\the\execute@message@pen}{\@message@saved}% \def\execute@message{% \@execute@message\save@column@pen %Implicit #2 }% \def\execute@message@insert#1{% \@execute@message\save@column@insert@pen{\setbox\footins\box\footins@saved#1}% }% \long\def\@execute@message#1#2{% \begingroup \dimen@\prevdepth\@ifdim{\dimen@<\z@}{\dimen@\z@}{}% \setbox\z@\vbox{% \protect@penalty#1% \protection@box \toks@{\prep@cclv#2}% \@@mark{\the\toks@}% \penalty-\save@message@pen \setbox\z@\null\dp\z@\dimen@\ht\z@-\dimen@ \nointerlineskip\box\z@ \penalty-\execute@message@pen }\unvbox\z@ \endgroup }% \def\do@output@cclv{\execute@message}% \def\do@output@MVL#1{% \@ifvmode{% \begingroup\execute@message{\unvbox\@cclv#1}\endgroup }{% \@ifhmode{% \vadjust{\execute@message{\unvbox\@cclv#1}}% }{% \@latexerr{\string\do@output@MVL\space cannot be executed in this mode!}\@eha }% }% }% \def\lose@breaks{% \loopwhile{% \count@\lastpenalty \@ifnum{\count@=\@M}{% 10000 is a TeX magic number! \unpenalty\true@sw }{% \false@sw }% }% }% \def\removestuff{\do@output@MVL{\unskip\unpenalty}}% \def\removephantombox{% \vadjust{% \execute@message{% \unvbox\@cclv \setbox\z@\lastbox \unskip \unskip \unpenalty \penalty\predisplaypenalty \vskip\abovedisplayskip }% }% }% \def\addstuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@addstuff{#1}{#2}}}\@tempa}% \def\@addstuff#1#2{% \skip@\lastskip\unskip \count@\lastpenalty\unpenalty \@if@empty{#1}{}{\penalty#1\relax}% \@ifnum{\count@=\z@}{}{\penalty\count@}% \vskip\skip@ \@if@empty{#2}{}{\vskip#2\relax}% }% \def\replacestuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@replacestuff{#1}{#2}}}\@tempa}% \def\@replacestuff#1#2{% \skip@\lastskip\unskip \count@\lastpenalty\unpenalty \@if@empty{#1}{}{% \@ifnum{\count@>\@M}{}{% \@ifnum{\count@=\z@}{\count@=#1\relax}{% \@ifnum{\count@<#1\relax}{}{% \count@=#1\relax }% }% }% }% \@ifnum{\count@=\z@}{}{\penalty\count@}% \@if@empty{#2}{}{% \@tempskipa#2\relax \@ifdim{\z@>\@tempskipa}{% \advance\skip@-\@tempskipa }{% \@ifdim{\skip@>\@tempskipa}{}{% \skip@\@tempskipa }% }% }% \vskip\skip@ }% \def\move@insertions{\global\holdinginserts\z@}% \def\hold@insertions{\global\holdinginserts\@ne}% \hold@insertions \def\move@insert@sw{\@ifnum{\holdinginserts=\z@}}% \def\toggle@insert#1#2{% \@ifnum{\holdinginserts=\z@}{\hold@insertions#2}{\move@insertions#1}% }% \def\do@columngrid#1#2{% \par \expandafter\let\expandafter\@tempa\csname open@column@#1\endcsname \@ifx{\relax\@tempa}{% \ltxgrid@warn{Unknown page grid #1. No action taken}% }{% \do@output@MVL{\start@column{#1}{#2}}% }% }% \def\start@column#1#2{% \def\@tempa{#1}\@ifx{\@tempa\thepagegrid}{% \ltxgrid@info{Already in page grid \thepagegrid. No action taken}% }{% \expandafter\execute@message@insert \expandafter{% \csname shut@column@\thepagegrid\expandafter\endcsname \csname open@column@#1\endcsname{#2}% \set@vsize }% }% }% \def\thepagegrid{one}% \newbox\pagesofar \newbox\footbox \newcommand\onecolumngrid{\do@columngrid{one}{\@ne}}% \let\onecolumn\@undefined \def\open@column@one#1{% \unvbox\pagesofar \gdef\thepagegrid{one}% \global\pagegrid@col#1% \global\pagegrid@cur\@ne \set@colht \set@column@hsize\pagegrid@col }% \def\shut@column@one{% \@makecol \global\setbox\pagesofar\vbox{\unvbox\@outputbox\recover@footins}% \set@colht }% \def\float@column@one{% \@makecol \@outputpage }% \def\end@column@one{% \unvbox\@cclv\setbox\z@\lastbox \protect@penalty\do@newpage@pen }% \def\output@column@one{% \@outputpage }% \def\@addmarginpar@one{% \@if@sw\if@mparswitch\fi{% \@ifodd\c@page{\false@sw}{\true@sw}% }{\false@sw}{% \@if@sw\if@reversemargin\fi{\false@sw}{\true@sw}% }{% \@if@sw\if@reversemargin\fi{\true@sw}{\false@sw}% }% }% \def\@floatselect@sw@one#1{\true@sw}% \def\onecolumngrid@push{% \do@output@MVL{% \@ifnum{\pagegrid@col=\@ne}{% \global\let\restorecolumngrid\@empty }{% \xdef\restorecolumngrid{% \noexpand\start@column{\thepagegrid}{\the\pagegrid@col}% }% \start@column{one}{\@ne}% }% }% }% \def\onecolumngrid@pop{% \do@output@MVL{\restorecolumngrid}% }% \newcommand\twocolumngrid{\do@columngrid{mlt}{\tw@}}% \let\twocolumn\@undefined \let\@topnewpage\@undefined \def\open@column@mlt#1{% \gdef\thepagegrid{mlt}% \global\pagegrid@col#1% \global\pagegrid@cur\@ne \set@column@hsize\pagegrid@col \set@colht }% \def\shut@column@mlt{% \@cclv@nontrivial@sw{% \@makecol \@ifnum{\pagegrid@cur<\pagegrid@col}{% \expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox \global\advance\pagegrid@cur\@ne }{}% }{% {\setbox\z@\box\@cclv}% }% \@ifnum{\pagegrid@cur>\@ne}{% \csname balance@\the\pagegrid@col\endcsname \grid@column{}% \@combinepage \@combinedblfloats \global\setbox\pagesofar\box\@outputbox }{}% \set@colht }% \def\float@column@mlt{% \@combinepage \@combinedblfloats \@outputpage \global\pagegrid@cur\@ne \protect@penalty\do@startpage@pen }% \def\end@column@mlt{% \@ifx@empty\@toplist{% \@ifx@empty\@botlist{% \@ifx@empty\@dbltoplist{% \@ifx@empty\@deferlist{% \@ifnum{\pagegrid@cur=\@ne}{% \false@sw }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% % true = kick out a column and try again {% \@cclv@nontrivial@sw{% \unvbox\@cclv\setbox\z@\lastbox }{% \unvbox\@cclv\setbox\z@\lastbox\unskip\null }% \protect@penalty\do@newpage@pen \protect@penalty\do@endpage@pen }{% \unvbox\@cclv\setbox\z@\lastbox }% }% \def\output@column@mlt{% \@ifnum{\pagegrid@cur<\pagegrid@col}{% \expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox \global\advance\pagegrid@cur\@ne }{% \set@adj@colht\dimen@ \grid@column{}%{\dimen@}% \@combinepage \@combinedblfloats \@outputpage \global\pagegrid@cur\@ne \protect@penalty\do@startpage@pen }% }% \let\@outputdblcol\@undefined \def\@floatselect@sw@mlt#1{\@if@notdblfloat{#1}}% \def\@addmarginpar@mlt{% emits a boolean \@ifnum{\pagegrid@cur=\@ne}% }% \let\pagegrid@cur\col@number \let\col@number\@undefined \newcount\pagegrid@col \pagegrid@cur\@ne \expandafter\let\csname col@\the\pagegrid@cur\endcsname\@leftcolumn \let\@leftcolumn\@undefined \pagegrid@col\tw@ \def\pagegrid@init{% \advance\pagegrid@cur\@ne \@ifnum{\pagegrid@cur<\pagegrid@col}{% \csname newbox\expandafter\endcsname\csname col@\the\pagegrid@cur\endcsname \pagegrid@init }{% }% }% \appdef\class@documenthook{% \pagegrid@init }% \def\grid@column#1{% \global\setbox\@outputbox\vbox{% \hb@xt@\textwidth{% \vrule\@height\z@\@width\z@\@if@empty{#1}{}{\@depth#1}% \pagegrid@cur\@ne \append@column \box@column\@outputbox }% \vskip\z@skip % FIXME: page depth! }% }% \def\append@column{% \@ifnum{\pagegrid@cur<\pagegrid@col}{% \expandafter\box@column\csname col@\the\pagegrid@cur\endcsname \hfil \vrule \@width\columnseprule \hfil \advance\pagegrid@cur\@ne \append@column }{% }% }% \def\box@column#1{% \raise\topskip \hb@xt@\columnwidth{% \dimen@\ht#1\@ifdim{\dimen@>\@colht}{\dimen@\@colht}{}% \count@\vbadness\vbadness\@M \dimen@ii\vfuzz\vfuzz\maxdimen \outputdebug@sw{\saythe\@colht\saythe\dimen@}{}% \vtop to\dimen@ {\hrule\@height\z@ \unvbox#1% \raggedcolumn@skip }% \vfuzz\dimen@ii \vbadness\count@ \hss }% }% \def\marry@baselines{% \vskip\marry@skip\relax }% \gdef\marry@skip{\z@skip}% \def\set@marry@skip{% \begingroup \skip@\baselineskip\advance\skip@-\topskip \@ifdim{\skip@>\z@}{% \xdef\marry@skip{\the\skip@}% }{}% \endgroup }% \AtBeginDocument{% \@ifxundefined\raggedcolumn@sw{\@booleanfalse\raggedcolumn@sw}{}% }% \def\raggedcolumn@skip{% \vskip\z@\raggedcolumn@sw{\@plus.0001fil\@minus.0001fil}{}\relax }% \def\@combinepage{% \@ifvoid\pagesofar{}{% \setbox\@outputbox\vbox{% \unvbox\pagesofar \marry@baselines \unvbox\@outputbox }% }% \@ifvoid\footbox{}{% \setbox\@outputbox\vbox{% \unvbox\@outputbox \marry@baselines \unvbox\footbox }% }% }% \def\@combinedblfloats{% \@ifx@empty\@dbltoplist{}{% \setbox\@tempboxa\vbox{}% \let\@elt\@comdblflelt\@dbltoplist \let\@elt\relax\xdef\@freelist{\@freelist\@dbltoplist}% \global\let\@dbltoplist\@empty \setbox\@outputbox\vbox{% %\boxmaxdepth\maxdepth %% probably not needed, CAR \unvbox\@tempboxa\unskip \@ifnum{\@dbltopnum>\m@ne}{\dblfigrule}{}%FIXME: how is \@dbltopnum maintained? \vskip\dbltextfloatsep \unvbox\@outputbox }% }% }% \def\set@column@hsize#1{% \pagegrid@col#1% \global\columnwidth\textwidth \global\advance\columnwidth\columnsep \global\divide\columnwidth\pagegrid@col \global\advance\columnwidth-\columnsep \global\hsize\columnwidth \global\linewidth\columnwidth \skip@\baselineskip\advance\skip@-\topskip \@ifnum{\pagegrid@col>\@ne}{\set@marry@skip}{}% }% \def\set@colht{% \set@adj@textheight\@colht \global\let\enlarge@colroom\@empty \set@colroom }% \def\set@adj@textheight#1{% #1\textheight \def\@elt{\adj@page#1}% \@booleantrue\firsttime@sw\@dbltoplist \let\@elt\relax \global#1#1\relax \outputdebug@sw{\saythe#1}{}% }% \def\set@colroom{% \set@adj@colht\@colroom \@if@empty\enlarge@colroom{}{% \global\advance\@colroom\enlarge@colroom\relax }% \outputdebug@sw{\saythe\@colroom}{}% \@ifdim{\@colroom>\topskip}{}{% \ltxgrid@info{Not enough room: \string\@colroom=\the\@colroom; increasing to \the\topskip}% \@colroom\topskip }% \global\@colroom\@colroom \set@vsize }% \def\set@vsize{% \global\vsize\@colroom \outputdebug@sw{\saythe\vsize}{}% }% \def\set@adj@colht#1{% #1\@colht \@ifvoid\pagesofar{}{% \advance#1-\ht\pagesofar\advance#1-\dp\pagesofar }% \@ifvoid\footbox{}{% \advance#1-\ht\footbox\advance#1-\dp\footbox }% \def\@elt{\adj@column#1}% \@booleantrue\firsttime@sw\@toplist \@booleantrue\firsttime@sw\@botlist \let\@elt\relax \outputdebug@sw{\saythe#1}{}% }% \def\adj@column#1#2{% \advance#1-\ht#2% \advance#1-\firsttime@sw{\textfloatsep\@booleanfalse\firsttime@sw}{\floatsep}% }% \def\adj@page#1#2{% \advance#1-\ht#2% \advance#1-\firsttime@sw{\dbltextfloatsep\@booleanfalse\firsttime@sw}{\dblfloatsep}% }% \appdef\@outputpage{% \set@colht % FIXME: needed? \@floatplacement % FIXME: needed? \@dblfloatplacement % FIXME: needed? }% \@namedef{balance@2}{% \expandafter\balance@two\csname col@1\endcsname\@outputbox % Avoid a bug by preventing a restore when leaving this group \global\setbox\csname col@1\endcsname\box\csname col@1\endcsname \@ifvoid\footbox{}{% \global\setbox\footbox\vbox{% \setbox\z@\box\@tempboxa \let\recover@footins\relax \balance@two\footbox\@tempboxa \hb@xt@\textwidth{\box\footbox\hfil\box\@tempboxa}% }% }% }% \def\balance@two#1#2{% \outputdebug@sw{{\tracingall\scrollmode\showbox#1\showbox#2}}{}% \setbox\@ne\vbox{% \@ifvoid#1{}{% \unvcopy#1\recover@footins \@ifvoid#2{}{\marry@baselines}% }% \@ifvoid#2{}{% \unvcopy#2\recover@footins }% }% \dimen@\ht\@ne\divide\dimen@\tw@ \dimen@i\dimen@ \vbadness\@M \vfuzz\maxdimen \loopwhile{% \dimen@i=.5\dimen@i \outputdebug@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}% \setbox\z@\copy\@ne\setbox\tw@\vsplit\z@ to\dimen@ \setbox\z@ \vbox{% \unvcopy\z@ \setbox\z@\vbox{\unvbox\z@ \setbox\z@\lastbox\aftergroup\vskip\aftergroup-\expandafter}\the\dp\z@\relax }% \setbox\tw@\vbox{% \unvcopy\tw@ \setbox\z@\vbox{\unvbox\tw@\setbox\z@\lastbox\aftergroup\vskip\aftergroup-\expandafter}\the\dp\z@\relax }% \dimen@ii\ht\tw@\advance\dimen@ii-\ht\z@ \@ifdim{\dimen@i>.5\p@}{% \advance\dimen@\@ifdim{\dimen@ii<\z@}{}{-}\dimen@i \true@sw }{% \@ifdim{\dimen@ii<\z@}{% \advance\dimen@\tw@\dimen@i \true@sw }{% \false@sw }% }% }% \outputdebug@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}% \@ifdim{\ht\z@=\z@}{% \@ifdim{\ht\tw@=\z@}{% \true@sw }{% \false@sw }% }{% \true@sw }% {% }{% \ltxgrid@info{Unsatifactorily balanced columns: giving up}% \setbox\tw@\box#1% \setbox\z@ \box#2% }% \setbox\tw@\vbox{\unvbox\tw@\vskip\z@skip}% \setbox\z@ \vbox{\unvbox\z@ \vskip\z@skip}% \set@colroom \dimen@\ht\z@\@ifdim{\dimen@<\ht\tw@}{\dimen@\ht\tw@}{}% \@ifdim{\dimen@>\@colroom}{\dimen@\@colroom}{}% \outputdebug@sw{\saythe{\ht\z@}\saythe{\ht\tw@}\saythe\@colroom\saythe\dimen@}{}% \setbox#1\vbox to\dimen@{\unvbox\tw@\unskip\raggedcolumn@skip}% \setbox#2\vbox to\dimen@{\unvbox\z@ \unskip\raggedcolumn@skip}% \outputdebug@sw{{\tracingall\scrollmode\showbox#1\showbox#2}}{}% }% \def\recover@footins{% \skip\z@ \lastskip\unskip \skip\@ne\lastskip\unskip \setbox\z@\lastbox \@ifvbox\z@{% \setbox\z@\vbox{% \unvbox\z@ \setbox\z@\lastbox \@ifvoid\z@{}{% \global\setbox\footbox\vbox{% \unvbox\footbox \@ifvbox\z@{% \unvbox\z@ }{% \box\z@ }% }% }% }% }{}% \outputdebug@sw{{\tracingall\scrollmode\showbox\footbox}}{}% }% \prepdef\@begindocumenthook{% \open@column@one\@ne \set@colht \@floatplacement \@dblfloatplacement }% \def\longtable@longtable{% \par \ifx\multicols\@undefined\else\ifnum\col@number>\@ne\@twocolumntrue\fi\fi \if@twocolumn\LT@err{longtable not in 1-column mode}\@ehc\fi \begingroup \@ifnextchar[\LT@array{\LT@array[x]}% }% \def\longtable@new{% \par \@ifnextchar[\LT@array{\LT@array[x]}% }% \def\endlongtable@longtable{% \crcr \noalign{% \let\LT@entry\LT@entry@chop \xdef\LT@save@row{\LT@save@row}}% \LT@echunk \LT@start \unvbox\z@ \LT@get@widths \if@filesw {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% \gdef\expandafter\noexpand \csname LT@\romannumeral\c@LT@tables\endcsname {\LT@save@row}}}% \fi \ifx\LT@save@row\LT@@save@row \else \LT@warn{Column \@width s have changed\MessageBreak in table \thetable}% \LT@final@warn \fi \endgraf\penalty -\LT@end@pen \endgroup \global\@mparbottom\z@ \pagegoal\vsize \endgraf\penalty\z@\addvspace\LTpost \ifvoid\footins\else\insert\footins{}\fi }% \def\endlongtable@new{% \crcr \noalign{% \let\LT@entry\LT@entry@chop \xdef\LT@save@row{\LT@save@row}% }% \LT@echunk \LT@start \unvbox\z@ \LT@get@widths \@if@sw\if@filesw\fi{% {% \let\LT@entry\LT@entry@write \immediate\write\@auxout{% \gdef\expandafter\noexpand\csname LT@\romannumeral\c@LT@tables\endcsname {\LT@save@row}% }% }% }{}% \@ifx\LT@save@row\LT@@save@row{}{% \LT@warn{% Column \@width s have changed\MessageBreak in table \thetable }\LT@final@warn }% \endgraf \nobreak \box\@ifvoid\LT@lastfoot{\LT@foot}{\LT@lastfoot}% \global\@mparbottom\z@ \endgraf \LT@post }% \def\LT@start@longtable{% \let\LT@start\endgraf \endgraf \penalty\z@ \vskip\LTpre \dimen@\pagetotal \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi \advance\dimen@ \ht\LT@foot \dimen@ii\vfuzz\vfuzz\maxdimen \setbox\tw@\copy\z@ \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox \setbox\tw@\vbox{\unvbox\tw@}% \vfuzz\dimen@ii \advance\dimen@ \ht \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi \advance\dimen@\dp \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi \advance\dimen@ -\pagegoal \ifdim \dimen@>\z@\vfil\break\fi \global\@colroom\@colht \ifvoid\LT@foot\else \advance\vsize-\ht\LT@foot \global\advance\@colroom-\ht\LT@foot \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ \maxdepth\z@ \fi \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi \output{\LT@output}% }% \def\LT@start@new{% \let\LT@start\endgraf \endgraf \markthr@@{}% \LT@pre \@ifvoid\LT@firsthead{\LT@top}{\box\LT@firsthead\nobreak}% \mark@envir{longtable}% }% \def\LT@end@hd@ft@longtable#1{% \LT@echunk \ifx\LT@start\endgraf \LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}% \fi \setbox#1\box\z@ \LT@get@widths\LT@bchunk }% \def\LT@end@hd@ft@new#1{% \LT@echunk \@ifx{\LT@start\endgraf}{% \LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}% }% \global\setbox#1\box\z@ \LT@get@widths \LT@bchunk }% \def\LT@array@longtable[#1]#2{% \refstepcounter{table}\stepcounter{LT@tables}% \if l#1% \LTleft\z@ \LTright\fill \else\if r#1% \LTleft\fill \LTright\z@ \else\if c#1% \LTleft\fill \LTright\fill \fi\fi\fi \let\LT@mcol\multicolumn \let\LT@@tabarray\@tabarray \let\LT@@hl\hline \def\@tabarray{% \let\hline\LT@@hl \LT@@tabarray}% \let\\\LT@tabularcr\let\tabularnewline\\% \def\newpage{\noalign{\break}}% \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption \@tempdima\ht\strutbox \let\@endpbox\LT@endpbox \ifx\extrarowheight\@undefined \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \def\@startpbox{\vtop\LT@startpbox}% \let\@@startpbox\@startpbox \let\@@endpbox\@endpbox \let\LT@LL@FM@cr\@tabularcr \else \advance\@tempdima\extrarowheight \col@sep\tabcolsep \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr \fi \setbox\@arstrutbox\hbox{\vrule \@height \arraystretch \@tempdima \@depth \arraystretch \dp \strutbox \@width \z@}% \let\@sharp##\let\protect\relax \begingroup \@mkpream{#2}% \xdef\LT@bchunk{% \global\advance\c@LT@chunks\@ne \global\LT@rows\z@\setbox\z@\vbox\bgroup \LT@setprevdepth \tabskip\LTleft\halign to\hsize\bgroup \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}% \endgroup \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols \LT@make@row \m@th\let\par\@empty \everycr{}\lineskip\z@\baselineskip\z@ \LT@bchunk }% \def\LT@LR@l{\LTleft\z@ \LTright\fill}% \def\LT@LR@r{\LTleft\fill \LTright\z@ }% \def\LT@LR@c{\LTleft\fill \LTright\fill}% \def\LT@array@new[#1]#2{% \refstepcounter{table}\stepcounter{LT@tables}% \table@hook \LTleft\fill \LTright\fill \csname LT@LR@#1\endcsname \let\LT@mcol\multicolumn \let\LT@@hl\hline \prepdef\@tabarray{\let\hline\LT@@hl}% \let\\\LT@tabularcr \let\tabularnewline\\% \def\newpage{\noalign{\break}}% \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% \let\hline\LT@hline \let\kill\LT@kill \let\caption\LT@caption \@tempdima\ht\strutbox \let\@endpbox\LT@endpbox \@ifxundefined\extrarowheight{% \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \def\@startpbox{\vtop\LT@startpbox}% \let\@@startpbox\@startpbox \let\@@endpbox\@endpbox \let\LT@LL@FM@cr\@tabularcr }{% \advance\@tempdima\extrarowheight \col@sep\tabcolsep \let\@startpbox\LT@startpbox \let\LT@LL@FM@cr\@arraycr }% \let\@acoll\@tabacoll \let\@acolr\@tabacolr \let\@acol\@tabacol \setbox\@arstrutbox\hbox{% \vrule \@height \arraystretch \@tempdima \@depth \arraystretch \dp \strutbox \@width \z@ }% \let\@sharp##% \let\protect\relax \begingroup \@mkpream{#2}% \@mkpream@relax \edef\@preamble{\@preamble}% \prepdef\@preamble{% \global\advance\c@LT@chunks\@ne \global\LT@rows\z@ \setbox\z@\vbox\bgroup \LT@setprevdepth \tabskip\LTleft \halign to\hsize\bgroup \tabskip\z@ \@arstrut }% \appdef\@preamble{% \tabskip\LTright \cr }% \global\let\LT@bchunk\@preamble \endgroup \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols \LT@make@row \m@th \let\par\@empty \everycr{}% \lineskip\z@ \baselineskip\z@ \LT@bchunk }% \appdef\table@hook{}% %% Note that it is not enough to define the environment itself; we also have to create the corresponding %% \cmd\output\ routine procedures, which provide for continued footers and headers %% (the very feature of \env{longtable} requiring support in the output routine). %% This same consideration would arise in defining any syntactic extension to \env{longtable}, because %% the environment name itself is exposed in the output routine. \def\switch@longtable{% \@ifpackageloaded{longtable}{% \@ifx{\longtable\longtable@longtable}{% \@ifx{\endlongtable\endlongtable@longtable}{% \@ifx{\LT@start\LT@start@longtable}{% \@ifx{\LT@end@hd@ft\LT@end@hd@ft@longtable}{% \@ifx{\LT@array\LT@array@longtable}{% \true@sw }{\false@sw}% }{\false@sw}% }{\false@sw}% }{\false@sw}% }{\false@sw}% {% \class@info{Patching longtable package}% }{% \class@info{Patching unrecognized longtable package. (Proceeding with fingers crossed)}% }% \let\longtable\longtable@new \let\endlongtable\endlongtable@new \let\LT@start\LT@start@new \let\LT@end@hd@ft\LT@end@hd@ft@new \let\LT@array\LT@array@new \newenvironment{longtable*}{% \onecolumngrid@push \longtable }{% \endlongtable \onecolumngrid@pop }% }{}% }% \def\LT@pre{\penalty\z@\vskip\LTpre}% \def\LT@bot{\nobreak\copy\LT@foot\vfil}% \def\LT@top{\copy\LT@head\nobreak}% \def\LT@post{\penalty\z@\addvspace\LTpost\mark@envir{\curr@envir}}% \def\LT@adj{% \setbox\z@\vbox{\null}\dimen@-\ht\z@ \setbox\z@\vbox{\unvbox\z@\LT@bot}\advance\dimen@\ht\z@ \global\advance\vsize-\dimen@ }% \def\output@init@longtable{\LT@adj}% \def\output@prep@longtable{\setbox\@cclv\vbox{\unvbox\@cclv\LT@bot}}% \def\output@post@longtable{\LT@top}% \let\output@init@theindex\@empty \let\output@prep@theindex\@empty \def\output@post@theindex{% \@ifodd\c@page{}{% \@ifnum{\pagegrid@cur=\@ne}{% we have the leftmost column of a verso page % insert the current top-level continued head }% }% }% \def\check@aux{\do@output@MVL{\do@check@aux}}% \def\check@deferlist@stuck#1{% \@ifx{\@deferlist@postshipout\@empty}{}{% \@ifx{\@deferlist@postshipout\@deferlist}{% \@fltstk \clearpage@sw{% \ltxgrid@warn{Deferred float stuck during \string\clearpage\space processing}% }{% \force@deferlist@stuck#1% }% }{% %Successfully committed float(s) }% \global\let\@deferlist@postshipout\@empty }% }% \def\@fltstk{% \@latex@warning{A float is stuck (cannot be placed without \string\clearpage)}% }% \appdef\@outputpage{% \global\let\@deferlist@postshipout\@deferlist }% \def\@next#1#2{% \@ifx{#2\@empty}{\false@sw}{% \expandafter\@xnext#2\@@#1#2% \true@sw }% }% \def\@xnext\@elt#1#2\@@#3#4{% \def#3{#1}% \gdef#4{#2}% \def\@tempa{#4}\def\@tempb{\@freelist}% \@ifx{\@tempa\@tempb}{% \@ifx{#4\@empty}{% \force@deferlist@empty%{Float register pool exhausted}% }{}% }{}% }% \def\force@deferlist@stuck#1{% \force@deferlist@sw{% \@booleantrue\clearpage@sw \@booleantrue\forcefloats@sw #1% }{% }% }% \def\force@deferlist@empty{% \force@deferlist@sw{% \penalty-\pagebreak@pen \protect@penalty\do@forcecolumn@pen }{% }% }% \@booleanfalse\force@deferlist@sw \mathchardef\do@forcecolumn@pen=10009 \@namedef{output@-\the\do@forcecolumn@pen}{\do@forcecolumn}% \def\do@forcecolumn{% \@booleantrue\clearpage@sw \@booleantrue\forcefloats@sw \do@startcolumn }% \def\enlargethispage{% \@ifstar{% \@enlargethispage{}% }{% \@enlargethispage{}% }% }% \def\@enlargethispage#1#2{% \begingroup \dimen@#2\relax \edef\@tempa{#1}% \edef\@tempa{\noexpand\@@enlargethispage{\@tempa}{\the\dimen@}}% \expandafter\do@output@MVL\expandafter{\@tempa}% \endgroup }% \def\@@enlargethispage#1#2{% \def\@tempa{one}% \@ifx{\thepagegrid\@tempa}{% \true@sw }{% \def\@tempa{mlt}% \@ifx{\thepagegrid\@tempa}{% \@ifnum{\pagegrid@cur=\@ne}{% OK to adjust this page \gdef\enlarge@colroom{#2}% \true@sw }{% Can only adjust this column; give up \ltxgrid@warn{Too late to enlarge this page; move the command to the first column.}% \false@sw }% }{% Unknown page grid \ltxgrid@warn{Unable to enlarge a page of this kind.}% \false@sw }% }% {% \class@info{Enlarging page \thepage\space by #2}% \global\advance\@colroom#2\relax \set@vsize }{% % Could not adjust this page }% }% \let\enlarge@colroom\@empty \let\@kludgeins\@undefined \@booleantrue\textheight@sw \prepdef\@outputpage{% \textheight@sw{% \count@\vbadness\vbadness\@M \dimen@\vfuzz\vfuzz\maxdimen \setbox\@outputbox\vbox to\textheight{\unvbox\@outputbox}% \vfuzz\dimen@ \vbadness\count@ }{}% }% \def\ltxgrid@info{% \ltxgrid@info@sw{\class@info}{\@gobble}% }% \@booleanfalse\ltxgrid@info@sw \def\ltxgrid@warn{% \ltxgrid@warn@sw{\class@warn}{\@gobble}% }% \@booleantrue\ltxgrid@warn@sw %% Source File: textcase.dtx %% Copyright 1997 1998 David Carlisle %% %% This file may be distributed under the terms of the LPPL. %% See 00readme.txt for details. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{textcase} [1998/11/12 v0.06 Text only upper/lower case changing (DPC)] \def\@uclcnotmath#1#2#3#4{\begingroup #1% \def\({$}\let\)\(% \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}% \@nonchangecase\label \@nonchangecase\ref \@nonchangecase\ensuremath \def\cite##1##{\toks@{\noexpand\cite##1}\@citex}% \def\@citex##1{\NoCaseChange{\the\toks@{##1}}}% \def\reserved@a##1##2{\let#2\reserved@a}% \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}% \protected@edef\reserved@a{\endgroup \noexpand\@skipmath#3#4$\valign$}% \reserved@a} \def\@nonchangecase#1{\def#1##1{\NoCaseChange{#1{##1}}}} \let\NoCaseChange\@firstofone \def\@skipmath#1#2$#3${% \@skip@nonchangecase#1#2\NoCaseChange\valign \ifx\valign#3% \else $#3$% \expandafter\@skipmath\expandafter#1% \fi} \def\@skip@nonchangecase#1#2\NoCaseChange#3{% #1{#2}% \ifx\valign#3% \else #3% \expandafter\@skip@nonchangecase\expandafter#1% \fi} \DeclareRobustCommand\MakeTextUppercase{% \@uclcnotmath{\def\i{I}\def\j{J}}{##1##2}\uppercase} \protected@edef\MakeTextUppercase#1{\MakeTextUppercase{#1}} \DeclareRobustCommand\MakeTextLowercase{% \@uclcnotmath{}{##2##1}\lowercase} \protected@edef\MakeTextLowercase#1{\MakeTextLowercase{#1}} \DeclareOption{overload}{% \expandafter\let\csname MakeUppercase \expandafter\endcsname \csname MakeTextUppercase \endcsname \expandafter\let\csname MakeLowercase \expandafter\endcsname \csname MakeTextLowercase \endcsname} \ProcessOptions \let\ProvidesPackage\ProvidesPackage@latex \let\ProcessOptions\ProcessOptions@latex \let\DeclareOption\DeclareOption@latex \expandafter \let\csname MakeUppercase \expandafter\endcsname \csname MakeTextUppercase \endcsname \expandafter \let\csname MakeLowercase \expandafter\endcsname \csname MakeTextLowercase \endcsname \appdef\class@documenthook{% \switch@longtable }% \appdef\class@documenthook{% \expandafter\@ifnotrelax\csname boldmath \endcsname{}{% \expandafter\let\csname boldmath \endcsname\boldmath \expandafter\def\expandafter\boldmath\expandafter{\expandafter\protect\csname boldmath \endcsname}% }% }% \appdef\class@documenthook{% \class@inithook }% \def\class@inithook{}% \appdef\class@inithook{% \@ifxundefined\twocolumn@sw{\@booleanfalse\twocolumn@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\footinbib@sw{\@booleanfalse\footinbib@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\preprintsty@sw{\@booleanfalse\preprintsty@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\preprint@sw{\@booleanfalse\preprint@sw}{}% \preprintsty@sw{\@booleantrue\preprint@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\galley@sw{\@booleanfalse\galley@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\showPACS@sw{\@booleanfalse\showPACS@sw}{}% \@ifxundefined\showKEYS@sw{\@booleanfalse\showKEYS@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\twoside@sw{\@booleanfalse\twoside@sw}{}% \twoside@sw{\@twosidetrue}{\@twosidefalse}% }% \appdef\class@inithook{% \@ifxundefined\draft@sw{\@booleanfalse\draft@sw}{}% \draft@sw{\overfullrule 5\p@}{\overfullrule\z@}% }% \appdef\class@inithook{% \@ifxundefined\tightenlines@sw{\@booleanfalse\tightenlines@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\lengthcheck@sw{\@booleanfalse\lengthcheck@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\eqsecnum@sw{\@booleanfalse\eqsecnum@sw}{}% \eqsecnum@sw{% \@addtoreset{equation}{section}% \def\theequation@prefix{\arabic{section}.}% }{}% }% \appdef\class@inithook{% \@ifxundefined\byrevtex@sw{\@booleanfalse\byrevtex@sw}{}% }% \DeclareOption{checkin}{% \@booleantrue\dateinRH@sw \@booleantrue\preprintsty@sw \def\@pointsize{12}% \@booleantrue\showPACS@sw \@booleantrue\showKEYS@sw \def\fp@proc@h{\allow@breaking@tables}% \def\fp@proc@H{\allow@breaking@tables}% }% \@booleanfalse\dateinRH@sw \def\checkindate{\dateinRH@sw{{\tiny(\today)}}{}}% \def\allow@breaking@tables{% \def\array@default{v}% tabular can break over pages \@booleanfalse\floats@sw % table can break over pages }% \DeclareOption{preprint}{% \@booleantrue\preprintsty@sw \def\@pointsize{12}% }% \DeclareOption{manuscript}{% \class@warn{Document class option manuscript is obsolete; use preprint instead}% \ExecuteOptions{preprint}% }% \DeclareOption{showpacs}{% \@booleantrue\showPACS@sw }% \DeclareOption{noshowpacs}{% \@booleanfalse\showPACS@sw }% \DeclareOption{showkeys}{% \@booleantrue\showKEYS@sw }% \DeclareOption{noshowkeys}{% \@booleanfalse\showKEYS@sw }% \DeclareOption{balancelastpage}{% \@booleantrue\balancelastpage@sw }% \DeclareOption{nobalancelastpage}{% \@booleanfalse\balancelastpage@sw }% \appdef\class@inithook{% \@ifxundefined\balancelastpage@sw{% \@booleantrue\balancelastpage@sw }{}% }% \DeclareOption{nopreprintnumbers}{\@booleanfalse\preprint@sw}% \DeclareOption{preprintnumbers}{\@booleantrue\preprint@sw}% \DeclareOption{hyperref}{% \class@warn{Class option "hyperref" is no longer supported.^^JEmploy \string\usepackage{hyperref} instead}% }% \DeclareOption{10pt}{\def\@pointsize{10}} \DeclareOption{11pt}{\def\@pointsize{11}} \DeclareOption{12pt}{\def\@pointsize{12}} \DeclareOption{a4paper} {\setlength\paperheight {297mm}% \setlength\paperwidth {210mm}} \DeclareOption{a5paper} {\setlength\paperheight {210mm}% \setlength\paperwidth {148mm}} \DeclareOption{b5paper} {\setlength\paperheight {250mm}% \setlength\paperwidth {176mm}} \DeclareOption{letterpaper} {\setlength\paperheight {11in}% \setlength\paperwidth {8.5in}} \DeclareOption{legalpaper} {\setlength\paperheight {14in}% \setlength\paperwidth {8.5in}} \DeclareOption{executivepaper} {\setlength\paperheight {10.5in}% \setlength\paperwidth {7.25in}} \DeclareOption{landscape} {\setlength\@tempdima {\paperheight}% \setlength\paperheight {\paperwidth}% \setlength\paperwidth {\@tempdima}} \DeclareOption{bibnotes}{\@booleantrue\bibnotes@sw}% \DeclareOption{nobibnotes}{\@booleanfalse\bibnotes@sw}% \appdef\class@enddocumenthook{\auto@bib}% \appdef\class@inithook{% \@ifxundefined\bibnotes@sw{\@booleanfalse\bibnotes@sw}{}% \bibnotes@sw{% \let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote }{% \let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote }% }% \DeclareOption{footinbib}{\@booleantrue\footinbib@sw} \DeclareOption{nofootinbib}{\@booleanfalse\footinbib@sw} \DeclareOption{altaffilletter}{\@booleantrue\altaffilletter@sw}% \DeclareOption{altaffilsymbol}{\@booleanfalse\altaffilletter@sw}% \appdef\class@inithook{% \@ifxundefined\altaffilletter@sw{\@booleanfalse\altaffilletter@sw}{}% }% \DeclareOption{superbib}{% \def\place@bibnumber{\place@bibnumber@sup}% }% \DeclareOption{citeautoscript}{% \@booleantrue\citeautoscript@sw }% \@booleanfalse\citeautoscript@sw \DeclareOption{twoside}{\@booleantrue\twoside@sw \@mparswitchfalse} \DeclareOption{oneside}{\@booleanfalse\twoside@sw\@mparswitchtrue} \AtEndOfClass{% \def\clear@document{% \close@column }% \appdef\class@inithook{% \@ifxundefined\close@column{% \let\close@column\close@column@default }{}% }% }% \DeclareOption{twocolumn}{% \@booleantrue\twocolumn@sw }% \DeclareOption{onecolumn}{% \@booleanfalse\twocolumn@sw }% \DeclareOption{galley}{% \ExecuteOptions{onecolumn}% \@booleantrue\galley@sw \appdef\set@pica@hook{% \advance\textwidth-\columnsep \textwidth.5\textwidth }% }% \DeclareOption{raggedbottom}{\@booleantrue\raggedcolumn@sw} \DeclareOption{flushbottom}{\@booleanfalse\raggedcolumn@sw} \DeclareOption{tightenlines}{\@booleantrue\tightenlines@sw} \DeclareOption{lengthcheck}{% \@booleantrue\lengthcheck@sw \@booleantrue\twoside@sw \@booleantrue\twocolumn@sw }% \DeclareOption{draft}{% \@booleantrue\draft@sw }% \DeclareOption{final}{% \@booleanfalse\draft@sw }% \DeclareOption{eqsecnum}{\@booleantrue\eqsecnum@sw} \DeclareOption{secnumarabic}{\@booleantrue\secnumarabic@sw} \DeclareOption{fleqn}{\input{fleqn.clo}} \DeclareOption{floats}{\@booleantrue\floats@sw\@booleanfalse\floatp@sw} \DeclareOption{endfloats}{\@booleanfalse\floats@sw\@booleanfalse\floatp@sw} \DeclareOption{endfloats*}{\@booleanfalse\floats@sw\@booleantrue\floatp@sw} \appdef\class@inithook{% \@ifxundefined\floats@sw{\@booleantrue\floats@sw}{}% \@ifxundefined\floatp@sw{\@booleantrue\floatp@sw}{}% }% \DeclareOption{titlepage}{\@booleantrue\titlepage@sw} \DeclareOption{notitlepage}{\@booleanfalse\titlepage@sw} \appdef\defaults@hook{% \@ifxundefined\titlepage@sw{\@booleanfalse\titlepage@sw}{}% }% \def\change@society#1{% \def\@tempa{#1}% \@ifxundefined\@society{}{% \@ifx{\@tempa\@society}{}{% \class@warn{Conflicting society \@tempa<>\@society.}% }% }% \let\@society\@tempa }% \DeclareOption{aps}{\change@society{aps}\def\@journal{}}% \DeclareOption{pra}{\change@society{aps}\def\@journal{pra}}% \DeclareOption{prb}{\change@society{aps}\def\@journal{prb}}% \DeclareOption{prc}{\change@society{aps}\def\@journal{prc}}% \DeclareOption{prd}{\change@society{aps}\def\@journal{prd}}% \DeclareOption{pre}{\change@society{aps}\def\@journal{pre}}% \DeclareOption{prl}{\change@society{aps}\def\@journal{prl}}% \DeclareOption{prstab}{\change@society{aps}\def\@journal{prstab}}% \DeclareOption{rmp}{\change@society{aps}\def\@journal{rmp}}% \DeclareOption{osa}{\change@society{osa}\def\@journal{}}% \DeclareOption{osameet}{\change@society{osa}\def\@journal{osameet}}% \DeclareOption{opex}{\change@society{osa}\def\@journal{opex}}% \DeclareOption{tops}{\change@society{osa}\def\@journal{tops}}% \DeclareOption{josa}{\change@society{osa}\def\@journal{josa}}% \DeclareOption{amsfonts}{% \def\class@amsfonts{\RequirePackage{amsfonts}}% }% \DeclareOption{noamsfonts}{% \let\class@amsfonts\@empty }% \AtEndOfClass{% \@ifxundefined\class@amsfonts{}{\class@amsfonts}% }% \DeclareOption{amssymb}{% \def\class@amssymb{\RequirePackage{amssymb}}% }% \DeclareOption{noamssymb}{% \let\class@amssymb\@empty }% \AtEndOfClass{% \@ifxundefined\class@amssymb{}{\class@amssymb}% }% \DeclareOption{amsmath}{% \def\class@amsmath{\RequirePackage{amsmath}[\ver@amsmath@prefer]}% }% \DeclareOption{noamsmath}{% \let\class@amsmath\@empty }% \AtEndOfClass{% \preserve@LaTeX \@ifxundefined\class@amsmath{}{\class@amsmath}% \appdef\class@enddocumenthook{\test@amsmath@ver}% }% \appdef\preserve@LaTeX{% \let\@ifl@aded@LaTeX\@ifl@aded \let\@ifpackageloaded@LaTeX\@ifpackageloaded \let\@pkgextension@LaTeX\@pkgextension \let\@ifpackagelater@LaTeX\@ifpackagelater \let\@ifl@ter@LaTeX\@ifl@ter \let\@ifl@t@r@LaTeX\@ifl@t@r \let\@parse@version@LaTeX\@parse@version }% \appdef\restore@LaTeX{% \let\@ifl@aded\@ifl@aded@LaTeX \let\@ifpackageloaded\@ifpackageloaded@LaTeX \let\@pkgextension\@pkgextension@LaTeX \let\@ifpackagelater\@ifpackagelater@LaTeX \let\@ifl@ter\@ifl@ter@LaTeX \let\@ifl@t@r\@ifl@t@r@LaTeX \let\@parse@version\@parse@version@LaTeX }% \def\test@amsmath@ver{% \begingroup \restore@LaTeX \@ifpackageloaded{amsmath}{% \@ifpackagelater{amsmath}{\ver@amsmath@prefer}{}{% \class@warn{% You have loaded amsmath, version "\csname ver@amsmath.sty\endcsname",\MessageBreak but this class requires version "\ver@amsmath@prefer", or later.\MessageBreak Please update your LaTeX installation. }% }% }{% }% \endgroup }% \def\ver@amsmath@prefer{2000/01/15 v2.05 AMS math features}% \DeclareOption{groupedaddress}{\clo@groupedaddress}% \def\clo@groupedaddress{% \@booleantrue\groupauthors@sw \@booleantrue\@affils@sw \@booleanfalse\runinaddress@sw }% \appdef\class@inithook{% \@ifxundefined\groupauthors@sw{\clo@groupedaddress}{}% }% \DeclareOption{unsortedaddress}{\clo@unsortedaddress}% \def\clo@unsortedaddress{% \@booleantrue\groupauthors@sw \@booleanfalse\@affils@sw \@booleanfalse\runinaddress@sw }% \DeclareOption{runinaddress}{\clo@runinaddress}% \def\clo@runinaddress{% \@booleantrue\groupauthors@sw \@booleantrue\@affils@sw \@booleantrue\runinaddress@sw }% \DeclareOption{superscriptaddress}{\clo@superscriptaddress}% \def\clo@superscriptaddress{% \@booleanfalse\groupauthors@sw \@booleantrue\@affils@sw \@booleanfalse\runinaddress@sw }% \DeclareOption{byrevtex}{\@booleantrue\byrevtex@sw}% \DeclareOption{floatfix}{\@booleantrue\force@deferlist@sw}% \DeclareOption{nofloatfix}{\@booleanfalse\force@deferlist@sw}% \appdef\class@inithook{% \@ifxundefined\force@deferlist@sw{\@booleanfalse\force@deferlist@sw}{}% }% \gdef\@fltovf{% \@latex@error{% Too many unprocessed floats% \force@deferlist@sw{}{; try class option [floatfix]}% }\@ehb }% \def\@fltstk{% \@latex@warning{% A float is stuck (cannot be placed)% \force@deferlist@sw{}{; try class option [floatfix]}% }% }% \DeclareOption{ltxgridinfo}{\@booleantrue\ltxgrid@info@sw}% \DeclareOption{outputdebug}{\@booleantrue\outputdebug@sw}% \DeclareOption{raggedfooter}{\@booleanfalse\textheight@sw}% \DeclareOption{noraggedfooter}{\@booleantrue\textheight@sw}% \DeclareOption{newabstract}{\@booleanfalse\oldabstract@sw}% \DeclareOption{oldabstract}{\@booleantrue \oldabstract@sw}% \appdef\class@inithook{% \@ifxundefined\oldabstract@sw{\@booleanfalse\oldabstract@sw}{}% \oldabstract@sw{% \let@environment{abstract}{abstract-old}% }{}% }% \DeclareOption*{% \IfFileExists{\CurrentOption\substyle@ext}{% \expandafter\change@society\expandafter{\CurrentOption}% }{% \OptionNotUsed }% }% \def\substyle@ext{.rtx}% \AtEndOfClass{% \@ifxundefined\@society{% \class@warn{No Society specified, using generic APS style}% \def\@society{aps}\def\@journal{}% }{}% \expandafter\input\expandafter{\@society\substyle@ext}% }% \ExecuteOptions{10pt} \ProcessOptions\relax \def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\sectionmark##1{% \markboth {\MakeUppercase{% \ifnum \c@secnumdepth >\z@ \thesection\quad \fi ##1}}{}}% \def\subsectionmark##1{% \markright {% \ifnum \c@secnumdepth >\@ne \thesubsection\quad \fi ##1}}}% \def\ps@myheadings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\@gobbletwo \let\sectionmark\@gobble \let\subsectionmark\@gobble }% \def\ps@article{% \@provide\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}% \@provide\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}% \@provide\@oddfoot{}% \@provide\@evenfoot{}% \let\@mkboth\markboth \let\sectionmark\@gobble \let\subsectionmark\@gobble }% \def\ps@article@final{% \@provide\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}% \@provide\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}% \@provide\@oddfoot{}% \@provide\@evenfoot{}% \let\@mkboth\markboth \def\sectionmark##1{% \markboth{% \MakeTextUppercase{% \@ifnum{\c@secnumdepth >\z@}{\thesection\hskip 1em\relax}{}% ##1% }% }{}% }% \def\subsectionmark##1{% \markright {% \@ifnum{\c@secnumdepth >\@ne}{\thesubsection\hskip 1em\relax}{}% ##1% }% }% }% \appdef\class@inithook{% }% \def\heading@cr{\unskip\space\ignorespaces}% \def\ps@preprint{% \@provide\@oddfoot{\hfil\thepage\quad\checkindate\hfil}% \@provide\@evenfoot{\hfil\thepage\quad\checkindate\hfil}% \@provide\@oddhead{}% \@provide\@evenhead{}% \let\@mkboth\@gobbletwo \let\sectionmark\@gobble \let\subsectionmark\@gobble }% \let\@oddhead\@undefined \let\@evenhead\@undefined \let\@oddfoot\@undefined \let\@evenfoot\@undefined \AtEndOfClass{% \appdef\class@documenthook{% \@provide\@oddhead{}% \@provide\@evenhead{}% \@provide\@oddfoot{}% \@provide\@evenfoot{}% }% }% \def\lastpage@putlabel{% \if@filesw \begingroup \advance\c@page\m@ne \immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}}}% \endgroup \fi }% \AtEndOfClass{% \appdef\clear@document{% \clearpage \lastpage@putlabel }% }% \RequirePackage{url}% \appdef\class@inithook{% \incompatible@package{cite}% \incompatible@package{multicol}% }% \renewcommand\title[2][]{% \def\@title{#2}% \def\@shorttitle{#1}% \let\@AF@join\@title@join }% \appdef\class@inithook{% \def\@title{\class@warn{No title}}% \let\@shorttitle\@empty \let\@title@aux\@title@aux@cleared }% \def\@title@join{\expandafter\@title@join@\@title@aux}% \def\@title@join@#1#2{% \def\@title@aux{{\@join{\@separator}{#1}{#2}}}% }% \def\@title@aux@cleared{{}}% \newcounter{affil} \renewcommand\author{% implicit #1 \@author@def{}% implicit #2 }% \def\collaboration{% implicit #1 \groupauthors@sw{% \class@warn{% \string\collaboration\space is only allowed with superscriptaddress option. Use superscriptaddress in place of groupedaddress, unsortedaddress, or runinaddress% }% }{}% \@author@def{\@booleantrue\collaboration@sw}% implicit #2 }% \def\@author@cleared{{}{}}% \def\@author@init{% \let\@author\@author@cleared }% \def\@authorclear@sw{\@ifx{\@author\@author@cleared}}% \appdef\class@inithook{% \@author@init }% \def\@author@def#1#2{% \move@AU\move@AF\move@AUAF \let\@AF@join\@author@join #1% \def\@author{{#2}{}}% }% \def\@author@join@#1#2#3{% \def\@author{{#1}{\@join{\@separator}{#2}{#3}}}% }% \def\@author@join{\expandafter\@author@join@\@author}% \def\@author@gobble#1#2{}% \def\move@AU{% \@authorclear@sw{}{% \collaboration@sw{% \expandafter\appdef \expandafter\AU@grp \expandafter{% \expandafter \CO@opr \@author }% }{% \expandafter\appdef \expandafter\AU@grp \expandafter{% \expandafter \AU@opr \@author }% }% }% \@author@init \@booleanfalse\collaboration@sw }% \def\@author@finish{% \move@AU\move@AF \@ifx{\AU@grp\@empty}{}{% \@ifx{\AF@grp\@empty}{% \begingroup \let\href\@secondoftwo \let\AU@opr\@firstoftwo \let\CO@opr\@firstoftwo \class@warn{Assuming \string\noaffiliation\space for \AU@grp}% \endgroup \begingroup\@affiliation{\blankaffiliation}%\endgroup in \@affiliation \move@AF }{}% }% \move@AUAF }% \def\@join#1#2#3{% \@if@empty{#2}{#3}{#2#1#3}% }% \def\@separator{;\space}% \let\surname\@firstofone \let\firstname\@firstofone \let\AU@grp\@empty \renewcommand\and{\class@err{\protect\and\space is not supported}} \def\cat@comma@active{\catcode`\,\active}% {\cat@comma@active\gdef,{\active@comma}}% \def\active@comma{,\penalty-300\relax}% \newcommand\affiliation{% \move@AU\move@AF \begingroup \cat@comma@active \@affiliation }% \def\@affiliation#1{% \endgroup \let\@AF@join\@affil@join \@affil@def{#1}% }% \newcommand\noaffiliation{% \move@AU\move@AF \begingroup\@affiliation{\blankaffiliation}% }% \def\blankaffiliation{}% \def\@affil@cleared{{}{}}% \def\@affil@init{% \let\@affil\@affil@cleared }% \def\@affilclear@sw{\@ifx{\@affil\@affil@cleared}}% \appdef\class@inithook{% \@affil@init }% \def\@affil@def#1{\def\@affil{{#1}{}}}% \def\@affil@join@#1#2#3{% \def\@affil{{#1}{\@join{\@separator}{#2}{#3}}}% }% \def\@affil@join{\expandafter\@affil@join@\@affil}% \def\move@AF{% \@affilclear@sw{}{% \@booleanfalse\temp@sw \let\@tempd\@empty \@affils@sw{% \expandafter\@firstoftwodef\expandafter\@tempa\@affil \def\AFF@opr{\@affil@match\@tempa}% \@AFF@list }{}\temp@sw {% \expandafter\@secondoftwodef\expandafter\@tempb\@affil \@ifx{\@tempb\@empty}{}{% \@ifx{\@tempb\@tempd}{}{% \class@warn{% Ancillary information for \@tempa\space must not be different! Please put it on the first instance% }% }% }% \appdef@eval\AF@grp\@tempc }% {% \@if@empty{\expandafter\@firstoftwo\@affil}{% \edef\@tempc{\z@}% }{% \stepcounter{affil}% \edef\@tempc{\theaffil}% }% \appdef \@AFF@list{\AFF@opr}% \appdef@eval\@AFF@list\@tempc \appdef@e \@AFF@list{\@affil}% \appdef@eval\AF@grp\@tempc }% \@affil@init }% }% \def\@firstoftwodef#1#2#3{% \def#1{#2}% }% \def\@secondoftwodef#1#2#3{% \def#1{#3}% }% \def\move@AUAF{% \@ifx{\AF@grp\@empty}% {}{% \appdef \@AAC@list{\AF@opr}% \appdef@eval\@AAC@list{\AF@grp}% \appdef@e \@AAC@list{\AU@grp}% \@ifx{\@empty\AU@grp}{}{% \@ifx{\@empty\AF@grp}{}{% \@booleanfalse\temp@sw \def\AFS@opr{\x@match\AF@grp}% \@AFG@list \temp@sw{}{% \appdef \@AFG@list{\AFS@opr}% \appdef@eval\@AFG@list{\AF@grp}% }% }% }% \let\AU@grp\@empty \let\AF@grp\@empty }% }% \appdef\class@inithook{% \let\@AAC@list\@empty }% \appdef\class@inithook{% \let\@AFG@list\@empty }% \appdef\class@inithook{% \let\@AFF@list\@empty }% \let\AF@grp\@empty \def\@affil@match#1#2#3#4{% \temp@sw{}{% \def\@tempifx{#3}% \@ifx{\@tempifx#1}{% \@booleantrue\temp@sw \def\@tempc{#2}% \def\@tempd{#4}% }{% }% }% }% \appdef\class@inithook{% \let\@AF@join\@AF@join@error }% \def\@AF@join@error#1{% \class@warn{% \string\email, \string\homepage, \string\thanks, or \string\altaffiliation\space appears in wrong context. }% }% \def\sanitize@url{% \@makeother\%% \@makeother\~% \@makeother\_% }% \newcommand*\email[1][Electronic address: ]{\begingroup\sanitize@url\@email{#1}}% \def\@email#1#2{% \endgroup \@AF@join{#1\href{mailto:#2}{#2}}% }% \newcommand*\homepage[1][URL:~]{\begingroup\sanitize@url\@homepage{#1}}% \def\@homepage#1#2{% \endgroup \@AF@join{#1\url{#2}}% }% \appdef\class@documenthook{% \providecommand\url{\texttt}% \providecommand\href[2]{\url{#2}}% }% \def\thanks{% implicit #1 \@AF@join }% \newcommand*\altaffiliation[2][]{% \@AF@join{#1#2}% }% \def\set@listcomma@list#1{% \expandafter\@reset@ac\expandafter#1#1{0}\@reset@ac{% \let\@listcomma\relax }{% \let\@listcomma\@listcomma@comma }% }% \def\set@listcomma@count#1{% \@ifnum{#1=\tw@}{% \let\@listcomma\relax }{% \let\@listcomma\@listcomma@comma }% }% \def\@reset@ac#1#2#3\@reset@ac{% \def#1{#3}% \@tempcnta#2\relax \@ifnum{#2=\tw@}% }% \def\@listand{\@ifnum{\@tempcnta=\tw@}{\andname\space}{}}% \def\@listcomma@comma{\@ifnum{\@tempcnta>\@ne}{,}{}}% \def\@listcomma@comma@UK{\@ifnum{\@tempcnta>\tw@}{,}{}}% \def\@collaboration@err#1#2{% }% \def\doauthor#1#2#3{% \ignorespaces#1\unskip\@listcomma \def\@tempifx{#3}% \@ifx{\@tempifx\@empty}{% \def\@tempifx{#2}% \@ifx{\@tempifx\@empty}{}{\frontmatter@footnote{#2}}% }{% #3% \def\@tempifx{#2}% \@ifx{\@tempifx\@empty}{}{\comma@space\frontmatter@footnote{#2}}% }% \space \@listand }% \def\@thanks{\comma@space\footnote} \def\x@match#1#2{% \temp@sw{}{% \def\@tempifx{#2}% \@ifx{\@tempifx#1}{% \@booleantrue\temp@sw }{% }% }% }% \def\y@match#1#2#3{% \temp@sw{}{% \def\@tempifx{#3}% \@ifx{\@tempifx#1}{% \@booleantrue\temp@sw \def\@tempb{#2}% }{% }% }% }% \def\frontmatter@footnote#1{% \begingroup \@booleanfalse\temp@sw \def\@tempa{#1}% \let\@tempb\@empty \def\@TBN@opr{\y@match\@tempa}% \@FMN@list \temp@sw{% \expandafter\frontmatter@footnotemark \expandafter{\@tempb}% }{% \stepcounter\@mpfn \protected@xdef\@tempb{\the\csname c@\@mpfn\endcsname}% \expandafter\frontmatter@footnotemark \expandafter{\@tempb}% \expandafter\g@addto@macro \expandafter\@FMN@list \expandafter{% \expandafter \@TBN@opr \expandafter {\@tempb}{#1}% }% }% \endgroup }% \appdef\class@inithook{% \global\let\@FMN@list\@empty }% \def\frontmatter@footnotemark#1{% \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi \begingroup \hyper@linkstart {link}{frontmatter@#1}% \csname c@\@mpfn\endcsname#1\relax \def\@thefnmark{\thempfn}% \@makefnmark \hyper@linkend \endgroup \ifhmode\spacefactor\@x@sf\fi \relax }% \def\keywords#1{% \aftermaketitle@chk{\keywords}% \gdef\@keywords{#1}% }% \def\@keywords{}% \renewcommand*\date[2][\Dated@name]{\def\@date{#1#2}}% \def\@date{}% \newcommand*\received[2][\Received@name]{\def\@received{#1#2}}% \def\@received{}% \newcommand*\revised[2][\Revised@name]{\def\@revised{#1#2}}% \def\@revised{}% \newcommand*\accepted[2][\Accepted@name]{\def\@accepted{#1#2}}% \def\@accepted{}% \newcommand*\published[2][\Published@name]{\def\@published{#1#2}}% \def\@published{}% \def\pacs#1{% \aftermaketitle@chk{\pacs}% \gdef\@pacs{#1}% }% \def\@pacs{}%{\class@warn{No PACS numbers}}% \def\preprint#1{\gappdef\@preprint{\preprint{#1}}}% \let\@preprint\@empty \newbox\absbox \newenvironment{abstract}{% \aftermaketitle@chk{\begin{abstract}}% \global\setbox\absbox\vbox\bgroup \color@begingroup \columnwidth\textwidth \hsize\columnwidth \@parboxrestore \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@ \let\@footnotetext\frontmatter@footnotetext \minipagefootnote@init \let\@listdepth\@mplistdepth \@mplistdepth\z@ \@minipagerestore \@setminipage \frontmatter@abstractheading \frontmatter@abstractfont \let\footnote\mini@note }{% \par \unskip \minipagefootnote@here \@minipagefalse %% added 24 May 89 \color@endgroup \egroup }% \long\def\frontmatter@footnotetext#1{% \minipagefootnote@pick \reset@font\footnotesize \interlinepenalty \interfootnotelinepenalty \splittopskip \footnotesep \splitmaxdepth \dp \strutbox \set@footnotewidth \@parboxrestore \protected@edef\@currentlabel{\csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup \frontmatter@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox }% \color@endgroup \minipagefootnote@drop }% \def\frontmatter@abstractheading{% \begingroup \centering\large \abstractname \par \endgroup }% \def\frontmatter@abstractfont{}% \def\frontmatter@abstractwidth{\textwidth} \def\frontmatter@abstract@produce{% \par \preprintsty@sw{% \do@output@MVL{% \vskip\frontmatter@preabstractspace \vskip200\p@\@plus1fil \penalty-200\relax \vskip-200\p@\@plus-1fil }% }{% \addvspace{\frontmatter@preabstractspace}% }% \begingroup \dimen@\baselineskip \setbox\z@\vtop{\unvcopy\absbox}% \advance\dimen@-\ht\z@\advance\dimen@-\prevdepth \@ifdim{\dimen@>\z@}{\vskip\dimen@}{}% \endgroup \unvbox\absbox \@ifx{\@empty\mini@notes}{}{\mini@notes\par}% \addvspace\frontmatter@postabstractspace }% \def\frontmatter@preabstractspace{.5\baselineskip} \def\frontmatter@postabstractspace{.5\baselineskip} \newenvironment{titlepage}{% \twocolumn@sw{\onecolumngrid}{\newpage}% \thispagestyle{titlepage}% \setcounter{page}\@ne }{% \twocolumn@sw{\twocolumngrid}{\newpage}% \twoside@sw{}{% \setcounter{page}\@ne }% }% \def\maketitle{% \@author@finish \title@column\titleblock@produce \suppressfloats[t]% \let\and\relax \let\affiliation\@gobble \let\author\@gobble \let\@AAC@list\@empty \let\@AFF@list\@empty \let\@AFG@list\@empty \let\@AF@join\@AF@join@error \let\email\@gobble \let\@address\@empty \let\maketitle\relax \let\thanks\@gobble \titlepage@sw{% \vfil \clearpage }{}% }% \def\titleblock@produce{% \begingroup \let\footnote\footnote@latex \let\@makefnmark\@makefnmark@latex \let\@footnotemark\@footnotemark@latex \let\thefootnote\frontmatter@thefootnote \global\c@footnote\z@ \let\@makefnmark\frontmatter@makefnmark \frontmatter@setup \thispagestyle{titlepage}\label{FirstPage}% \frontmatter@title@produce \groupauthors@sw{% \frontmatter@author@produce@group }{% \frontmatter@author@produce@script }% \frontmatter@RRAPformat{% \expandafter\produce@RRAP\expandafter{\@date}% \expandafter\produce@RRAP\expandafter{\@received}% \expandafter\produce@RRAP\expandafter{\@revised}% \expandafter\produce@RRAP\expandafter{\@accepted}% \expandafter\produce@RRAP\expandafter{\@published}% }% \frontmatter@abstract@produce \@pacs@produce\@pacs \@keywords@produce\@keywords \par \frontmatter@finalspace \endgroup }% \def\frontmatter@title@produce{% \begingroup \frontmatter@title@above \frontmatter@title@format \@title \@ifx{\@title@aux\@title@aux@cleared}{}{% \expandafter\frontmatter@footnote\expandafter{\@title@aux}% }% \par %% \class@warn{Unused short title ignored}% \frontmatter@title@below \endgroup }% \appdef\let@mark{\let\\\relax}% \def\frontmatter@title@above{}% \def\frontmatter@title@format{}% \def\frontmatter@title@below{\addvspace{\baselineskip}}% \def\frontmatter@author@produce@script{% \begingroup \let\@author@present\@author@present@script \let\AU@temp\@empty \@tempcnta\z@ \let\AF@opr \@gobble \def\AU@opr{\@author@count\@tempcnta}% \def\CO@opr{\@collaboration@count\AU@temp\@tempcnta}% \@AAC@list \expandafter\CO@opr\@author@cleared \begingroup \frontmatter@authorformat \let\AF@opr \@affilID@def \let\AU@opr \@author@present \def\CO@opr{\@collaboration@present\AU@temp}% \set@listcomma@list\AU@temp \@AAC@list \unskip\unskip \par \endgroup \begingroup \frontmatter@above@affiliation@script \let\AFF@opr \@affil@script \@AFF@list \frontmatter@footnote@produce \par \endgroup \endgroup }% \def\@author@count#1{\advance#1\@ne\@author@gobble}% \def\@collaboration@present#1#2#3{% \par \begingroup \frontmatter@collaboration@above \@author@present{(\ignorespaces#2\unskip)}{#3}% \par \endgroup \set@listcomma@list#1% }% \def\frontmatter@collaboration@above{}% \def\@collaboration@count#1#2{% \appdef@eval#1{\the#2}#2\z@ \@author@gobble }% \def\@affilID@def{\def\@affilID@temp}% \let\@affilID@temp\@empty \def\affil@script#1#2#3{% \def\@tempifx{#1}\@ifx{\@tempifx\@tempa}{% \@if@empty{#2}{}{% \par \begingroup \textsuperscript{\normalfont#1}% #2% \@if@empty{#3}{}{\frontmatter@footnote{#3}}% \par \endgroup }% }{}% }% \def\@affil@script#1#2#3{% \@ifnum{#1=\z@}{}{% \par \begingroup \frontmatter@affiliationfont \textsuperscript{#1}% #2% \@if@empty{#3}{}{\frontmatter@footnote{#3}}% \par \endgroup }% }% \def\@author@present@script#1#2{% \begingroup \gdef\comma@space{\textsuperscript{,\,}}% \doauthor{#1}{#2}{% \let\@tempa\@empty \expandafter\@affil@present@script\@affilID@temp\relax }% \endgroup \advance\@tempcnta\m@ne }% \def\@affilcomma#1#2{% \@ifx{\z@#1}{% \@ifx{\relax#2}{}{% \@affilcomma{#2}% }% }{% #1% \@ifx{\relax#2}{}{% \@ifx{\z@#2}{% \@affilcomma }{% ,\,\@affilcomma{#2}% }% }% }% }% \def\@affil@present@script#1{% \@ifx{\relax#1}{% \@ifx{\@tempa\@empty}{}{% \textsuperscript{\expandafter\@affilcomma\@tempa\relax\relax}% }% }{% \@ifx{\z@#1}{}{\appdef\@tempa{{#1}}}% \@affil@present@script }% }% \@provide\@author@parskip{\z@skip}% \def\frontmatter@author@produce@group{% \begingroup \let\@author@present\@author@present@group \frontmatter@authorformat \let\AFS@opr \affils@present@group \let\@listcomma\relax \@AFG@list \frontmatter@footnote@produce \par \endgroup \frontmatter@authorbelow }% \@provide\frontmatter@authorbelow{}% \def\affils@present@group#1{% \begingroup \def\AF@temp{#1}% % 0B13 \@tempcnta\z@ \let\AU@opr \undefined % 0B13 \let\CO@opr \undefined % 0B13 \def\AF@opr{\@affilID@count\AF@temp\@tempcnta}% 0B13 \@AAC@list \@ifnum{\@tempcnta=\z@}{}{% \begingroup \frontmatter@above@affilgroup \set@listcomma@count\@tempcnta \let\AU@opr \undefined % 0B13 \let\CO@opr \undefined % 0B13 \def\AF@opr{\@affilID@match\AF@temp}% \@AAC@list \endgroup \begingroup \par \frontmatter@above@affiliation \frontmatter@affiliationfont \let\\\frontmatter@addressnewline \@tempcnta\z@ \@tfor\AF@temp:=#1\do{% \expandafter\@ifx\expandafter{\z@\AF@temp}{}{% \advance\@tempcnta\@ne }% }% \@ifnum{\@tempcnta=\tw@}{% \let\@listcomma\relax }{}% \def\after@address{\@listcomma\ \@listand}% \runinaddress@sw{% }{% \tightenlines@sw{% }{% \parskip\z@ %space between affilations in grouped mode }% \appdef\after@address\par }% \let\AFF@opr \@affil@group \do@affil@fromgroup\@AFF@list#1\relax \endgroup }% \par \endgroup }% \def\@affilID@count#1#2#3{% \def\@tempifx{#3}% \@ifx{\@tempifx#1}{% \def\AU@opr{\@author@count#2}% }{% \let\AU@opr \@author@gobble }% \let\CO@opr \@collaboration@err }% \def\@affilID@match#1#2{% \def\@tempifx{#2}% \@ifx{\@tempifx#1}{% \let\AU@opr \@author@present }{% \let\AU@opr \@author@gobble }% \let\CO@opr \@collaboration@err }% \def\do@affil@fromgroup#1#2{% \@ifx{\relax#2}{}{% \count@#2\relax \@ifnum{\count@=\z@}{}{#1}% \do@affil@fromgroup#1% }% }% \def\@affil@group#1#2#3{% \@ifnum{\count@=#1\relax}{% \@ifx{#2\blankaffiliation}{}{% #2% \@if@empty{#3}{}{% \frontmatter@footnote{#3}% }% \after@address }% \advance\@tempcnta\m@ne }{}% }% \def\@author@present@group#1#2{% \gdef\comma@space{\gdef\comma@space{\textsuperscript{,\,}}}% \doauthor{#1}{#2}{}% \advance\@tempcnta\m@ne }% \def\@pacs@produce#1{% \showPACS@sw{% \begingroup \frontmatter@PACS@format \@pacs@name#1\par \endgroup }{% \@if@empty{#1}{}{% \class@warn{\PACS@warn}% }% }% }% \def\PACS@warn{If you want your PACS to appear in your output, use document class option showpacs}% \def\@keywords@produce#1{% \showKEYS@sw{% \begingroup \frontmatter@keys@format \@keys@name#1\par \endgroup }{% \@if@empty{#1}{}{% \class@warn{If you want your keywords to appear in your output, use document class option showkeys}% }% }% }% \def\frontmatter@footnote@produce@footnote{% \let\@TBN@opr\present@FM@footnote \@FMN@list \global\let\@FMN@list\@empty }% \def\present@FM@footnote#1#2{% \begingroup \csname c@\@mpfn\endcsname#1\relax \def\@thefnmark{\thempfn}% \frontmatter@footnotetext{#2}% \endgroup }% \def\frontmatter@footnote@produce@endnote{% }% \def\frontmatter@thefootnote{% \altaffilletter@sw{\@alph}{\@fnsymbol}\c@footnote }% \def\frontmatter@makefnmark{% \@textsuperscript{% \normalfont\@thefnmark }% }% \long\def\frontmatter@makefntext#1{% \parindent 1em \noindent \Hy@raisedlink{\hyper@anchorstart{frontmatter@\the\c@footnote}\hyper@anchorend}% \@makefnmark #1% }% \def\frontmatter@setup{}% \def\frontmatter@RRAPformat#1{% \removelastskip \begingroup \frontmatter@RRAP@format #1\par \endgroup }% \def\punct@RRAP{; }% \def\produce@RRAP#1{% \@if@empty{#1}{}{% \@ifvmode{\leavevmode}{\unskip\punct@RRAP\ignorespaces}% #1% }% }% \def\frontmatter@authorformat{}% \def\frontmatter@above@affilgroup{}% \def\frontmatter@above@affiliation{}% \def\frontmatter@above@affiliation@script{}% \def\frontmatter@affiliationfont{}% \def\frontmatter@RRAP@format{}% \def\frontmatter@PACS@format{}% \def\frontmatter@keys@format{}% \def\frontmatter@finalspace{\addvspace{18\p@}} \def\frontmatter@addressnewline{% \@ifhmode{\skip@\lastskip\unskip\unpenalty\break\hskip\skip@}{}% % was: \vskip-.5ex }% \def\frontmatter@preabstractspace{5.5\p@} \def\frontmatter@postabstractspace{6.5\p@} \def\aftermaketitle@chk#1{% \@ifx{\maketitle\relax}{% \class@err{\protect#1 must be used before \protect\maketitle}% }{}% }% \def\ps@titlepage{\ps@empty}% \def\volumeyear#1{\gdef\@volumeyear{#1}}% \def\@volumeyear{}% \def\volumenumber#1{\gdef\@volumenumber{#1}}% \def\@volumenumber{}% \def\issuenumber#1{\gdef\@issuenumber{#1}}% \def\@issuenumber{}% \def\eid#1{\gdef\@eid{#1}}% \def\@eid{}% \def\startpage#1{\gdef\@startpage{#1}\c@page#1\relax}% \def\@startpage{\pageref{FirstPage}}% \def\endpage#1{\gdef\@endpage{#1}}% \def\@endpage{\pageref{LastPage}}% \def\print@toc#1{% \begingroup \expandafter\section \expandafter*% \expandafter{% \csname#1name\endcsname }% \let\appendix\appendix@toc \@starttoc{#1}% \endgroup }% \def\appendix@toc{}% \def\labelenumi{\theenumi.} \def\theenumi{\arabic{enumi}} \def\labelenumii{(\theenumii)} \def\theenumii{\alph{enumii}} \def\p@enumii{\theenumi} \def\labelenumiii{\theenumiii.} \def\theenumiii{\roman{enumiii}} \def\p@enumiii{\theenumi(\theenumii)} \def\labelenumiv{\theenumiv.} \def\theenumiv{\Alph{enumiv}} \def\p@enumiv{\p@enumiii\theenumiii} \def\labelitemi{\textbullet} \def\labelitemii{\normalfont\bfseries\textendash} \def\labelitemiii{\textasteriskcentered} \def\labelitemiv{\textperiodcentered} \pagenumbering{arabic} \setcounter{topnumber}{2} \def\topfraction{.9} \setcounter{bottomnumber}{1} \def\bottomfraction{.9} \setcounter{totalnumber}{3} \def\textfraction{.1} \def\floatpagefraction{.9} \setcounter{dbltopnumber}{2} \def\dbltopfraction{.9} \def\dblfloatpagefraction{.9} \newenvironment{verse}{% \let\\=\@centercr \list{}{% \itemsep\z@ \itemindent -1.5em\listparindent \itemindent \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]% }{% \endlist }% \newenvironment{quotation}{% \list{}{% \listparindent 1.5em \itemindent\listparindent \rightmargin\leftmargin \parsep \z@ \@plus\p@}\item[]% }{% \endlist }% \newenvironment{quote}{% \list{}{% \rightmargin\leftmargin}\item[]% }{% \endlist }% \def\descriptionlabel#1{% \hspace\labelsep \normalfont\bfseries #1% }% \newenvironment{description}{% \list{}{% \labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel }% }{% \endlist }% \newcounter{part} \newcounter{section} \newcounter{subsection}[section] \newcounter{subsubsection}[subsection] \newcounter{paragraph}[subsubsection] \newcounter{subparagraph}[paragraph] \def\thepart {\Roman{part}} % \def\thesection {\Roman{section}} \def\p@section {} \def\thesubsection {\Alph{subsection}} \def\p@subsection {\thesection\,} \def\thesubsubsection {\arabic{subsubsection}} \def\p@subsubsection {\thesection\,\thesubsection\,} \def\theparagraph {\alph{paragraph}} \def\p@paragraph {\thesection\,\thesubsection\,\thesubsubsection\,} \def\thesubparagraph {\arabic{subparagraph}} \def\p@subparagraph {\thesection\,\thesubsection\,\thesubsubsection\,\theparagraph\,} \newenvironment{acknowledgments}{% \acknowledgments@sw{% \section*{\acknowledgmentsname}% }{% \par \phantomsection \addcontentsline{toc}{section}{\protect\numberline{}\acknowledgmentsname}% }% }{% \par }% \@booleantrue\acknowledgments@sw \newenvironment{acknowledgements}{% \replace@environment{acknowledgements}{acknowledgments}% }{% \endacknowledgments }% \def\part{\par \addvspace{4ex}% \@afterindentfalse \secdef\@part\@spart}% \def\@part[#1]#2{% \@ifnum{\c@secnumdepth >\m@ne}{% \refstepcounter{part}% \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% }{% \addcontentsline{toc}{part}{#1}% }% \begingroup \parindent \z@ \raggedright \interlinepenalty\@M \@ifnum{\c@secnumdepth >\m@ne}{% \Large \bf \partname~\thepart% \par\nobreak }{}% \huge \bf #2% \markboth{}{}\par \endgroup \nobreak \vskip 3ex \@afterheading }% \def\@spart#1{{\parindent \z@ \raggedright \interlinepenalty\@M \huge \bf #1\par} \nobreak \vskip 3ex \@afterheading} \def\section{% \@startsection {section}% {1}% {\z@}% {0.8cm \@plus1ex \@minus .2ex}% {0.5cm}% {\normalfont\small\bfseries}% }% \def\subsection{% \@startsection {subsection}% {2}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {\normalfont\small\bfseries}% }% \def\subsubsection{% \@startsection {subsubsection}% {3}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {\normalfont\small\itshape}% }% \def\paragraph{% \@startsection {paragraph}% {4}% {\parindent}% {\z@}% {-1em}% {\normalfont\normalsize\itshape}% }% \def\subparagraph{% \@startsection {subparagraph}% {5}% {\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\bfseries}% }% \def\theequation{% \theequation@prefix\arabic{equation}% }% \def\theequation@prefix{}% \AtEndOfClass{% \expandafter\input\expandafter{\@pointsize pt\substyle@ext}% }% \setcounter{secnumdepth}{4} \lineskip 1pt \normallineskip 1pt \def\baselinestretch{1}% \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \arraycolsep 3pt \tabcolsep 2pt \arrayrulewidth .4pt \doublerulesep 2pt \skip\@mpfootins = 0pt \fboxsep = 3.0pt \fboxrule = 0.4pt \newenvironment{figure} {\@float{figure}} {\end@float} \newenvironment{figure*} {\@dblfloat{figure}} {\end@dblfloat} \newlength\abovecaptionskip \newlength\belowcaptionskip \setlength\abovecaptionskip{10\p@} \setlength\belowcaptionskip{2\p@} \long\def\@makecaption#1#2{% \par \vskip\abovecaptionskip \begingroup \small\rmfamily \sbox\@tempboxa{% \let\\\heading@cr #1: #2% }% \@ifdim{\wd\@tempboxa >\hsize}{% \begingroup \samepage \flushing \let\footnote\@footnotemark@gobble #1: #2\par \endgroup }{% \global \@minipagefalse \hb@xt@\hsize{\hfil\unhbox\@tempboxa\hfil}% }% \endgroup \vskip\belowcaptionskip }% \def\@footnotemark@gobble{% \@footnotemark \@ifnextchar[{\@gobble@opt@i}{\@gobble}% }% \def\@gobble@opt@i[#1]#2{}% \def\@mpmakefntext#1{% \flushing \parindent=1em \noindent \hb@xt@1em{\hss\@makefnmark}% #1% }% \newcounter{figure} \renewcommand \thefigure {\@arabic\c@figure} \def\fps@figure{tbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{\figurename~\thefigure} \appdef\class@documenthook{% \do@if@floats{figure}{.fgx}% }% \appdef\class@enddocumenthook{% \printfigures\relax }% \newcommand\printfigures{% \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}% {% \print@float{figure}{\oneapage}% }{% \print@float{figure}{}% }% }% \appdef\@xfloat@prep{% \appdef\@parboxrestore{\centering}% \let\@makefnmark\@makefnmark@latex \let\@footnotemark\@footnotemark@latex }% \newenvironment{table} {\@float{table}} {\end@float} \newenvironment{table*} {\@dblfloat{table}} {\end@dblfloat} \newcounter{table} \renewcommand\thetable{\@Roman\c@table} \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{\tablename~\thetable} \def\table@hook{\small}% \def\squeezetable{\def\table@hook{\scriptsize}}% \appdef\@floatboxreset{\table@hook}% \appdef\class@documenthook{% \floats@sw{}{% \let@environment{longtable@float}{longtable}% \let@environment{longtable}{longtable@write}% \let@environment{longtable*@float}{longtable*}% \let@environment{longtable*}{longtable*@write}% \let@environment{turnpage@float}{turnpage}% \let@environment{turnpage}{turnpage@write}% }% \do@if@floats{table}{.tbx}% }% \appdef\class@enddocumenthook{% \printtables\relax }% \newenvironment{longtable@write}{% \write@@float{longtable}{table}% }{% \endwrite@float }% \newenvironment{longtable*@write}{% \write@@float{longtable*}{table}% }{% \endwrite@float }% \newenvironment{turnpage@write}{% \immediate\write\tablewrite{\string\begin{turnpage}}% }{% \immediate\write\tablewrite{\string\end{turnpage}}% }% \newcommand\printtables{% \begingroup \let@environment{longtable}{longtable@float}% \let@environment{longtable*}{longtable*@float}% \let@environment{turnpage}{turnpage@anchored}% \prepdef\longtable{\trigger@float@par}% \expandafter\prepdef\csname longtable*\endcsname{\trigger@float@par}% \expandafter\prepdef\csname table@floats\endcsname{% \onecolumngrid@push }% \expandafter\appdef\csname endtable@floats\endcsname{% \onecolumngrid@pop }% \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}% {% \print@float{table}{\oneapage}% }{% \print@float{table}{}% }% \endgroup }% \newenvironment{turnpage@anchored}{% \onecolumngrid@push \setbox\z@\vbox to\textwidth\bgroup \columnwidth\textheight }{% \vfil \egroup \rotatebox{90}{\box\z@}% \onecolumngrid@pop }% \def\endtabular@hook{}% \appdef\class@documenthook{% \@ifpackageloaded{dcolumn}{% \newcolumntype{d}{D{.}{.}{-1}}% }{}% }% \def\toprule{\hline\hline}% \def\colrule{\hline}% \def\botrule{\hline\hline}% \newenvironment{ruledtabular}{% \def\array@default{v}% \appdef\tabular@hook{\def\@halignto{to\hsize}}% \let\tableft@skip@default\tableft@skip \let\tableft@skip\tableft@skip@float \let\tabmid@skip@default\tabmid@skip \let\tabmid@skip\tabmid@skip@float \let\tabright@skip@default\tabright@skip \let\tabright@skip\tabright@skip@float \let\array@row@pre@default\array@row@pre \let\array@row@pre\array@row@pre@float \let\array@row@pst@default\array@row@pst \let\array@row@pst\array@row@pst@float \appdef\array@row@rst{% \let\array@row@pre\array@row@pre@default \let\array@row@pst\array@row@pst@default \let\tableft@skip\tableft@skip@default \let\tabmid@skip\tabmid@skip@default \let\tabright@skip\tabright@skip@default \appdef\tabular@hook{\let\@halignto\@empty}% }% }{% }% \def\@makefntext#1{% \def\baselinestretch{1}% \reset@font\footnotesize \parindent 1em% \noindent \hb@xt@1.8em{% \Hy@raisedlink{\hyper@anchorstart{footnote@\the\c@footnote}\hyper@anchorend}% \hss\@makefnmark }% #1\par }% \newenvironment{thebibliography}{}{}% \let\@listi\@empty \RequirePackage[sort&compress]{natbib}[1999/05/28 7.0]% \let\NAT@thebibliography\thebibliography \let\NAT@endthebibliography\endthebibliography \let\bibliographystyle@latex\bibliographystyle \renewcommand\NAT@citesuper[3]{% \ifNAT@swa \leavevmode \unskip \textsuperscript{#1}% \if*#3*\else\ (#3)\fi \else #1% \fi \endgroup }% \def\@makefnmark@cite{\begingroup\NAT@swatrue\@cite{{\@thefnmark}}{}{}}% \let\bibliographystyle@latex\bibliographystyle \def\bibliographystyle{\def\@bibstyle}% \def\bibsection{% \@ifx@empty\refname{% \par }{% \let\@hangfroms@section\@hang@froms \section*{\refname}% \@nobreaktrue }% }% \let\NATx@bibsetnum\NAT@bibsetnum \def\NAT@bibsetnum#1{% \setlength{\topsep}{\z@}% \NATx@bibsetnum{\ref{LastBibItem}}% }% \let\NATx@bibsetup\NAT@bibsetup \def\NAT@bibsetup{% \setlength{\labelwidth}{\z@}% \setlength{\labelsep}{\z@}% \setlength{\itemindent}{\z@}% \setlength{\listparindent}{\z@}% \setlength{\topsep}{\z@}% \setlength{\parsep}{\z@}% \NATx@bibsetup }% \let\bibpreamble\@empty \def\newblock{\ }% \let\NATx@bibnumfmt\bibnumfmt \def\bibnumfmt{\place@bibnumber}% \AtEndOfClass{% \appdef\class@documenthook{% \@ifxundefined\place@bibnumber{% \let\place@bibnumber\NATx@bibnumfmt }{}% }% }% \let\NAT@citeyear\citeyear \def\NAT@onlinecite#1{% \begingroup \let\@cite\NAT@citenum \let\NAT@mbox\mbox \let\citeyear\NAT@citeyear \def\NAT@space{ }% \cite{#1}% \endgroup }% \appdef\class@inithook{% \@ifxundefined\@onlinecite{\def\@onlinecite{\citealp}}{}% \@ifxundefined\@textcite{\def\@textcite{\citet}}{}% }% \DeclareRobustCommand\onlinecite{\@onlinecite}% \DeclareRobustCommand\textcite{\@textcite}% \renewenvironment{thebibliography}[1]{% \NAT@thebibliography{#1}% \@clubpenalty\clubpenalty \let\@TBN@opr\present@bibnote \@FMN@list }{% \@endnotesinbib \edef\@currentlabel{\arabic{NAT@ctr}}% \label{LastBibItem}% \NAT@endthebibliography \global\let\auto@bib\@empty }% \def\present@bibnote#1#2{% \item[% \textsuperscript{% \normalfont \Hy@raisedlink{\hyper@anchorstart{frontmatter@#1}\hyper@anchorend}% \begingroup \c@footnote#1\relax \frontmatter@thefootnote \endgroup }% ]#2\par }% \def\place@bibnumber@sup#1{\textsuperscript{#1}}% \def\place@bibnumber@inl#1{[#1]}% %% \begin{macro}{\@cite} %% \begin{macro}{\nocite} %% For the sake of Bib\TeX, we must execute the \cmd\bibliographystyle\ command %% (putting a \cmd\bibstyle\ command into the auxiliary file) %% somewhere before the first \cmd\cite\ command (or any other like command), %% which puts a \cmd\citation\ command into the auxiliary file. %% %% Therefore, we headpatch the two procedures in \classname{natbib} that can result in %% the appearance in the auxiliary file of a \cmd\citation\ command. %% These two procedures are \cmd\@cite\ and \cmd\nocite. %% %% Not! \def\write@bibliographystyle{% \@ifxundefined\@bibstyle{}{% \expandafter\bibliographystyle@latex\expandafter{\@bibstyle}% }% \global\let\write@bibliographystyle\relax }% \AtEndDocument{\write@bibliographystyle}% %% \end{macro} %% \end{macro} \def\super@cite[#1][#2]#3{% \leavevmode \skip@\lastskip \unskip \begingroup \def\@tempa{[#1][#2]{#3}}% \super@cite@ }% \def\super@cite@{% \futurelet\@let@token\super@cite@@ }% \long\def\super@cite@@#1{% \@ifx{\@let@token\@sptoken}{% \aftergroup\@sptoken\false@sw }{% \@ifx{\@let@token.}{\true@sw}{% \@ifx{\@let@token,}{\true@sw}{% \@ifx{\@let@token'}{\true@sw}{% \@ifx{\@let@token)}{\true@sw}{% \false@sw }% }% }% }% }% {% #1% \super@cite@ }{% \expandafter\@citex@NAT\@tempa\endgroup #1% }% }% \AtBeginDocument{% \citeautoscript@sw{% \@ifx{\place@bibnumber\place@bibnumber@sup}{% \let\@citex@NAT\@citex\let\@citex\super@cite }{}% }{}% }% \@ifx{\chapter\relax}{\let\chapter\@undefined}{}% \def\mini@note{\save@note\mini@notes}%Implicit #1 \def\save@note#1#2{% \stepcounter{footnote}% \protected@xdef\@thefnmark{\the\c@footnote}% \@footnotemark \expandafter\g@addto@macro \expandafter#1% \expandafter{% \expandafter \@@footnotetext \expandafter {\@thefnmark}{#2}% }% }% \long\def\@@footnotetext#1{\def\@thefnmark{#1}\@footnotetext}% \let\mini@notes\@empty \def\endnote{% \begingroup \aftergroup\@footnotemark \aftergroup\@endnotetext \@ifnextchar[{% \@xendnote }{% \stepcounter{footnote}% \protected@xdef\@tempa{\thefootnote}% \expandafter\@xendnote\expandafter[\@tempa]% }% }% \def\@xendnote[#1]{% \begingroup \c@footnote#1\relax \unrestored@protected@xdef\@thefnmark{endnote\thefootnote}% \endgroup \endgroup }% \def\@endnotemark{% \expandafter\cite\expandafter{\@thefnmark}% }% \def\endnote@ext{.end}% \long\def\@endnotetext#1{% \@ifxundefined\@endnoteout{% \newwrite\@endnoteout \gdef\endnote@stream{\jobname\endnote@ext}% \immediate\openout\@endnoteout\endnote@stream\relax }{}% \begingroup \let\label\relax \let\index\relax \let\glossary\relax \let\cite \relax \let\ref \relax \let\pageref \relax \let\( \relax \let\) \relax \let\\ \relax \let \protect \@unexpandable@protect \newlinechar`\^^M% \immediate\write\@endnoteout{\string\@doendnote{\@thefnmark}{#1}}% \endgroup }% \def\endnotetext{% \@ifnextchar[{% \@xendnotenext }{% \protected@xdef\@thefnmark{\thefootnote}% \@endnotetext }% }% \def\@xendnotenext[#1]{% \begingroup \c@footnote#1\relax \unrestored@protected@xdef\@thefnmark{\thefootnote}% \endgroup \@endnotetext }% \def\printendnotes{% \@ifx{\@endnoteout\@undefined}{}{% \begingroup \c@secnumdepth-\maxdimen \section{% \notesname }% \immediate\closeout\@endnoteout \global\let\@endnoteout\@undefined \begin{enumerate}% \makeatletter \input{\endnote@stream}% \end{enumerate}% \endgroup }% }% \appdef\class@enddocumenthook{% \printendnotes }% \mathchardef\firstnote@num\z@ \appdef\class@documenthook{% \global\c@footnote\firstnote@num \appdef\maketitle{\global\c@footnote\firstnote@num}% }% \def\set@firstnote#1{% \@ifnum{\firstnote@num=#1\relax}{}{% \class@warn@end{Endnote numbers changed: rerun LaTeX}% }% \immediate\write\@mainaux{% \global\chardef\string\firstnote@num#1\relax }% }% \def\@endnotesinbib{% \set@firstnote\z@ }% \def\@endnotesinbibliography{% \expandafter\set@firstnote\expandafter{\the\c@NAT@ctr}% \@ifx{\@endnoteout\@undefined}{}{% \immediate\closeout\@endnoteout \global\let\@endnoteout\@undefined \makeatletter \input{\endnote@stream}% }% }% \appdef\class@documenthook{% \let\@makefnmark@latex\@makefnmark \let\@footnotemark@latex\@footnotemark \footinbib@sw{% \let\footnote\endnote \let\@footnotemark\@endnotemark \let\@makefnmark\@makefnmark@cite \let\@endnotesinbib\@endnotesinbibliography \appdef\class@enddocumenthook{\auto@bib}% \let\printendnotes\relax }{}% }% \def\auto@bib{% \@ifx@empty\@FMN@list{% \@ifxundefined\@endnoteout{% \false@sw }{% \true@sw }% }{% \true@sw }{% \begin{thebibliography}{}\end{thebibliography}% }% }% \def\@doendnote#1#2{\bibitem{#1}#2} \appdef\class@documenthook{% \@ifxundefined\@evenhead{% \@ifxundefined\@oddhead{% \@ifxundefined\@oddfoot{% \@ifxundefined\@evenfoot{% \preprintsty@sw{% \ps@preprint }{% \ps@article }% }{}% }{}% }{}% }{}% \pagenumbering{arabic}% \normalsize \tabbingsep \labelsep \leftmargin\leftmargini \labelwidth\leftmargin\advance\labelwidth-\labelsep \let\@listi\@listI \@listi \def\curr@envir{document}% \mark@envir{\curr@envir}% \twocolumn@sw{% \open@column@mlt\tw@ \set@colht \@floatplacement \@dblfloatplacement \sloppy \@booleanfalse\raggedcolumn@sw \let\set@listindent\set@listindent@ }{% \open@column@one\@ne \set@colht \@floatplacement \@dblfloatplacement \sloppy \let\set@listindent\set@listindent@parshape }% }% \def\appendix{% \par \setcounter{section}\z@ \setcounter{subsection}\z@ \setcounter{subsubsection}\z@ \def\thesubsection{\arabic{subsection}}% \def\thesubsubsection{\alph{subsubsection}}% \@addtoreset{equation}{section}% \def\theequation@prefix{\thesection}% \addtocontents{toc}{\protect\appendix}% \@ifstar{% \def\thesection{\unskip}% \def\theequation@prefix{A.}% }{% \def\thesection{\Alph{section}}% }% }% \def\title@column@default#1{% \minipagefootnote@init #1% \minipagefootnote@foot }% \def\close@column@default{% \newpage }% \def\galley@outdent{\rightmargin-\columnwidth\advance\rightmargin-\columnsep}% \let\widetext@outdent\@empty \newenvironment{widetext@galley}{% \list{}{% \topsep \z@skip \listparindent \parindent \itemindent \parindent \leftmargin \z@ \parsep \z@\@plus\p@ \widetext@outdent \relax }% \item\relax }{ \endlist }% \def\title@column@grid#1{% \minipagefootnote@init \onecolumngrid \begingroup \let\@footnotetext\frontmatter@footnotetext \let\set@footnotewidth\set@footnotewidth@ii #1% \endgroup \twocolumngrid \minipagefootnote@foot }% \def\close@column@grid{% \balancelastpage@sw{% \onecolumngrid }{}% }% \newenvironment{widetext@grid}{% \par\ignorespaces \setbox\widetext@top\vbox{% \vskip15\p@ \hb@xt@\hsize{% \leaders\hrule\hfil \vrule\@height6\p@ }% \vskip6\p@ }% \setbox\widetext@bot\hb@xt@\hsize{% \vrule\@depth6\p@ \leaders\hrule\hfil }% \onecolumngrid \dimen@\ht\widetext@top\advance\dimen@\dp\widetext@top \cleaders\box\widetext@top\vskip\dimen@ \let\set@footnotewidth\set@footnotewidth@ii }{% \par \setbox\widetext@bot\vbox{% \hb@xt@\hsize{\hfil\box\widetext@bot}% \vskip14\p@ }% \dimen@\ht\widetext@bot\advance\dimen@\dp\widetext@bot \cleaders\box\widetext@bot\vskip\dimen@ \twocolumngrid\global\@ignoretrue \@endpetrue }% \newbox\widetext@top \newbox\widetext@bot \appdef\class@documenthook{% \twocolumn@sw{% \let@environment{widetext}{widetext@grid}% \let\title@column\title@column@grid \let\close@column\close@column@grid }{% \let@environment{widetext}{widetext@galley}% \preprintsty@sw{% }{% \galley@sw{% \let\widetext@outdent\galley@outdent }{% }% }% }% }% \appdef\class@inithook{% \@ifxundefined\title@column{% \let\title@column\title@column@default }{}% }% \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year} \def\notesname{Notes} \def\partname{Part} \def\tocname{Contents} \def\lofname{List of Figures} \def\lotname{List of Tables} \def\refname{References} \def\indexname{Index} \def\figurename{FIG.} \def\figuresname{Figures}% \def\tablename{TABLE} \def\tablesname{Tables}% \def\abstractname{Abstract} \def\appendixesname{Appendixes}% \def\appendixname{Appendix}% \def\acknowledgmentsname{Acknowledgments} \def\journalname{??} \def\copyrightname{??} \def\andname{and} \def\@pacs@name{PACS numbers: }% \def\@keys@name{Keywords: }% \def\ppname{pp} \def\numbername{number} \def\volumename{volume} \def\Dated@name{Dated: }% \def\Received@name{Received }% \def\Revised@name{Revised }% \def\Accepted@name{Accepted }% \def\Published@name{Published }% \def\address{\replace@command\address\affiliation}% \def\altaddress{\replace@command\altaddress\altaffiliation}% \newenvironment{references}{% \class@warn@end{The references environment is not supported; use thebibliography instead.} \gdef\references{\thebibliography{}}\references }{% \endthebibliography }% \def\draft{% \class@warn@end{Command \string\draft\space is obsolete;^^JInvoke option draft instead.}% \@booleantrue\draft@sw }% \def\tighten{% \class@warn@end{Command \string\tighten\space is obsolete;^^JInvoke option tightenlines instead.}% \@booleantrue\tightenlines@sw }% \def\tableline{% \noalign{% \class@warn@end{Command \string\tableline\space is obsolete;^^JUse \string\colrule\space instead.}% \global\let\tableline\colrule }% \tableline }% \def\case{\replace@command\case\frac}% \def\slantfrac{\replace@command\slantfrac\frac}% \def\tablenote{\replace@command\tablenote\footnote}% \def\tablenotemark{\replace@command\tablenotemark\footnotemark}% \def\tablenotetext{\replace@command\tablenotetext\footnotetext}% \DeclareRobustCommand\REV@text[1]{% \relax \ifmmode \mathchoice {\hbox{{\everymath{\displaystyle }#1}}}% {\hbox{{\everymath{\textstyle }#1}}}% {\hbox{{\everymath{\scriptstyle }\let\f@size\sf@size\selectfont#1}}}% {\hbox{{\everymath{\scriptscriptstyle}\let\f@size\ssf@size\selectfont#1}}}% \glb@settings \else \mbox{#1}% \fi }% \DeclareRobustCommand\REV@bbox[1]{% \relax \ifmmode \mathchoice {\hbox{{\everymath{\displaystyle }\boldmath$#1$}}}% {\hbox{{\everymath{\textstyle }\boldmath$#1$}}}% {\hbox{{\everymath{\scriptstyle }\boldmath$#1$}}}% {\hbox{{\everymath{\scriptscriptstyle}\boldmath$#1$}}}% \glb@settings \else \mbox{#1}% \fi }% \DeclareRobustCommand\REV@bm[1]{% \class@warn@end{To use \string\bm, please load the bm package!}% \global\let\bm\relax }% \def\FL{\obsolete@command\FL}% \def\FR{\obsolete@command\FR}% \def\narrowtext{\obsolete@command\narrowtext}% \def\mediumtext{\obsolete@command\mediumtext}% \newenvironment{quasitable}{% \let@environment{tabular}{longtable}% }{% }% \appdef\class@inithook{% \@ifxundefined\text{\let\text\REV@text}{}% \@ifxundefined\bm{\let\bm\REV@bm}{}% \providecommand\bibinfo[2]{#2}% \providecommand\eprint[2][]{#2}% \providecommand\url[1]{#1}% }% \def\bbox#1{% \class@warn@end{\string\bbox\space is obsolete,^^Jload the bm package and use \string\bm\space instead.}% \global\let\bbox\relax }% \newenvironment{mathletters}{% \class@warn@end{Environment {mathletters} is obsolete;^^Jload the amsmath package and use {subequations}!}% \global\let\mathletters\@empty }{% }% \def\eqnum#1{% \class@warn@end{\string\eqnum\space is obsolete, load the amsmath package and use \string\tag!}% \global\let\eqnum\@gobble }% \RequirePackage{revsymb}% \appdef\class@inithook{\revsymb@inithook}% \AtEndOfClass{% \InputIfFileExists{\jobname.rty}{}{}% }% \AtEndOfClass{% \@ifxundefined\secnumarabic@sw{\@booleanfalse\secnumarabic@sw}{}% \secnumarabic@sw{% \def\p@section {}% \def\thesection {\arabic{section}}% \def\p@subsection {}% \def\thesubsection {\thesection.\arabic{subsection}}% \def\p@subsubsection {}% \def\thesubsubsection {\thesubsection.\arabic{subsubsection}}% }{}% }% \AtEndOfClass{% \appdef\class@documenthook{% \defaults@hook }% }% \@ifxundefined\defaults@hook{\let\defaults@hook\@empty}{}% \endinput %% %% End of file `revtex4.cls'.