| 1 |
%% |
| 2 |
%% This is file `revtex4.cls', |
| 3 |
%% generated with the docstrip utility. |
| 4 |
%% |
| 5 |
%% The original source files were: |
| 6 |
%% |
| 7 |
%% revtex4.dtx (with options: `class-pre') |
| 8 |
%% ltxutil.dtx (with options: `ltxutil-krn') |
| 9 |
%% ltxgrid.dtx (with options: `ltxgrid-krn') |
| 10 |
%% textcase.dtx (with options: `package') |
| 11 |
%% revtex4.dtx (with options: `class-pst') |
| 12 |
%% |
| 13 |
%% This file is part of the APS files in the REVTeX 4 distribution. |
| 14 |
%% For the version number, search on the string |
| 15 |
%% Original version by David Carlisle |
| 16 |
%% Modified by Arthur Ogawa (mailto:ogawa@teleport.com) |
| 17 |
%% |
| 18 |
%% Copyright (c) 1999 The American Physical Society. |
| 19 |
%% http://publish.aps.org/revtex4/ |
| 20 |
%% mailto:revtex4@aps.org |
| 21 |
%% |
| 22 |
%% See the REVTeX 4 README file for restrictions and more information. |
| 23 |
%% |
| 24 |
\NeedsTeXFormat{LaTeX2e}[1996/12/01] |
| 25 |
\ProvidesClass{revtex4} |
| 26 |
[2001/08/03 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo |
| 27 |
\def\class@name{revtex4}% |
| 28 |
\GenericInfo{}{\space |
| 29 |
Copyright (c) 2001 The American Physical Society.^^J |
| 30 |
mailto:revtex@aps.org^^J |
| 31 |
Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J |
| 32 |
Arthur Ogawa <ogawa@teleport.com>^^J |
| 33 |
Based on work by David Carlisle <david@dcarlisle.demon.co.uk>% |
| 34 |
\@gobble |
| 35 |
}% |
| 36 |
\if@compatibility |
| 37 |
\edef\reserved@a{\errhelp{% |
| 38 |
Change your \string\documentstyle\space statement to |
| 39 |
\string\documentclass\space and rerun. |
| 40 |
}}\reserved@a |
| 41 |
\errmessage{You cannot run \class@name\space in compatability mode}% |
| 42 |
\expandafter\@@end |
| 43 |
\fi |
| 44 |
\let\DeclareOption@latex\DeclareOption |
| 45 |
\let\DeclareOption\@gobbletwo |
| 46 |
\let\ProcessOptions@latex\ProcessOptions |
| 47 |
\let\ProcessOptions\@empty |
| 48 |
\let\ProvidesPackage@latex\ProvidesPackage |
| 49 |
\def\ProvidesPackage#1[#2]{% |
| 50 |
\class@info{Incorporating package #1 [#2].}% |
| 51 |
}% |
| 52 |
\typeout{% |
| 53 |
ltxutil: portions licensed from W. E. Baxter (web@superscript.com)% |
| 54 |
}% |
| 55 |
\def\class@err#1{\ClassError{\class@name}{#1}\@eha}% |
| 56 |
\def\class@warn#1{\ClassWarningNoLine{\class@name}{#1}}% |
| 57 |
\def\class@info#1{\ClassInfo{\class@name}{#1}}% |
| 58 |
\def\obsolete@command#1{% |
| 59 |
\class@warn@end{Command \string#1\space is obsolete.^^JPlease remove from your document}% |
| 60 |
\global\let#1\@empty |
| 61 |
#1% |
| 62 |
}% |
| 63 |
\def\replace@command#1#2{% |
| 64 |
\class@warn@end{Command \string#1\space is obsolete;^^JUse \string#2\space instead}% |
| 65 |
\global\let#1#2% |
| 66 |
#1% |
| 67 |
}% |
| 68 |
\def\replace@environment#1#2{% |
| 69 |
\class@warn@end{Environment #1 is obsolete;^^JUse #2 instead}% |
| 70 |
\glet@environment{#1}{#2}% |
| 71 |
\@nameuse{#1}% |
| 72 |
}% |
| 73 |
\def\incompatible@package#1{% |
| 74 |
\@ifpackageloaded{#1}{% |
| 75 |
\def\@tempa{I cannot continue. You must remove the \string\usepackage\ statement that caused that package to be loaded.}% |
| 76 |
\ClassError{\class@name}{The #1 package cannot be used with \class@name}% |
| 77 |
\@tempa\stop |
| 78 |
}{% |
| 79 |
\class@info{#1 was not loaded (OK!)}% |
| 80 |
}% |
| 81 |
}% |
| 82 |
\def\class@warn@end#1{% |
| 83 |
\gappdef\class@enddocumenthook{\class@warn{#1}}% |
| 84 |
}% |
| 85 |
\AtEndOfClass{% |
| 86 |
\@ifxundefined\class@name{\def\class@name{Generic Class}}{}% |
| 87 |
}% |
| 88 |
\def\t@{to}% |
| 89 |
\dimendef\dimen@iii\thr@@ |
| 90 |
\def\halignt@{\halign\t@}% |
| 91 |
\chardef\f@ur=4\relax |
| 92 |
\chardef\cat@letter=11\relax |
| 93 |
\chardef\other=12\relax |
| 94 |
\def\let@environment#1#2{% |
| 95 |
\expandafter\let |
| 96 |
\csname#1\expandafter\endcsname\csname#2\endcsname |
| 97 |
\expandafter\let |
| 98 |
\csname end#1\expandafter\endcsname\csname end#2\endcsname |
| 99 |
}% |
| 100 |
\def\glet@environment#1#2{% |
| 101 |
\global\expandafter\let |
| 102 |
\csname#1\expandafter\endcsname\csname#2\endcsname |
| 103 |
\global\expandafter\let |
| 104 |
\csname end#1\expandafter\endcsname\csname end#2\endcsname |
| 105 |
}% |
| 106 |
\newcommand\tracingplain{% |
| 107 |
\tracingonline\z@\tracingcommands\z@\tracingstats\z@ |
| 108 |
\tracingpages\z@\tracingoutput\z@\tracinglostchars\@ne |
| 109 |
\tracingmacros\z@\tracingparagraphs\z@\tracingrestores\z@ |
| 110 |
\showboxbreadth5\showboxdepth3\relax %\errorstopmode |
| 111 |
}% |
| 112 |
\newcommand\traceoutput{% |
| 113 |
\appdef\@resetactivechars{\showoutput}% |
| 114 |
}% |
| 115 |
\newcommand\say[1]{\typeout{<\noexpand#1=\meaning#1>}}% |
| 116 |
\newcommand\saythe[1]{\typeout{<\noexpand#1=\the#1>}}% |
| 117 |
\def\fullinterlineskip{\prevdepth\z@}% |
| 118 |
\countdef\count@i\@ne |
| 119 |
\countdef\count@ii\tw@ |
| 120 |
\long\def\prepdef#1#2{% |
| 121 |
\@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% |
| 122 |
\toks@ii{#2}% |
| 123 |
\edef#1{\the\toks@ii\the\toks@}% |
| 124 |
}% |
| 125 |
\long\def\appdef#1#2{% |
| 126 |
\@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% |
| 127 |
\toks@ii{#2}% |
| 128 |
\edef#1{\the\toks@\the\toks@ii}% |
| 129 |
}% |
| 130 |
\long\def\gappdef#1#2{% |
| 131 |
\@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% |
| 132 |
\toks@ii{#2}% |
| 133 |
\global\edef#1{\the\toks@\the\toks@ii}% |
| 134 |
}% |
| 135 |
\long\def\appdef@val#1#2{% |
| 136 |
\appdef#1{{#2}}% |
| 137 |
}% |
| 138 |
\long\def\appdef@e#1#2{% |
| 139 |
\expandafter\appdef |
| 140 |
\expandafter#1% |
| 141 |
\expandafter{#2}% |
| 142 |
}% |
| 143 |
\long\def\appdef@eval#1#2{% |
| 144 |
\expandafter\appdef@val |
| 145 |
\expandafter#1% |
| 146 |
\expandafter{#2}% |
| 147 |
}% |
| 148 |
\toksdef\toks@ii=\tw@ |
| 149 |
\long\def\@ifxundefined#1{\@ifx{\undefined#1}}% |
| 150 |
\long\def\@ifnotrelax#1#2#3{\@ifx{\relax#1}{#3}{#2}}% |
| 151 |
\long\def\@argswap#1#2{#2#1}% |
| 152 |
\long\def\@argswap@val#1#2{#2{#1}}% |
| 153 |
\def\@ifxundefined@cs#1{\expandafter\@ifx\expandafter{\csname#1\endcsname\relax}}% |
| 154 |
\def\@boolean#1#2{% |
| 155 |
\long\def#1{% |
| 156 |
#2% \if<something> |
| 157 |
\expandafter\true@sw |
| 158 |
\else |
| 159 |
\expandafter\false@sw |
| 160 |
\fi |
| 161 |
}% |
| 162 |
}% |
| 163 |
\def\@boole@def#1#{\@boolean{#1}}% Implicit #2 |
| 164 |
\def\@booleantrue#1{\let#1\true@sw}% |
| 165 |
\def\@booleanfalse#1{\let#1\false@sw}% |
| 166 |
\@boole@def\@ifx#1{\ifx#1}% |
| 167 |
\@boole@def\@ifx@empty#1{\ifx\@empty#1}% |
| 168 |
\@boole@def\@if@empty#1{\if!#1!}% |
| 169 |
\def\@if@sw#1#2{#1\expandafter\true@sw\else\expandafter\false@sw#2}% |
| 170 |
\@boole@def\@ifdim#1{\ifdim#1}% |
| 171 |
\@boole@def\@ifeof#1{\ifeof#1}% |
| 172 |
\@boole@def\@ifhbox#1{\ifhbox#1}% |
| 173 |
\@boole@def\@ifhmode{\ifhmode}% |
| 174 |
\@boole@def\@ifinner{\ifinner}% |
| 175 |
\@boole@def\@ifmmode{\ifmmode}% |
| 176 |
\@boole@def\@ifnum#1{\ifnum#1}% |
| 177 |
\@boole@def\@ifodd#1{\ifodd#1}% |
| 178 |
\@boole@def\@ifvbox#1{\ifvbox#1}% |
| 179 |
\@boole@def\@ifvmode{\ifvmode}% |
| 180 |
\@boole@def\@ifvoid#1{\ifvoid#1}% |
| 181 |
\long\def\true@sw#1#2{#1}% |
| 182 |
\long\def\false@sw#1#2{#2}% |
| 183 |
\long\def\loopuntil#1{#1{}{\loopuntil{#1}}}% |
| 184 |
\long\def\loopwhile#1{#1{\loopwhile{#1}}{}}% |
| 185 |
\def\@provide#1{% |
| 186 |
\@ifx{\undefined#1}{\true@sw}{\@ifx{\relax#1}{\true@sw}{\false@sw}}% |
| 187 |
{\def#1}{\def\j@nk}% |
| 188 |
}% |
| 189 |
\prepdef\document{% |
| 190 |
\endgroup |
| 191 |
\init@documenthook |
| 192 |
\set@typesize@hook |
| 193 |
\normalsize |
| 194 |
\set@pica@hook |
| 195 |
\true@sw{}% |
| 196 |
}% |
| 197 |
\def\init@documenthook{}% |
| 198 |
\AtBeginDocument{% |
| 199 |
\class@documenthook |
| 200 |
}% |
| 201 |
\AtEndDocument{% |
| 202 |
\class@enddocumenthook |
| 203 |
}% |
| 204 |
\def\class@documenthook{}% |
| 205 |
\def\class@enddocumenthook{}% |
| 206 |
\def\set@typesize@hook{}% |
| 207 |
\def\set@pica@hook{}% |
| 208 |
\def\enddocument{% |
| 209 |
\@enddocumenthook |
| 210 |
\@checkend{document}% |
| 211 |
\clear@document |
| 212 |
\check@aux |
| 213 |
\deadcycles\z@ |
| 214 |
\@@end |
| 215 |
}% |
| 216 |
\def\clear@document{\clearpage}% |
| 217 |
\def\check@aux{\do@check@aux}% |
| 218 |
\def\do@check@aux{% |
| 219 |
\@if@sw\if@filesw\fi{% |
| 220 |
\immediate\closeout\@mainaux |
| 221 |
\let\@setckpt\@gobbletwo |
| 222 |
\let\@newl@bel\@testdef |
| 223 |
\@tempswafalse |
| 224 |
\makeatletter |
| 225 |
\input\jobname.aux\relax |
| 226 |
}{}% |
| 227 |
\@dofilelist |
| 228 |
\@ifdim{\font@submax >\fontsubfuzz\relax}{% |
| 229 |
\@font@warning{% |
| 230 |
Size substitutions with differences\MessageBreak |
| 231 |
up to \font@submax\space have occured.\@gobbletwo |
| 232 |
}% |
| 233 |
}{}% |
| 234 |
\@defaultsubs |
| 235 |
\@refundefined |
| 236 |
\@if@sw\if@filesw\fi{% |
| 237 |
\@ifx{\@multiplelabels\relax}{% |
| 238 |
\@if@sw\if@tempswa\fi{% |
| 239 |
\@latex@warning@no@line{% |
| 240 |
Label(s) may have changed. |
| 241 |
Rerun to get cross-references right |
| 242 |
}% |
| 243 |
}{}% |
| 244 |
}{% |
| 245 |
\@multiplelabels |
| 246 |
}% |
| 247 |
}{}% |
| 248 |
}% |
| 249 |
\def\flushing{% |
| 250 |
\let\\\@normalcr |
| 251 |
\leftskip\z@skip |
| 252 |
\rightskip\z@skip |
| 253 |
\@rightskip\z@skip |
| 254 |
\parfillskip\@flushglue |
| 255 |
}% |
| 256 |
\def\eqnarray@LaTeX{% |
| 257 |
\stepcounter{equation}% |
| 258 |
\def\@currentlabel{\p@equation\theequation}% |
| 259 |
\global\@eqnswtrue |
| 260 |
\m@th |
| 261 |
\global\@eqcnt\z@ |
| 262 |
\tabskip\@centering |
| 263 |
\let\\\@eqncr |
| 264 |
$$\everycr{}\halign\t@\displaywidth\bgroup |
| 265 |
\hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel |
| 266 |
&\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil |
| 267 |
&\global\@eqcnt\tw@ \hskip \tw@\arraycolsep |
| 268 |
$\displaystyle{##}$\hfil\tabskip\@centering |
| 269 |
&\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup |
| 270 |
\tabskip\z@skip |
| 271 |
\cr |
| 272 |
} |
| 273 |
\long\def\eqnarray@fleqn@fixed{% |
| 274 |
\stepcounter{equation}\def\@currentlabel{\p@equation\theequation}% |
| 275 |
\global\@eqnswtrue\m@th\global\@eqcnt\z@ |
| 276 |
\tabskip\mathindent |
| 277 |
\let\\=\@eqncr |
| 278 |
\setlength\abovedisplayskip{\topsep}% |
| 279 |
\ifvmode\addtolength\abovedisplayskip{\partopsep}\fi |
| 280 |
\addtolength\abovedisplayskip{\parskip}% |
| 281 |
\setlength\belowdisplayskip{\abovedisplayskip}% |
| 282 |
\setlength\belowdisplayshortskip{\abovedisplayskip}% |
| 283 |
\setlength\abovedisplayshortskip{\abovedisplayskip}% |
| 284 |
$$% |
| 285 |
\everycr{}% |
| 286 |
\halignt@\linewidth\bgroup |
| 287 |
\hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel |
| 288 |
&\global\@eqcnt\@ne |
| 289 |
\hskip\tw@\eqncolsep |
| 290 |
\hfil${{}##{}}$\hfil |
| 291 |
&\global\@eqcnt\tw@ |
| 292 |
\hskip\tw@\eqncolsep |
| 293 |
$\displaystyle{##}$\hfil\tabskip\@centering |
| 294 |
&\global\@eqcnt\thr@@\hb@xt@\z@\bgroup\hss##\egroup |
| 295 |
\tabskip\z@skip |
| 296 |
\cr |
| 297 |
}% |
| 298 |
\@ifx{\eqnarray\eqnarray@LaTeX}{% |
| 299 |
\class@info{Repairing broken LaTeX eqnarray}% |
| 300 |
\let\eqnarray\eqnarray@fleqn@fixed |
| 301 |
\newlength\eqncolsep |
| 302 |
\setlength\eqncolsep\z@ |
| 303 |
\let\eqnarray@LaTeX\relax |
| 304 |
\let\eqnarray@fleqn@fixed\relax |
| 305 |
}{}% |
| 306 |
\def\mathindent{\@centering}% |
| 307 |
\def\set@eqnarray@skips{}% |
| 308 |
\def\footnote{% |
| 309 |
\@ifnextchar[\@xfootnote{\@yfootnote\@footnotetext}% |
| 310 |
}% |
| 311 |
\def\footnotemark{% |
| 312 |
\@ifnextchar[\@xfootnotemark{\@yfootnote}% |
| 313 |
}% |
| 314 |
\def\@xfootnote[#1]{% |
| 315 |
\@xfootnotemark[#1]% |
| 316 |
\@footnotetext |
| 317 |
}% |
| 318 |
\def\@xfootnotemark@ltx[#1]{% |
| 319 |
\begingroup |
| 320 |
\csname c@\@mpfn\endcsname #1\relax |
| 321 |
\unrestored@protected@xdef\@thefnmark{\thempfn}% |
| 322 |
\endgroup |
| 323 |
\H@@footnotemark |
| 324 |
}% |
| 325 |
\def\@yfootnote{% |
| 326 |
\stepcounter\@mpfn |
| 327 |
\protected@xdef\@thefnmark{\thempfn}% |
| 328 |
\H@@footnotemark |
| 329 |
}% |
| 330 |
\appdef\class@documenthook{% |
| 331 |
\@ifxundefined\H@@footnotemark{% |
| 332 |
\let\H@@footnotemark\@footnotemark |
| 333 |
}{}% |
| 334 |
\let\@xfootnotemark\@xfootnotemark@ltx |
| 335 |
}% |
| 336 |
\long\def\@footnotetext{% |
| 337 |
\insert\footins\bgroup |
| 338 |
\make@footnotetext |
| 339 |
}% |
| 340 |
\long\def\@mpfootnotetext{% |
| 341 |
\minipagefootnote@pick |
| 342 |
\make@footnotetext |
| 343 |
}% |
| 344 |
\def\make@footnotetext#1{% |
| 345 |
\reset@font\footnotesize |
| 346 |
\interlinepenalty\interfootnotelinepenalty |
| 347 |
\splittopskip\footnotesep |
| 348 |
\splitmaxdepth\dp\strutbox |
| 349 |
\set@footnotewidth |
| 350 |
\@parboxrestore |
| 351 |
\protected@edef\@currentlabel{% |
| 352 |
\csname p@footnote\endcsname\@thefnmark |
| 353 |
}% |
| 354 |
\color@begingroup |
| 355 |
\@makefntext{% |
| 356 |
\rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox |
| 357 |
}% |
| 358 |
\color@endgroup |
| 359 |
\minipagefootnote@drop |
| 360 |
}% |
| 361 |
\def\set@footnotewidth{% |
| 362 |
\hsize\columnwidth |
| 363 |
\linewidth\hsize |
| 364 |
}% |
| 365 |
\def\set@footnotewidth@ii{% |
| 366 |
\hsize\textwidth |
| 367 |
\advance\hsize\columnsep |
| 368 |
\divide\hsize\tw@ |
| 369 |
\advance\hsize-\columnsep |
| 370 |
\linewidth\hsize |
| 371 |
}% |
| 372 |
\def\addtocontents#1#2{% |
| 373 |
\protected@write\@auxout{% |
| 374 |
\let \label \@gobble \let \index \@gobble \let \glossary \@gobble |
| 375 |
\def\({\string\(}% |
| 376 |
\def\){\string\)}% |
| 377 |
\def\\{\string\\}% |
| 378 |
}{\string \@writefile {#1}{#2}}% |
| 379 |
}% |
| 380 |
\def\addcontentsline#1#2#3{% |
| 381 |
\addtocontents{#1}{% |
| 382 |
\protect\contentsline{#2}{#3}{\thepage}{}% |
| 383 |
}% |
| 384 |
}% |
| 385 |
\def\contentsline#1#2#3#4{% |
| 386 |
\csname l@#1\endcsname{#2}{#3}% |
| 387 |
}% |
| 388 |
\def\label#1{% |
| 389 |
\@bsphack |
| 390 |
\protected@write\@auxout{}{% |
| 391 |
\string\newlabel{#1}{{\@currentlabel}{\thepage}{}{}{}}% |
| 392 |
}% |
| 393 |
\@esphack |
| 394 |
}% |
| 395 |
\appdef\class@documenthook{% |
| 396 |
\prepdef\caption{\minipagefootnote@here}% |
| 397 |
}% |
| 398 |
\def\minipagefootnote@init{% |
| 399 |
\setbox\@mpfootins\box\voidb@x |
| 400 |
}% |
| 401 |
\def\minipagefootnote@pick{% |
| 402 |
\global\setbox\@mpfootins\vbox\bgroup |
| 403 |
\unvbox\@mpfootins |
| 404 |
}% |
| 405 |
\def\minipagefootnote@drop{% |
| 406 |
\egroup |
| 407 |
}% |
| 408 |
\def\minipagefootnote@here{% |
| 409 |
\par |
| 410 |
\@ifvoid\@mpfootins{}{% |
| 411 |
\vskip\skip\@mpfootins |
| 412 |
\fullinterlineskip |
| 413 |
\@ifinner{% |
| 414 |
\vtop{\unvcopy\@mpfootins}% |
| 415 |
{\setbox\z@\lastbox}% |
| 416 |
}{}% |
| 417 |
\unvbox\@mpfootins |
| 418 |
}% |
| 419 |
}% |
| 420 |
\def\minipagefootnote@foot{% |
| 421 |
\@ifvoid\@mpfootins{}{% |
| 422 |
\insert\footins\bgroup\unvbox\@mpfootins\egroup |
| 423 |
}% |
| 424 |
}% |
| 425 |
\def\endminipage{% |
| 426 |
\par |
| 427 |
\unskip |
| 428 |
\minipagefootnote@here |
| 429 |
\@minipagefalse %% added 24 May 89 |
| 430 |
\color@endgroup |
| 431 |
\egroup |
| 432 |
\expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}% |
| 433 |
}% |
| 434 |
\let\@xfloat@LaTeX\@xfloat |
| 435 |
\def\@xfloat#1[#2]{% |
| 436 |
\@xfloat@prep |
| 437 |
\@nameuse{fp@proc@#2}% |
| 438 |
\@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}% |
| 439 |
\floats@sw{\@xfloat@LaTeX{#1}[#2]}{\@xfloat@anchored{#1}[]}% |
| 440 |
}% |
| 441 |
\def\@xfloat@prep{% |
| 442 |
\let\footnote\footnote@latex |
| 443 |
\def\@mpfn{mpfootnote}% |
| 444 |
\def\thempfn{\thempfootnote}% |
| 445 |
\c@mpfootnote\z@ |
| 446 |
\let\@footnotetext\@mpfootnotetext |
| 447 |
\let\H@@footnotetext\@mpfootnotetext |
| 448 |
\let\@makefntext\@mpmakefntext |
| 449 |
}% |
| 450 |
\appdef\class@documenthook{% |
| 451 |
\let\footnote@latex\footnote |
| 452 |
}% |
| 453 |
\def\@xfloat@anchored#1[#2]{% |
| 454 |
\def\@captype{#1}% |
| 455 |
\begin@float@pagebreak |
| 456 |
\let\end@float\end@float@anchored |
| 457 |
\let\end@dblfloat\end@float@anchored |
| 458 |
\hsize\columnwidth |
| 459 |
\@parboxrestore |
| 460 |
\@floatboxreset |
| 461 |
\minipagefootnote@init |
| 462 |
}% |
| 463 |
\def\end@float@anchored{% |
| 464 |
\minipagefootnote@here |
| 465 |
\par\vskip\z@skip %% \par\vskip\z@ added 15 Dec 87 |
| 466 |
\par |
| 467 |
\end@float@pagebreak |
| 468 |
}% |
| 469 |
\def\begin@float@pagebreak{\par\addvspace\intextsep}% |
| 470 |
\def\end@float@pagebreak{\par\addvspace\intextsep}% |
| 471 |
\def\@mpmakefntext#1{% |
| 472 |
\parindent=1em |
| 473 |
\noindent |
| 474 |
\hb@xt@1em{\hss\@makefnmark}% |
| 475 |
#1% |
| 476 |
}% |
| 477 |
\def\do@if@floats#1#2{% |
| 478 |
\@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}% |
| 479 |
\floats@sw{}{% |
| 480 |
\expandafter\newwrite |
| 481 |
\csname#1write\endcsname |
| 482 |
\expandafter\def |
| 483 |
\csname#1@stream\endcsname{\jobname#2}% |
| 484 |
\expandafter\immediate |
| 485 |
\expandafter\openout |
| 486 |
\csname#1write\endcsname |
| 487 |
\csname#1@stream\endcsname\relax |
| 488 |
\@ifxundefined\@float@LaTeX{% |
| 489 |
\let\@float@LaTeX\@float |
| 490 |
\let\@dblfloat@LaTeX\@dblfloat |
| 491 |
\let\@float\write@float |
| 492 |
\let\@dblfloat\write@floats |
| 493 |
}{}% |
| 494 |
\let@environment{#1@float}{#1}% |
| 495 |
\let@environment{#1@floats}{#1*}% |
| 496 |
\@ifxundefined@cs{#1@write}{}{% |
| 497 |
\let@environment{#1}{#1@write}% |
| 498 |
}% |
| 499 |
}% |
| 500 |
}% |
| 501 |
\def\triggerpar{\leavevmode\@@par}% |
| 502 |
\def\oneapage{\def\begin@float@pagebreak{\newpage}\def\end@float@pagebreak{\newpage}}% |
| 503 |
\def\print@float#1#2{% |
| 504 |
\@ifxundefined@cs{#1write}{}{% |
| 505 |
\begingroup |
| 506 |
\@booleanfalse\floats@sw |
| 507 |
#2% |
| 508 |
\raggedbottom |
| 509 |
\def\array@default{v}% floats must |
| 510 |
\let\@float\@float@LaTeX |
| 511 |
\let\@dblfloat\@dblfloat@LaTeX |
| 512 |
\let\trigger@float@par\triggerpar |
| 513 |
\let@environment{#1}{#1@float}% |
| 514 |
\let@environment{#1*}{#1@floats}% |
| 515 |
\expandafter\prepdef\csname#1\endcsname{\trigger@float@par}% |
| 516 |
\expandafter\prepdef\csname#1*\endcsname{\trigger@float@par}% |
| 517 |
\@namedef{fps@#1}{h!}% |
| 518 |
\expandafter\immediate |
| 519 |
\expandafter\closeout |
| 520 |
\csname#1write\endcsname |
| 521 |
\everypar{% |
| 522 |
\global\let\trigger@float@par\relax |
| 523 |
\global\everypar{}\setbox\z@\lastbox |
| 524 |
\@ifxundefined@cs{#1sname}{}{% |
| 525 |
\begin@float@pagebreak |
| 526 |
\expandafter\section |
| 527 |
\expandafter*% |
| 528 |
\expandafter{% |
| 529 |
\csname#1sname\endcsname |
| 530 |
}% |
| 531 |
}% |
| 532 |
}% |
| 533 |
\input{\csname#1@stream\endcsname}% |
| 534 |
\endgroup |
| 535 |
\global\expandafter\let\csname#1write\endcsname\relax |
| 536 |
}% |
| 537 |
}% |
| 538 |
\def\write@float#1{\write@@float{#1}{#1}}% |
| 539 |
\def\endwrite@float{\@Esphack}% |
| 540 |
\def\write@floats#1{\write@@float{#1*}{#1}}% |
| 541 |
\def\endwrite@floats{\@Esphack}% |
| 542 |
\def\write@@float#1#2{% |
| 543 |
\ifhmode |
| 544 |
\@bsphack |
| 545 |
\fi |
| 546 |
\chardef\@tempc\csname#2write\endcsname |
| 547 |
\toks@{\begin{#1}}% |
| 548 |
\def\@tempb{#1}% |
| 549 |
\expandafter\let\csname end#1\endcsname\endwrite@float |
| 550 |
\catcode`\^^M\active |
| 551 |
\@makeother\{\@makeother\}\@makeother\% |
| 552 |
\write@floatline |
| 553 |
}% |
| 554 |
\begingroup |
| 555 |
\catcode`\[\the\catcode`\{\catcode`\]\the\catcode`\}\@makeother\{\@makeother\}% |
| 556 |
\gdef\float@end@tag#1\end{#2}#3\@nul[% |
| 557 |
\def\@tempa[#2]% |
| 558 |
\@ifx[\@tempa\@tempb][\end[#2]][\write@floatline]% |
| 559 |
]% |
| 560 |
\obeylines% |
| 561 |
\gdef\write@floatline#1^^M[% |
| 562 |
\begingroup% |
| 563 |
\newlinechar`\^^M% |
| 564 |
\toks@\expandafter[\the\toks@#1]\immediate\write\@tempc[\the\toks@]% |
| 565 |
\endgroup% |
| 566 |
\toks@[]% |
| 567 |
\float@end@tag#1\end{}\@nul% |
| 568 |
]% |
| 569 |
\endgroup |
| 570 |
\def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi} |
| 571 |
\def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or |
| 572 |
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 |
| 573 |
y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or |
| 574 |
kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or |
| 575 |
vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi} |
| 576 |
\def\@startsection#1#2#3#4#5#6{% |
| 577 |
\@startsection@hook |
| 578 |
\if@noskipsec \leavevmode \fi |
| 579 |
\par |
| 580 |
\@tempskipa #4\relax |
| 581 |
\@afterindenttrue |
| 582 |
\ifdim \@tempskipa <\z@ |
| 583 |
\@tempskipa -\@tempskipa \@afterindentfalse |
| 584 |
\fi |
| 585 |
\if@nobreak |
| 586 |
\everypar{}% |
| 587 |
\else |
| 588 |
\addpenalty\@secpenalty\addvspace\@tempskipa |
| 589 |
\fi |
| 590 |
\@ifstar |
| 591 |
{\@dblarg{\@ssect@ltx{#1}{#2}{#3}{#4}{#5}{#6}}}% |
| 592 |
{\@dblarg{\@sect@ltx {#1}{#2}{#3}{#4}{#5}{#6}}}% |
| 593 |
}% |
| 594 |
\def\@startsection@hook{}% |
| 595 |
\class@info |
| 596 |
{Repairing broken LateX \string\@sect}% |
| 597 |
\def\@sect@ltx#1#2#3#4#5#6[#7]#8{% |
| 598 |
\@ifnum{#2>\c@secnumdepth}{% |
| 599 |
\def\H@svsec{\phantomsection}% |
| 600 |
\let\@svsec\@empty |
| 601 |
}{% |
| 602 |
\H@refstepcounter{#1}% |
| 603 |
\def\H@svsec{% |
| 604 |
\phantomsection |
| 605 |
}% |
| 606 |
\protected@edef\@svsec{{#1}}% |
| 607 |
\@ifundefined{@#1cntformat}{% |
| 608 |
\prepdef\@svsec\@seccntformat |
| 609 |
}{% |
| 610 |
\expandafter\prepdef |
| 611 |
\expandafter\@svsec |
| 612 |
\csname @#1cntformat\endcsname |
| 613 |
}% |
| 614 |
}% |
| 615 |
\@tempskipa #5\relax |
| 616 |
\@ifdim{\@tempskipa>\z@}{% |
| 617 |
\begingroup |
| 618 |
\interlinepenalty \@M |
| 619 |
#6{% |
| 620 |
\@ifundefined{@hangfrom@#1}{\@hang@from}{\csname @hangfrom@#1\endcsname}% |
| 621 |
{\hskip#3\relax\H@svsec}{\@svsec}{#8}% |
| 622 |
}% |
| 623 |
\@@par |
| 624 |
\endgroup |
| 625 |
\@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}% |
| 626 |
\addcontentsline{toc}{#1}{% |
| 627 |
\@ifnum{#2>\c@secnumdepth}{% |
| 628 |
\protect\numberline{}% |
| 629 |
}{% |
| 630 |
\protect\numberline{\csname the#1\endcsname}% |
| 631 |
}% |
| 632 |
#8}% |
| 633 |
}{% |
| 634 |
\def\@svsechd{% |
| 635 |
#6{% |
| 636 |
\@ifundefined{@runin@to@#1}{\@runin@to}{\csname @runin@to@#1\endcsname}% |
| 637 |
{\hskip#3\relax\H@svsec}{\@svsec}{#8}% |
| 638 |
}% |
| 639 |
\@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}% |
| 640 |
\addcontentsline{toc}{#1}{% |
| 641 |
\@ifnum{#2>\c@secnumdepth}{% |
| 642 |
\protect\numberline{}% |
| 643 |
}{% |
| 644 |
\protect\numberline{\csname the#1\endcsname}% |
| 645 |
}% |
| 646 |
#8}% |
| 647 |
}% |
| 648 |
}% |
| 649 |
\@xsect{#5}% |
| 650 |
}% |
| 651 |
\def\@hang@from#1#2#3{\@hangfrom{#1#2}#3}% |
| 652 |
\def\@runin@to #1#2#3{#1#2#3}% |
| 653 |
\def\@ssect@ltx#1#2#3#4#5#6[#7]#8{% |
| 654 |
\def\H@svsec{\phantomsection}% |
| 655 |
\@tempskipa #5\relax |
| 656 |
\@ifdim{\@tempskipa>\z@}{% |
| 657 |
\begingroup |
| 658 |
\interlinepenalty \@M |
| 659 |
#6{% |
| 660 |
\@ifundefined{@hangfroms@#1}{\@hang@froms}{\csname @hangfroms@#1\endcsname}% |
| 661 |
{\hskip#3\relax\H@svsec}{#8}% |
| 662 |
}% |
| 663 |
\@@par |
| 664 |
\endgroup |
| 665 |
\@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}% |
| 666 |
\addcontentsline{toc}{#1}{\protect\numberline{}#8}% |
| 667 |
}{% |
| 668 |
\def\@svsechd{% |
| 669 |
#6{% |
| 670 |
\@ifundefined{@runin@tos@#1}{\@runin@tos}{\csname @runin@tos@#1\endcsname}% |
| 671 |
{\hskip#3\relax\H@svsec}{#8}% |
| 672 |
}% |
| 673 |
\@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}% |
| 674 |
\addcontentsline{toc}{#1}{\protect\numberline{}#8}% |
| 675 |
}% |
| 676 |
}% |
| 677 |
\@xsect{#5}% |
| 678 |
}% |
| 679 |
\def\@hang@froms#1#2{#1#2}% |
| 680 |
\def\@runin@tos #1#2{#1#2}% |
| 681 |
\appdef\init@documenthook{% |
| 682 |
\providecommand\phantomsection{}% |
| 683 |
\providecommand\hyper@anchor[1]{}% |
| 684 |
\providecommand\hyper@last{}% |
| 685 |
\providecommand\Hy@raisedlink[1]{#1}% |
| 686 |
\providecommand\hyper@anchorstart[1]{}% |
| 687 |
\providecommand\hyper@anchorend{}% |
| 688 |
\providecommand\hyper@linkstart[2]{}% |
| 689 |
\providecommand\hyper@linkend{}% |
| 690 |
}% |
| 691 |
\let\H@refstepcounter\refstepcounter |
| 692 |
\def\sec@upcase#1{\relax{#1}}% |
| 693 |
\appdef\class@documenthook{% |
| 694 |
\@ifpackageloaded{array}{\switch@array}{\switch@tabular}% |
| 695 |
\prepdef\endtabular{\endtabular@hook}% |
| 696 |
\@provide\endtabular@hook{}% |
| 697 |
\prepdef\endarray{\endarray@hook}% |
| 698 |
\@provide\endarray@hook{}% |
| 699 |
\providecommand\array@hook{}% |
| 700 |
\prepdef\@tabular{\tabular@hook}% |
| 701 |
\@provide\tabular@hook{}% |
| 702 |
}% |
| 703 |
\def\switch@tabular{% |
| 704 |
\let\@array@sw\@array@sw@array |
| 705 |
\@ifx{\@array\@array@LaTeX}{% |
| 706 |
\@ifx{\multicolumn\multicolumn@LaTeX}{% |
| 707 |
\@ifx{\@tabular\@tabular@LaTeX}{% |
| 708 |
\@ifx{\@tabarray\@tabarray@LaTeX}{% |
| 709 |
\@ifx{\array\array@LaTeX}{% |
| 710 |
\@ifx{\endarray\endarray@LaTeX}{% |
| 711 |
\@ifx{\endtabular\endtabular@LaTeX}{% |
| 712 |
\@ifx{\@mkpream\@mkpream@LaTeX}{% |
| 713 |
\@ifx{\@addamp\@addamp@LaTeX}{% |
| 714 |
\@ifx{\@arrayacol\@arrayacol@LaTeX}{% |
| 715 |
\@ifx{\@tabacol\@tabacol@LaTeX}{% |
| 716 |
\@ifx{\@arrayclassz\@arrayclassz@LaTeX}{% |
| 717 |
\@ifx{\@tabclassiv\@tabclassiv@LaTeX}{% |
| 718 |
\@ifx{\@arrayclassiv\@arrayclassiv@LaTeX}{% |
| 719 |
\@ifx{\@tabclassz\@tabclassz@LaTeX}{% |
| 720 |
\@ifx{\@classv\@classv@LaTeX}{% |
| 721 |
\@ifx{\hline\hline@LaTeX}{% |
| 722 |
\@ifx{\@tabularcr\@tabularcr@LaTeX}{% |
| 723 |
\@ifx{\@xtabularcr\@xtabularcr@LaTeX}{% |
| 724 |
\@ifx{\@xargarraycr\@xargarraycr@LaTeX}{% |
| 725 |
\@ifx{\@yargarraycr\@yargarraycr@LaTeX}{% |
| 726 |
\true@sw |
| 727 |
}{% |
| 728 |
\false@sw |
| 729 |
}% |
| 730 |
}{% |
| 731 |
\false@sw |
| 732 |
}% |
| 733 |
}{% |
| 734 |
\false@sw |
| 735 |
}% |
| 736 |
}{% |
| 737 |
\false@sw |
| 738 |
}% |
| 739 |
}{% |
| 740 |
\false@sw |
| 741 |
}% |
| 742 |
}{% |
| 743 |
\false@sw |
| 744 |
}% |
| 745 |
}{% |
| 746 |
\false@sw |
| 747 |
}% |
| 748 |
}{% |
| 749 |
\false@sw |
| 750 |
}% |
| 751 |
}{% |
| 752 |
\false@sw |
| 753 |
}% |
| 754 |
}{% |
| 755 |
\false@sw |
| 756 |
}% |
| 757 |
}{% |
| 758 |
\false@sw |
| 759 |
}% |
| 760 |
}{% |
| 761 |
\false@sw |
| 762 |
}% |
| 763 |
}{% |
| 764 |
\false@sw |
| 765 |
}% |
| 766 |
}{% |
| 767 |
\false@sw |
| 768 |
}% |
| 769 |
}{% |
| 770 |
\false@sw |
| 771 |
}% |
| 772 |
}{% |
| 773 |
\false@sw |
| 774 |
}% |
| 775 |
}{% |
| 776 |
\false@sw |
| 777 |
}% |
| 778 |
}{% |
| 779 |
\false@sw |
| 780 |
}% |
| 781 |
}{% |
| 782 |
\false@sw |
| 783 |
}% |
| 784 |
}{% |
| 785 |
\false@sw |
| 786 |
}% |
| 787 |
}{% |
| 788 |
\false@sw |
| 789 |
}% |
| 790 |
{% |
| 791 |
\class@info{Patching LaTeX tabular.}% |
| 792 |
}{% |
| 793 |
\class@info{Unrecognized LaTeX tabular. Please update this document class! (Proceeding with fingers crossed.)}% |
| 794 |
}% |
| 795 |
\let\@array\@array@ltx |
| 796 |
\let\multicolumn\multicolumn@ltx |
| 797 |
\let\@tabular\@tabular@ltx |
| 798 |
\let\@tabarray\@tabarray@ltx |
| 799 |
\let\array\array@ltx |
| 800 |
\let\endarray\endarray@ltx |
| 801 |
\let\endtabular\endtabular@ltx |
| 802 |
\let\@mkpream\@mkpream@ltx |
| 803 |
\let\@addamp\@addamp@ltx |
| 804 |
\let\@arrayacol\@arrayacol@ltx |
| 805 |
\let\@tabacol\@tabacol@ltx |
| 806 |
\let\@arrayclassz\@arrayclassz@ltx |
| 807 |
\let\@tabclassiv\@tabclassiv@ltx |
| 808 |
\let\@arrayclassiv\@arrayclassiv@ltx |
| 809 |
\let\@tabclassz\@tabclassz@ltx |
| 810 |
\let\@classv\@classv@ltx |
| 811 |
\let\hline\hline@ltx |
| 812 |
\let\@tabularcr\@tabularcr@ltx |
| 813 |
\let\@xtabularcr\@xtabularcr@ltx |
| 814 |
\let\@xargarraycr\@xargarraycr@ltx |
| 815 |
\let\@yargarraycr\@yargarraycr@ltx |
| 816 |
}% |
| 817 |
\def\switch@array{% |
| 818 |
\let\@array@sw\@array@sw@LaTeX |
| 819 |
\@ifx{\@array\@array@array}{% |
| 820 |
\@ifx{\@tabular\@tabular@array}{% |
| 821 |
\@ifx{\@tabarray\@tabarray@array}{% |
| 822 |
\@ifx{\array\array@array}{% |
| 823 |
\@ifx{\endarray\endarray@array}{% |
| 824 |
\@ifx{\endtabular\endtabular@array}{% |
| 825 |
\@ifx{\@mkpream\@mkpream@array}{% |
| 826 |
\@ifx{\@classx\@classx@array}{% |
| 827 |
\@ifx{\insert@column\insert@column@array}{% |
| 828 |
\@ifx{\@arraycr\@arraycr@array}{% |
| 829 |
\@ifx{\@xarraycr\@xarraycr@array}{% |
| 830 |
\@ifx{\@xargarraycr\@xargarraycr@array}{% |
| 831 |
\@ifx{\@yargarraycr\@yargarraycr@array}{% |
| 832 |
\true@sw |
| 833 |
}{% |
| 834 |
\false@sw |
| 835 |
}% |
| 836 |
}{% |
| 837 |
\false@sw |
| 838 |
}% |
| 839 |
}{% |
| 840 |
\false@sw |
| 841 |
}% |
| 842 |
}{% |
| 843 |
\false@sw |
| 844 |
}% |
| 845 |
}{% |
| 846 |
\false@sw |
| 847 |
}% |
| 848 |
}{% |
| 849 |
\false@sw |
| 850 |
}% |
| 851 |
}{% |
| 852 |
\false@sw |
| 853 |
}% |
| 854 |
}{% |
| 855 |
\false@sw |
| 856 |
}% |
| 857 |
}{% |
| 858 |
\false@sw |
| 859 |
}% |
| 860 |
}{% |
| 861 |
\false@sw |
| 862 |
}% |
| 863 |
}{% |
| 864 |
\false@sw |
| 865 |
}% |
| 866 |
}{% |
| 867 |
\false@sw |
| 868 |
}% |
| 869 |
}{% |
| 870 |
\false@sw |
| 871 |
}{% |
| 872 |
\class@info{Patching array package.}% |
| 873 |
}{% |
| 874 |
\class@info{Unrecognized array package. Please update this document class! (Proceeding with fingers crossed.)}% |
| 875 |
}% |
| 876 |
\let\@array \@array@array@new |
| 877 |
\let\@@array \@array % Cosi fan tutti |
| 878 |
\let\@tabular \@tabular@array@new |
| 879 |
\let\@tabarray \@tabarray@array@new |
| 880 |
\let\array \array@array@new |
| 881 |
\let\endarray \endarray@array@new |
| 882 |
\let\endtabular\endtabular@array@new |
| 883 |
\let\@mkpream \@mkpream@array@new |
| 884 |
\let\@classx \@classx@array@new |
| 885 |
\let\@arrayacol\@arrayacol@ltx |
| 886 |
\let\@tabacol \@tabacol@ltx |
| 887 |
\let\insert@column\insert@column@array@new |
| 888 |
\expandafter\let\csname endtabular*\endcsname\endtabular % Cosi fan tutti |
| 889 |
\let\@arraycr \@arraycr@new |
| 890 |
\let\@xarraycr \@xarraycr@new |
| 891 |
\let\@xargarraycr\@xargarraycr@new |
| 892 |
\let\@yargarraycr\@yargarraycr@new |
| 893 |
}% |
| 894 |
\def\@array@sw@LaTeX{\@ifx{\\\@tabularcr}}% |
| 895 |
\def\@array@sw@array{\@ifx{\d@llarbegin\begingroup}}% |
| 896 |
\def\@tabular@LaTeX{% |
| 897 |
\leavevmode |
| 898 |
\hbox\bgroup$% |
| 899 |
\let\@acol\@tabacol |
| 900 |
\let\@classz\@tabclassz |
| 901 |
\let\@classiv\@tabclassiv |
| 902 |
\let\\\@tabularcr |
| 903 |
\@tabarray |
| 904 |
}% |
| 905 |
\def\@tabular@ltx{% |
| 906 |
\let\@acoll\@tabacoll |
| 907 |
\let\@acolr\@tabacolr |
| 908 |
\let\@acol\@tabacol |
| 909 |
\let\@classz\@tabclassz |
| 910 |
\let\@classiv\@tabclassiv |
| 911 |
\let\\\@tabularcr |
| 912 |
\@tabarray |
| 913 |
}% |
| 914 |
\def\@tabular@array{% |
| 915 |
\leavevmode |
| 916 |
\hbox\bgroup$% |
| 917 |
\col@sep\tabcolsep |
| 918 |
\let\d@llarbegin\begingroup |
| 919 |
\let\d@llarend\endgroup |
| 920 |
\@tabarray |
| 921 |
}% |
| 922 |
\def\@tabular@array@new{% |
| 923 |
\let\@acoll\@tabacoll |
| 924 |
\let\@acolr\@tabacolr |
| 925 |
\let\@acol\@tabacol |
| 926 |
\let\col@sep\@undefined |
| 927 |
\let\d@llarbegin\begingroup |
| 928 |
\let\d@llarend\endgroup |
| 929 |
\@tabarray |
| 930 |
}% |
| 931 |
\def\@tabarray@LaTeX{% |
| 932 |
\m@th\@ifnextchar[\@array{\@array[c]}% |
| 933 |
}% |
| 934 |
\def\@tabarray@ltx{% |
| 935 |
\m@th\@ifnextchar[\@array{\expandafter\@array\expandafter[\array@default]}% |
| 936 |
}% |
| 937 |
\def\@tabarray@array{% |
| 938 |
\@ifnextchar[{\@@array}{\@@array[c]}% |
| 939 |
}% |
| 940 |
\def\@tabarray@array@new{% |
| 941 |
\@ifnextchar[{\@@array}{\expandafter\@@array\expandafter[\array@default]}% |
| 942 |
}% |
| 943 |
\newcount\intertabularlinepenalty |
| 944 |
\intertabularlinepenalty=100 |
| 945 |
\newcount\@tbpen |
| 946 |
\appdef\samepage{\intertabularlinepenalty\@M}% |
| 947 |
\def\@tabularcr@LaTeX{{\ifnum 0=`}\fi \@ifstar \@xtabularcr \@xtabularcr}% |
| 948 |
\def\@tabularcr@ltx{{\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xtabularcr }{\global \@tbpen \intertabularlinepenalty \@xtabularcr }}% |
| 949 |
\def\@xtabularcr@LaTeX{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr }}% |
| 950 |
\def\@xtabularcr@ltx{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr \noalign {\penalty \@tbpen }}}% |
| 951 |
\def\@xargarraycr@LaTeX#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr}% |
| 952 |
\def\@xargarraycr@ltx#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr \noalign {\penalty \@tbpen }}% |
| 953 |
\def\@yargarraycr@LaTeX#1{\cr \noalign {\vskip #1}}% |
| 954 |
\def\@yargarraycr@ltx#1{\cr \noalign {\penalty \@tbpen \vskip #1}}% |
| 955 |
\def\@arraycr@array{% |
| 956 |
\relax |
| 957 |
\iffalse{\fi\ifnum 0=`}\fi |
| 958 |
\@ifstar \@xarraycr \@xarraycr |
| 959 |
}% |
| 960 |
\def\@arraycr@new{% |
| 961 |
\relax |
| 962 |
\iffalse{\fi\ifnum 0=`}\fi |
| 963 |
\@ifstar {\global \@tbpen \@M \@xarraycr }{\global \@tbpen \intertabularlinepenalty \@xarraycr }% |
| 964 |
}% |
| 965 |
\def\@xarraycr@array{% |
| 966 |
\@ifnextchar [%] |
| 967 |
\@argarraycr {\ifnum 0=`{}\fi\cr}% |
| 968 |
}% |
| 969 |
\def\@xarraycr@new{% |
| 970 |
\@ifnextchar [%] |
| 971 |
\@argarraycr {\ifnum 0=`{}\fi\cr \noalign {\penalty \@tbpen }}% |
| 972 |
}% |
| 973 |
\def\@xargarraycr@array#1{% |
| 974 |
\unskip |
| 975 |
\@tempdima #1\advance\@tempdima \dp\@arstrutbox |
| 976 |
\vrule \@depth\@tempdima \@width\z@ |
| 977 |
\cr |
| 978 |
}% |
| 979 |
\def\@xargarraycr@new#1{% |
| 980 |
\unskip |
| 981 |
\@tempdima #1\advance\@tempdima \dp\@arstrutbox |
| 982 |
\vrule \@depth\@tempdima \@width\z@ |
| 983 |
\cr |
| 984 |
\noalign {\penalty \@tbpen }% |
| 985 |
}% |
| 986 |
\def\@yargarraycr@array#1{% |
| 987 |
\cr |
| 988 |
\noalign{\vskip #1}% |
| 989 |
}% |
| 990 |
\def\@yargarraycr@new#1{% |
| 991 |
\cr |
| 992 |
\noalign{\penalty \@tbpen \vskip #1}% |
| 993 |
}% |
| 994 |
\def\array@LaTeX{% |
| 995 |
\let\@acol\@arrayacol |
| 996 |
\let\@classz\@arrayclassz |
| 997 |
\let\@classiv\@arrayclassiv |
| 998 |
\let\\\@arraycr |
| 999 |
\let\@halignto\@empty |
| 1000 |
\@tabarray |
| 1001 |
}% |
| 1002 |
\def\array@ltx{% |
| 1003 |
\@ifmmode{}{\@badmath$}% |
| 1004 |
\let\@acoll\@arrayacol |
| 1005 |
\let\@acolr\@arrayacol |
| 1006 |
\let\@acol\@arrayacol |
| 1007 |
\let\@classz\@arrayclassz |
| 1008 |
\let\@classiv\@arrayclassiv |
| 1009 |
\let\\\@arraycr |
| 1010 |
\let\@halignto\@empty |
| 1011 |
\@tabarray |
| 1012 |
}% |
| 1013 |
\def\array@array{% |
| 1014 |
\col@sep\arraycolsep |
| 1015 |
\def\d@llarbegin{$}\let\d@llarend\d@llarbegin\gdef\@halignto{}% |
| 1016 |
\@tabarray |
| 1017 |
} |
| 1018 |
\def\array@array@new{% |
| 1019 |
\@ifmmode{}{\@badmath$}% |
| 1020 |
\let\@acoll\@arrayacol |
| 1021 |
\let\@acolr\@arrayacol |
| 1022 |
\let\@acol\@arrayacol |
| 1023 |
\let\col@sep\@undefined |
| 1024 |
\def\d@llarbegin{$}% |
| 1025 |
\let\d@llarend\d@llarbegin |
| 1026 |
\gdef\@halignto{}% |
| 1027 |
\@tabarray |
| 1028 |
}% |
| 1029 |
\def\@array@LaTeX[#1]#2{% |
| 1030 |
\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi |
| 1031 |
\bgroup |
| 1032 |
\setbox\@arstrutbox\hbox{% |
| 1033 |
\vrule \@height\arraystretch\ht\strutbox |
| 1034 |
\@depth\arraystretch \dp\strutbox |
| 1035 |
\@width\z@}% |
| 1036 |
\@mkpream{#2}% |
| 1037 |
\edef\@preamble{% |
| 1038 |
\ialign \noexpand\@halignto |
| 1039 |
\bgroup \@arstrut \@preamble \tabskip\z@skip \cr}% |
| 1040 |
\let\@startpbox\@@startpbox \let\@endpbox\@@endpbox |
| 1041 |
\let\tabularnewline\\% |
| 1042 |
\let\par\@empty |
| 1043 |
\let\@sharp##% |
| 1044 |
\set@typeset@protect |
| 1045 |
\lineskip\z@skip\baselineskip\z@skip |
| 1046 |
\ifhmode \@preamerr\z@ \@@par\fi |
| 1047 |
\@preamble |
| 1048 |
}% |
| 1049 |
\def\@array@ltx[#1]#2{% |
| 1050 |
\@nameuse{@array@align@#1}% |
| 1051 |
\set@arstrutbox |
| 1052 |
\@mkpream{#2}% |
| 1053 |
\prepdef\@preamble{% |
| 1054 |
\tabskip\tabmid@skip |
| 1055 |
\@arstrut |
| 1056 |
}% |
| 1057 |
\appdef\@preamble{% |
| 1058 |
\tabskip\tabright@skip |
| 1059 |
\cr |
| 1060 |
\array@row@pre |
| 1061 |
}% |
| 1062 |
\let\tabularnewline\\% |
| 1063 |
\let\par\@empty |
| 1064 |
\let\@sharp##% |
| 1065 |
\set@typeset@protect |
| 1066 |
\lineskip\z@skip\baselineskip\z@skip |
| 1067 |
\tabskip\tableft@skip\relax |
| 1068 |
\ifhmode \@preamerr\z@ \@@par\fi |
| 1069 |
\everycr{}% |
| 1070 |
\expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble |
| 1071 |
}% |
| 1072 |
\def\set@arstrutbox{% |
| 1073 |
\setbox\@arstrutbox\hbox{% |
| 1074 |
\vrule \@height\arraystretch\ht\strutbox |
| 1075 |
\@depth\arraystretch \dp\strutbox |
| 1076 |
\@width\z@ |
| 1077 |
}% |
| 1078 |
}% |
| 1079 |
\def\@array@array[#1]#2{% |
| 1080 |
\@tempdima \ht \strutbox |
| 1081 |
\advance \@tempdima by\extrarowheight |
| 1082 |
\setbox \@arstrutbox \hbox{\vrule |
| 1083 |
\@height \arraystretch \@tempdima |
| 1084 |
\@depth \arraystretch \dp \strutbox |
| 1085 |
\@width \z@}% |
| 1086 |
\begingroup |
| 1087 |
\@mkpream{#2}% |
| 1088 |
\xdef\@preamble{\noexpand \ialign \@halignto |
| 1089 |
\bgroup \@arstrut \@preamble |
| 1090 |
\tabskip \z@ \cr}% |
| 1091 |
\endgroup |
| 1092 |
\@arrayleft |
| 1093 |
\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi |
| 1094 |
\bgroup |
| 1095 |
\let \@sharp ##\let \protect \relax |
| 1096 |
\lineskip \z@ |
| 1097 |
\baselineskip \z@ |
| 1098 |
\m@th |
| 1099 |
\let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble |
| 1100 |
}% |
| 1101 |
\def\@array@array@new[#1]#2{% |
| 1102 |
\@tempdima\ht\strutbox |
| 1103 |
\advance\@tempdima by\extrarowheight |
| 1104 |
\setbox\@arstrutbox\hbox{% |
| 1105 |
\vrule \@height\arraystretch\@tempdima |
| 1106 |
\@depth \arraystretch\dp\strutbox |
| 1107 |
\@width \z@ |
| 1108 |
}% |
| 1109 |
\begingroup |
| 1110 |
\@mkpream{#2}% |
| 1111 |
\xdef\@preamble{\@preamble}% |
| 1112 |
\endgroup |
| 1113 |
\prepdef\@preamble{% |
| 1114 |
\tabskip\tabmid@skip |
| 1115 |
\@arstrut |
| 1116 |
}% |
| 1117 |
\appdef\@preamble{% |
| 1118 |
\tabskip\tabright@skip |
| 1119 |
\cr |
| 1120 |
\array@row@pre |
| 1121 |
}% |
| 1122 |
\@arrayleft |
| 1123 |
\@nameuse{@array@align@#1}% |
| 1124 |
\m@th |
| 1125 |
\let\\\@arraycr |
| 1126 |
\let\tabularnewline\\% |
| 1127 |
\let\par\@empty |
| 1128 |
\let\@sharp##% |
| 1129 |
\set@typeset@protect |
| 1130 |
\lineskip\z@\baselineskip\z@ |
| 1131 |
\tabskip\tableft@skip |
| 1132 |
\everycr{}% |
| 1133 |
\expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble |
| 1134 |
}% |
| 1135 |
\def\endarray@LaTeX{% |
| 1136 |
\crcr\egroup\egroup |
| 1137 |
}% |
| 1138 |
\def\endarray@ltx{% |
| 1139 |
\crcr\array@row@pst\egroup\egroup |
| 1140 |
}% |
| 1141 |
\def\endarray@array{% |
| 1142 |
\crcr \egroup \egroup \@arrayright \gdef\@preamble{}% |
| 1143 |
}% |
| 1144 |
\def\endarray@array@new{% |
| 1145 |
\crcr\array@row@pst\egroup\egroup % Same as \endarray@ltx |
| 1146 |
\@arrayright |
| 1147 |
\global\let\@preamble\@empty |
| 1148 |
}% |
| 1149 |
\def\endtabular@LaTeX{% |
| 1150 |
\crcr\egroup\egroup $\egroup |
| 1151 |
}% |
| 1152 |
\def\endtabular@ltx{% |
| 1153 |
\endarray |
| 1154 |
}% |
| 1155 |
\def\endtabular@array{% |
| 1156 |
\endarray $\egroup |
| 1157 |
}% |
| 1158 |
\def\endtabular@array@new{% |
| 1159 |
\endarray |
| 1160 |
}% |
| 1161 |
\@namedef{endtabular*}{\endtabular}% |
| 1162 |
\long\def\multicolumn@LaTeX#1#2#3{% |
| 1163 |
\multispan{#1}\begingroup |
| 1164 |
\@mkpream{#2}% |
| 1165 |
\def\@sharp{#3}\set@typeset@protect |
| 1166 |
\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox |
| 1167 |
\@arstrut \@preamble\hbox{}\endgroup\ignorespaces |
| 1168 |
}% |
| 1169 |
\long\def\multicolumn@ltx#1#2#3{% |
| 1170 |
\multispan{#1}% |
| 1171 |
\begingroup |
| 1172 |
\@mkpream{#2}% |
| 1173 |
\def\@sharp{#3}% |
| 1174 |
\set@typeset@protect |
| 1175 |
%\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox |
| 1176 |
\@arstrut |
| 1177 |
\@preamble |
| 1178 |
\hbox{}% |
| 1179 |
\endgroup |
| 1180 |
\ignorespaces |
| 1181 |
}% |
| 1182 |
\def\@array@align@t{\leavevmode\vtop\bgroup}% |
| 1183 |
\def\@array@align@b{\leavevmode\vbox\bgroup}% |
| 1184 |
\def\@array@align@c{\leavevmode\@ifmmode{\vcenter\bgroup}{$\vcenter\bgroup\aftergroup$\aftergroup\relax}}% |
| 1185 |
\def\@array@align@v{% |
| 1186 |
\@ifmmode{% |
| 1187 |
\@badmath |
| 1188 |
\vcenter\bgroup |
| 1189 |
}{% |
| 1190 |
\@ifinner{% |
| 1191 |
$\vcenter\bgroup\aftergroup$ |
| 1192 |
}{% |
| 1193 |
\@@par\bgroup |
| 1194 |
}% |
| 1195 |
}% |
| 1196 |
}% |
| 1197 |
\def\array@default{c}% |
| 1198 |
\def\array@row@rst{% |
| 1199 |
\let\@array@align@v\@array@align@c |
| 1200 |
}% |
| 1201 |
\def\array@row@pre{}% |
| 1202 |
\def\array@row@pst{}% |
| 1203 |
\newcommand\toprule{\tab@rule{\column@font}{\column@fil}{\frstrut}}% |
| 1204 |
\newcommand\colrule{\unskip\lrstrut\\\tab@rule{\body@font}{}{\frstrut}}% |
| 1205 |
\newcommand\botrule{\unskip\lrstrut\\\noalign{\hline@rule}{}}% |
| 1206 |
\def\hline@LaTeX{% |
| 1207 |
\noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet |
| 1208 |
\reserved@a\@xhline |
| 1209 |
}% |
| 1210 |
\def\hline@ltx{% |
| 1211 |
\noalign{% |
| 1212 |
\ifnum0=`}\fi |
| 1213 |
\hline@rule |
| 1214 |
\futurelet\reserved@a\@xhline |
| 1215 |
% \noalign ended in \@xhline |
| 1216 |
}% |
| 1217 |
\def\@xhline@unneeded{% |
| 1218 |
\say\reserved@a |
| 1219 |
\ifx\reserved@a\hline |
| 1220 |
\vskip\doublerulesep |
| 1221 |
\vskip-\arrayrulewidth |
| 1222 |
\fi |
| 1223 |
\ifnum0=`{\fi}% |
| 1224 |
}% |
| 1225 |
\def\tab@rule#1#2#3{% |
| 1226 |
\crcr |
| 1227 |
\noalign{% |
| 1228 |
\hline@rule |
| 1229 |
\gdef\@arstrut@hook{% |
| 1230 |
\global\let\@arstrut@hook\@empty |
| 1231 |
#3% |
| 1232 |
}% |
| 1233 |
\gdef\cell@font{#1}% |
| 1234 |
\gdef\cell@fil{#2}% |
| 1235 |
}% |
| 1236 |
}% |
| 1237 |
\def\column@font{}% |
| 1238 |
\def\column@fil{}% |
| 1239 |
\def\body@font{}% |
| 1240 |
\def\cell@font{}% |
| 1241 |
\def\frstrut{}% |
| 1242 |
\def\lrstrut{}% |
| 1243 |
\def\@arstrut@hline{% |
| 1244 |
\relax |
| 1245 |
\@ifmmode{\copy}{\unhcopy}\@arstrutbox@hline |
| 1246 |
\@arstrut@hook |
| 1247 |
}% |
| 1248 |
\let\@arstrut@org\@arstrut |
| 1249 |
\def\@arstrut@hook{% |
| 1250 |
\global\let\@arstrut\@arstrut@org |
| 1251 |
}% |
| 1252 |
\newbox\@arstrutbox@hline |
| 1253 |
\appdef\set@arstrutbox{% |
| 1254 |
\setbox\@arstrutbox@hline\hbox{% |
| 1255 |
\setbox\z@\hbox{$0^{0}_{}$}% |
| 1256 |
\dimen@\ht\z@\advance\dimen@\@arstrut@hline@clnc |
| 1257 |
\@ifdim{\dimen@<\arraystretch\ht\strutbox}{\dimen@=\arraystretch\ht\strutbox}{}% |
| 1258 |
\vrule \@height\dimen@ |
| 1259 |
\@depth\arraystretch \dp\strutbox |
| 1260 |
\@width\z@ |
| 1261 |
}% |
| 1262 |
}% |
| 1263 |
\def\hline@rule{% |
| 1264 |
\hrule \@height \arrayrulewidth |
| 1265 |
\global\let\@arstrut\@arstrut@hline |
| 1266 |
}% |
| 1267 |
\def\@arstrut@hline@clnc{2\p@}% % Klootch: magic number |
| 1268 |
\def\tableft@skip{\z@skip}% |
| 1269 |
\def\tabmid@skip{\z@skip}%\@flushglue |
| 1270 |
\def\tabright@skip{\z@skip}% |
| 1271 |
\def\tableftsep{\tabcolsep}% |
| 1272 |
\def\tabmidsep{\tabcolsep}% |
| 1273 |
\def\tabrightsep{\tabcolsep}% |
| 1274 |
\def\cell@fil{}% |
| 1275 |
\def\pbox@hook{}% |
| 1276 |
\appdef\@arstrut{\@arstrut@hook}% |
| 1277 |
\let\@arstrut@hook\@empty |
| 1278 |
\def\@addtopreamble{\appdef\@preamble}% |
| 1279 |
\def\@mkpream@LaTeX#1{% |
| 1280 |
\@firstamptrue\@lastchclass6 |
| 1281 |
\let\@preamble\@empty |
| 1282 |
\let\protect\@unexpandable@protect |
| 1283 |
\let\@sharp\relax |
| 1284 |
\let\@startpbox\relax\let\@endpbox\relax |
| 1285 |
\@expast{#1}% |
| 1286 |
\expandafter\@tfor \expandafter |
| 1287 |
\@nextchar \expandafter:\expandafter=\reserved@a\do |
| 1288 |
{\@testpach\@nextchar |
| 1289 |
\ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii |
| 1290 |
\or \@classiv \or\@classv \fi\@lastchclass\@chclass}% |
| 1291 |
\ifcase \@lastchclass \@acol |
| 1292 |
\or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi |
| 1293 |
}% |
| 1294 |
\def\@mkpream@ltx#1{% |
| 1295 |
\@firstamptrue |
| 1296 |
\@lastchclass6 |
| 1297 |
\let\@preamble\@empty |
| 1298 |
\let\protect\@unexpandable@protect |
| 1299 |
\let\@sharp\relax |
| 1300 |
\@expast{#1}% |
| 1301 |
\expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\reserved@a |
| 1302 |
\do{% |
| 1303 |
\expandafter\@testpach\expandafter{\@nextchar}% |
| 1304 |
\ifcase\@chclass |
| 1305 |
\@classz |
| 1306 |
\or |
| 1307 |
\@classi |
| 1308 |
\or |
| 1309 |
\@classii |
| 1310 |
\or |
| 1311 |
\@classiii |
| 1312 |
\or |
| 1313 |
\@classiv |
| 1314 |
\or |
| 1315 |
\@classv |
| 1316 |
\fi |
| 1317 |
\@lastchclass\@chclass |
| 1318 |
}% |
| 1319 |
\ifcase\@lastchclass |
| 1320 |
\@acolr % right-hand column |
| 1321 |
\or |
| 1322 |
\or |
| 1323 |
\@preamerr\@ne |
| 1324 |
\or |
| 1325 |
\@preamerr\tw@ |
| 1326 |
\or |
| 1327 |
\or |
| 1328 |
\@acolr % right-hand column |
| 1329 |
\fi |
| 1330 |
}% |
| 1331 |
\def\insert@column@array{% |
| 1332 |
\the@toks \the \@tempcnta |
| 1333 |
\ignorespaces \@sharp \unskip |
| 1334 |
\the@toks \the \count@ \relax |
| 1335 |
}% |
| 1336 |
\def\insert@column@array@new{% |
| 1337 |
\the@toks\the\@tempcnta |
| 1338 |
\array@row@rst\cell@font |
| 1339 |
\ignorespaces\@sharp\unskip |
| 1340 |
\the@toks\the\count@ |
| 1341 |
\relax |
| 1342 |
}% |
| 1343 |
\def\@mkpream@relax{% |
| 1344 |
\let\tableftsep\relax |
| 1345 |
\let\tabmidsep\relax |
| 1346 |
\let\tabrightsep\relax |
| 1347 |
\let\array@row@rst\relax |
| 1348 |
\let\cell@font\relax |
| 1349 |
\let\@startpbox\relax |
| 1350 |
}% |
| 1351 |
\def\@mkpream@array#1{% |
| 1352 |
\gdef\@preamble{}\@lastchclass 4 \@firstamptrue |
| 1353 |
\let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax |
| 1354 |
\@temptokena{#1}\@tempswatrue |
| 1355 |
\@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% |
| 1356 |
\count@\m@ne |
| 1357 |
\let\the@toks\relax |
| 1358 |
\prepnext@tok |
| 1359 |
\expandafter \@tfor \expandafter \@nextchar |
| 1360 |
\expandafter :\expandafter =\the\@temptokena \do |
| 1361 |
{\@testpach |
| 1362 |
\ifcase \@chclass \@classz \or \@classi \or \@classii |
| 1363 |
\or \save@decl \or \or \@classv \or \@classvi |
| 1364 |
\or \@classvii \or \@classviii |
| 1365 |
\or \@classx |
| 1366 |
\or \@classx \fi |
| 1367 |
\@lastchclass\@chclass}% |
| 1368 |
\ifcase\@lastchclass |
| 1369 |
\@acol \or |
| 1370 |
\or |
| 1371 |
\@acol \or |
| 1372 |
\@preamerr \thr@@ \or |
| 1373 |
\@preamerr \tw@ \@addtopreamble\@sharp \or |
| 1374 |
\or |
| 1375 |
\else \@preamerr \@ne \fi |
| 1376 |
\def\the@toks{\the\toks}% |
| 1377 |
}% |
| 1378 |
\def\@mkpream@array@new#1{% |
| 1379 |
\gdef\@preamble{}% |
| 1380 |
\@lastchclass\f@ur |
| 1381 |
\@firstamptrue |
| 1382 |
\let\@sharp\relax |
| 1383 |
\@mkpream@relax |
| 1384 |
\@temptokena{#1}\@tempswatrue |
| 1385 |
\@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% |
| 1386 |
\count@\m@ne |
| 1387 |
\let\the@toks\relax |
| 1388 |
\prepnext@tok |
| 1389 |
\expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\the\@temptokena |
| 1390 |
\do{% |
| 1391 |
\@testpach |
| 1392 |
\ifcase\@chclass |
| 1393 |
\@classz |
| 1394 |
\or |
| 1395 |
\@classi |
| 1396 |
\or |
| 1397 |
\@classii |
| 1398 |
\or |
| 1399 |
\save@decl |
| 1400 |
\or |
| 1401 |
\or |
| 1402 |
\@classv |
| 1403 |
\or |
| 1404 |
\@classvi |
| 1405 |
\or |
| 1406 |
\@classvii |
| 1407 |
\or |
| 1408 |
\@classviii |
| 1409 |
\or |
| 1410 |
\@classx |
| 1411 |
\or |
| 1412 |
\@classx |
| 1413 |
\fi |
| 1414 |
\@lastchclass\@chclass |
| 1415 |
}% |
| 1416 |
\ifcase\@lastchclass |
| 1417 |
\@acolr % right-hand column |
| 1418 |
\or |
| 1419 |
\or |
| 1420 |
\@acolr % right-hand column |
| 1421 |
\or |
| 1422 |
\@preamerr\thr@@ |
| 1423 |
\or |
| 1424 |
\@preamerr\tw@\@addtopreamble\@sharp |
| 1425 |
\or |
| 1426 |
\or |
| 1427 |
\else |
| 1428 |
\@preamerr\@ne |
| 1429 |
\fi |
| 1430 |
\def\the@toks{\the\toks}% |
| 1431 |
}% |
| 1432 |
\def\@addamp@LaTeX{% |
| 1433 |
\if@firstamp\@firstampfalse\else\edef\@preamble{\@preamble &}\fi |
| 1434 |
}% |
| 1435 |
\def\@addamp@ltx{% |
| 1436 |
\if@firstamp\@firstampfalse\else\@addtopreamble{&}\fi |
| 1437 |
}% |
| 1438 |
\def\@arrayacol@LaTeX{% |
| 1439 |
\edef\@preamble{\@preamble \hskip \arraycolsep}% |
| 1440 |
}% |
| 1441 |
\def\@arrayacol@ltx{% |
| 1442 |
\@addtopreamble{\hskip\arraycolsep}% |
| 1443 |
}% |
| 1444 |
\def\@tabacoll{% |
| 1445 |
\@addtopreamble{\hskip\tableftsep\relax}% |
| 1446 |
}% |
| 1447 |
\def\@tabacol@LaTeX{% |
| 1448 |
\edef\@preamble{\@preamble \hskip \tabcolsep}% |
| 1449 |
}% |
| 1450 |
\def\@tabacol@ltx{% |
| 1451 |
\@addtopreamble{\hskip\tabmidsep\relax}% |
| 1452 |
}% |
| 1453 |
\def\@tabacolr{% |
| 1454 |
\@addtopreamble{\hskip\tabrightsep\relax}% |
| 1455 |
}% |
| 1456 |
\def\@arrayclassz@LaTeX{% |
| 1457 |
\ifcase \@lastchclass \@acolampacol \or \@ampacol \or |
| 1458 |
\or \or \@addamp \or |
| 1459 |
\@acolampacol \or \@firstampfalse \@acol \fi |
| 1460 |
\edef\@preamble{\@preamble |
| 1461 |
\ifcase \@chnum |
| 1462 |
\hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil |
| 1463 |
\or \hfil$\relax\@sharp$\fi}% |
| 1464 |
}% |
| 1465 |
\def\@arrayclassz@ltx{% |
| 1466 |
\ifcase\@lastchclass |
| 1467 |
\@acolampacol |
| 1468 |
\or |
| 1469 |
\@ampacol |
| 1470 |
\or |
| 1471 |
\or |
| 1472 |
\or |
| 1473 |
\@addamp |
| 1474 |
\or |
| 1475 |
\@acolampacol |
| 1476 |
\or |
| 1477 |
\@firstampfalse\@acoll |
| 1478 |
\fi |
| 1479 |
\ifcase\@chnum |
| 1480 |
\@addtopreamble{% |
| 1481 |
\hfil\array@row@rst$\relax\@sharp$\hfil |
| 1482 |
}% |
| 1483 |
\or |
| 1484 |
\@addtopreamble{% |
| 1485 |
\array@row@rst$\relax\@sharp$\hfil |
| 1486 |
}% |
| 1487 |
\or |
| 1488 |
\@addtopreamble{% |
| 1489 |
\hfil\array@row@rst$\relax\@sharp$% |
| 1490 |
}% |
| 1491 |
\fi |
| 1492 |
}% |
| 1493 |
\def\@tabclassz@LaTeX{% |
| 1494 |
\ifcase\@lastchclass |
| 1495 |
\@acolampacol |
| 1496 |
\or |
| 1497 |
\@ampacol |
| 1498 |
\or |
| 1499 |
\or |
| 1500 |
\or |
| 1501 |
\@addamp |
| 1502 |
\or |
| 1503 |
\@acolampacol |
| 1504 |
\or |
| 1505 |
\@firstampfalse\@acol |
| 1506 |
\fi |
| 1507 |
\edef\@preamble{% |
| 1508 |
\@preamble{% |
| 1509 |
\ifcase\@chnum |
| 1510 |
\hfil\ignorespaces\@sharp\unskip\hfil |
| 1511 |
\or |
| 1512 |
\hskip1sp\ignorespaces\@sharp\unskip\hfil |
| 1513 |
\or |
| 1514 |
\hfil\hskip1sp\ignorespaces\@sharp\unskip |
| 1515 |
\fi}}% |
| 1516 |
}% |
| 1517 |
\def\@tabclassz@ltx{% |
| 1518 |
\ifcase\@lastchclass |
| 1519 |
\@acolampacol |
| 1520 |
\or |
| 1521 |
\@ampacol |
| 1522 |
\or |
| 1523 |
\or |
| 1524 |
\or |
| 1525 |
\@addamp |
| 1526 |
\or |
| 1527 |
\@acolampacol |
| 1528 |
\or |
| 1529 |
\@firstampfalse\@acoll |
| 1530 |
\fi |
| 1531 |
\ifcase\@chnum |
| 1532 |
\@addtopreamble{% |
| 1533 |
{\hfil\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}% |
| 1534 |
}% |
| 1535 |
\or |
| 1536 |
\@addtopreamble{% |
| 1537 |
{\cell@fil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}% |
| 1538 |
}% |
| 1539 |
\or |
| 1540 |
\@addtopreamble{% |
| 1541 |
{\hfil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\cell@fil}% |
| 1542 |
}% |
| 1543 |
\fi |
| 1544 |
}% |
| 1545 |
\def\@tabclassiv@LaTeX{% |
| 1546 |
\@addtopreamble\@nextchar |
| 1547 |
}% |
| 1548 |
\def\@tabclassiv@ltx{% |
| 1549 |
\expandafter\@addtopreamble\expandafter{\@nextchar}% |
| 1550 |
}% |
| 1551 |
\def\@arrayclassiv@LaTeX{% |
| 1552 |
\@addtopreamble{$\@nextchar$}% |
| 1553 |
}% |
| 1554 |
\def\@arrayclassiv@ltx{% |
| 1555 |
\expandafter\@addtopreamble\expandafter{\expandafter$\@nextchar$}% |
| 1556 |
}% |
| 1557 |
\def\@classv@LaTeX{% |
| 1558 |
\@addtopreamble{\@startpbox{\@nextchar}\ignorespaces |
| 1559 |
\@sharp\@endpbox}% |
| 1560 |
}% |
| 1561 |
\def\@classv@ltx{% |
| 1562 |
\expandafter\@addtopreamble |
| 1563 |
\expandafter{% |
| 1564 |
\expandafter \@startpbox |
| 1565 |
\expandafter {\@nextchar}% |
| 1566 |
\pbox@hook\array@row@rst\cell@font\ignorespaces\@sharp\@endpbox |
| 1567 |
}% |
| 1568 |
}% |
| 1569 |
\def\@classx@array{% |
| 1570 |
\ifcase \@lastchclass |
| 1571 |
\@acolampacol \or |
| 1572 |
\@addamp \@acol \or |
| 1573 |
\@acolampacol \or |
| 1574 |
\or |
| 1575 |
\@acol \@firstampfalse \or |
| 1576 |
\@addamp |
| 1577 |
\fi |
| 1578 |
}% |
| 1579 |
\def\@classx@array@new{% |
| 1580 |
\ifcase \@lastchclass |
| 1581 |
\@acolampacol |
| 1582 |
\or |
| 1583 |
\@addamp \@acol |
| 1584 |
\or |
| 1585 |
\@acolampacol |
| 1586 |
\or |
| 1587 |
\or |
| 1588 |
\@firstampfalse\@acoll |
| 1589 |
\or |
| 1590 |
\@addamp |
| 1591 |
\fi |
| 1592 |
}% |
| 1593 |
\def\@xbitor@LaTeX #1{\@tempcntb \count#1 |
| 1594 |
\ifnum \@tempcnta =\z@ |
| 1595 |
\else |
| 1596 |
\divide\@tempcntb\@tempcnta |
| 1597 |
\ifodd\@tempcntb \@testtrue\fi |
| 1598 |
\fi}% |
| 1599 |
\def\@xbitor@ltx#1{% |
| 1600 |
\@tempcntb\count#1% |
| 1601 |
\@ifnum{\@tempcnta=\z@}{}{% |
| 1602 |
\divide\@tempcntb\@tempcnta |
| 1603 |
\@ifodd\@tempcntb{\@testtrue}{}% |
| 1604 |
}% |
| 1605 |
}% |
| 1606 |
\@ifx{\@xbitor\@xbitor@LaTeX}{% |
| 1607 |
\class@info{Repairing broken LaTeX \string\@xbitor}% |
| 1608 |
}{% |
| 1609 |
\class@info{Unrecognized LaTeX \string\@xbitor. Please update this document class! (Proceeding with fingers crossed.)}% |
| 1610 |
}% |
| 1611 |
\let\@xbitor\@xbitor@ltx |
| 1612 |
\newcommand*\@gobble@opt@one[2][]{}% |
| 1613 |
\def\@starttoc#1{% |
| 1614 |
\begingroup |
| 1615 |
\toc@pre |
| 1616 |
\makeatletter |
| 1617 |
\@input{\jobname.#1}% |
| 1618 |
\if@filesw |
| 1619 |
\expandafter\newwrite\csname tf@#1\endcsname |
| 1620 |
\immediate\openout \csname tf@#1\endcsname \jobname.#1\relax |
| 1621 |
\fi |
| 1622 |
\@nobreakfalse |
| 1623 |
\toc@post |
| 1624 |
\endgroup |
| 1625 |
}% |
| 1626 |
\def\toc@pre{}% |
| 1627 |
\def\toc@post{}% |
| 1628 |
\def\toc@@font{}%{\footnotesize\rmfamily}% |
| 1629 |
\def\@dotsep{\z@}%{5.5pt}% |
| 1630 |
\let\tocdim@section \leftmargini |
| 1631 |
\let\tocdim@subsection \leftmarginii |
| 1632 |
\let\tocdim@subsubsection \leftmarginiii |
| 1633 |
\let\tocdim@paragraph \leftmarginiv |
| 1634 |
\let\tocdim@appendix \leftmarginv |
| 1635 |
\let\tocdim@pagenum \leftmarginvi |
| 1636 |
\def\toc@pre@auto{% |
| 1637 |
\toc@@font |
| 1638 |
\@tempdima\z@ |
| 1639 |
\toc@setindent\@tempdima{section}% |
| 1640 |
\toc@setindent\@tempdima{subsection}% |
| 1641 |
\toc@setindent\@tempdima{subsubsection}% |
| 1642 |
\toc@setindent\@tempdima{paragraph}% |
| 1643 |
\toc@letdimen{appendix}% |
| 1644 |
\toc@letdimen{pagenum}% |
| 1645 |
}% |
| 1646 |
\def\toc@post@auto{% |
| 1647 |
\if@filesw |
| 1648 |
\begingroup |
| 1649 |
\toc@writedimen{section}% |
| 1650 |
\toc@writedimen{subsection}% |
| 1651 |
\toc@writedimen{subsubsection}% |
| 1652 |
\toc@writedimen{paragraph}% |
| 1653 |
\toc@writedimen{appendix}% |
| 1654 |
\toc@writedimen{pagenum}% |
| 1655 |
\endgroup |
| 1656 |
\fi |
| 1657 |
}% |
| 1658 |
\def\toc@setindent#1#2{% |
| 1659 |
\csname tocdim@#2\endcsname\tocdim@min\relax |
| 1660 |
\@ifundefined{tocmax@#2}{\@namedef{tocmax@#2}{\z@}}{}% |
| 1661 |
\advance#1\@nameuse{tocmax@#2}\relax |
| 1662 |
\expandafter\edef\csname tocleft@#2\endcsname{\the#1}% |
| 1663 |
}% |
| 1664 |
\def\toc@letdimen#1{% |
| 1665 |
\csname tocdim@#1\endcsname\tocdim@min\relax |
| 1666 |
\@ifundefined{tocmax@#1}{\@namedef{tocmax@#1}{\z@}}{}% |
| 1667 |
\expandafter\let\csname tocleft@#1\expandafter\endcsname\csname tocmax@#1\endcsname |
| 1668 |
}% |
| 1669 |
\def\toc@writedimen#1{% |
| 1670 |
\immediate\write\@auxout{% |
| 1671 |
\gdef\expandafter\string\csname tocmax@#1\endcsname{% |
| 1672 |
\expandafter\the\csname tocdim@#1\endcsname |
| 1673 |
}% |
| 1674 |
}% |
| 1675 |
}% |
| 1676 |
\def\l@@sections#1#2#3#4{% |
| 1677 |
% #1 - superior section |
| 1678 |
% #2 - this section |
| 1679 |
% #3 - content, including possible \numberline |
| 1680 |
% #4 - page number |
| 1681 |
\begingroup |
| 1682 |
\everypar{}% |
| 1683 |
\set@tocdim@pagenum{#4}% |
| 1684 |
\global\@tempdima\csname tocdim@#2\endcsname |
| 1685 |
\leftskip\csname tocleft@#2\endcsname\relax |
| 1686 |
\dimen@\csname tocleft@#1\endcsname\relax |
| 1687 |
\parindent-\leftskip\advance\parindent\dimen@ |
| 1688 |
\rightskip\tocleft@pagenum plus 1fil\relax |
| 1689 |
\skip@\parfillskip\parfillskip\z@ |
| 1690 |
\let\numberline\numberline@@sections |
| 1691 |
\@nameuse{l@f@#2}% |
| 1692 |
\ignorespaces#3\unskip\nobreak\hskip\skip@ |
| 1693 |
\hb@xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z@skip |
| 1694 |
\par |
| 1695 |
\expandafter\aftergroup\csname tocdim@#2\endcsname\expandafter |
| 1696 |
\endgroup\the\@tempdima\relax |
| 1697 |
}% |
| 1698 |
\def\set@tocdim@pagenum#1{% |
| 1699 |
\setbox\@tempboxa\hbox{\ignorespaces#1}% |
| 1700 |
\@ifdim{\tocdim@pagenum<\wd\z@}{\global\tocdim@pagenum\wd\z@}{}% |
| 1701 |
}% |
| 1702 |
\def\numberline@@sections#1{% |
| 1703 |
\leavevmode\hb@xt@-\parindent{% |
| 1704 |
\hfil |
| 1705 |
\@if@empty{#1}{}{% |
| 1706 |
\setbox\z@\hbox{#1.\kern\@dotsep}% |
| 1707 |
\@ifdim{\@tempdima<\wd\z@}{\global\@tempdima\wd\z@}{}% |
| 1708 |
\unhbox\z@ |
| 1709 |
}% |
| 1710 |
}% |
| 1711 |
\ignorespaces |
| 1712 |
}% |
| 1713 |
\def\tocdim@min{\z@}% |
| 1714 |
\def\list#1#2{% |
| 1715 |
\ifnum \@listdepth >5\relax |
| 1716 |
\@toodeep |
| 1717 |
\else |
| 1718 |
\global\advance\@listdepth\@ne |
| 1719 |
\fi |
| 1720 |
\rightmargin\z@ |
| 1721 |
\listparindent\z@ |
| 1722 |
\itemindent\z@ |
| 1723 |
\csname @list\romannumeral\the\@listdepth\endcsname |
| 1724 |
\def\@itemlabel{#1}% |
| 1725 |
\let\makelabel\@mklab |
| 1726 |
\@nmbrlistfalse |
| 1727 |
#2\relax |
| 1728 |
\@trivlist |
| 1729 |
\parskip\parsep |
| 1730 |
\set@listindent |
| 1731 |
\ignorespaces |
| 1732 |
}% |
| 1733 |
\def\set@listindent@parshape{% |
| 1734 |
\parindent\listparindent |
| 1735 |
\advance\@totalleftmargin\leftmargin |
| 1736 |
\advance\linewidth-\rightmargin |
| 1737 |
\advance\linewidth-\leftmargin |
| 1738 |
\parshape\@ne\@totalleftmargin\linewidth |
| 1739 |
}% |
| 1740 |
\def\set@listindent@{% |
| 1741 |
\parindent\listparindent |
| 1742 |
\advance\@totalleftmargin\leftmargin |
| 1743 |
\advance\rightskip\rightmargin |
| 1744 |
\advance\leftskip\@totalleftmargin |
| 1745 |
}% |
| 1746 |
\let\set@listindent\set@listindent@parshape |
| 1747 |
\typeout{% |
| 1748 |
ltxgrid: portions licensed from W. E. Baxter (web@superscript.com)% |
| 1749 |
}% |
| 1750 |
\newcounter{linecount} |
| 1751 |
\def\lineloop#1{% |
| 1752 |
\loop |
| 1753 |
\ifnum\c@linecount<#1\relax |
| 1754 |
\global\advance\c@linecount\@ne |
| 1755 |
\par |
| 1756 |
\hb@xt@\hsize{% |
| 1757 |
\ifnum\c@linecount<100 0\fi\ifnum\c@linecount<10 0\fi\number\c@linecount |
| 1758 |
\vrule depth2.5\p@ |
| 1759 |
\leaders\hrule\hfil |
| 1760 |
}% |
| 1761 |
\penalty\interlinepenalty |
| 1762 |
\repeat |
| 1763 |
}% |
| 1764 |
\let\@@mark\mark |
| 1765 |
\let\@@topmark\topmark |
| 1766 |
\let\@@firstmark\firstmark |
| 1767 |
\let\@@botmark\botmark |
| 1768 |
\let\@@splitfirstmark\splitfirstmark |
| 1769 |
\let\@@splitbotmark\splitbotmark |
| 1770 |
\def\@themark{{}{}{}{}}% |
| 1771 |
\def\nul@mark{{}{}{}{}\@@nul}% |
| 1772 |
\def\set@mark@netw@#1#2#3#4#5#6#7{\gdef#1{{#6}{#7}{#4}{#5}}\do@mark}% |
| 1773 |
\def\set@marktw@#1#2#3#4#5#6{\gdef#1{{#2}{#6}{#4}{#5}}\do@mark}% |
| 1774 |
\def\set@markthr@@#1#2#3#4#5#6{\gdef#1{{#2}{#3}{#6}{#5}}\do@mark}% |
| 1775 |
\def\get@mark@@ne#1#2#3#4#5\@@nul{#1}% |
| 1776 |
\def\get@mark@tw@#1#2#3#4#5\@@nul{#2}% |
| 1777 |
\def\get@mark@thr@@#1#2#3#4#5\@@nul{#3}% |
| 1778 |
\def\get@mark@f@ur#1#2#3#4#5\@@nul{#4}% |
| 1779 |
\def\mark@netw@{\expandafter\set@mark@netw@\expandafter\@themark\@themark}% |
| 1780 |
\def\marktw@{\expandafter\set@marktw@\expandafter\@themark\@themark}% |
| 1781 |
\def\markthr@@{\expandafter\set@markthr@@\expandafter\@themark\@themark}% |
| 1782 |
\def\do@mark{\do@@mark\@themark\nobreak@mark}% |
| 1783 |
\def\do@@mark#1{% |
| 1784 |
\begingroup |
| 1785 |
\let@mark |
| 1786 |
\@@mark{#1}% |
| 1787 |
\endgroup |
| 1788 |
}% |
| 1789 |
\def\let@mark{% |
| 1790 |
\let\protect\@unexpandable@protect |
| 1791 |
\let\label\relax |
| 1792 |
\let\index\relax |
| 1793 |
\let\glossary\relax |
| 1794 |
}% |
| 1795 |
\def\nobreak@mark{% |
| 1796 |
\@if@sw\if@nobreak\fi{\@ifvmode{\nobreak}{}}{}% |
| 1797 |
}% |
| 1798 |
\def\mark@envir{\markthr@@}% |
| 1799 |
\def\bot@envir{% |
| 1800 |
\expandafter\expandafter |
| 1801 |
\expandafter\get@mark@thr@@ |
| 1802 |
\expandafter\@@botmark |
| 1803 |
\nul@mark |
| 1804 |
}% |
| 1805 |
\def\markboth{\mark@netw@}% |
| 1806 |
\def\markright{\marktw@}% |
| 1807 |
\def\leftmark{% |
| 1808 |
\expandafter\expandafter |
| 1809 |
\expandafter\get@mark@@ne |
| 1810 |
\expandafter\saved@@botmark |
| 1811 |
\nul@mark |
| 1812 |
}% |
| 1813 |
\def\rightmark{% |
| 1814 |
\expandafter\expandafter |
| 1815 |
\expandafter\get@mark@tw@ |
| 1816 |
\expandafter\saved@@firstmark |
| 1817 |
\nul@mark |
| 1818 |
}% |
| 1819 |
\let\primitive@output\output |
| 1820 |
\long\def\@tempa#1\@@nil{#1}% |
| 1821 |
\toks@ |
| 1822 |
\expandafter\expandafter |
| 1823 |
\expandafter{% |
| 1824 |
\expandafter \@tempa |
| 1825 |
\the\output |
| 1826 |
\@@nil |
| 1827 |
}% |
| 1828 |
\newtoks\output |
| 1829 |
\output\expandafter{\the\toks@}% |
| 1830 |
\primitive@output{\dispatch@output}% |
| 1831 |
\def\dispatch@output{% |
| 1832 |
\let\par\@@par |
| 1833 |
\expandafter\let\expandafter\@tempa\csname output@\the\outputpenalty\endcsname |
| 1834 |
\outputdebug@sw{% |
| 1835 |
\saythe\badness |
| 1836 |
\saythe\outputpenalty |
| 1837 |
\saythe\holdinginserts |
| 1838 |
\say\thepagegrid |
| 1839 |
\saythe\pagegrid@col |
| 1840 |
\saythe\pagegrid@cur |
| 1841 |
%\say\bot@envir |
| 1842 |
\saythe\insertpenalties |
| 1843 |
%\say\@@topmark |
| 1844 |
%\say\saved@@topmark |
| 1845 |
%\say\@@firstmark |
| 1846 |
%\say\saved@@firstmark |
| 1847 |
\say\@@botmark |
| 1848 |
%\say\saved@@botmark |
| 1849 |
\saythe\pagegoal |
| 1850 |
\saythe\pagetotal |
| 1851 |
\saythe{\badness\@cclv}% |
| 1852 |
\expandafter\@ifx\expandafter{\csname output@-\the\execute@message@pen\endcsname\@tempa}{% |
| 1853 |
\say\@message@saved |
| 1854 |
}{% |
| 1855 |
\expandafter\say\csname output@\the\outputpenalty\endcsname |
| 1856 |
}% |
| 1857 |
\say\@toplist |
| 1858 |
\say\@botlist |
| 1859 |
\say\@dbltoplist |
| 1860 |
\say\@deferlist |
| 1861 |
{\tracingall\scrollmode |
| 1862 |
\showbox\@cclv |
| 1863 |
\showbox\@cclv@saved |
| 1864 |
\showbox\pagesofar |
| 1865 |
\showbox\footbox |
| 1866 |
\showbox\footins@saved |
| 1867 |
\showbox\footins |
| 1868 |
\showlists |
| 1869 |
}% |
| 1870 |
}{}% |
| 1871 |
\@ifnotrelax\@tempa{\@tempa}{\the\output}% |
| 1872 |
}% |
| 1873 |
\@ifxundefined{\outputdebug@sw}{% |
| 1874 |
\@booleanfalse\outputdebug@sw |
| 1875 |
}{}% |
| 1876 |
\output={\toggle@insert\output@holding\output@moving}% |
| 1877 |
\def\output@holding{% |
| 1878 |
\csname output@init@\bot@envir\endcsname |
| 1879 |
\@if@exceed@pagegoal{\unvcopy\@cclv}{% |
| 1880 |
\setbox\z@\vbox{\unvcopy\@cclv}% |
| 1881 |
\outputdebug@sw{{\tracingall\scrollmode\showbox\z@}}{}% |
| 1882 |
\dimen@\ht\@cclv\advance\dimen@-\ht\z@ |
| 1883 |
\dead@cycle@repair\dimen@ |
| 1884 |
}{% |
| 1885 |
\dead@cycle |
| 1886 |
}% |
| 1887 |
}% |
| 1888 |
\def\@if@exceed@pagegoal#1{% |
| 1889 |
\begingroup |
| 1890 |
\setbox\z@\vbox{#1}% |
| 1891 |
\dimen@\ht\z@\advance\dimen@\dp\z@ |
| 1892 |
\outputdebug@sw{\saythe\dimen@}{}% |
| 1893 |
\@ifdim{\dimen@>\pagegoal}{% |
| 1894 |
\setbox\z@\vbox{\@@mark{}\unvbox\z@}% |
| 1895 |
\splittopskip\topskip |
| 1896 |
\splitmaxdepth\maxdepth |
| 1897 |
\vbadness\@M |
| 1898 |
\vfuzz\maxdimen |
| 1899 |
\setbox\tw@\vsplit\z@ to\pagegoal |
| 1900 |
\outputdebug@sw{{\tracingall\scrollmode\showbox\tw@\showbox\z@}}{}% |
| 1901 |
\setbox\tw@\vbox{\unvbox\tw@}% |
| 1902 |
\@ifdim{\ht\tw@=\z@}{% |
| 1903 |
\ltxgrid@info{Found overly large chunk while preparing to move insertions. Attempting repairs}% |
| 1904 |
\aftergroup\true@sw |
| 1905 |
}{% |
| 1906 |
\aftergroup\false@sw |
| 1907 |
}% |
| 1908 |
}{% |
| 1909 |
\aftergroup\false@sw |
| 1910 |
}% |
| 1911 |
\endgroup |
| 1912 |
}% |
| 1913 |
%% \item |
| 1914 |
%% Put down the same interrupts as for the non-trivial case above. |
| 1915 |
\def\output@moving{% |
| 1916 |
\set@top@firstmark |
| 1917 |
\@ifnum{\outputpenalty=\do@newpage@pen}{% |
| 1918 |
\setbox\@cclv\vbox{% |
| 1919 |
\unvbox\@cclv |
| 1920 |
\setbox\z@\lastbox |
| 1921 |
\@ifdim{\ht\z@=\ht\@protection@box}{\box\lastbox}{\unskip}% |
| 1922 |
}% |
| 1923 |
}{}% |
| 1924 |
\@cclv@nontrivial@sw{% |
| 1925 |
\csname output@prep@\bot@envir \endcsname |
| 1926 |
\@makecol\csname output@column@\thepagegrid\endcsname |
| 1927 |
\protect@penalty\do@startcolumn@pen |
| 1928 |
\clearpage@sw{% |
| 1929 |
\protect@penalty\do@endpage@pen |
| 1930 |
}{}% |
| 1931 |
\csname output@post@\bot@envir \endcsname |
| 1932 |
}{% |
| 1933 |
{\setbox\z@\box\@cclv}% |
| 1934 |
}% |
| 1935 |
\set@colroom |
| 1936 |
\global\@mparbottom\z@ |
| 1937 |
\global\@textfloatsheight\z@ %FIXME: this legacy LaTeX variable is set, but never queried! |
| 1938 |
}% |
| 1939 |
\def\@cclv@nontrivial@sw{% |
| 1940 |
\@ifx@empty\@toplist{% |
| 1941 |
\@ifx@empty\@botlist{% |
| 1942 |
\@ifvoid\footins{% |
| 1943 |
\@ifvoid\@cclv{% |
| 1944 |
\false@sw |
| 1945 |
}{% |
| 1946 |
\setbox\z@\vbox{\unvcopy\@cclv}% |
| 1947 |
\@ifdim{\ht\z@=\topskip}{% |
| 1948 |
\setbox\z@\vbox{% |
| 1949 |
\unvbox\z@ |
| 1950 |
\setbox\z@\lastbox\dimen@\lastskip\unskip |
| 1951 |
\@ifdim{\ht\z@=\ht\@protection@box}{% |
| 1952 |
\advance\dimen@\ht\z@ |
| 1953 |
\@ifdim{\dimen@=\topskip}{% |
| 1954 |
\aftergroup\true@sw |
| 1955 |
}{% |
| 1956 |
\aftergroup\false@sw |
| 1957 |
}% |
| 1958 |
}{% |
| 1959 |
\aftergroup\false@sw |
| 1960 |
}% |
| 1961 |
}% |
| 1962 |
{% |
| 1963 |
\false@sw % Normal for \clearpage |
| 1964 |
}{% |
| 1965 |
\true@sw |
| 1966 |
}% |
| 1967 |
}{% |
| 1968 |
\@ifdim{\ht\z@=\z@}{% |
| 1969 |
\ltxgrid@info{Found trivial column. Discarding it}% |
| 1970 |
\outputdebug@sw{{\tracingall\scrollmode\showbox\@cclv}}{}% |
| 1971 |
\false@sw |
| 1972 |
}{% |
| 1973 |
\true@sw |
| 1974 |
}% |
| 1975 |
}% |
| 1976 |
}% |
| 1977 |
}{% |
| 1978 |
\true@sw |
| 1979 |
}% |
| 1980 |
}{% |
| 1981 |
\true@sw |
| 1982 |
}% |
| 1983 |
}{% |
| 1984 |
\true@sw |
| 1985 |
}% |
| 1986 |
}% |
| 1987 |
\def\protect@penalty#1{\protection@box\penalty-#1\relax}% |
| 1988 |
\newbox\@protection@box |
| 1989 |
\setbox\@protection@box\vbox to1986sp{\vfil}% |
| 1990 |
\def\protection@box{\nointerlineskip\copy\@protection@box}% |
| 1991 |
\def\dead@cycle@repair#1{% |
| 1992 |
\expandafter\do@@mark |
| 1993 |
\expandafter{% |
| 1994 |
\@@botmark |
| 1995 |
}% |
| 1996 |
\unvbox\@cclv |
| 1997 |
\nointerlineskip |
| 1998 |
\vbox to#1{\vss}% |
| 1999 |
\@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% |
| 2000 |
}% |
| 2001 |
\def\dead@cycle@repair@protected#1{% |
| 2002 |
\expandafter\do@@mark |
| 2003 |
\expandafter{% |
| 2004 |
\@@botmark |
| 2005 |
}% |
| 2006 |
\begingroup |
| 2007 |
\unvbox\@cclv |
| 2008 |
\setbox\z@\lastbox % Remove protection box |
| 2009 |
\nointerlineskip |
| 2010 |
\advance#1-\ht\@protection@box |
| 2011 |
\vbox to#1{\vss}% |
| 2012 |
\protection@box % Reinsert protection box |
| 2013 |
\@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% |
| 2014 |
\endgroup |
| 2015 |
}% |
| 2016 |
\def\dead@cycle{% |
| 2017 |
\expandafter\do@@mark |
| 2018 |
\expandafter{% |
| 2019 |
\@@botmark |
| 2020 |
}% |
| 2021 |
\unvbox\@cclv |
| 2022 |
\@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% |
| 2023 |
}% |
| 2024 |
\def\output@init@document{% |
| 2025 |
\@ifvoid\footbox{}{% |
| 2026 |
\global\advance\vsize-\ht\footbox |
| 2027 |
\global\advance\vsize-\dp\footbox |
| 2028 |
}% |
| 2029 |
}% |
| 2030 |
\def\output@prep@document{% |
| 2031 |
\@ifvoid\footbox{}{% |
| 2032 |
\setbox\footins\vbox{\unvbox\footbox\unvbox\footins}% |
| 2033 |
}% |
| 2034 |
}% |
| 2035 |
\def\output@post@document{}% |
| 2036 |
\let\@opcol\@undefined |
| 2037 |
\def\@makecol{% |
| 2038 |
\setbox\@outputbox\vbox{% |
| 2039 |
\boxmaxdepth\@maxdepth |
| 2040 |
\@tempdima\dp\@cclv |
| 2041 |
\unvbox\@cclv |
| 2042 |
\vskip-\@tempdima |
| 2043 |
}% |
| 2044 |
\xdef\@freelist{\@freelist\@midlist}\global\let\@midlist\@empty |
| 2045 |
\@combinefloats |
| 2046 |
\@combineinserts\@outputbox\footins |
| 2047 |
\set@adj@colht\dimen@ |
| 2048 |
\count@\vbadness |
| 2049 |
\vbadness\@M |
| 2050 |
\setbox\@outputbox\vbox to\dimen@{% |
| 2051 |
\@texttop |
| 2052 |
\dimen@\dp\@outputbox |
| 2053 |
\unvbox\@outputbox |
| 2054 |
\vskip-\dimen@ |
| 2055 |
\@textbottom |
| 2056 |
}% |
| 2057 |
\vbadness\count@ |
| 2058 |
\global\maxdepth\@maxdepth |
| 2059 |
}% |
| 2060 |
\let\@makespecialcolbox\@undefined |
| 2061 |
\def\@combineinserts#1#2{% |
| 2062 |
\setbox#1\vbox{% |
| 2063 |
\unvbox#1% |
| 2064 |
\vbox{% |
| 2065 |
\@ifvoid#2{}{% |
| 2066 |
\vskip\skip\footins |
| 2067 |
\color@begingroup |
| 2068 |
\normalcolor |
| 2069 |
\footnoterule |
| 2070 |
\nointerlineskip |
| 2071 |
\box#2% |
| 2072 |
\color@endgroup |
| 2073 |
}{}% |
| 2074 |
}% |
| 2075 |
}% |
| 2076 |
}% |
| 2077 |
\appdef\@floatplacement{% |
| 2078 |
\global\@fpmin\@fpmin |
| 2079 |
}% |
| 2080 |
\mathchardef\pagebreak@pen=\@M |
| 2081 |
\expandafter\let\csname output@-\the\pagebreak@pen\endcsname\relax |
| 2082 |
\mathchardef\do@startcolumn@pen=10005 |
| 2083 |
\@namedef{output@-\the\do@startcolumn@pen}{\do@startcolumn}% |
| 2084 |
\def\do@startcolumn{% |
| 2085 |
\setbox\@cclv\vbox{\unvbox\@cclv\setbox\z@\lastbox\unskip}% |
| 2086 |
\clearpage@sw{\@clearfloatplacement}{\@floatplacement}% |
| 2087 |
\set@colroom |
| 2088 |
\@booleanfalse\pfloat@avail@sw |
| 2089 |
\begingroup |
| 2090 |
\@colht\@colroom |
| 2091 |
\@booleanfalse\float@avail@sw |
| 2092 |
\@tryfcolumn\test@colfloat |
| 2093 |
\float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}% |
| 2094 |
\endgroup |
| 2095 |
\fcolmade@sw{% |
| 2096 |
\setbox\@cclv\vbox{\unvbox\@outputbox\unvbox\@cclv}% |
| 2097 |
\outputpenalty-\pagebreak@pen % ask for a return visit, this time with insertions and all. |
| 2098 |
\dead@cycle |
| 2099 |
}{% |
| 2100 |
\begingroup |
| 2101 |
\let\@elt\@scolelt |
| 2102 |
\let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b |
| 2103 |
\endgroup |
| 2104 |
\clearpage@sw{% |
| 2105 |
\outputpenalty\@M |
| 2106 |
}{% |
| 2107 |
\outputpenalty\do@newpage@pen |
| 2108 |
}% |
| 2109 |
\dead@cycle |
| 2110 |
}% |
| 2111 |
\check@deferlist@stuck\do@startcolumn |
| 2112 |
\set@vsize |
| 2113 |
}% |
| 2114 |
\def\@scolelt#1{\def\@currbox{#1}\@addtonextcol}% |
| 2115 |
\def\test@colfloat#1{% |
| 2116 |
\csname @floatselect@sw@\thepagegrid\endcsname#1{}{\@testtrue}% |
| 2117 |
\@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}% |
| 2118 |
}% |
| 2119 |
\def\@addtonextcol{% |
| 2120 |
\begingroup |
| 2121 |
\@insertfalse |
| 2122 |
\@setfloattypecounts |
| 2123 |
\csname @floatselect@sw@\thepagegrid\endcsname\@currbox{% |
| 2124 |
\@ifnum{\@fpstype=8 }{}{% |
| 2125 |
\@ifnum{\@fpstype=24 }{}{% |
| 2126 |
\@flsettextmin |
| 2127 |
\@reqcolroom \ht\@currbox |
| 2128 |
\advance \@reqcolroom \@textmin |
| 2129 |
\advance \@reqcolroom \vsize % take into account split insertions |
| 2130 |
\advance \@reqcolroom -\pagegoal |
| 2131 |
\@ifdim{\@colroom>\@reqcolroom}{% |
| 2132 |
\@flsetnum \@colnum |
| 2133 |
\@ifnum{\@colnum>\z@}{% |
| 2134 |
\@bitor\@currtype\@deferlist |
| 2135 |
\@if@sw\if@test\fi{}{% |
| 2136 |
\@addtotoporbot |
| 2137 |
}% |
| 2138 |
}{}% |
| 2139 |
}{}% |
| 2140 |
}% |
| 2141 |
}% |
| 2142 |
}{}% |
| 2143 |
\@if@sw\if@insert\fi{}{% |
| 2144 |
\@cons\@deferlist\@currbox |
| 2145 |
}% |
| 2146 |
\endgroup |
| 2147 |
}% |
| 2148 |
\mathchardef\do@startpage@pen=10006 |
| 2149 |
\@namedef{output@-\the\do@startpage@pen}{\do@startpage}% |
| 2150 |
\def\do@startpage{% |
| 2151 |
\setbox\@cclv\vbox{\unvbox\@cclv\setbox\z@\lastbox\unskip}% |
| 2152 |
\clearpage@sw{\@clearfloatplacement}{\@dblfloatplacement}% |
| 2153 |
\set@colht |
| 2154 |
\@booleanfalse\pfloat@avail@sw |
| 2155 |
\begingroup |
| 2156 |
\@booleanfalse\float@avail@sw |
| 2157 |
\@tryfcolumn\test@dblfloat |
| 2158 |
\float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}% |
| 2159 |
\endgroup |
| 2160 |
\fcolmade@sw{% |
| 2161 |
\global\setbox\pagesofar\vbox{\unvbox\pagesofar\unvbox\@outputbox}% |
| 2162 |
\@combinepage |
| 2163 |
\@combinedblfloats |
| 2164 |
\@outputpage |
| 2165 |
\global\pagegrid@cur\@ne |
| 2166 |
\protect@penalty\do@startpage@pen |
| 2167 |
}{% |
| 2168 |
\begingroup |
| 2169 |
\@booleanfalse\float@avail@sw |
| 2170 |
\let\@elt\@sdblcolelt |
| 2171 |
\let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b |
| 2172 |
\endgroup |
| 2173 |
\@ifdim{\@colht=\textheight}{% No luck... |
| 2174 |
\pfloat@avail@sw{% ...but a float *was* available! |
| 2175 |
\forcefloats@sw{% |
| 2176 |
\ltxgrid@warn{Forced dequeueing of floats stalled}% |
| 2177 |
}{% |
| 2178 |
\ltxgrid@warn{Dequeueing of floats stalled}% |
| 2179 |
}% |
| 2180 |
}{}% |
| 2181 |
}{}% |
| 2182 |
\outputpenalty\@M |
| 2183 |
\dead@cycle |
| 2184 |
}% |
| 2185 |
\check@deferlist@stuck\do@startpage |
| 2186 |
\set@colht |
| 2187 |
}% |
| 2188 |
\def\@sdblcolelt#1{\def\@currbox{#1}\@addtodblcol}% |
| 2189 |
\def\test@dblfloat#1{% |
| 2190 |
\@if@notdblfloat{#1}{\@testtrue}{}% |
| 2191 |
\@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}% |
| 2192 |
}% |
| 2193 |
\def\@if@notdblfloat#1{\@ifdim{\wd#1<\textwidth}}% |
| 2194 |
\@booleanfalse\forcefloats@sw |
| 2195 |
\def\@addtodblcol{% |
| 2196 |
\begingroup |
| 2197 |
\@if@notdblfloat{\@currbox}{% |
| 2198 |
\false@sw |
| 2199 |
}{% |
| 2200 |
\@setfloattypecounts |
| 2201 |
\@getfpsbit \tw@ |
| 2202 |
\@bitor \@currtype \@deferlist |
| 2203 |
\@if@sw\if@test\fi{% |
| 2204 |
\false@sw |
| 2205 |
}{% |
| 2206 |
\@ifodd\@tempcnta{% |
| 2207 |
\aftergroup\@booleantrue\aftergroup\float@avail@sw |
| 2208 |
\@flsetnum \@dbltopnum |
| 2209 |
\@ifnum{\@dbltopnum>\z@}{% |
| 2210 |
\@ifdim{\@dbltoproom>\ht\@currbox}{% |
| 2211 |
\true@sw |
| 2212 |
}{% |
| 2213 |
\@ifnum{\@fpstype<\sixt@@n}{% |
| 2214 |
\begingroup |
| 2215 |
\advance \@dbltoproom \@textmin |
| 2216 |
\@ifdim{\@dbltoproom>\ht\@currbox}{% |
| 2217 |
\endgroup\true@sw |
| 2218 |
}{% |
| 2219 |
\endgroup\false@sw |
| 2220 |
}% |
| 2221 |
}{% |
| 2222 |
\false@sw |
| 2223 |
}% |
| 2224 |
}% |
| 2225 |
}{% |
| 2226 |
\false@sw |
| 2227 |
}% |
| 2228 |
}{% |
| 2229 |
\false@sw |
| 2230 |
}% |
| 2231 |
}% |
| 2232 |
}% |
| 2233 |
{% |
| 2234 |
\@tempdima -\ht\@currbox |
| 2235 |
\advance\@tempdima |
| 2236 |
-\@ifx{\@dbltoplist\@empty}{\dbltextfloatsep}{\dblfloatsep}% |
| 2237 |
\global \advance \@dbltoproom \@tempdima |
| 2238 |
\global \advance \@colht \@tempdima |
| 2239 |
\global \advance \@dbltopnum \m@ne |
| 2240 |
\@cons \@dbltoplist \@currbox |
| 2241 |
}{% |
| 2242 |
\@cons \@deferlist \@currbox |
| 2243 |
}% |
| 2244 |
\endgroup |
| 2245 |
}% |
| 2246 |
\def\@tryfcolumn#1{% |
| 2247 |
\global\@booleanfalse\fcolmade@sw |
| 2248 |
\@ifx@empty\@deferlist{}{% |
| 2249 |
\global\let\@trylist\@deferlist |
| 2250 |
\global\let\@failedlist\@empty |
| 2251 |
\begingroup |
| 2252 |
\dimen@\vsize\advance\dimen@-\pagegoal\@ifdim{\dimen@>\z@}{% |
| 2253 |
\advance\@fpmin-\dimen@ |
| 2254 |
}{}% |
| 2255 |
\def\@elt{\@xtryfc#1}\@trylist |
| 2256 |
\endgroup |
| 2257 |
\fcolmade@sw{% |
| 2258 |
\global\setbox\@outputbox\vbox{\vskip \@fptop}% |
| 2259 |
\let \@elt \@wtryfc \@flsucceed |
| 2260 |
\global\setbox\@outputbox\vbox{\unvbox\@outputbox |
| 2261 |
\unskip \vskip \@fpbot |
| 2262 |
}% |
| 2263 |
\let \@elt \relax |
| 2264 |
\xdef\@deferlist{\@failedlist\@flfail}% |
| 2265 |
\xdef\@freelist{\@freelist\@flsucceed}% |
| 2266 |
}{}% |
| 2267 |
}% |
| 2268 |
}% |
| 2269 |
\def\@wtryfc #1{% |
| 2270 |
\global\setbox\@outputbox\vbox{\unvbox\@outputbox |
| 2271 |
\box #1\vskip\@fpsep |
| 2272 |
}% |
| 2273 |
}% |
| 2274 |
\def\@xtryfc#1#2{% |
| 2275 |
\@next\reserved@a\@trylist{}{}% trim \@trylist. Ugly! |
| 2276 |
\@currtype \count #2% |
| 2277 |
\divide\@currtype\@xxxii\multiply\@currtype\@xxxii |
| 2278 |
\@bitor \@currtype \@failedlist |
| 2279 |
\@testfp #2% |
| 2280 |
#1#2% |
| 2281 |
\@ifdim{\ht #2>\@colht }{\@testtrue}{}% |
| 2282 |
\@if@sw\if@test\fi{% |
| 2283 |
\@cons\@failedlist #2% |
| 2284 |
}{% |
| 2285 |
\begingroup |
| 2286 |
\gdef\@flsucceed{\@elt #2}% |
| 2287 |
\global\let\@flfail\@empty |
| 2288 |
\@tempdima\ht #2% |
| 2289 |
\def \@elt {\@ztryfc#1}\@trylist |
| 2290 |
\@ifdim{\@tempdima >\@fpmin}{% |
| 2291 |
\global\@booleantrue\fcolmade@sw |
| 2292 |
}{% |
| 2293 |
\@cons\@failedlist #2% |
| 2294 |
}% |
| 2295 |
\endgroup |
| 2296 |
\fcolmade@sw{% |
| 2297 |
\let \@elt \@gobble |
| 2298 |
}{}% |
| 2299 |
}% |
| 2300 |
}% |
| 2301 |
\def\@ztryfc #1#2{% |
| 2302 |
\@tempcnta \count#2% |
| 2303 |
\divide\@tempcnta\@xxxii\multiply\@tempcnta\@xxxii |
| 2304 |
\@bitor \@tempcnta {\@failedlist \@flfail}% |
| 2305 |
\@testfp #2% |
| 2306 |
#1#2% |
| 2307 |
\@tempdimb\@tempdima |
| 2308 |
\advance\@tempdimb \ht#2\advance\@tempdimb\@fpsep |
| 2309 |
\@ifdim{\@tempdimb >\@colht}{% |
| 2310 |
\@testtrue |
| 2311 |
}{}% |
| 2312 |
\@if@sw\if@test\fi{% |
| 2313 |
\@cons\@flfail #2% |
| 2314 |
}{% |
| 2315 |
\@cons\@flsucceed #2% |
| 2316 |
\@tempdima\@tempdimb |
| 2317 |
}% |
| 2318 |
}% |
| 2319 |
\def\newpage@prep{% |
| 2320 |
\if@noskipsec |
| 2321 |
\ifx \@nodocument\relax |
| 2322 |
\leavevmode |
| 2323 |
\global \@noskipsecfalse |
| 2324 |
\fi |
| 2325 |
\fi |
| 2326 |
\if@inlabel |
| 2327 |
\leavevmode |
| 2328 |
\global \@inlabelfalse |
| 2329 |
\fi |
| 2330 |
\if@nobreak \@nobreakfalse \everypar{}\fi |
| 2331 |
\par |
| 2332 |
}% |
| 2333 |
\def \newpage {% |
| 2334 |
\newpage@prep |
| 2335 |
\do@output@MVL{% |
| 2336 |
\vfil |
| 2337 |
\penalty-\pagebreak@pen |
| 2338 |
}% |
| 2339 |
}% |
| 2340 |
\def\clearpage{% |
| 2341 |
\newpage@prep |
| 2342 |
\do@output@MVL{% |
| 2343 |
\vfil |
| 2344 |
\penalty-\pagebreak@pen |
| 2345 |
\global\@booleantrue\clearpage@sw |
| 2346 |
\protect@penalty\do@startcolumn@pen |
| 2347 |
\protect@penalty\do@endpage@pen |
| 2348 |
}% |
| 2349 |
\do@output@MVL{% |
| 2350 |
\global\@booleanfalse\clearpage@sw |
| 2351 |
}% |
| 2352 |
}% |
| 2353 |
\def\cleardoublepage{% |
| 2354 |
\clearpage |
| 2355 |
\@if@sw\if@twoside\fi{% |
| 2356 |
\@ifodd\c@page{}{% |
| 2357 |
\null\clearpage |
| 2358 |
}% |
| 2359 |
}{}% |
| 2360 |
}% |
| 2361 |
\@booleanfalse\clearpage@sw |
| 2362 |
\mathchardef\do@endpage@pen=10007 |
| 2363 |
\@namedef{output@-\the\do@endpage@pen}{% |
| 2364 |
\csname end@column@\thepagegrid\endcsname |
| 2365 |
}% |
| 2366 |
\mathchardef\do@newpage@pen=10001 |
| 2367 |
\expandafter\let\csname output@-\the\do@newpage@pen\endcsname\relax |
| 2368 |
\def\@clearfloatplacement{% |
| 2369 |
\global\@topnum \maxdimen % \c@topnumber |
| 2370 |
\global\@toproom \maxdimen % \topfraction\@colht |
| 2371 |
\global\@botnum \maxdimen % \c@bottomnumber |
| 2372 |
\global\@botroom \maxdimen % \bottomfraction\@colht |
| 2373 |
\global\@colnum \maxdimen % \c@totalnumber |
| 2374 |
\global\@dbltopnum \maxdimen % \c@dbltopnumber |
| 2375 |
\global\@dbltoproom \maxdimen % \dbltopfraction\@colht |
| 2376 |
\global\@textmin \z@ % \@colht\advance \@textmin -\@dbltoproom |
| 2377 |
\global\@fpmin \z@ % \dblfloatpagefraction\textheight |
| 2378 |
\let\@testfp\@gobble |
| 2379 |
\appdef\@setfloattypecounts{\@fpstype16\advance\@fpstype\m@ne}% |
| 2380 |
}% |
| 2381 |
\let\@doclearpage\@undefined |
| 2382 |
\let\@makefcolumn\@undefined |
| 2383 |
\def\clr@top@firstmark{% |
| 2384 |
\global\let\saved@@topmark\@undefined |
| 2385 |
\global\let\saved@@firstmark\@empty |
| 2386 |
\global\let\saved@@botmark\@empty |
| 2387 |
}% |
| 2388 |
\clr@top@firstmark |
| 2389 |
\def\set@top@firstmark{% |
| 2390 |
\@ifxundefined\saved@@topmark{\expandafter\gdef\expandafter\saved@@topmark\expandafter{\@@topmark}}{}% |
| 2391 |
\@if@empty\saved@@firstmark{\expandafter\gdef\expandafter\saved@@firstmark\expandafter{\@@firstmark}}{}% |
| 2392 |
\@if@empty\@@botmark{}{\expandafter\gdef\expandafter\saved@@botmark\expandafter{\@@botmark}}% |
| 2393 |
}% |
| 2394 |
\appdef\@outputpage{% |
| 2395 |
\clr@top@firstmark |
| 2396 |
}% |
| 2397 |
\def\@float#1{% |
| 2398 |
\@ifnextchar[{%}]{%Brace-matching klootch |
| 2399 |
\@yfloat\width@float{#1}% |
| 2400 |
}{% |
| 2401 |
\@ifxundefined@cs{fps@#1}{% |
| 2402 |
\edef\reserved@a{\noexpand\@yfloat\noexpand\width@float{#1}[\csname fps@\endcsname]}\reserved@a |
| 2403 |
}{% |
| 2404 |
\edef\reserved@a{\noexpand\@yfloat\noexpand\width@float{#1}[\csname fps@#1\endcsname]}\reserved@a |
| 2405 |
}% |
| 2406 |
}% |
| 2407 |
}% |
| 2408 |
\def\@dblfloat#1{% |
| 2409 |
\@ifnum{\pagegrid@col=\@ne}{% |
| 2410 |
\@float{#1}% |
| 2411 |
}{% |
| 2412 |
\@ifnextchar[{%}]{%Brace-matching klootch |
| 2413 |
\@yfloat\widthd@float{#1}% |
| 2414 |
}{% |
| 2415 |
\@ifxundefined@cs{fpsd@#1}{% |
| 2416 |
\edef\reserved@a{\noexpand\@yfloat\noexpand\widthd@float{#1}[\csname fpsd@\endcsname]}\reserved@a |
| 2417 |
}{% |
| 2418 |
\edef\reserved@a{\noexpand\@yfloat\noexpand\widthd@float{#1}[\csname fpsd@#1\endcsname]}\reserved@a |
| 2419 |
}% |
| 2420 |
}% |
| 2421 |
}% |
| 2422 |
}% |
| 2423 |
\def\@yfloat#1#2[#3]{% |
| 2424 |
\@xfloat{#2}[#3]% |
| 2425 |
\hsize#1\linewidth\hsize |
| 2426 |
\minipagefootnote@init |
| 2427 |
}% |
| 2428 |
\def\fps@{tbp}% |
| 2429 |
\def\fpsd@{tp}% |
| 2430 |
\def\width@float{\columnwidth}% |
| 2431 |
\def\widthd@float{\textwidth}% |
| 2432 |
\def\end@float{% |
| 2433 |
\end@@float{% |
| 2434 |
\check@currbox@count |
| 2435 |
}% |
| 2436 |
}% |
| 2437 |
\def\end@dblfloat{% |
| 2438 |
\@ifnum{\pagegrid@col=\@ne}{% |
| 2439 |
\end@float |
| 2440 |
}{% |
| 2441 |
\end@@float{% |
| 2442 |
\@boxfpsbit\@currbox{1}\@ifodd\@tempcnta{\global\advance\count\@currbox\m@ne}{}% |
| 2443 |
\@boxfpsbit\@currbox{4}\@ifodd\@tempcnta{\global\advance\count\@currbox-4\relax}{}% |
| 2444 |
\global\wd\@currbox\textwidth % Klootch |
| 2445 |
\check@currbox@count |
| 2446 |
}% |
| 2447 |
}% |
| 2448 |
}% |
| 2449 |
\def\end@@float#1{% |
| 2450 |
\minipagefootnote@here |
| 2451 |
\@endfloatbox |
| 2452 |
#1% |
| 2453 |
\@ifnum{\@floatpenalty <\z@}{% |
| 2454 |
\@largefloatcheck |
| 2455 |
\@cons\@currlist\@currbox |
| 2456 |
\@ifnum{\@floatpenalty <-\@Mii}{% |
| 2457 |
\do@output@cclv{\@add@float}% |
| 2458 |
}{% |
| 2459 |
\vadjust{\do@output@cclv{\@add@float}}% |
| 2460 |
\@Esphack |
| 2461 |
}% |
| 2462 |
}{}% |
| 2463 |
}% |
| 2464 |
\def\check@currbox@count{% |
| 2465 |
\@ifnum{\count\@currbox>\z@}{% |
| 2466 |
\count@\count\@currbox\divide\count@\sixt@@n\multiply\count@\sixt@@n |
| 2467 |
\@tempcnta\count\@currbox\advance\@tempcnta-\count@ |
| 2468 |
\@ifnum{\@tempcnta=\z@}{% |
| 2469 |
\ltxgrid@warn{Float cannot be placed}% |
| 2470 |
}{}% |
| 2471 |
}{% |
| 2472 |
% Is a \marginpar |
| 2473 |
}% |
| 2474 |
}% |
| 2475 |
\providecommand\minipagefootnote@init{}% |
| 2476 |
\providecommand\minipagefootnote@here{}% |
| 2477 |
\let\@specialoutput\@undefined |
| 2478 |
\def\@add@float{% |
| 2479 |
\@pageht\ht\@cclv\@pagedp\dp\@cclv |
| 2480 |
\unvbox\@cclv |
| 2481 |
\@next\@currbox\@currlist{% |
| 2482 |
\csname @floatselect@sw@\thepagegrid\endcsname\@currbox{% |
| 2483 |
\@ifnum{\count\@currbox>\z@}{% |
| 2484 |
\advance \@pageht \@pagedp |
| 2485 |
\advance \@pageht \vsize \advance \@pageht -\pagegoal % do not assume \holdinginserts is cleared! |
| 2486 |
\@addtocurcol % Commit an h float |
| 2487 |
}{% |
| 2488 |
\@addmarginpar |
| 2489 |
}% |
| 2490 |
}{% |
| 2491 |
\@resethfps |
| 2492 |
\@cons\@deferlist\@currbox |
| 2493 |
}% |
| 2494 |
}{\@latexbug}% |
| 2495 |
\@ifnum{\outputpenalty<\z@}{% |
| 2496 |
\@if@sw\if@nobreak\fi{% |
| 2497 |
\nobreak |
| 2498 |
}{% |
| 2499 |
\addpenalty \interlinepenalty |
| 2500 |
}% |
| 2501 |
}{}% |
| 2502 |
\set@vsize |
| 2503 |
}% |
| 2504 |
\let\@reinserts\@undefined |
| 2505 |
\def \@addtocurcol {% |
| 2506 |
\@insertfalse |
| 2507 |
\@setfloattypecounts |
| 2508 |
\ifnum \@fpstype=8 |
| 2509 |
\else |
| 2510 |
\ifnum \@fpstype=24 |
| 2511 |
\else |
| 2512 |
\@flsettextmin |
| 2513 |
\advance \@textmin \@textfloatsheight |
| 2514 |
\@reqcolroom \@pageht |
| 2515 |
\ifdim \@textmin>\@reqcolroom |
| 2516 |
\@reqcolroom \@textmin |
| 2517 |
\fi |
| 2518 |
\advance \@reqcolroom \ht\@currbox |
| 2519 |
\ifdim \@colroom>\@reqcolroom |
| 2520 |
\@flsetnum \@colnum |
| 2521 |
\ifnum \@colnum>\z@ |
| 2522 |
\@bitor\@currtype\@deferlist |
| 2523 |
\if@test |
| 2524 |
\else |
| 2525 |
\@bitor\@currtype\@botlist |
| 2526 |
\if@test |
| 2527 |
\@addtobot |
| 2528 |
\else |
| 2529 |
\ifodd \count\@currbox |
| 2530 |
\advance \@reqcolroom \intextsep |
| 2531 |
\ifdim \@colroom>\@reqcolroom |
| 2532 |
\global \advance \@colnum \m@ne |
| 2533 |
\global \advance \@textfloatsheight \ht\@currbox |
| 2534 |
\global \advance \@textfloatsheight 2\intextsep |
| 2535 |
\@cons \@midlist \@currbox |
| 2536 |
\if@nobreak |
| 2537 |
\nobreak |
| 2538 |
\@nobreakfalse |
| 2539 |
\everypar{}% |
| 2540 |
\else |
| 2541 |
\addpenalty \interlinepenalty |
| 2542 |
\fi |
| 2543 |
\vskip \intextsep |
| 2544 |
\unvbox\@currbox %AO |
| 2545 |
\penalty\interlinepenalty |
| 2546 |
\vskip\intextsep |
| 2547 |
\ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi |
| 2548 |
\outputpenalty \z@ |
| 2549 |
\@inserttrue |
| 2550 |
\fi |
| 2551 |
\fi |
| 2552 |
\if@insert |
| 2553 |
\else |
| 2554 |
\@addtotoporbot |
| 2555 |
\fi |
| 2556 |
\fi |
| 2557 |
\fi |
| 2558 |
\fi |
| 2559 |
\fi |
| 2560 |
\fi |
| 2561 |
\fi |
| 2562 |
\if@insert |
| 2563 |
\else |
| 2564 |
\@resethfps |
| 2565 |
\@cons\@deferlist\@currbox |
| 2566 |
\fi |
| 2567 |
}% |
| 2568 |
\@twocolumnfalse |
| 2569 |
\let\@twocolumntrue\@twocolumnfalse |
| 2570 |
\def\@addmarginpar{% |
| 2571 |
\@next\@marbox\@currlist{% |
| 2572 |
\@cons\@freelist\@marbox\@cons\@freelist\@currbox |
| 2573 |
}\@latexbug |
| 2574 |
\setbox\@marbox\hb@xt@\columnwidth{% |
| 2575 |
\csname @addmarginpar@\thepagegrid\endcsname{% |
| 2576 |
\hskip-\marginparsep\hskip-\marginparwidth |
| 2577 |
\box\@currbox |
| 2578 |
}{% |
| 2579 |
\hskip\columnwidth\hskip\marginparsep |
| 2580 |
\box\@marbox |
| 2581 |
}% |
| 2582 |
\hss |
| 2583 |
}% |
| 2584 |
\setbox\z@\box\@currbox |
| 2585 |
\@tempdima\@mparbottom |
| 2586 |
\advance\@tempdima -\@pageht |
| 2587 |
\advance\@tempdima\ht\@marbox |
| 2588 |
\@ifdim{\@tempdima >\z@}{% |
| 2589 |
\@latex@warning@no@line {Marginpar on page \thepage\space moved}% |
| 2590 |
}{% |
| 2591 |
\@tempdima\z@ |
| 2592 |
}% |
| 2593 |
\global\@mparbottom\@pageht |
| 2594 |
\global\advance\@mparbottom\@tempdima |
| 2595 |
\global\advance\@mparbottom\dp\@marbox |
| 2596 |
\global\advance\@mparbottom\marginparpush |
| 2597 |
\advance\@tempdima -\ht\@marbox |
| 2598 |
\global\setbox \@marbox |
| 2599 |
\vbox {\vskip \@tempdima |
| 2600 |
\box \@marbox}% |
| 2601 |
\global \ht\@marbox \z@ |
| 2602 |
\global \dp\@marbox \z@ |
| 2603 |
\kern -\@pagedp |
| 2604 |
\nointerlineskip |
| 2605 |
\box\@marbox |
| 2606 |
\nointerlineskip |
| 2607 |
\hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}% |
| 2608 |
}% |
| 2609 |
\newenvironment{turnpage}{% |
| 2610 |
\def\width@float{\textheight}% |
| 2611 |
\def\widthd@float{\textheight}% |
| 2612 |
\appdef\@endfloatbox{% |
| 2613 |
\@ifxundefined\@currbox{% |
| 2614 |
\ltxgrid@warn{Cannot rotate! Not a float}% |
| 2615 |
}{% |
| 2616 |
\setbox\@currbox\vbox to\textwidth{\vfil\unvbox\@currbox\vfil}% |
| 2617 |
\global\setbox\@currbox\vbox{\rotatebox{90}{\box\@currbox}}% |
| 2618 |
}% |
| 2619 |
}% |
| 2620 |
}{% |
| 2621 |
}% |
| 2622 |
\def\rotatebox@dummy#1#2{% |
| 2623 |
\ltxgrid@warn{You must load the graphics or graphicx package in order to use the turnpage environment}% |
| 2624 |
#2% |
| 2625 |
}% |
| 2626 |
\AtBeginDocument{% |
| 2627 |
\@ifxundefined\rotatebox{\let\rotatebox\rotatebox@dummy}{}% |
| 2628 |
}% |
| 2629 |
\@namedef{output@-1073741824}{%"40000000 |
| 2630 |
\deadcycles\z@ |
| 2631 |
\setbox\z@\box\@cclv |
| 2632 |
}% |
| 2633 |
\mathchardef\save@column@pen=10016 |
| 2634 |
\@namedef{output@-\the\save@column@pen}{\save@column}% |
| 2635 |
\let \@cclv@saved \@holdpg |
| 2636 |
\let \@holdpg \@undefined |
| 2637 |
\def\save@column{% |
| 2638 |
\@ifvoid\@cclv@saved{% |
| 2639 |
\set@top@firstmark |
| 2640 |
\global\@topmark@saved\expandafter{\@@topmark}% |
| 2641 |
}{}% |
| 2642 |
\global\setbox\@cclv@saved\vbox{% |
| 2643 |
\@ifvoid\@cclv@saved{}{% |
| 2644 |
\unvbox\@cclv@saved |
| 2645 |
\marry@baselines |
| 2646 |
}% |
| 2647 |
\unvbox\@cclv |
| 2648 |
\lose@breaks |
| 2649 |
\setbox\z@\lastbox |
| 2650 |
}% |
| 2651 |
}% |
| 2652 |
\newtoks\@topmark@saved |
| 2653 |
\def\prep@cclv{% |
| 2654 |
\setbox\z@\box\@cclv |
| 2655 |
\setbox\@cclv\box\@cclv@saved |
| 2656 |
\vbadness\@M |
| 2657 |
}% |
| 2658 |
\mathchardef\save@column@insert@pen=10017 |
| 2659 |
\@namedef{output@-\the\save@column@insert@pen}{\toggle@insert\savecolumn@holding\savecolumn@moving}% |
| 2660 |
\def\savecolumn@holding{% |
| 2661 |
\@if@exceed@pagegoal{\unvcopy\@cclv\setbox\z@\lastbox}{% |
| 2662 |
\setbox\z@\vbox{\unvcopy\@cclv\setbox\z@\lastbox}% |
| 2663 |
\outputdebug@sw{{\tracingall\scrollmode\showbox\z@}}{}% |
| 2664 |
\dimen@\ht\@cclv\advance\dimen@-\ht\z@ |
| 2665 |
\dead@cycle@repair@protected\dimen@ |
| 2666 |
}{% |
| 2667 |
\dead@cycle |
| 2668 |
}% |
| 2669 |
}% |
| 2670 |
\def\savecolumn@moving{% |
| 2671 |
\@cclv@nontrivial@sw{% |
| 2672 |
\save@column |
| 2673 |
}{% |
| 2674 |
{\setbox\z@\box\@cclv}% |
| 2675 |
}% |
| 2676 |
\@ifvoid\footins{}{% |
| 2677 |
\outputdebug@sw{{\tracingall\scrollmode\showbox\footins}}{}% |
| 2678 |
\global\setbox\footins@saved\vbox{\unvbox\footins@saved\marry@baselines\unvbox\footins}% |
| 2679 |
\protect@penalty\save@column@insert@pen |
| 2680 |
}% |
| 2681 |
}% |
| 2682 |
\newbox\footins@saved |
| 2683 |
\mathchardef\save@message@pen=10018 |
| 2684 |
\@namedef{output@-\the\save@message@pen}{\save@message}% |
| 2685 |
\def\save@message{% |
| 2686 |
\setbox\z@\box\@cclv %FIXME: what if \box\@cclv is not empty? |
| 2687 |
\toks@\expandafter{\@@firstmark}% |
| 2688 |
\expandafter\gdef\expandafter\@message@saved\expandafter{\the\toks@}% |
| 2689 |
\expandafter\do@@mark\expandafter{\the\@topmark@saved}% |
| 2690 |
}% |
| 2691 |
\gdef\@message@saved{}% |
| 2692 |
\mathchardef\execute@message@pen=10019 |
| 2693 |
\@namedef{output@-\the\execute@message@pen}{\@message@saved}% |
| 2694 |
\def\execute@message{% |
| 2695 |
\@execute@message\save@column@pen %Implicit #2 |
| 2696 |
}% |
| 2697 |
\def\execute@message@insert#1{% |
| 2698 |
\@execute@message\save@column@insert@pen{\setbox\footins\box\footins@saved#1}% |
| 2699 |
}% |
| 2700 |
\long\def\@execute@message#1#2{% |
| 2701 |
\begingroup |
| 2702 |
\dimen@\prevdepth\@ifdim{\dimen@<\z@}{\dimen@\z@}{}% |
| 2703 |
\setbox\z@\vbox{% |
| 2704 |
\protect@penalty#1% |
| 2705 |
\protection@box |
| 2706 |
\toks@{\prep@cclv#2}% |
| 2707 |
\@@mark{\the\toks@}% |
| 2708 |
\penalty-\save@message@pen |
| 2709 |
\setbox\z@\null\dp\z@\dimen@\ht\z@-\dimen@ |
| 2710 |
\nointerlineskip\box\z@ |
| 2711 |
\penalty-\execute@message@pen |
| 2712 |
}\unvbox\z@ |
| 2713 |
\endgroup |
| 2714 |
}% |
| 2715 |
\def\do@output@cclv{\execute@message}% |
| 2716 |
\def\do@output@MVL#1{% |
| 2717 |
\@ifvmode{% |
| 2718 |
\begingroup\execute@message{\unvbox\@cclv#1}\endgroup |
| 2719 |
}{% |
| 2720 |
\@ifhmode{% |
| 2721 |
\vadjust{\execute@message{\unvbox\@cclv#1}}% |
| 2722 |
}{% |
| 2723 |
\@latexerr{\string\do@output@MVL\space cannot be executed in this mode!}\@eha |
| 2724 |
}% |
| 2725 |
}% |
| 2726 |
}% |
| 2727 |
\def\lose@breaks{% |
| 2728 |
\loopwhile{% |
| 2729 |
\count@\lastpenalty |
| 2730 |
\@ifnum{\count@=\@M}{% 10000 is a TeX magic number! |
| 2731 |
\unpenalty\true@sw |
| 2732 |
}{% |
| 2733 |
\false@sw |
| 2734 |
}% |
| 2735 |
}% |
| 2736 |
}% |
| 2737 |
\def\removestuff{\do@output@MVL{\unskip\unpenalty}}% |
| 2738 |
\def\removephantombox{% |
| 2739 |
\vadjust{% |
| 2740 |
\execute@message{% |
| 2741 |
\unvbox\@cclv |
| 2742 |
\setbox\z@\lastbox |
| 2743 |
\unskip |
| 2744 |
\unskip |
| 2745 |
\unpenalty |
| 2746 |
\penalty\predisplaypenalty |
| 2747 |
\vskip\abovedisplayskip |
| 2748 |
}% |
| 2749 |
}% |
| 2750 |
}% |
| 2751 |
\def\addstuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@addstuff{#1}{#2}}}\@tempa}% |
| 2752 |
\def\@addstuff#1#2{% |
| 2753 |
\skip@\lastskip\unskip |
| 2754 |
\count@\lastpenalty\unpenalty |
| 2755 |
\@if@empty{#1}{}{\penalty#1\relax}% |
| 2756 |
\@ifnum{\count@=\z@}{}{\penalty\count@}% |
| 2757 |
\vskip\skip@ |
| 2758 |
\@if@empty{#2}{}{\vskip#2\relax}% |
| 2759 |
}% |
| 2760 |
\def\replacestuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@replacestuff{#1}{#2}}}\@tempa}% |
| 2761 |
\def\@replacestuff#1#2{% |
| 2762 |
\skip@\lastskip\unskip |
| 2763 |
\count@\lastpenalty\unpenalty |
| 2764 |
\@if@empty{#1}{}{% |
| 2765 |
\@ifnum{\count@>\@M}{}{% |
| 2766 |
\@ifnum{\count@=\z@}{\count@=#1\relax}{% |
| 2767 |
\@ifnum{\count@<#1\relax}{}{% |
| 2768 |
\count@=#1\relax |
| 2769 |
}% |
| 2770 |
}% |
| 2771 |
}% |
| 2772 |
}% |
| 2773 |
\@ifnum{\count@=\z@}{}{\penalty\count@}% |
| 2774 |
\@if@empty{#2}{}{% |
| 2775 |
\@tempskipa#2\relax |
| 2776 |
\@ifdim{\z@>\@tempskipa}{% |
| 2777 |
\advance\skip@-\@tempskipa |
| 2778 |
}{% |
| 2779 |
\@ifdim{\skip@>\@tempskipa}{}{% |
| 2780 |
\skip@\@tempskipa |
| 2781 |
}% |
| 2782 |
}% |
| 2783 |
}% |
| 2784 |
\vskip\skip@ |
| 2785 |
}% |
| 2786 |
\def\move@insertions{\global\holdinginserts\z@}% |
| 2787 |
\def\hold@insertions{\global\holdinginserts\@ne}% |
| 2788 |
\hold@insertions |
| 2789 |
\def\move@insert@sw{\@ifnum{\holdinginserts=\z@}}% |
| 2790 |
\def\toggle@insert#1#2{% |
| 2791 |
\@ifnum{\holdinginserts=\z@}{\hold@insertions#2}{\move@insertions#1}% |
| 2792 |
}% |
| 2793 |
\def\do@columngrid#1#2{% |
| 2794 |
\par |
| 2795 |
\expandafter\let\expandafter\@tempa\csname open@column@#1\endcsname |
| 2796 |
\@ifx{\relax\@tempa}{% |
| 2797 |
\ltxgrid@warn{Unknown page grid #1. No action taken}% |
| 2798 |
}{% |
| 2799 |
\do@output@MVL{\start@column{#1}{#2}}% |
| 2800 |
}% |
| 2801 |
}% |
| 2802 |
\def\start@column#1#2{% |
| 2803 |
\def\@tempa{#1}\@ifx{\@tempa\thepagegrid}{% |
| 2804 |
\ltxgrid@info{Already in page grid \thepagegrid. No action taken}% |
| 2805 |
}{% |
| 2806 |
\expandafter\execute@message@insert |
| 2807 |
\expandafter{% |
| 2808 |
\csname shut@column@\thepagegrid\expandafter\endcsname |
| 2809 |
\csname open@column@#1\endcsname{#2}% |
| 2810 |
\set@vsize |
| 2811 |
}% |
| 2812 |
}% |
| 2813 |
}% |
| 2814 |
\def\thepagegrid{one}% |
| 2815 |
\newbox\pagesofar |
| 2816 |
\newbox\footbox |
| 2817 |
\newcommand\onecolumngrid{\do@columngrid{one}{\@ne}}% |
| 2818 |
\let\onecolumn\@undefined |
| 2819 |
\def\open@column@one#1{% |
| 2820 |
\unvbox\pagesofar |
| 2821 |
\gdef\thepagegrid{one}% |
| 2822 |
\global\pagegrid@col#1% |
| 2823 |
\global\pagegrid@cur\@ne |
| 2824 |
\set@colht |
| 2825 |
\set@column@hsize\pagegrid@col |
| 2826 |
}% |
| 2827 |
\def\shut@column@one{% |
| 2828 |
\@makecol |
| 2829 |
\global\setbox\pagesofar\vbox{\unvbox\@outputbox\recover@footins}% |
| 2830 |
\set@colht |
| 2831 |
}% |
| 2832 |
\def\float@column@one{% |
| 2833 |
\@makecol |
| 2834 |
\@outputpage |
| 2835 |
}% |
| 2836 |
\def\end@column@one{% |
| 2837 |
\unvbox\@cclv\setbox\z@\lastbox |
| 2838 |
\protect@penalty\do@newpage@pen |
| 2839 |
}% |
| 2840 |
\def\output@column@one{% |
| 2841 |
\@outputpage |
| 2842 |
}% |
| 2843 |
\def\@addmarginpar@one{% |
| 2844 |
\@if@sw\if@mparswitch\fi{% |
| 2845 |
\@ifodd\c@page{\false@sw}{\true@sw}% |
| 2846 |
}{\false@sw}{% |
| 2847 |
\@if@sw\if@reversemargin\fi{\false@sw}{\true@sw}% |
| 2848 |
}{% |
| 2849 |
\@if@sw\if@reversemargin\fi{\true@sw}{\false@sw}% |
| 2850 |
}% |
| 2851 |
}% |
| 2852 |
\def\@floatselect@sw@one#1{\true@sw}% |
| 2853 |
\def\onecolumngrid@push{% |
| 2854 |
\do@output@MVL{% |
| 2855 |
\@ifnum{\pagegrid@col=\@ne}{% |
| 2856 |
\global\let\restorecolumngrid\@empty |
| 2857 |
}{% |
| 2858 |
\xdef\restorecolumngrid{% |
| 2859 |
\noexpand\start@column{\thepagegrid}{\the\pagegrid@col}% |
| 2860 |
}% |
| 2861 |
\start@column{one}{\@ne}% |
| 2862 |
}% |
| 2863 |
}% |
| 2864 |
}% |
| 2865 |
\def\onecolumngrid@pop{% |
| 2866 |
\do@output@MVL{\restorecolumngrid}% |
| 2867 |
}% |
| 2868 |
\newcommand\twocolumngrid{\do@columngrid{mlt}{\tw@}}% |
| 2869 |
\let\twocolumn\@undefined |
| 2870 |
\let\@topnewpage\@undefined |
| 2871 |
\def\open@column@mlt#1{% |
| 2872 |
\gdef\thepagegrid{mlt}% |
| 2873 |
\global\pagegrid@col#1% |
| 2874 |
\global\pagegrid@cur\@ne |
| 2875 |
\set@column@hsize\pagegrid@col |
| 2876 |
\set@colht |
| 2877 |
}% |
| 2878 |
\def\shut@column@mlt{% |
| 2879 |
\@cclv@nontrivial@sw{% |
| 2880 |
\@makecol |
| 2881 |
\@ifnum{\pagegrid@cur<\pagegrid@col}{% |
| 2882 |
\expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox |
| 2883 |
\global\advance\pagegrid@cur\@ne |
| 2884 |
}{}% |
| 2885 |
}{% |
| 2886 |
{\setbox\z@\box\@cclv}% |
| 2887 |
}% |
| 2888 |
\@ifnum{\pagegrid@cur>\@ne}{% |
| 2889 |
\csname balance@\the\pagegrid@col\endcsname |
| 2890 |
\grid@column{}% |
| 2891 |
\@combinepage |
| 2892 |
\@combinedblfloats |
| 2893 |
\global\setbox\pagesofar\box\@outputbox |
| 2894 |
}{}% |
| 2895 |
\set@colht |
| 2896 |
}% |
| 2897 |
\def\float@column@mlt{% |
| 2898 |
\@combinepage |
| 2899 |
\@combinedblfloats |
| 2900 |
\@outputpage |
| 2901 |
\global\pagegrid@cur\@ne |
| 2902 |
\protect@penalty\do@startpage@pen |
| 2903 |
}% |
| 2904 |
\def\end@column@mlt{% |
| 2905 |
\@ifx@empty\@toplist{% |
| 2906 |
\@ifx@empty\@botlist{% |
| 2907 |
\@ifx@empty\@dbltoplist{% |
| 2908 |
\@ifx@empty\@deferlist{% |
| 2909 |
\@ifnum{\pagegrid@cur=\@ne}{% |
| 2910 |
\false@sw |
| 2911 |
}{% |
| 2912 |
\true@sw |
| 2913 |
}% |
| 2914 |
}{% |
| 2915 |
\true@sw |
| 2916 |
}% |
| 2917 |
}{% |
| 2918 |
\true@sw |
| 2919 |
}% |
| 2920 |
}{% |
| 2921 |
\true@sw |
| 2922 |
}% |
| 2923 |
}{% |
| 2924 |
\true@sw |
| 2925 |
}% |
| 2926 |
% true = kick out a column and try again |
| 2927 |
{% |
| 2928 |
\@cclv@nontrivial@sw{% |
| 2929 |
\unvbox\@cclv\setbox\z@\lastbox |
| 2930 |
}{% |
| 2931 |
\unvbox\@cclv\setbox\z@\lastbox\unskip\null |
| 2932 |
}% |
| 2933 |
\protect@penalty\do@newpage@pen |
| 2934 |
\protect@penalty\do@endpage@pen |
| 2935 |
}{% |
| 2936 |
\unvbox\@cclv\setbox\z@\lastbox |
| 2937 |
}% |
| 2938 |
}% |
| 2939 |
\def\output@column@mlt{% |
| 2940 |
\@ifnum{\pagegrid@cur<\pagegrid@col}{% |
| 2941 |
\expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox |
| 2942 |
\global\advance\pagegrid@cur\@ne |
| 2943 |
}{% |
| 2944 |
\set@adj@colht\dimen@ |
| 2945 |
\grid@column{}%{\dimen@}% |
| 2946 |
\@combinepage |
| 2947 |
\@combinedblfloats |
| 2948 |
\@outputpage |
| 2949 |
\global\pagegrid@cur\@ne |
| 2950 |
\protect@penalty\do@startpage@pen |
| 2951 |
}% |
| 2952 |
}% |
| 2953 |
\let\@outputdblcol\@undefined |
| 2954 |
\def\@floatselect@sw@mlt#1{\@if@notdblfloat{#1}}% |
| 2955 |
\def\@addmarginpar@mlt{% emits a boolean |
| 2956 |
\@ifnum{\pagegrid@cur=\@ne}% |
| 2957 |
}% |
| 2958 |
\let\pagegrid@cur\col@number |
| 2959 |
\let\col@number\@undefined |
| 2960 |
\newcount\pagegrid@col |
| 2961 |
\pagegrid@cur\@ne |
| 2962 |
\expandafter\let\csname col@\the\pagegrid@cur\endcsname\@leftcolumn |
| 2963 |
\let\@leftcolumn\@undefined |
| 2964 |
\pagegrid@col\tw@ |
| 2965 |
\def\pagegrid@init{% |
| 2966 |
\advance\pagegrid@cur\@ne |
| 2967 |
\@ifnum{\pagegrid@cur<\pagegrid@col}{% |
| 2968 |
\csname newbox\expandafter\endcsname\csname col@\the\pagegrid@cur\endcsname |
| 2969 |
\pagegrid@init |
| 2970 |
}{% |
| 2971 |
}% |
| 2972 |
}% |
| 2973 |
\appdef\class@documenthook{% |
| 2974 |
\pagegrid@init |
| 2975 |
}% |
| 2976 |
\def\grid@column#1{% |
| 2977 |
\global\setbox\@outputbox\vbox{% |
| 2978 |
\hb@xt@\textwidth{% |
| 2979 |
\vrule\@height\z@\@width\z@\@if@empty{#1}{}{\@depth#1}% |
| 2980 |
\pagegrid@cur\@ne |
| 2981 |
\append@column |
| 2982 |
\box@column\@outputbox |
| 2983 |
}% |
| 2984 |
\vskip\z@skip % FIXME: page depth! |
| 2985 |
}% |
| 2986 |
}% |
| 2987 |
\def\append@column{% |
| 2988 |
\@ifnum{\pagegrid@cur<\pagegrid@col}{% |
| 2989 |
\expandafter\box@column\csname col@\the\pagegrid@cur\endcsname |
| 2990 |
\hfil |
| 2991 |
\vrule \@width\columnseprule |
| 2992 |
\hfil |
| 2993 |
\advance\pagegrid@cur\@ne |
| 2994 |
\append@column |
| 2995 |
}{% |
| 2996 |
}% |
| 2997 |
}% |
| 2998 |
\def\box@column#1{% |
| 2999 |
\raise\topskip |
| 3000 |
\hb@xt@\columnwidth{% |
| 3001 |
\dimen@\ht#1\@ifdim{\dimen@>\@colht}{\dimen@\@colht}{}% |
| 3002 |
\count@\vbadness\vbadness\@M |
| 3003 |
\dimen@ii\vfuzz\vfuzz\maxdimen |
| 3004 |
\outputdebug@sw{\saythe\@colht\saythe\dimen@}{}% |
| 3005 |
\vtop to\dimen@ |
| 3006 |
{\hrule\@height\z@ |
| 3007 |
\unvbox#1% |
| 3008 |
\raggedcolumn@skip |
| 3009 |
}% |
| 3010 |
\vfuzz\dimen@ii |
| 3011 |
\vbadness\count@ |
| 3012 |
\hss |
| 3013 |
}% |
| 3014 |
}% |
| 3015 |
\def\marry@baselines{% |
| 3016 |
\vskip\marry@skip\relax |
| 3017 |
}% |
| 3018 |
\gdef\marry@skip{\z@skip}% |
| 3019 |
\def\set@marry@skip{% |
| 3020 |
\begingroup |
| 3021 |
\skip@\baselineskip\advance\skip@-\topskip |
| 3022 |
\@ifdim{\skip@>\z@}{% |
| 3023 |
\xdef\marry@skip{\the\skip@}% |
| 3024 |
}{}% |
| 3025 |
\endgroup |
| 3026 |
}% |
| 3027 |
\AtBeginDocument{% |
| 3028 |
\@ifxundefined\raggedcolumn@sw{\@booleanfalse\raggedcolumn@sw}{}% |
| 3029 |
}% |
| 3030 |
\def\raggedcolumn@skip{% |
| 3031 |
\vskip\z@\raggedcolumn@sw{\@plus.0001fil\@minus.0001fil}{}\relax |
| 3032 |
}% |
| 3033 |
\def\@combinepage{% |
| 3034 |
\@ifvoid\pagesofar{}{% |
| 3035 |
\setbox\@outputbox\vbox{% |
| 3036 |
\unvbox\pagesofar |
| 3037 |
\marry@baselines |
| 3038 |
\unvbox\@outputbox |
| 3039 |
}% |
| 3040 |
}% |
| 3041 |
\@ifvoid\footbox{}{% |
| 3042 |
\setbox\@outputbox\vbox{% |
| 3043 |
\unvbox\@outputbox |
| 3044 |
\marry@baselines |
| 3045 |
\unvbox\footbox |
| 3046 |
}% |
| 3047 |
}% |
| 3048 |
}% |
| 3049 |
\def\@combinedblfloats{% |
| 3050 |
\@ifx@empty\@dbltoplist{}{% |
| 3051 |
\setbox\@tempboxa\vbox{}% |
| 3052 |
\let\@elt\@comdblflelt\@dbltoplist |
| 3053 |
\let\@elt\relax\xdef\@freelist{\@freelist\@dbltoplist}% |
| 3054 |
\global\let\@dbltoplist\@empty |
| 3055 |
\setbox\@outputbox\vbox{% |
| 3056 |
%\boxmaxdepth\maxdepth %% probably not needed, CAR |
| 3057 |
\unvbox\@tempboxa\unskip |
| 3058 |
\@ifnum{\@dbltopnum>\m@ne}{\dblfigrule}{}%FIXME: how is \@dbltopnum maintained? |
| 3059 |
\vskip\dbltextfloatsep |
| 3060 |
\unvbox\@outputbox |
| 3061 |
}% |
| 3062 |
}% |
| 3063 |
}% |
| 3064 |
\def\set@column@hsize#1{% |
| 3065 |
\pagegrid@col#1% |
| 3066 |
\global\columnwidth\textwidth |
| 3067 |
\global\advance\columnwidth\columnsep |
| 3068 |
\global\divide\columnwidth\pagegrid@col |
| 3069 |
\global\advance\columnwidth-\columnsep |
| 3070 |
\global\hsize\columnwidth |
| 3071 |
\global\linewidth\columnwidth |
| 3072 |
\skip@\baselineskip\advance\skip@-\topskip |
| 3073 |
\@ifnum{\pagegrid@col>\@ne}{\set@marry@skip}{}% |
| 3074 |
}% |
| 3075 |
\def\set@colht{% |
| 3076 |
\set@adj@textheight\@colht |
| 3077 |
\global\let\enlarge@colroom\@empty |
| 3078 |
\set@colroom |
| 3079 |
}% |
| 3080 |
\def\set@adj@textheight#1{% |
| 3081 |
#1\textheight |
| 3082 |
\def\@elt{\adj@page#1}% |
| 3083 |
\@booleantrue\firsttime@sw\@dbltoplist |
| 3084 |
\let\@elt\relax |
| 3085 |
\global#1#1\relax |
| 3086 |
\outputdebug@sw{\saythe#1}{}% |
| 3087 |
}% |
| 3088 |
\def\set@colroom{% |
| 3089 |
\set@adj@colht\@colroom |
| 3090 |
\@if@empty\enlarge@colroom{}{% |
| 3091 |
\global\advance\@colroom\enlarge@colroom\relax |
| 3092 |
}% |
| 3093 |
\outputdebug@sw{\saythe\@colroom}{}% |
| 3094 |
\@ifdim{\@colroom>\topskip}{}{% |
| 3095 |
\ltxgrid@info{Not enough room: \string\@colroom=\the\@colroom; increasing to \the\topskip}% |
| 3096 |
\@colroom\topskip |
| 3097 |
}% |
| 3098 |
\global\@colroom\@colroom |
| 3099 |
\set@vsize |
| 3100 |
}% |
| 3101 |
\def\set@vsize{% |
| 3102 |
\global\vsize\@colroom |
| 3103 |
\outputdebug@sw{\saythe\vsize}{}% |
| 3104 |
}% |
| 3105 |
\def\set@adj@colht#1{% |
| 3106 |
#1\@colht |
| 3107 |
\@ifvoid\pagesofar{}{% |
| 3108 |
\advance#1-\ht\pagesofar\advance#1-\dp\pagesofar |
| 3109 |
}% |
| 3110 |
\@ifvoid\footbox{}{% |
| 3111 |
\advance#1-\ht\footbox\advance#1-\dp\footbox |
| 3112 |
}% |
| 3113 |
\def\@elt{\adj@column#1}% |
| 3114 |
\@booleantrue\firsttime@sw\@toplist |
| 3115 |
\@booleantrue\firsttime@sw\@botlist |
| 3116 |
\let\@elt\relax |
| 3117 |
\outputdebug@sw{\saythe#1}{}% |
| 3118 |
}% |
| 3119 |
\def\adj@column#1#2{% |
| 3120 |
\advance#1-\ht#2% |
| 3121 |
\advance#1-\firsttime@sw{\textfloatsep\@booleanfalse\firsttime@sw}{\floatsep}% |
| 3122 |
}% |
| 3123 |
\def\adj@page#1#2{% |
| 3124 |
\advance#1-\ht#2% |
| 3125 |
\advance#1-\firsttime@sw{\dbltextfloatsep\@booleanfalse\firsttime@sw}{\dblfloatsep}% |
| 3126 |
}% |
| 3127 |
\appdef\@outputpage{% |
| 3128 |
\set@colht % FIXME: needed? |
| 3129 |
\@floatplacement % FIXME: needed? |
| 3130 |
\@dblfloatplacement % FIXME: needed? |
| 3131 |
}% |
| 3132 |
\@namedef{balance@2}{% |
| 3133 |
\expandafter\balance@two\csname col@1\endcsname\@outputbox |
| 3134 |
% Avoid a bug by preventing a restore when leaving this group |
| 3135 |
\global\setbox\csname col@1\endcsname\box\csname col@1\endcsname |
| 3136 |
\@ifvoid\footbox{}{% |
| 3137 |
\global\setbox\footbox\vbox{% |
| 3138 |
\setbox\z@\box\@tempboxa |
| 3139 |
\let\recover@footins\relax |
| 3140 |
\balance@two\footbox\@tempboxa |
| 3141 |
\hb@xt@\textwidth{\box\footbox\hfil\box\@tempboxa}% |
| 3142 |
}% |
| 3143 |
}% |
| 3144 |
}% |
| 3145 |
\def\balance@two#1#2{% |
| 3146 |
\outputdebug@sw{{\tracingall\scrollmode\showbox#1\showbox#2}}{}% |
| 3147 |
\setbox\@ne\vbox{% |
| 3148 |
\@ifvoid#1{}{% |
| 3149 |
\unvcopy#1\recover@footins |
| 3150 |
\@ifvoid#2{}{\marry@baselines}% |
| 3151 |
}% |
| 3152 |
\@ifvoid#2{}{% |
| 3153 |
\unvcopy#2\recover@footins |
| 3154 |
}% |
| 3155 |
}% |
| 3156 |
\dimen@\ht\@ne\divide\dimen@\tw@ |
| 3157 |
\dimen@i\dimen@ |
| 3158 |
\vbadness\@M |
| 3159 |
\vfuzz\maxdimen |
| 3160 |
\loopwhile{% |
| 3161 |
\dimen@i=.5\dimen@i |
| 3162 |
\outputdebug@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}% |
| 3163 |
\setbox\z@\copy\@ne\setbox\tw@\vsplit\z@ to\dimen@ |
| 3164 |
\setbox\z@ \vbox{% |
| 3165 |
\unvcopy\z@ |
| 3166 |
\setbox\z@\vbox{\unvbox\z@ \setbox\z@\lastbox\aftergroup\vskip\aftergroup-\expandafter}\the\dp\z@\relax |
| 3167 |
}% |
| 3168 |
\setbox\tw@\vbox{% |
| 3169 |
\unvcopy\tw@ |
| 3170 |
\setbox\z@\vbox{\unvbox\tw@\setbox\z@\lastbox\aftergroup\vskip\aftergroup-\expandafter}\the\dp\z@\relax |
| 3171 |
}% |
| 3172 |
\dimen@ii\ht\tw@\advance\dimen@ii-\ht\z@ |
| 3173 |
\@ifdim{\dimen@i>.5\p@}{% |
| 3174 |
\advance\dimen@\@ifdim{\dimen@ii<\z@}{}{-}\dimen@i |
| 3175 |
\true@sw |
| 3176 |
}{% |
| 3177 |
\@ifdim{\dimen@ii<\z@}{% |
| 3178 |
\advance\dimen@\tw@\dimen@i |
| 3179 |
\true@sw |
| 3180 |
}{% |
| 3181 |
\false@sw |
| 3182 |
}% |
| 3183 |
}% |
| 3184 |
}% |
| 3185 |
\outputdebug@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}% |
| 3186 |
\@ifdim{\ht\z@=\z@}{% |
| 3187 |
\@ifdim{\ht\tw@=\z@}{% |
| 3188 |
\true@sw |
| 3189 |
}{% |
| 3190 |
\false@sw |
| 3191 |
}% |
| 3192 |
}{% |
| 3193 |
\true@sw |
| 3194 |
}% |
| 3195 |
{% |
| 3196 |
}{% |
| 3197 |
\ltxgrid@info{Unsatifactorily balanced columns: giving up}% |
| 3198 |
\setbox\tw@\box#1% |
| 3199 |
\setbox\z@ \box#2% |
| 3200 |
}% |
| 3201 |
\setbox\tw@\vbox{\unvbox\tw@\vskip\z@skip}% |
| 3202 |
\setbox\z@ \vbox{\unvbox\z@ \vskip\z@skip}% |
| 3203 |
\set@colroom |
| 3204 |
\dimen@\ht\z@\@ifdim{\dimen@<\ht\tw@}{\dimen@\ht\tw@}{}% |
| 3205 |
\@ifdim{\dimen@>\@colroom}{\dimen@\@colroom}{}% |
| 3206 |
\outputdebug@sw{\saythe{\ht\z@}\saythe{\ht\tw@}\saythe\@colroom\saythe\dimen@}{}% |
| 3207 |
\setbox#1\vbox to\dimen@{\unvbox\tw@\unskip\raggedcolumn@skip}% |
| 3208 |
\setbox#2\vbox to\dimen@{\unvbox\z@ \unskip\raggedcolumn@skip}% |
| 3209 |
\outputdebug@sw{{\tracingall\scrollmode\showbox#1\showbox#2}}{}% |
| 3210 |
}% |
| 3211 |
\def\recover@footins{% |
| 3212 |
\skip\z@ \lastskip\unskip |
| 3213 |
\skip\@ne\lastskip\unskip |
| 3214 |
\setbox\z@\lastbox |
| 3215 |
\@ifvbox\z@{% |
| 3216 |
\setbox\z@\vbox{% |
| 3217 |
\unvbox\z@ |
| 3218 |
\setbox\z@\lastbox |
| 3219 |
\@ifvoid\z@{}{% |
| 3220 |
\global\setbox\footbox\vbox{% |
| 3221 |
\unvbox\footbox |
| 3222 |
\@ifvbox\z@{% |
| 3223 |
\unvbox\z@ |
| 3224 |
}{% |
| 3225 |
\box\z@ |
| 3226 |
}% |
| 3227 |
}% |
| 3228 |
}% |
| 3229 |
}% |
| 3230 |
}{}% |
| 3231 |
\outputdebug@sw{{\tracingall\scrollmode\showbox\footbox}}{}% |
| 3232 |
}% |
| 3233 |
\prepdef\@begindocumenthook{% |
| 3234 |
\open@column@one\@ne |
| 3235 |
\set@colht |
| 3236 |
\@floatplacement |
| 3237 |
\@dblfloatplacement |
| 3238 |
}% |
| 3239 |
\def\longtable@longtable{% |
| 3240 |
\par |
| 3241 |
\ifx\multicols\@undefined\else\ifnum\col@number>\@ne\@twocolumntrue\fi\fi |
| 3242 |
\if@twocolumn\LT@err{longtable not in 1-column mode}\@ehc\fi |
| 3243 |
\begingroup |
| 3244 |
\@ifnextchar[\LT@array{\LT@array[x]}% |
| 3245 |
}% |
| 3246 |
\def\longtable@new{% |
| 3247 |
\par |
| 3248 |
\@ifnextchar[\LT@array{\LT@array[x]}% |
| 3249 |
}% |
| 3250 |
\def\endlongtable@longtable{% |
| 3251 |
\crcr |
| 3252 |
\noalign{% |
| 3253 |
\let\LT@entry\LT@entry@chop |
| 3254 |
\xdef\LT@save@row{\LT@save@row}}% |
| 3255 |
\LT@echunk |
| 3256 |
\LT@start |
| 3257 |
\unvbox\z@ |
| 3258 |
\LT@get@widths |
| 3259 |
\if@filesw |
| 3260 |
{\let\LT@entry\LT@entry@write\immediate\write\@auxout{% |
| 3261 |
\gdef\expandafter\noexpand |
| 3262 |
\csname LT@\romannumeral\c@LT@tables\endcsname |
| 3263 |
{\LT@save@row}}}% |
| 3264 |
\fi |
| 3265 |
\ifx\LT@save@row\LT@@save@row |
| 3266 |
\else |
| 3267 |
\LT@warn{Column \@width s have changed\MessageBreak |
| 3268 |
in table \thetable}% |
| 3269 |
\LT@final@warn |
| 3270 |
\fi |
| 3271 |
\endgraf\penalty -\LT@end@pen |
| 3272 |
\endgroup |
| 3273 |
\global\@mparbottom\z@ |
| 3274 |
\pagegoal\vsize |
| 3275 |
\endgraf\penalty\z@\addvspace\LTpost |
| 3276 |
\ifvoid\footins\else\insert\footins{}\fi |
| 3277 |
}% |
| 3278 |
\def\endlongtable@new{% |
| 3279 |
\crcr |
| 3280 |
\noalign{% |
| 3281 |
\let\LT@entry\LT@entry@chop |
| 3282 |
\xdef\LT@save@row{\LT@save@row}% |
| 3283 |
}% |
| 3284 |
\LT@echunk |
| 3285 |
\LT@start |
| 3286 |
\unvbox\z@ |
| 3287 |
\LT@get@widths |
| 3288 |
\@if@sw\if@filesw\fi{% |
| 3289 |
{% |
| 3290 |
\let\LT@entry\LT@entry@write |
| 3291 |
\immediate\write\@auxout{% |
| 3292 |
\gdef\expandafter\noexpand\csname LT@\romannumeral\c@LT@tables\endcsname |
| 3293 |
{\LT@save@row}% |
| 3294 |
}% |
| 3295 |
}% |
| 3296 |
}{}% |
| 3297 |
\@ifx\LT@save@row\LT@@save@row{}{% |
| 3298 |
\LT@warn{% |
| 3299 |
Column \@width s have changed\MessageBreak in table \thetable |
| 3300 |
}\LT@final@warn |
| 3301 |
}% |
| 3302 |
\endgraf |
| 3303 |
\nobreak |
| 3304 |
\box\@ifvoid\LT@lastfoot{\LT@foot}{\LT@lastfoot}% |
| 3305 |
\global\@mparbottom\z@ |
| 3306 |
\endgraf |
| 3307 |
\LT@post |
| 3308 |
}% |
| 3309 |
\def\LT@start@longtable{% |
| 3310 |
\let\LT@start\endgraf |
| 3311 |
\endgraf |
| 3312 |
\penalty\z@ |
| 3313 |
\vskip\LTpre |
| 3314 |
\dimen@\pagetotal |
| 3315 |
\advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi |
| 3316 |
\advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi |
| 3317 |
\advance\dimen@ \ht\LT@foot |
| 3318 |
\dimen@ii\vfuzz\vfuzz\maxdimen |
| 3319 |
\setbox\tw@\copy\z@ |
| 3320 |
\setbox\tw@\vsplit\tw@ to \ht\@arstrutbox |
| 3321 |
\setbox\tw@\vbox{\unvbox\tw@}% |
| 3322 |
\vfuzz\dimen@ii |
| 3323 |
\advance\dimen@ \ht |
| 3324 |
\ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi |
| 3325 |
\advance\dimen@\dp |
| 3326 |
\ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi |
| 3327 |
\advance\dimen@ -\pagegoal |
| 3328 |
\ifdim \dimen@>\z@\vfil\break\fi |
| 3329 |
\global\@colroom\@colht |
| 3330 |
\ifvoid\LT@foot\else |
| 3331 |
\advance\vsize-\ht\LT@foot |
| 3332 |
\global\advance\@colroom-\ht\LT@foot |
| 3333 |
\dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ |
| 3334 |
\maxdepth\z@ |
| 3335 |
\fi |
| 3336 |
\ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi |
| 3337 |
\output{\LT@output}% |
| 3338 |
}% |
| 3339 |
\def\LT@start@new{% |
| 3340 |
\let\LT@start\endgraf |
| 3341 |
\endgraf |
| 3342 |
\markthr@@{}% |
| 3343 |
\LT@pre |
| 3344 |
\@ifvoid\LT@firsthead{\LT@top}{\box\LT@firsthead\nobreak}% |
| 3345 |
\mark@envir{longtable}% |
| 3346 |
}% |
| 3347 |
\def\LT@end@hd@ft@longtable#1{% |
| 3348 |
\LT@echunk |
| 3349 |
\ifx\LT@start\endgraf |
| 3350 |
\LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}% |
| 3351 |
\fi |
| 3352 |
\setbox#1\box\z@ |
| 3353 |
\LT@get@widths\LT@bchunk |
| 3354 |
}% |
| 3355 |
\def\LT@end@hd@ft@new#1{% |
| 3356 |
\LT@echunk |
| 3357 |
\@ifx{\LT@start\endgraf}{% |
| 3358 |
\LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}% |
| 3359 |
}% |
| 3360 |
\global\setbox#1\box\z@ |
| 3361 |
\LT@get@widths |
| 3362 |
\LT@bchunk |
| 3363 |
}% |
| 3364 |
\def\LT@array@longtable[#1]#2{% |
| 3365 |
\refstepcounter{table}\stepcounter{LT@tables}% |
| 3366 |
\if l#1% |
| 3367 |
\LTleft\z@ \LTright\fill |
| 3368 |
\else\if r#1% |
| 3369 |
\LTleft\fill \LTright\z@ |
| 3370 |
\else\if c#1% |
| 3371 |
\LTleft\fill \LTright\fill |
| 3372 |
\fi\fi\fi |
| 3373 |
\let\LT@mcol\multicolumn |
| 3374 |
\let\LT@@tabarray\@tabarray |
| 3375 |
\let\LT@@hl\hline |
| 3376 |
\def\@tabarray{% |
| 3377 |
\let\hline\LT@@hl |
| 3378 |
\LT@@tabarray}% |
| 3379 |
\let\\\LT@tabularcr\let\tabularnewline\\% |
| 3380 |
\def\newpage{\noalign{\break}}% |
| 3381 |
\def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% |
| 3382 |
\def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% |
| 3383 |
\let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption |
| 3384 |
\@tempdima\ht\strutbox |
| 3385 |
\let\@endpbox\LT@endpbox |
| 3386 |
\ifx\extrarowheight\@undefined |
| 3387 |
\let\@acol\@tabacol |
| 3388 |
\let\@classz\@tabclassz \let\@classiv\@tabclassiv |
| 3389 |
\def\@startpbox{\vtop\LT@startpbox}% |
| 3390 |
\let\@@startpbox\@startpbox |
| 3391 |
\let\@@endpbox\@endpbox |
| 3392 |
\let\LT@LL@FM@cr\@tabularcr |
| 3393 |
\else |
| 3394 |
\advance\@tempdima\extrarowheight |
| 3395 |
\col@sep\tabcolsep |
| 3396 |
\let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr |
| 3397 |
\fi |
| 3398 |
\setbox\@arstrutbox\hbox{\vrule |
| 3399 |
\@height \arraystretch \@tempdima |
| 3400 |
\@depth \arraystretch \dp \strutbox |
| 3401 |
\@width \z@}% |
| 3402 |
\let\@sharp##\let\protect\relax |
| 3403 |
\begingroup |
| 3404 |
\@mkpream{#2}% |
| 3405 |
\xdef\LT@bchunk{% |
| 3406 |
\global\advance\c@LT@chunks\@ne |
| 3407 |
\global\LT@rows\z@\setbox\z@\vbox\bgroup |
| 3408 |
\LT@setprevdepth |
| 3409 |
\tabskip\LTleft\halign to\hsize\bgroup |
| 3410 |
\tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}% |
| 3411 |
\endgroup |
| 3412 |
\expandafter\LT@nofcols\LT@bchunk&\LT@nofcols |
| 3413 |
\LT@make@row |
| 3414 |
\m@th\let\par\@empty |
| 3415 |
\everycr{}\lineskip\z@\baselineskip\z@ |
| 3416 |
\LT@bchunk |
| 3417 |
}% |
| 3418 |
\def\LT@LR@l{\LTleft\z@ \LTright\fill}% |
| 3419 |
\def\LT@LR@r{\LTleft\fill \LTright\z@ }% |
| 3420 |
\def\LT@LR@c{\LTleft\fill \LTright\fill}% |
| 3421 |
\def\LT@array@new[#1]#2{% |
| 3422 |
\refstepcounter{table}\stepcounter{LT@tables}% |
| 3423 |
\table@hook |
| 3424 |
\LTleft\fill \LTright\fill |
| 3425 |
\csname LT@LR@#1\endcsname |
| 3426 |
\let\LT@mcol\multicolumn |
| 3427 |
\let\LT@@hl\hline |
| 3428 |
\prepdef\@tabarray{\let\hline\LT@@hl}% |
| 3429 |
\let\\\LT@tabularcr |
| 3430 |
\let\tabularnewline\\% |
| 3431 |
\def\newpage{\noalign{\break}}% |
| 3432 |
\def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% |
| 3433 |
\def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% |
| 3434 |
\let\hline\LT@hline |
| 3435 |
\let\kill\LT@kill |
| 3436 |
\let\caption\LT@caption |
| 3437 |
\@tempdima\ht\strutbox |
| 3438 |
\let\@endpbox\LT@endpbox |
| 3439 |
\@ifxundefined\extrarowheight{% |
| 3440 |
\let\@acol\@tabacol |
| 3441 |
\let\@classz\@tabclassz |
| 3442 |
\let\@classiv\@tabclassiv |
| 3443 |
\def\@startpbox{\vtop\LT@startpbox}% |
| 3444 |
\let\@@startpbox\@startpbox |
| 3445 |
\let\@@endpbox\@endpbox |
| 3446 |
\let\LT@LL@FM@cr\@tabularcr |
| 3447 |
}{% |
| 3448 |
\advance\@tempdima\extrarowheight |
| 3449 |
\col@sep\tabcolsep |
| 3450 |
\let\@startpbox\LT@startpbox |
| 3451 |
\let\LT@LL@FM@cr\@arraycr |
| 3452 |
}% |
| 3453 |
\let\@acoll\@tabacoll |
| 3454 |
\let\@acolr\@tabacolr |
| 3455 |
\let\@acol\@tabacol |
| 3456 |
\setbox\@arstrutbox\hbox{% |
| 3457 |
\vrule |
| 3458 |
\@height \arraystretch \@tempdima |
| 3459 |
\@depth \arraystretch \dp \strutbox |
| 3460 |
\@width \z@ |
| 3461 |
}% |
| 3462 |
\let\@sharp##% |
| 3463 |
\let\protect\relax |
| 3464 |
\begingroup |
| 3465 |
\@mkpream{#2}% |
| 3466 |
\@mkpream@relax |
| 3467 |
\edef\@preamble{\@preamble}% |
| 3468 |
\prepdef\@preamble{% |
| 3469 |
\global\advance\c@LT@chunks\@ne |
| 3470 |
\global\LT@rows\z@ |
| 3471 |
\setbox\z@\vbox\bgroup |
| 3472 |
\LT@setprevdepth |
| 3473 |
\tabskip\LTleft |
| 3474 |
\halign to\hsize\bgroup |
| 3475 |
\tabskip\z@ |
| 3476 |
\@arstrut |
| 3477 |
}% |
| 3478 |
\appdef\@preamble{% |
| 3479 |
\tabskip\LTright |
| 3480 |
\cr |
| 3481 |
}% |
| 3482 |
\global\let\LT@bchunk\@preamble |
| 3483 |
\endgroup |
| 3484 |
\expandafter\LT@nofcols\LT@bchunk&\LT@nofcols |
| 3485 |
\LT@make@row |
| 3486 |
\m@th |
| 3487 |
\let\par\@empty |
| 3488 |
\everycr{}% |
| 3489 |
\lineskip\z@ |
| 3490 |
\baselineskip\z@ |
| 3491 |
\LT@bchunk |
| 3492 |
}% |
| 3493 |
\appdef\table@hook{}% |
| 3494 |
%% Note that it is not enough to define the environment itself; we also have to create the corresponding |
| 3495 |
%% \cmd\output\ routine procedures, which provide for continued footers and headers |
| 3496 |
%% (the very feature of \env{longtable} requiring support in the output routine). |
| 3497 |
%% This same consideration would arise in defining any syntactic extension to \env{longtable}, because |
| 3498 |
%% the environment name itself is exposed in the output routine. |
| 3499 |
\def\switch@longtable{% |
| 3500 |
\@ifpackageloaded{longtable}{% |
| 3501 |
\@ifx{\longtable\longtable@longtable}{% |
| 3502 |
\@ifx{\endlongtable\endlongtable@longtable}{% |
| 3503 |
\@ifx{\LT@start\LT@start@longtable}{% |
| 3504 |
\@ifx{\LT@end@hd@ft\LT@end@hd@ft@longtable}{% |
| 3505 |
\@ifx{\LT@array\LT@array@longtable}{% |
| 3506 |
\true@sw |
| 3507 |
}{\false@sw}% |
| 3508 |
}{\false@sw}% |
| 3509 |
}{\false@sw}% |
| 3510 |
}{\false@sw}% |
| 3511 |
}{\false@sw}% |
| 3512 |
{% |
| 3513 |
\class@info{Patching longtable package}% |
| 3514 |
}{% |
| 3515 |
\class@info{Patching unrecognized longtable package. (Proceeding with fingers crossed)}% |
| 3516 |
}% |
| 3517 |
\let\longtable\longtable@new |
| 3518 |
\let\endlongtable\endlongtable@new |
| 3519 |
\let\LT@start\LT@start@new |
| 3520 |
\let\LT@end@hd@ft\LT@end@hd@ft@new |
| 3521 |
\let\LT@array\LT@array@new |
| 3522 |
\newenvironment{longtable*}{% |
| 3523 |
\onecolumngrid@push |
| 3524 |
\longtable |
| 3525 |
}{% |
| 3526 |
\endlongtable |
| 3527 |
\onecolumngrid@pop |
| 3528 |
}% |
| 3529 |
}{}% |
| 3530 |
}% |
| 3531 |
\def\LT@pre{\penalty\z@\vskip\LTpre}% |
| 3532 |
\def\LT@bot{\nobreak\copy\LT@foot\vfil}% |
| 3533 |
\def\LT@top{\copy\LT@head\nobreak}% |
| 3534 |
\def\LT@post{\penalty\z@\addvspace\LTpost\mark@envir{\curr@envir}}% |
| 3535 |
\def\LT@adj{% |
| 3536 |
\setbox\z@\vbox{\null}\dimen@-\ht\z@ |
| 3537 |
\setbox\z@\vbox{\unvbox\z@\LT@bot}\advance\dimen@\ht\z@ |
| 3538 |
\global\advance\vsize-\dimen@ |
| 3539 |
}% |
| 3540 |
\def\output@init@longtable{\LT@adj}% |
| 3541 |
\def\output@prep@longtable{\setbox\@cclv\vbox{\unvbox\@cclv\LT@bot}}% |
| 3542 |
\def\output@post@longtable{\LT@top}% |
| 3543 |
\let\output@init@theindex\@empty |
| 3544 |
\let\output@prep@theindex\@empty |
| 3545 |
\def\output@post@theindex{% |
| 3546 |
\@ifodd\c@page{}{% |
| 3547 |
\@ifnum{\pagegrid@cur=\@ne}{% we have the leftmost column of a verso page |
| 3548 |
% insert the current top-level continued head |
| 3549 |
}% |
| 3550 |
}% |
| 3551 |
}% |
| 3552 |
\def\check@aux{\do@output@MVL{\do@check@aux}}% |
| 3553 |
\def\check@deferlist@stuck#1{% |
| 3554 |
\@ifx{\@deferlist@postshipout\@empty}{}{% |
| 3555 |
\@ifx{\@deferlist@postshipout\@deferlist}{% |
| 3556 |
\@fltstk |
| 3557 |
\clearpage@sw{% |
| 3558 |
\ltxgrid@warn{Deferred float stuck during \string\clearpage\space processing}% |
| 3559 |
}{% |
| 3560 |
\force@deferlist@stuck#1% |
| 3561 |
}% |
| 3562 |
}{% |
| 3563 |
%Successfully committed float(s) |
| 3564 |
}% |
| 3565 |
\global\let\@deferlist@postshipout\@empty |
| 3566 |
}% |
| 3567 |
}% |
| 3568 |
\def\@fltstk{% |
| 3569 |
\@latex@warning{A float is stuck (cannot be placed without \string\clearpage)}% |
| 3570 |
}% |
| 3571 |
\appdef\@outputpage{% |
| 3572 |
\global\let\@deferlist@postshipout\@deferlist |
| 3573 |
}% |
| 3574 |
\def\@next#1#2{% |
| 3575 |
\@ifx{#2\@empty}{\false@sw}{% |
| 3576 |
\expandafter\@xnext#2\@@#1#2% |
| 3577 |
\true@sw |
| 3578 |
}% |
| 3579 |
}% |
| 3580 |
\def\@xnext\@elt#1#2\@@#3#4{% |
| 3581 |
\def#3{#1}% |
| 3582 |
\gdef#4{#2}% |
| 3583 |
\def\@tempa{#4}\def\@tempb{\@freelist}% |
| 3584 |
\@ifx{\@tempa\@tempb}{% |
| 3585 |
\@ifx{#4\@empty}{% |
| 3586 |
\force@deferlist@empty%{Float register pool exhausted}% |
| 3587 |
}{}% |
| 3588 |
}{}% |
| 3589 |
}% |
| 3590 |
\def\force@deferlist@stuck#1{% |
| 3591 |
\force@deferlist@sw{% |
| 3592 |
\@booleantrue\clearpage@sw |
| 3593 |
\@booleantrue\forcefloats@sw |
| 3594 |
#1% |
| 3595 |
}{% |
| 3596 |
}% |
| 3597 |
}% |
| 3598 |
\def\force@deferlist@empty{% |
| 3599 |
\force@deferlist@sw{% |
| 3600 |
\penalty-\pagebreak@pen |
| 3601 |
\protect@penalty\do@forcecolumn@pen |
| 3602 |
}{% |
| 3603 |
}% |
| 3604 |
}% |
| 3605 |
\@booleanfalse\force@deferlist@sw |
| 3606 |
\mathchardef\do@forcecolumn@pen=10009 |
| 3607 |
\@namedef{output@-\the\do@forcecolumn@pen}{\do@forcecolumn}% |
| 3608 |
\def\do@forcecolumn{% |
| 3609 |
\@booleantrue\clearpage@sw |
| 3610 |
\@booleantrue\forcefloats@sw |
| 3611 |
\do@startcolumn |
| 3612 |
}% |
| 3613 |
\def\enlargethispage{% |
| 3614 |
\@ifstar{% |
| 3615 |
\@enlargethispage{}% |
| 3616 |
}{% |
| 3617 |
\@enlargethispage{}% |
| 3618 |
}% |
| 3619 |
}% |
| 3620 |
\def\@enlargethispage#1#2{% |
| 3621 |
\begingroup |
| 3622 |
\dimen@#2\relax |
| 3623 |
\edef\@tempa{#1}% |
| 3624 |
\edef\@tempa{\noexpand\@@enlargethispage{\@tempa}{\the\dimen@}}% |
| 3625 |
\expandafter\do@output@MVL\expandafter{\@tempa}% |
| 3626 |
\endgroup |
| 3627 |
}% |
| 3628 |
\def\@@enlargethispage#1#2{% |
| 3629 |
\def\@tempa{one}% |
| 3630 |
\@ifx{\thepagegrid\@tempa}{% |
| 3631 |
\true@sw |
| 3632 |
}{% |
| 3633 |
\def\@tempa{mlt}% |
| 3634 |
\@ifx{\thepagegrid\@tempa}{% |
| 3635 |
\@ifnum{\pagegrid@cur=\@ne}{% OK to adjust this page |
| 3636 |
\gdef\enlarge@colroom{#2}% |
| 3637 |
\true@sw |
| 3638 |
}{% Can only adjust this column; give up |
| 3639 |
\ltxgrid@warn{Too late to enlarge this page; move the command to the first column.}% |
| 3640 |
\false@sw |
| 3641 |
}% |
| 3642 |
}{% Unknown page grid |
| 3643 |
\ltxgrid@warn{Unable to enlarge a page of this kind.}% |
| 3644 |
\false@sw |
| 3645 |
}% |
| 3646 |
}% |
| 3647 |
{% |
| 3648 |
\class@info{Enlarging page \thepage\space by #2}% |
| 3649 |
\global\advance\@colroom#2\relax |
| 3650 |
\set@vsize |
| 3651 |
}{% |
| 3652 |
% Could not adjust this page |
| 3653 |
}% |
| 3654 |
}% |
| 3655 |
\let\enlarge@colroom\@empty |
| 3656 |
\let\@kludgeins\@undefined |
| 3657 |
\@booleantrue\textheight@sw |
| 3658 |
\prepdef\@outputpage{% |
| 3659 |
\textheight@sw{% |
| 3660 |
\count@\vbadness\vbadness\@M |
| 3661 |
\dimen@\vfuzz\vfuzz\maxdimen |
| 3662 |
\setbox\@outputbox\vbox to\textheight{\unvbox\@outputbox}% |
| 3663 |
\vfuzz\dimen@ |
| 3664 |
\vbadness\count@ |
| 3665 |
}{}% |
| 3666 |
}% |
| 3667 |
\def\ltxgrid@info{% |
| 3668 |
\ltxgrid@info@sw{\class@info}{\@gobble}% |
| 3669 |
}% |
| 3670 |
\@booleanfalse\ltxgrid@info@sw |
| 3671 |
\def\ltxgrid@warn{% |
| 3672 |
\ltxgrid@warn@sw{\class@warn}{\@gobble}% |
| 3673 |
}% |
| 3674 |
\@booleantrue\ltxgrid@warn@sw |
| 3675 |
%% Source File: textcase.dtx |
| 3676 |
%% Copyright 1997 1998 David Carlisle |
| 3677 |
%% |
| 3678 |
%% This file may be distributed under the terms of the LPPL. |
| 3679 |
%% See 00readme.txt for details. |
| 3680 |
\NeedsTeXFormat{LaTeX2e} |
| 3681 |
\ProvidesPackage{textcase} |
| 3682 |
[1998/11/12 v0.06 Text only upper/lower case changing (DPC)] |
| 3683 |
\def\@uclcnotmath#1#2#3#4{\begingroup |
| 3684 |
#1% |
| 3685 |
\def\({$}\let\)\(% |
| 3686 |
\def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}% |
| 3687 |
\@nonchangecase\label |
| 3688 |
\@nonchangecase\ref |
| 3689 |
\@nonchangecase\ensuremath |
| 3690 |
\def\cite##1##{\toks@{\noexpand\cite##1}\@citex}% |
| 3691 |
\def\@citex##1{\NoCaseChange{\the\toks@{##1}}}% |
| 3692 |
\def\reserved@a##1##2{\let#2\reserved@a}% |
| 3693 |
\expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}% |
| 3694 |
\protected@edef\reserved@a{\endgroup |
| 3695 |
\noexpand\@skipmath#3#4$\valign$}% |
| 3696 |
\reserved@a} |
| 3697 |
\def\@nonchangecase#1{\def#1##1{\NoCaseChange{#1{##1}}}} |
| 3698 |
\let\NoCaseChange\@firstofone |
| 3699 |
\def\@skipmath#1#2$#3${% |
| 3700 |
\@skip@nonchangecase#1#2\NoCaseChange\valign |
| 3701 |
\ifx\valign#3% |
| 3702 |
\else |
| 3703 |
$#3$% |
| 3704 |
\expandafter\@skipmath\expandafter#1% |
| 3705 |
\fi} |
| 3706 |
\def\@skip@nonchangecase#1#2\NoCaseChange#3{% |
| 3707 |
#1{#2}% |
| 3708 |
\ifx\valign#3% |
| 3709 |
\else |
| 3710 |
#3% |
| 3711 |
\expandafter\@skip@nonchangecase\expandafter#1% |
| 3712 |
\fi} |
| 3713 |
\DeclareRobustCommand\MakeTextUppercase{% |
| 3714 |
\@uclcnotmath{\def\i{I}\def\j{J}}{##1##2}\uppercase} |
| 3715 |
\protected@edef\MakeTextUppercase#1{\MakeTextUppercase{#1}} |
| 3716 |
\DeclareRobustCommand\MakeTextLowercase{% |
| 3717 |
\@uclcnotmath{}{##2##1}\lowercase} |
| 3718 |
\protected@edef\MakeTextLowercase#1{\MakeTextLowercase{#1}} |
| 3719 |
\DeclareOption{overload}{% |
| 3720 |
\expandafter\let\csname MakeUppercase \expandafter\endcsname |
| 3721 |
\csname MakeTextUppercase \endcsname |
| 3722 |
\expandafter\let\csname MakeLowercase \expandafter\endcsname |
| 3723 |
\csname MakeTextLowercase \endcsname} |
| 3724 |
\ProcessOptions |
| 3725 |
\let\ProvidesPackage\ProvidesPackage@latex |
| 3726 |
\let\ProcessOptions\ProcessOptions@latex |
| 3727 |
\let\DeclareOption\DeclareOption@latex |
| 3728 |
\expandafter |
| 3729 |
\let\csname MakeUppercase \expandafter\endcsname |
| 3730 |
\csname MakeTextUppercase \endcsname |
| 3731 |
\expandafter |
| 3732 |
\let\csname MakeLowercase \expandafter\endcsname |
| 3733 |
\csname MakeTextLowercase \endcsname |
| 3734 |
\appdef\class@documenthook{% |
| 3735 |
\switch@longtable |
| 3736 |
}% |
| 3737 |
\appdef\class@documenthook{% |
| 3738 |
\expandafter\@ifnotrelax\csname boldmath \endcsname{}{% |
| 3739 |
\expandafter\let\csname boldmath \endcsname\boldmath |
| 3740 |
\expandafter\def\expandafter\boldmath\expandafter{\expandafter\protect\csname boldmath \endcsname}% |
| 3741 |
}% |
| 3742 |
}% |
| 3743 |
\appdef\class@documenthook{% |
| 3744 |
\class@inithook |
| 3745 |
}% |
| 3746 |
\def\class@inithook{}% |
| 3747 |
\appdef\class@inithook{% |
| 3748 |
\@ifxundefined\twocolumn@sw{\@booleanfalse\twocolumn@sw}{}% |
| 3749 |
}% |
| 3750 |
\appdef\class@inithook{% |
| 3751 |
\@ifxundefined\footinbib@sw{\@booleanfalse\footinbib@sw}{}% |
| 3752 |
}% |
| 3753 |
\appdef\class@inithook{% |
| 3754 |
\@ifxundefined\preprintsty@sw{\@booleanfalse\preprintsty@sw}{}% |
| 3755 |
}% |
| 3756 |
\appdef\class@inithook{% |
| 3757 |
\@ifxundefined\preprint@sw{\@booleanfalse\preprint@sw}{}% |
| 3758 |
\preprintsty@sw{\@booleantrue\preprint@sw}{}% |
| 3759 |
}% |
| 3760 |
\appdef\class@inithook{% |
| 3761 |
\@ifxundefined\galley@sw{\@booleanfalse\galley@sw}{}% |
| 3762 |
}% |
| 3763 |
\appdef\class@inithook{% |
| 3764 |
\@ifxundefined\showPACS@sw{\@booleanfalse\showPACS@sw}{}% |
| 3765 |
\@ifxundefined\showKEYS@sw{\@booleanfalse\showKEYS@sw}{}% |
| 3766 |
}% |
| 3767 |
\appdef\class@inithook{% |
| 3768 |
\@ifxundefined\twoside@sw{\@booleanfalse\twoside@sw}{}% |
| 3769 |
\twoside@sw{\@twosidetrue}{\@twosidefalse}% |
| 3770 |
}% |
| 3771 |
\appdef\class@inithook{% |
| 3772 |
\@ifxundefined\draft@sw{\@booleanfalse\draft@sw}{}% |
| 3773 |
\draft@sw{\overfullrule 5\p@}{\overfullrule\z@}% |
| 3774 |
}% |
| 3775 |
\appdef\class@inithook{% |
| 3776 |
\@ifxundefined\tightenlines@sw{\@booleanfalse\tightenlines@sw}{}% |
| 3777 |
}% |
| 3778 |
\appdef\class@inithook{% |
| 3779 |
\@ifxundefined\lengthcheck@sw{\@booleanfalse\lengthcheck@sw}{}% |
| 3780 |
}% |
| 3781 |
\appdef\class@inithook{% |
| 3782 |
\@ifxundefined\eqsecnum@sw{\@booleanfalse\eqsecnum@sw}{}% |
| 3783 |
\eqsecnum@sw{% |
| 3784 |
\@addtoreset{equation}{section}% |
| 3785 |
\def\theequation@prefix{\arabic{section}.}% |
| 3786 |
}{}% |
| 3787 |
}% |
| 3788 |
\appdef\class@inithook{% |
| 3789 |
\@ifxundefined\byrevtex@sw{\@booleanfalse\byrevtex@sw}{}% |
| 3790 |
}% |
| 3791 |
\DeclareOption{checkin}{% |
| 3792 |
\@booleantrue\dateinRH@sw |
| 3793 |
\@booleantrue\preprintsty@sw |
| 3794 |
\def\@pointsize{12}% |
| 3795 |
\@booleantrue\showPACS@sw |
| 3796 |
\@booleantrue\showKEYS@sw |
| 3797 |
\def\fp@proc@h{\allow@breaking@tables}% |
| 3798 |
\def\fp@proc@H{\allow@breaking@tables}% |
| 3799 |
}% |
| 3800 |
\@booleanfalse\dateinRH@sw |
| 3801 |
\def\checkindate{\dateinRH@sw{{\tiny(\today)}}{}}% |
| 3802 |
\def\allow@breaking@tables{% |
| 3803 |
\def\array@default{v}% tabular can break over pages |
| 3804 |
\@booleanfalse\floats@sw % table can break over pages |
| 3805 |
}% |
| 3806 |
\DeclareOption{preprint}{% |
| 3807 |
\@booleantrue\preprintsty@sw |
| 3808 |
\def\@pointsize{12}% |
| 3809 |
}% |
| 3810 |
\DeclareOption{manuscript}{% |
| 3811 |
\class@warn{Document class option manuscript is obsolete; use preprint instead}% |
| 3812 |
\ExecuteOptions{preprint}% |
| 3813 |
}% |
| 3814 |
\DeclareOption{showpacs}{% |
| 3815 |
\@booleantrue\showPACS@sw |
| 3816 |
}% |
| 3817 |
\DeclareOption{noshowpacs}{% |
| 3818 |
\@booleanfalse\showPACS@sw |
| 3819 |
}% |
| 3820 |
\DeclareOption{showkeys}{% |
| 3821 |
\@booleantrue\showKEYS@sw |
| 3822 |
}% |
| 3823 |
\DeclareOption{noshowkeys}{% |
| 3824 |
\@booleanfalse\showKEYS@sw |
| 3825 |
}% |
| 3826 |
\DeclareOption{balancelastpage}{% |
| 3827 |
\@booleantrue\balancelastpage@sw |
| 3828 |
}% |
| 3829 |
\DeclareOption{nobalancelastpage}{% |
| 3830 |
\@booleanfalse\balancelastpage@sw |
| 3831 |
}% |
| 3832 |
\appdef\class@inithook{% |
| 3833 |
\@ifxundefined\balancelastpage@sw{% |
| 3834 |
\@booleantrue\balancelastpage@sw |
| 3835 |
}{}% |
| 3836 |
}% |
| 3837 |
\DeclareOption{nopreprintnumbers}{\@booleanfalse\preprint@sw}% |
| 3838 |
\DeclareOption{preprintnumbers}{\@booleantrue\preprint@sw}% |
| 3839 |
\DeclareOption{hyperref}{% |
| 3840 |
\class@warn{Class option "hyperref" is no longer supported.^^JEmploy \string\usepackage{hyperref} instead}% |
| 3841 |
}% |
| 3842 |
\DeclareOption{10pt}{\def\@pointsize{10}} |
| 3843 |
\DeclareOption{11pt}{\def\@pointsize{11}} |
| 3844 |
\DeclareOption{12pt}{\def\@pointsize{12}} |
| 3845 |
\DeclareOption{a4paper} |
| 3846 |
{\setlength\paperheight {297mm}% |
| 3847 |
\setlength\paperwidth {210mm}} |
| 3848 |
\DeclareOption{a5paper} |
| 3849 |
{\setlength\paperheight {210mm}% |
| 3850 |
\setlength\paperwidth {148mm}} |
| 3851 |
\DeclareOption{b5paper} |
| 3852 |
{\setlength\paperheight {250mm}% |
| 3853 |
\setlength\paperwidth {176mm}} |
| 3854 |
\DeclareOption{letterpaper} |
| 3855 |
{\setlength\paperheight {11in}% |
| 3856 |
\setlength\paperwidth {8.5in}} |
| 3857 |
\DeclareOption{legalpaper} |
| 3858 |
{\setlength\paperheight {14in}% |
| 3859 |
\setlength\paperwidth {8.5in}} |
| 3860 |
\DeclareOption{executivepaper} |
| 3861 |
{\setlength\paperheight {10.5in}% |
| 3862 |
\setlength\paperwidth {7.25in}} |
| 3863 |
\DeclareOption{landscape} |
| 3864 |
{\setlength\@tempdima {\paperheight}% |
| 3865 |
\setlength\paperheight {\paperwidth}% |
| 3866 |
\setlength\paperwidth {\@tempdima}} |
| 3867 |
\DeclareOption{bibnotes}{\@booleantrue\bibnotes@sw}% |
| 3868 |
\DeclareOption{nobibnotes}{\@booleanfalse\bibnotes@sw}% |
| 3869 |
\appdef\class@enddocumenthook{\auto@bib}% |
| 3870 |
\appdef\class@inithook{% |
| 3871 |
\@ifxundefined\bibnotes@sw{\@booleanfalse\bibnotes@sw}{}% |
| 3872 |
\bibnotes@sw{% |
| 3873 |
\let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote |
| 3874 |
}{% |
| 3875 |
\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote |
| 3876 |
}% |
| 3877 |
}% |
| 3878 |
\DeclareOption{footinbib}{\@booleantrue\footinbib@sw} |
| 3879 |
\DeclareOption{nofootinbib}{\@booleanfalse\footinbib@sw} |
| 3880 |
\DeclareOption{altaffilletter}{\@booleantrue\altaffilletter@sw}% |
| 3881 |
\DeclareOption{altaffilsymbol}{\@booleanfalse\altaffilletter@sw}% |
| 3882 |
\appdef\class@inithook{% |
| 3883 |
\@ifxundefined\altaffilletter@sw{\@booleanfalse\altaffilletter@sw}{}% |
| 3884 |
}% |
| 3885 |
\DeclareOption{superbib}{% |
| 3886 |
\def\place@bibnumber{\place@bibnumber@sup}% |
| 3887 |
}% |
| 3888 |
\DeclareOption{citeautoscript}{% |
| 3889 |
\@booleantrue\citeautoscript@sw |
| 3890 |
}% |
| 3891 |
\@booleanfalse\citeautoscript@sw |
| 3892 |
\DeclareOption{twoside}{\@booleantrue\twoside@sw \@mparswitchfalse} |
| 3893 |
\DeclareOption{oneside}{\@booleanfalse\twoside@sw\@mparswitchtrue} |
| 3894 |
\AtEndOfClass{% |
| 3895 |
\def\clear@document{% |
| 3896 |
\close@column |
| 3897 |
}% |
| 3898 |
\appdef\class@inithook{% |
| 3899 |
\@ifxundefined\close@column{% |
| 3900 |
\let\close@column\close@column@default |
| 3901 |
}{}% |
| 3902 |
}% |
| 3903 |
}% |
| 3904 |
\DeclareOption{twocolumn}{% |
| 3905 |
\@booleantrue\twocolumn@sw |
| 3906 |
}% |
| 3907 |
\DeclareOption{onecolumn}{% |
| 3908 |
\@booleanfalse\twocolumn@sw |
| 3909 |
}% |
| 3910 |
\DeclareOption{galley}{% |
| 3911 |
\ExecuteOptions{onecolumn}% |
| 3912 |
\@booleantrue\galley@sw |
| 3913 |
\appdef\set@pica@hook{% |
| 3914 |
\advance\textwidth-\columnsep |
| 3915 |
\textwidth.5\textwidth |
| 3916 |
}% |
| 3917 |
}% |
| 3918 |
\DeclareOption{raggedbottom}{\@booleantrue\raggedcolumn@sw} |
| 3919 |
\DeclareOption{flushbottom}{\@booleanfalse\raggedcolumn@sw} |
| 3920 |
\DeclareOption{tightenlines}{\@booleantrue\tightenlines@sw} |
| 3921 |
\DeclareOption{lengthcheck}{% |
| 3922 |
\@booleantrue\lengthcheck@sw |
| 3923 |
\@booleantrue\twoside@sw |
| 3924 |
\@booleantrue\twocolumn@sw |
| 3925 |
}% |
| 3926 |
\DeclareOption{draft}{% |
| 3927 |
\@booleantrue\draft@sw |
| 3928 |
}% |
| 3929 |
\DeclareOption{final}{% |
| 3930 |
\@booleanfalse\draft@sw |
| 3931 |
}% |
| 3932 |
\DeclareOption{eqsecnum}{\@booleantrue\eqsecnum@sw} |
| 3933 |
\DeclareOption{secnumarabic}{\@booleantrue\secnumarabic@sw} |
| 3934 |
\DeclareOption{fleqn}{\input{fleqn.clo}} |
| 3935 |
\DeclareOption{floats}{\@booleantrue\floats@sw\@booleanfalse\floatp@sw} |
| 3936 |
\DeclareOption{endfloats}{\@booleanfalse\floats@sw\@booleanfalse\floatp@sw} |
| 3937 |
\DeclareOption{endfloats*}{\@booleanfalse\floats@sw\@booleantrue\floatp@sw} |
| 3938 |
\appdef\class@inithook{% |
| 3939 |
\@ifxundefined\floats@sw{\@booleantrue\floats@sw}{}% |
| 3940 |
\@ifxundefined\floatp@sw{\@booleantrue\floatp@sw}{}% |
| 3941 |
}% |
| 3942 |
\DeclareOption{titlepage}{\@booleantrue\titlepage@sw} |
| 3943 |
\DeclareOption{notitlepage}{\@booleanfalse\titlepage@sw} |
| 3944 |
\appdef\defaults@hook{% |
| 3945 |
\@ifxundefined\titlepage@sw{\@booleanfalse\titlepage@sw}{}% |
| 3946 |
}% |
| 3947 |
\def\change@society#1{% |
| 3948 |
\def\@tempa{#1}% |
| 3949 |
\@ifxundefined\@society{}{% |
| 3950 |
\@ifx{\@tempa\@society}{}{% |
| 3951 |
\class@warn{Conflicting society \@tempa<>\@society.}% |
| 3952 |
}% |
| 3953 |
}% |
| 3954 |
\let\@society\@tempa |
| 3955 |
}% |
| 3956 |
\DeclareOption{aps}{\change@society{aps}\def\@journal{}}% |
| 3957 |
\DeclareOption{pra}{\change@society{aps}\def\@journal{pra}}% |
| 3958 |
\DeclareOption{prb}{\change@society{aps}\def\@journal{prb}}% |
| 3959 |
\DeclareOption{prc}{\change@society{aps}\def\@journal{prc}}% |
| 3960 |
\DeclareOption{prd}{\change@society{aps}\def\@journal{prd}}% |
| 3961 |
\DeclareOption{pre}{\change@society{aps}\def\@journal{pre}}% |
| 3962 |
\DeclareOption{prl}{\change@society{aps}\def\@journal{prl}}% |
| 3963 |
\DeclareOption{prstab}{\change@society{aps}\def\@journal{prstab}}% |
| 3964 |
\DeclareOption{rmp}{\change@society{aps}\def\@journal{rmp}}% |
| 3965 |
\DeclareOption{osa}{\change@society{osa}\def\@journal{}}% |
| 3966 |
\DeclareOption{osameet}{\change@society{osa}\def\@journal{osameet}}% |
| 3967 |
\DeclareOption{opex}{\change@society{osa}\def\@journal{opex}}% |
| 3968 |
\DeclareOption{tops}{\change@society{osa}\def\@journal{tops}}% |
| 3969 |
\DeclareOption{josa}{\change@society{osa}\def\@journal{josa}}% |
| 3970 |
\DeclareOption{amsfonts}{% |
| 3971 |
\def\class@amsfonts{\RequirePackage{amsfonts}}% |
| 3972 |
}% |
| 3973 |
\DeclareOption{noamsfonts}{% |
| 3974 |
\let\class@amsfonts\@empty |
| 3975 |
}% |
| 3976 |
\AtEndOfClass{% |
| 3977 |
\@ifxundefined\class@amsfonts{}{\class@amsfonts}% |
| 3978 |
}% |
| 3979 |
\DeclareOption{amssymb}{% |
| 3980 |
\def\class@amssymb{\RequirePackage{amssymb}}% |
| 3981 |
}% |
| 3982 |
\DeclareOption{noamssymb}{% |
| 3983 |
\let\class@amssymb\@empty |
| 3984 |
}% |
| 3985 |
\AtEndOfClass{% |
| 3986 |
\@ifxundefined\class@amssymb{}{\class@amssymb}% |
| 3987 |
}% |
| 3988 |
\DeclareOption{amsmath}{% |
| 3989 |
\def\class@amsmath{\RequirePackage{amsmath}[\ver@amsmath@prefer]}% |
| 3990 |
}% |
| 3991 |
\DeclareOption{noamsmath}{% |
| 3992 |
\let\class@amsmath\@empty |
| 3993 |
}% |
| 3994 |
\AtEndOfClass{% |
| 3995 |
\preserve@LaTeX |
| 3996 |
\@ifxundefined\class@amsmath{}{\class@amsmath}% |
| 3997 |
\appdef\class@enddocumenthook{\test@amsmath@ver}% |
| 3998 |
}% |
| 3999 |
\appdef\preserve@LaTeX{% |
| 4000 |
\let\@ifl@aded@LaTeX\@ifl@aded |
| 4001 |
\let\@ifpackageloaded@LaTeX\@ifpackageloaded |
| 4002 |
\let\@pkgextension@LaTeX\@pkgextension |
| 4003 |
\let\@ifpackagelater@LaTeX\@ifpackagelater |
| 4004 |
\let\@ifl@ter@LaTeX\@ifl@ter |
| 4005 |
\let\@ifl@t@r@LaTeX\@ifl@t@r |
| 4006 |
\let\@parse@version@LaTeX\@parse@version |
| 4007 |
}% |
| 4008 |
\appdef\restore@LaTeX{% |
| 4009 |
\let\@ifl@aded\@ifl@aded@LaTeX |
| 4010 |
\let\@ifpackageloaded\@ifpackageloaded@LaTeX |
| 4011 |
\let\@pkgextension\@pkgextension@LaTeX |
| 4012 |
\let\@ifpackagelater\@ifpackagelater@LaTeX |
| 4013 |
\let\@ifl@ter\@ifl@ter@LaTeX |
| 4014 |
\let\@ifl@t@r\@ifl@t@r@LaTeX |
| 4015 |
\let\@parse@version\@parse@version@LaTeX |
| 4016 |
}% |
| 4017 |
\def\test@amsmath@ver{% |
| 4018 |
\begingroup |
| 4019 |
\restore@LaTeX |
| 4020 |
\@ifpackageloaded{amsmath}{% |
| 4021 |
\@ifpackagelater{amsmath}{\ver@amsmath@prefer}{}{% |
| 4022 |
\class@warn{% |
| 4023 |
You have loaded amsmath, version "\csname ver@amsmath.sty\endcsname",\MessageBreak |
| 4024 |
but this class requires version "\ver@amsmath@prefer", or later.\MessageBreak |
| 4025 |
Please update your LaTeX installation. |
| 4026 |
}% |
| 4027 |
}% |
| 4028 |
}{% |
| 4029 |
}% |
| 4030 |
\endgroup |
| 4031 |
}% |
| 4032 |
\def\ver@amsmath@prefer{2000/01/15 v2.05 AMS math features}% |
| 4033 |
\DeclareOption{groupedaddress}{\clo@groupedaddress}% |
| 4034 |
\def\clo@groupedaddress{% |
| 4035 |
\@booleantrue\groupauthors@sw |
| 4036 |
\@booleantrue\@affils@sw |
| 4037 |
\@booleanfalse\runinaddress@sw |
| 4038 |
}% |
| 4039 |
\appdef\class@inithook{% |
| 4040 |
\@ifxundefined\groupauthors@sw{\clo@groupedaddress}{}% |
| 4041 |
}% |
| 4042 |
\DeclareOption{unsortedaddress}{\clo@unsortedaddress}% |
| 4043 |
\def\clo@unsortedaddress{% |
| 4044 |
\@booleantrue\groupauthors@sw |
| 4045 |
\@booleanfalse\@affils@sw |
| 4046 |
\@booleanfalse\runinaddress@sw |
| 4047 |
}% |
| 4048 |
\DeclareOption{runinaddress}{\clo@runinaddress}% |
| 4049 |
\def\clo@runinaddress{% |
| 4050 |
\@booleantrue\groupauthors@sw |
| 4051 |
\@booleantrue\@affils@sw |
| 4052 |
\@booleantrue\runinaddress@sw |
| 4053 |
}% |
| 4054 |
\DeclareOption{superscriptaddress}{\clo@superscriptaddress}% |
| 4055 |
\def\clo@superscriptaddress{% |
| 4056 |
\@booleanfalse\groupauthors@sw |
| 4057 |
\@booleantrue\@affils@sw |
| 4058 |
\@booleanfalse\runinaddress@sw |
| 4059 |
}% |
| 4060 |
\DeclareOption{byrevtex}{\@booleantrue\byrevtex@sw}% |
| 4061 |
\DeclareOption{floatfix}{\@booleantrue\force@deferlist@sw}% |
| 4062 |
\DeclareOption{nofloatfix}{\@booleanfalse\force@deferlist@sw}% |
| 4063 |
\appdef\class@inithook{% |
| 4064 |
\@ifxundefined\force@deferlist@sw{\@booleanfalse\force@deferlist@sw}{}% |
| 4065 |
}% |
| 4066 |
\gdef\@fltovf{% |
| 4067 |
\@latex@error{% |
| 4068 |
Too many unprocessed floats% |
| 4069 |
\force@deferlist@sw{}{; try class option [floatfix]}% |
| 4070 |
}\@ehb |
| 4071 |
}% |
| 4072 |
\def\@fltstk{% |
| 4073 |
\@latex@warning{% |
| 4074 |
A float is stuck (cannot be placed)% |
| 4075 |
\force@deferlist@sw{}{; try class option [floatfix]}% |
| 4076 |
}% |
| 4077 |
}% |
| 4078 |
\DeclareOption{ltxgridinfo}{\@booleantrue\ltxgrid@info@sw}% |
| 4079 |
\DeclareOption{outputdebug}{\@booleantrue\outputdebug@sw}% |
| 4080 |
\DeclareOption{raggedfooter}{\@booleanfalse\textheight@sw}% |
| 4081 |
\DeclareOption{noraggedfooter}{\@booleantrue\textheight@sw}% |
| 4082 |
\DeclareOption{newabstract}{\@booleanfalse\oldabstract@sw}% |
| 4083 |
\DeclareOption{oldabstract}{\@booleantrue \oldabstract@sw}% |
| 4084 |
\appdef\class@inithook{% |
| 4085 |
\@ifxundefined\oldabstract@sw{\@booleanfalse\oldabstract@sw}{}% |
| 4086 |
\oldabstract@sw{% |
| 4087 |
\let@environment{abstract}{abstract-old}% |
| 4088 |
}{}% |
| 4089 |
}% |
| 4090 |
\DeclareOption*{% |
| 4091 |
\IfFileExists{\CurrentOption\substyle@ext}{% |
| 4092 |
\expandafter\change@society\expandafter{\CurrentOption}% |
| 4093 |
}{% |
| 4094 |
\OptionNotUsed |
| 4095 |
}% |
| 4096 |
}% |
| 4097 |
\def\substyle@ext{.rtx}% |
| 4098 |
\AtEndOfClass{% |
| 4099 |
\@ifxundefined\@society{% |
| 4100 |
\class@warn{No Society specified, using generic APS style}% |
| 4101 |
\def\@society{aps}\def\@journal{}% |
| 4102 |
}{}% |
| 4103 |
\expandafter\input\expandafter{\@society\substyle@ext}% |
| 4104 |
}% |
| 4105 |
\ExecuteOptions{10pt} |
| 4106 |
\ProcessOptions\relax |
| 4107 |
\def\ps@headings{% |
| 4108 |
\let\@oddfoot\@empty\let\@evenfoot\@empty |
| 4109 |
\def\@evenhead{\thepage\hfil\slshape\leftmark}% |
| 4110 |
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}% |
| 4111 |
\let\@mkboth\markboth |
| 4112 |
\def\sectionmark##1{% |
| 4113 |
\markboth {\MakeUppercase{% |
| 4114 |
\ifnum \c@secnumdepth >\z@ |
| 4115 |
\thesection\quad |
| 4116 |
\fi |
| 4117 |
##1}}{}}% |
| 4118 |
\def\subsectionmark##1{% |
| 4119 |
\markright {% |
| 4120 |
\ifnum \c@secnumdepth >\@ne |
| 4121 |
\thesubsection\quad |
| 4122 |
\fi |
| 4123 |
##1}}}% |
| 4124 |
\def\ps@myheadings{% |
| 4125 |
\let\@oddfoot\@empty\let\@evenfoot\@empty |
| 4126 |
\def\@evenhead{\thepage\hfil\slshape\leftmark}% |
| 4127 |
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}% |
| 4128 |
\let\@mkboth\@gobbletwo |
| 4129 |
\let\sectionmark\@gobble |
| 4130 |
\let\subsectionmark\@gobble |
| 4131 |
}% |
| 4132 |
\def\ps@article{% |
| 4133 |
\@provide\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}% |
| 4134 |
\@provide\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}% |
| 4135 |
\@provide\@oddfoot{}% |
| 4136 |
\@provide\@evenfoot{}% |
| 4137 |
\let\@mkboth\markboth |
| 4138 |
\let\sectionmark\@gobble |
| 4139 |
\let\subsectionmark\@gobble |
| 4140 |
}% |
| 4141 |
\def\ps@article@final{% |
| 4142 |
\@provide\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}% |
| 4143 |
\@provide\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}% |
| 4144 |
\@provide\@oddfoot{}% |
| 4145 |
\@provide\@evenfoot{}% |
| 4146 |
\let\@mkboth\markboth |
| 4147 |
\def\sectionmark##1{% |
| 4148 |
\markboth{% |
| 4149 |
\MakeTextUppercase{% |
| 4150 |
\@ifnum{\c@secnumdepth >\z@}{\thesection\hskip 1em\relax}{}% |
| 4151 |
##1% |
| 4152 |
}% |
| 4153 |
}{}% |
| 4154 |
}% |
| 4155 |
\def\subsectionmark##1{% |
| 4156 |
\markright {% |
| 4157 |
\@ifnum{\c@secnumdepth >\@ne}{\thesubsection\hskip 1em\relax}{}% |
| 4158 |
##1% |
| 4159 |
}% |
| 4160 |
}% |
| 4161 |
}% |
| 4162 |
\appdef\class@inithook{% |
| 4163 |
}% |
| 4164 |
\def\heading@cr{\unskip\space\ignorespaces}% |
| 4165 |
\def\ps@preprint{% |
| 4166 |
\@provide\@oddfoot{\hfil\thepage\quad\checkindate\hfil}% |
| 4167 |
\@provide\@evenfoot{\hfil\thepage\quad\checkindate\hfil}% |
| 4168 |
\@provide\@oddhead{}% |
| 4169 |
\@provide\@evenhead{}% |
| 4170 |
\let\@mkboth\@gobbletwo |
| 4171 |
\let\sectionmark\@gobble |
| 4172 |
\let\subsectionmark\@gobble |
| 4173 |
}% |
| 4174 |
\let\@oddhead\@undefined |
| 4175 |
\let\@evenhead\@undefined |
| 4176 |
\let\@oddfoot\@undefined |
| 4177 |
\let\@evenfoot\@undefined |
| 4178 |
\AtEndOfClass{% |
| 4179 |
\appdef\class@documenthook{% |
| 4180 |
\@provide\@oddhead{}% |
| 4181 |
\@provide\@evenhead{}% |
| 4182 |
\@provide\@oddfoot{}% |
| 4183 |
\@provide\@evenfoot{}% |
| 4184 |
}% |
| 4185 |
}% |
| 4186 |
\def\lastpage@putlabel{% |
| 4187 |
\if@filesw |
| 4188 |
\begingroup |
| 4189 |
\advance\c@page\m@ne |
| 4190 |
\immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}}}% |
| 4191 |
\endgroup |
| 4192 |
\fi |
| 4193 |
}% |
| 4194 |
\AtEndOfClass{% |
| 4195 |
\appdef\clear@document{% |
| 4196 |
\clearpage |
| 4197 |
\lastpage@putlabel |
| 4198 |
}% |
| 4199 |
}% |
| 4200 |
\RequirePackage{url}% |
| 4201 |
\appdef\class@inithook{% |
| 4202 |
\incompatible@package{cite}% |
| 4203 |
\incompatible@package{multicol}% |
| 4204 |
}% |
| 4205 |
\renewcommand\title[2][]{% |
| 4206 |
\def\@title{#2}% |
| 4207 |
\def\@shorttitle{#1}% |
| 4208 |
\let\@AF@join\@title@join |
| 4209 |
}% |
| 4210 |
\appdef\class@inithook{% |
| 4211 |
\def\@title{\class@warn{No title}}% |
| 4212 |
\let\@shorttitle\@empty |
| 4213 |
\let\@title@aux\@title@aux@cleared |
| 4214 |
}% |
| 4215 |
\def\@title@join{\expandafter\@title@join@\@title@aux}% |
| 4216 |
\def\@title@join@#1#2{% |
| 4217 |
\def\@title@aux{{\@join{\@separator}{#1}{#2}}}% |
| 4218 |
}% |
| 4219 |
\def\@title@aux@cleared{{}}% |
| 4220 |
\newcounter{affil} |
| 4221 |
\renewcommand\author{% implicit #1 |
| 4222 |
\@author@def{}% implicit #2 |
| 4223 |
}% |
| 4224 |
\def\collaboration{% implicit #1 |
| 4225 |
\groupauthors@sw{% |
| 4226 |
\class@warn{% |
| 4227 |
\string\collaboration\space is only allowed with superscriptaddress option. |
| 4228 |
Use superscriptaddress in place of groupedaddress, unsortedaddress, or runinaddress% |
| 4229 |
}% |
| 4230 |
}{}% |
| 4231 |
\@author@def{\@booleantrue\collaboration@sw}% implicit #2 |
| 4232 |
}% |
| 4233 |
\def\@author@cleared{{}{}}% |
| 4234 |
\def\@author@init{% |
| 4235 |
\let\@author\@author@cleared |
| 4236 |
}% |
| 4237 |
\def\@authorclear@sw{\@ifx{\@author\@author@cleared}}% |
| 4238 |
\appdef\class@inithook{% |
| 4239 |
\@author@init |
| 4240 |
}% |
| 4241 |
\def\@author@def#1#2{% |
| 4242 |
\move@AU\move@AF\move@AUAF |
| 4243 |
\let\@AF@join\@author@join |
| 4244 |
#1% |
| 4245 |
\def\@author{{#2}{}}% |
| 4246 |
}% |
| 4247 |
\def\@author@join@#1#2#3{% |
| 4248 |
\def\@author{{#1}{\@join{\@separator}{#2}{#3}}}% |
| 4249 |
}% |
| 4250 |
\def\@author@join{\expandafter\@author@join@\@author}% |
| 4251 |
\def\@author@gobble#1#2{}% |
| 4252 |
\def\move@AU{% |
| 4253 |
\@authorclear@sw{}{% |
| 4254 |
\collaboration@sw{% |
| 4255 |
\expandafter\appdef |
| 4256 |
\expandafter\AU@grp |
| 4257 |
\expandafter{% |
| 4258 |
\expandafter \CO@opr |
| 4259 |
\@author |
| 4260 |
}% |
| 4261 |
}{% |
| 4262 |
\expandafter\appdef |
| 4263 |
\expandafter\AU@grp |
| 4264 |
\expandafter{% |
| 4265 |
\expandafter \AU@opr |
| 4266 |
\@author |
| 4267 |
}% |
| 4268 |
}% |
| 4269 |
}% |
| 4270 |
\@author@init |
| 4271 |
\@booleanfalse\collaboration@sw |
| 4272 |
}% |
| 4273 |
\def\@author@finish{% |
| 4274 |
\move@AU\move@AF |
| 4275 |
\@ifx{\AU@grp\@empty}{}{% |
| 4276 |
\@ifx{\AF@grp\@empty}{% |
| 4277 |
\begingroup |
| 4278 |
\let\href\@secondoftwo |
| 4279 |
\let\AU@opr\@firstoftwo |
| 4280 |
\let\CO@opr\@firstoftwo |
| 4281 |
\class@warn{Assuming \string\noaffiliation\space for \AU@grp}% |
| 4282 |
\endgroup |
| 4283 |
\begingroup\@affiliation{\blankaffiliation}%\endgroup in \@affiliation |
| 4284 |
\move@AF |
| 4285 |
}{}% |
| 4286 |
}% |
| 4287 |
\move@AUAF |
| 4288 |
}% |
| 4289 |
\def\@join#1#2#3{% |
| 4290 |
\@if@empty{#2}{#3}{#2#1#3}% |
| 4291 |
}% |
| 4292 |
\def\@separator{;\space}% |
| 4293 |
\let\surname\@firstofone |
| 4294 |
\let\firstname\@firstofone |
| 4295 |
\let\AU@grp\@empty |
| 4296 |
\renewcommand\and{\class@err{\protect\and\space is not supported}} |
| 4297 |
\def\cat@comma@active{\catcode`\,\active}% |
| 4298 |
{\cat@comma@active\gdef,{\active@comma}}% |
| 4299 |
\def\active@comma{,\penalty-300\relax}% |
| 4300 |
\newcommand\affiliation{% |
| 4301 |
\move@AU\move@AF |
| 4302 |
\begingroup |
| 4303 |
\cat@comma@active |
| 4304 |
\@affiliation |
| 4305 |
}% |
| 4306 |
\def\@affiliation#1{% |
| 4307 |
\endgroup |
| 4308 |
\let\@AF@join\@affil@join |
| 4309 |
\@affil@def{#1}% |
| 4310 |
}% |
| 4311 |
\newcommand\noaffiliation{% |
| 4312 |
\move@AU\move@AF |
| 4313 |
\begingroup\@affiliation{\blankaffiliation}% |
| 4314 |
}% |
| 4315 |
\def\blankaffiliation{}% |
| 4316 |
\def\@affil@cleared{{}{}}% |
| 4317 |
\def\@affil@init{% |
| 4318 |
\let\@affil\@affil@cleared |
| 4319 |
}% |
| 4320 |
\def\@affilclear@sw{\@ifx{\@affil\@affil@cleared}}% |
| 4321 |
\appdef\class@inithook{% |
| 4322 |
\@affil@init |
| 4323 |
}% |
| 4324 |
\def\@affil@def#1{\def\@affil{{#1}{}}}% |
| 4325 |
\def\@affil@join@#1#2#3{% |
| 4326 |
\def\@affil{{#1}{\@join{\@separator}{#2}{#3}}}% |
| 4327 |
}% |
| 4328 |
\def\@affil@join{\expandafter\@affil@join@\@affil}% |
| 4329 |
\def\move@AF{% |
| 4330 |
\@affilclear@sw{}{% |
| 4331 |
\@booleanfalse\temp@sw |
| 4332 |
\let\@tempd\@empty |
| 4333 |
\@affils@sw{% |
| 4334 |
\expandafter\@firstoftwodef\expandafter\@tempa\@affil |
| 4335 |
\def\AFF@opr{\@affil@match\@tempa}% |
| 4336 |
\@AFF@list |
| 4337 |
}{}\temp@sw |
| 4338 |
{% |
| 4339 |
\expandafter\@secondoftwodef\expandafter\@tempb\@affil |
| 4340 |
\@ifx{\@tempb\@empty}{}{% |
| 4341 |
\@ifx{\@tempb\@tempd}{}{% |
| 4342 |
\class@warn{% |
| 4343 |
Ancillary information for \@tempa\space must not be different! |
| 4344 |
Please put it on the first instance% |
| 4345 |
}% |
| 4346 |
}% |
| 4347 |
}% |
| 4348 |
\appdef@eval\AF@grp\@tempc |
| 4349 |
}% |
| 4350 |
{% |
| 4351 |
\@if@empty{\expandafter\@firstoftwo\@affil}{% |
| 4352 |
\edef\@tempc{\z@}% |
| 4353 |
}{% |
| 4354 |
\stepcounter{affil}% |
| 4355 |
\edef\@tempc{\theaffil}% |
| 4356 |
}% |
| 4357 |
\appdef \@AFF@list{\AFF@opr}% |
| 4358 |
\appdef@eval\@AFF@list\@tempc |
| 4359 |
\appdef@e \@AFF@list{\@affil}% |
| 4360 |
\appdef@eval\AF@grp\@tempc |
| 4361 |
}% |
| 4362 |
\@affil@init |
| 4363 |
}% |
| 4364 |
}% |
| 4365 |
\def\@firstoftwodef#1#2#3{% |
| 4366 |
\def#1{#2}% |
| 4367 |
}% |
| 4368 |
\def\@secondoftwodef#1#2#3{% |
| 4369 |
\def#1{#3}% |
| 4370 |
}% |
| 4371 |
\def\move@AUAF{% |
| 4372 |
\@ifx{\AF@grp\@empty}% |
| 4373 |
{}{% |
| 4374 |
\appdef \@AAC@list{\AF@opr}% |
| 4375 |
\appdef@eval\@AAC@list{\AF@grp}% |
| 4376 |
\appdef@e \@AAC@list{\AU@grp}% |
| 4377 |
\@ifx{\@empty\AU@grp}{}{% |
| 4378 |
\@ifx{\@empty\AF@grp}{}{% |
| 4379 |
\@booleanfalse\temp@sw |
| 4380 |
\def\AFS@opr{\x@match\AF@grp}% |
| 4381 |
\@AFG@list |
| 4382 |
\temp@sw{}{% |
| 4383 |
\appdef \@AFG@list{\AFS@opr}% |
| 4384 |
\appdef@eval\@AFG@list{\AF@grp}% |
| 4385 |
}% |
| 4386 |
}% |
| 4387 |
}% |
| 4388 |
\let\AU@grp\@empty |
| 4389 |
\let\AF@grp\@empty |
| 4390 |
}% |
| 4391 |
}% |
| 4392 |
\appdef\class@inithook{% |
| 4393 |
\let\@AAC@list\@empty |
| 4394 |
}% |
| 4395 |
\appdef\class@inithook{% |
| 4396 |
\let\@AFG@list\@empty |
| 4397 |
}% |
| 4398 |
\appdef\class@inithook{% |
| 4399 |
\let\@AFF@list\@empty |
| 4400 |
}% |
| 4401 |
\let\AF@grp\@empty |
| 4402 |
\def\@affil@match#1#2#3#4{% |
| 4403 |
\temp@sw{}{% |
| 4404 |
\def\@tempifx{#3}% |
| 4405 |
\@ifx{\@tempifx#1}{% |
| 4406 |
\@booleantrue\temp@sw |
| 4407 |
\def\@tempc{#2}% |
| 4408 |
\def\@tempd{#4}% |
| 4409 |
}{% |
| 4410 |
}% |
| 4411 |
}% |
| 4412 |
}% |
| 4413 |
\appdef\class@inithook{% |
| 4414 |
\let\@AF@join\@AF@join@error |
| 4415 |
}% |
| 4416 |
\def\@AF@join@error#1{% |
| 4417 |
\class@warn{% |
| 4418 |
\string\email, \string\homepage, \string\thanks, or \string\altaffiliation\space |
| 4419 |
appears in wrong context. |
| 4420 |
}% |
| 4421 |
}% |
| 4422 |
\def\sanitize@url{% |
| 4423 |
\@makeother\%% |
| 4424 |
\@makeother\~% |
| 4425 |
\@makeother\_% |
| 4426 |
}% |
| 4427 |
\newcommand*\email[1][Electronic address: ]{\begingroup\sanitize@url\@email{#1}}% |
| 4428 |
\def\@email#1#2{% |
| 4429 |
\endgroup |
| 4430 |
\@AF@join{#1\href{mailto:#2}{#2}}% |
| 4431 |
}% |
| 4432 |
\newcommand*\homepage[1][URL:~]{\begingroup\sanitize@url\@homepage{#1}}% |
| 4433 |
\def\@homepage#1#2{% |
| 4434 |
\endgroup |
| 4435 |
\@AF@join{#1\url{#2}}% |
| 4436 |
}% |
| 4437 |
\appdef\class@documenthook{% |
| 4438 |
\providecommand\url{\texttt}% |
| 4439 |
\providecommand\href[2]{\url{#2}}% |
| 4440 |
}% |
| 4441 |
\def\thanks{% implicit #1 |
| 4442 |
\@AF@join |
| 4443 |
}% |
| 4444 |
\newcommand*\altaffiliation[2][]{% |
| 4445 |
\@AF@join{#1#2}% |
| 4446 |
}% |
| 4447 |
\def\set@listcomma@list#1{% |
| 4448 |
\expandafter\@reset@ac\expandafter#1#1{0}\@reset@ac{% |
| 4449 |
\let\@listcomma\relax |
| 4450 |
}{% |
| 4451 |
\let\@listcomma\@listcomma@comma |
| 4452 |
}% |
| 4453 |
}% |
| 4454 |
\def\set@listcomma@count#1{% |
| 4455 |
\@ifnum{#1=\tw@}{% |
| 4456 |
\let\@listcomma\relax |
| 4457 |
}{% |
| 4458 |
\let\@listcomma\@listcomma@comma |
| 4459 |
}% |
| 4460 |
}% |
| 4461 |
\def\@reset@ac#1#2#3\@reset@ac{% |
| 4462 |
\def#1{#3}% |
| 4463 |
\@tempcnta#2\relax |
| 4464 |
\@ifnum{#2=\tw@}% |
| 4465 |
}% |
| 4466 |
\def\@listand{\@ifnum{\@tempcnta=\tw@}{\andname\space}{}}% |
| 4467 |
\def\@listcomma@comma{\@ifnum{\@tempcnta>\@ne}{,}{}}% |
| 4468 |
\def\@listcomma@comma@UK{\@ifnum{\@tempcnta>\tw@}{,}{}}% |
| 4469 |
\def\@collaboration@err#1#2{% |
| 4470 |
}% |
| 4471 |
\def\doauthor#1#2#3{% |
| 4472 |
\ignorespaces#1\unskip\@listcomma |
| 4473 |
\def\@tempifx{#3}% |
| 4474 |
\@ifx{\@tempifx\@empty}{% |
| 4475 |
\def\@tempifx{#2}% |
| 4476 |
\@ifx{\@tempifx\@empty}{}{\frontmatter@footnote{#2}}% |
| 4477 |
}{% |
| 4478 |
#3% |
| 4479 |
\def\@tempifx{#2}% |
| 4480 |
\@ifx{\@tempifx\@empty}{}{\comma@space\frontmatter@footnote{#2}}% |
| 4481 |
}% |
| 4482 |
\space \@listand |
| 4483 |
}% |
| 4484 |
\def\@thanks{\comma@space\footnote} |
| 4485 |
\def\x@match#1#2{% |
| 4486 |
\temp@sw{}{% |
| 4487 |
\def\@tempifx{#2}% |
| 4488 |
\@ifx{\@tempifx#1}{% |
| 4489 |
\@booleantrue\temp@sw |
| 4490 |
}{% |
| 4491 |
}% |
| 4492 |
}% |
| 4493 |
}% |
| 4494 |
\def\y@match#1#2#3{% |
| 4495 |
\temp@sw{}{% |
| 4496 |
\def\@tempifx{#3}% |
| 4497 |
\@ifx{\@tempifx#1}{% |
| 4498 |
\@booleantrue\temp@sw |
| 4499 |
\def\@tempb{#2}% |
| 4500 |
}{% |
| 4501 |
}% |
| 4502 |
}% |
| 4503 |
}% |
| 4504 |
\def\frontmatter@footnote#1{% |
| 4505 |
\begingroup |
| 4506 |
\@booleanfalse\temp@sw |
| 4507 |
\def\@tempa{#1}% |
| 4508 |
\let\@tempb\@empty |
| 4509 |
\def\@TBN@opr{\y@match\@tempa}% |
| 4510 |
\@FMN@list |
| 4511 |
\temp@sw{% |
| 4512 |
\expandafter\frontmatter@footnotemark |
| 4513 |
\expandafter{\@tempb}% |
| 4514 |
}{% |
| 4515 |
\stepcounter\@mpfn |
| 4516 |
\protected@xdef\@tempb{\the\csname c@\@mpfn\endcsname}% |
| 4517 |
\expandafter\frontmatter@footnotemark |
| 4518 |
\expandafter{\@tempb}% |
| 4519 |
\expandafter\g@addto@macro |
| 4520 |
\expandafter\@FMN@list |
| 4521 |
\expandafter{% |
| 4522 |
\expandafter \@TBN@opr |
| 4523 |
\expandafter {\@tempb}{#1}% |
| 4524 |
}% |
| 4525 |
}% |
| 4526 |
\endgroup |
| 4527 |
}% |
| 4528 |
\appdef\class@inithook{% |
| 4529 |
\global\let\@FMN@list\@empty |
| 4530 |
}% |
| 4531 |
\def\frontmatter@footnotemark#1{% |
| 4532 |
\leavevmode |
| 4533 |
\ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi |
| 4534 |
\begingroup |
| 4535 |
\hyper@linkstart {link}{frontmatter@#1}% |
| 4536 |
\csname c@\@mpfn\endcsname#1\relax |
| 4537 |
\def\@thefnmark{\thempfn}% |
| 4538 |
\@makefnmark |
| 4539 |
\hyper@linkend |
| 4540 |
\endgroup |
| 4541 |
\ifhmode\spacefactor\@x@sf\fi |
| 4542 |
\relax |
| 4543 |
}% |
| 4544 |
\def\keywords#1{% |
| 4545 |
\aftermaketitle@chk{\keywords}% |
| 4546 |
\gdef\@keywords{#1}% |
| 4547 |
}% |
| 4548 |
\def\@keywords{}% |
| 4549 |
\renewcommand*\date[2][\Dated@name]{\def\@date{#1#2}}% |
| 4550 |
\def\@date{}% |
| 4551 |
\newcommand*\received[2][\Received@name]{\def\@received{#1#2}}% |
| 4552 |
\def\@received{}% |
| 4553 |
\newcommand*\revised[2][\Revised@name]{\def\@revised{#1#2}}% |
| 4554 |
\def\@revised{}% |
| 4555 |
\newcommand*\accepted[2][\Accepted@name]{\def\@accepted{#1#2}}% |
| 4556 |
\def\@accepted{}% |
| 4557 |
\newcommand*\published[2][\Published@name]{\def\@published{#1#2}}% |
| 4558 |
\def\@published{}% |
| 4559 |
\def\pacs#1{% |
| 4560 |
\aftermaketitle@chk{\pacs}% |
| 4561 |
\gdef\@pacs{#1}% |
| 4562 |
}% |
| 4563 |
\def\@pacs{}%{\class@warn{No PACS numbers}}% |
| 4564 |
\def\preprint#1{\gappdef\@preprint{\preprint{#1}}}% |
| 4565 |
\let\@preprint\@empty |
| 4566 |
\newbox\absbox |
| 4567 |
\newenvironment{abstract}{% |
| 4568 |
\aftermaketitle@chk{\begin{abstract}}% |
| 4569 |
\global\setbox\absbox\vbox\bgroup |
| 4570 |
\color@begingroup |
| 4571 |
\columnwidth\textwidth |
| 4572 |
\hsize\columnwidth |
| 4573 |
\@parboxrestore |
| 4574 |
\def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@ |
| 4575 |
\let\@footnotetext\frontmatter@footnotetext |
| 4576 |
\minipagefootnote@init |
| 4577 |
\let\@listdepth\@mplistdepth \@mplistdepth\z@ |
| 4578 |
\@minipagerestore |
| 4579 |
\@setminipage |
| 4580 |
\frontmatter@abstractheading |
| 4581 |
\frontmatter@abstractfont |
| 4582 |
\let\footnote\mini@note |
| 4583 |
}{% |
| 4584 |
\par |
| 4585 |
\unskip |
| 4586 |
\minipagefootnote@here |
| 4587 |
\@minipagefalse %% added 24 May 89 |
| 4588 |
\color@endgroup |
| 4589 |
\egroup |
| 4590 |
}% |
| 4591 |
\long\def\frontmatter@footnotetext#1{% |
| 4592 |
\minipagefootnote@pick |
| 4593 |
\reset@font\footnotesize |
| 4594 |
\interlinepenalty \interfootnotelinepenalty |
| 4595 |
\splittopskip \footnotesep |
| 4596 |
\splitmaxdepth \dp \strutbox |
| 4597 |
\set@footnotewidth |
| 4598 |
\@parboxrestore |
| 4599 |
\protected@edef\@currentlabel{\csname p@mpfootnote\endcsname\@thefnmark}% |
| 4600 |
\color@begingroup |
| 4601 |
\frontmatter@makefntext{% |
| 4602 |
\rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox |
| 4603 |
}% |
| 4604 |
\color@endgroup |
| 4605 |
\minipagefootnote@drop |
| 4606 |
}% |
| 4607 |
\def\frontmatter@abstractheading{% |
| 4608 |
\begingroup |
| 4609 |
\centering\large |
| 4610 |
\abstractname |
| 4611 |
\par |
| 4612 |
\endgroup |
| 4613 |
}% |
| 4614 |
\def\frontmatter@abstractfont{}% |
| 4615 |
\def\frontmatter@abstractwidth{\textwidth} |
| 4616 |
\def\frontmatter@abstract@produce{% |
| 4617 |
\par |
| 4618 |
\preprintsty@sw{% |
| 4619 |
\do@output@MVL{% |
| 4620 |
\vskip\frontmatter@preabstractspace |
| 4621 |
\vskip200\p@\@plus1fil |
| 4622 |
\penalty-200\relax |
| 4623 |
\vskip-200\p@\@plus-1fil |
| 4624 |
}% |
| 4625 |
}{% |
| 4626 |
\addvspace{\frontmatter@preabstractspace}% |
| 4627 |
}% |
| 4628 |
\begingroup |
| 4629 |
\dimen@\baselineskip |
| 4630 |
\setbox\z@\vtop{\unvcopy\absbox}% |
| 4631 |
\advance\dimen@-\ht\z@\advance\dimen@-\prevdepth |
| 4632 |
\@ifdim{\dimen@>\z@}{\vskip\dimen@}{}% |
| 4633 |
\endgroup |
| 4634 |
\unvbox\absbox |
| 4635 |
\@ifx{\@empty\mini@notes}{}{\mini@notes\par}% |
| 4636 |
\addvspace\frontmatter@postabstractspace |
| 4637 |
}% |
| 4638 |
\def\frontmatter@preabstractspace{.5\baselineskip} |
| 4639 |
\def\frontmatter@postabstractspace{.5\baselineskip} |
| 4640 |
\newenvironment{titlepage}{% |
| 4641 |
\twocolumn@sw{\onecolumngrid}{\newpage}% |
| 4642 |
\thispagestyle{titlepage}% |
| 4643 |
\setcounter{page}\@ne |
| 4644 |
}{% |
| 4645 |
\twocolumn@sw{\twocolumngrid}{\newpage}% |
| 4646 |
\twoside@sw{}{% |
| 4647 |
\setcounter{page}\@ne |
| 4648 |
}% |
| 4649 |
}% |
| 4650 |
\def\maketitle{% |
| 4651 |
\@author@finish |
| 4652 |
\title@column\titleblock@produce |
| 4653 |
\suppressfloats[t]% |
| 4654 |
\let\and\relax |
| 4655 |
\let\affiliation\@gobble |
| 4656 |
\let\author\@gobble |
| 4657 |
\let\@AAC@list\@empty |
| 4658 |
\let\@AFF@list\@empty |
| 4659 |
\let\@AFG@list\@empty |
| 4660 |
\let\@AF@join\@AF@join@error |
| 4661 |
\let\email\@gobble |
| 4662 |
\let\@address\@empty |
| 4663 |
\let\maketitle\relax |
| 4664 |
\let\thanks\@gobble |
| 4665 |
\titlepage@sw{% |
| 4666 |
\vfil |
| 4667 |
\clearpage |
| 4668 |
}{}% |
| 4669 |
}% |
| 4670 |
\def\titleblock@produce{% |
| 4671 |
\begingroup |
| 4672 |
\let\footnote\footnote@latex |
| 4673 |
\let\@makefnmark\@makefnmark@latex |
| 4674 |
\let\@footnotemark\@footnotemark@latex |
| 4675 |
\let\thefootnote\frontmatter@thefootnote |
| 4676 |
\global\c@footnote\z@ |
| 4677 |
\let\@makefnmark\frontmatter@makefnmark |
| 4678 |
\frontmatter@setup |
| 4679 |
\thispagestyle{titlepage}\label{FirstPage}% |
| 4680 |
\frontmatter@title@produce |
| 4681 |
\groupauthors@sw{% |
| 4682 |
\frontmatter@author@produce@group |
| 4683 |
}{% |
| 4684 |
\frontmatter@author@produce@script |
| 4685 |
}% |
| 4686 |
\frontmatter@RRAPformat{% |
| 4687 |
\expandafter\produce@RRAP\expandafter{\@date}% |
| 4688 |
\expandafter\produce@RRAP\expandafter{\@received}% |
| 4689 |
\expandafter\produce@RRAP\expandafter{\@revised}% |
| 4690 |
\expandafter\produce@RRAP\expandafter{\@accepted}% |
| 4691 |
\expandafter\produce@RRAP\expandafter{\@published}% |
| 4692 |
}% |
| 4693 |
\frontmatter@abstract@produce |
| 4694 |
\@pacs@produce\@pacs |
| 4695 |
\@keywords@produce\@keywords |
| 4696 |
\par |
| 4697 |
\frontmatter@finalspace |
| 4698 |
\endgroup |
| 4699 |
}% |
| 4700 |
\def\frontmatter@title@produce{% |
| 4701 |
\begingroup |
| 4702 |
\frontmatter@title@above |
| 4703 |
\frontmatter@title@format |
| 4704 |
\@title |
| 4705 |
\@ifx{\@title@aux\@title@aux@cleared}{}{% |
| 4706 |
\expandafter\frontmatter@footnote\expandafter{\@title@aux}% |
| 4707 |
}% |
| 4708 |
\par |
| 4709 |
%% \class@warn{Unused short title ignored}% |
| 4710 |
\frontmatter@title@below |
| 4711 |
\endgroup |
| 4712 |
}% |
| 4713 |
\appdef\let@mark{\let\\\relax}% |
| 4714 |
\def\frontmatter@title@above{}% |
| 4715 |
\def\frontmatter@title@format{}% |
| 4716 |
\def\frontmatter@title@below{\addvspace{\baselineskip}}% |
| 4717 |
\def\frontmatter@author@produce@script{% |
| 4718 |
\begingroup |
| 4719 |
\let\@author@present\@author@present@script |
| 4720 |
\let\AU@temp\@empty |
| 4721 |
\@tempcnta\z@ |
| 4722 |
\let\AF@opr \@gobble |
| 4723 |
\def\AU@opr{\@author@count\@tempcnta}% |
| 4724 |
\def\CO@opr{\@collaboration@count\AU@temp\@tempcnta}% |
| 4725 |
\@AAC@list |
| 4726 |
\expandafter\CO@opr\@author@cleared |
| 4727 |
\begingroup |
| 4728 |
\frontmatter@authorformat |
| 4729 |
\let\AF@opr \@affilID@def |
| 4730 |
\let\AU@opr \@author@present |
| 4731 |
\def\CO@opr{\@collaboration@present\AU@temp}% |
| 4732 |
\set@listcomma@list\AU@temp |
| 4733 |
\@AAC@list |
| 4734 |
\unskip\unskip |
| 4735 |
\par |
| 4736 |
\endgroup |
| 4737 |
\begingroup |
| 4738 |
\frontmatter@above@affiliation@script |
| 4739 |
\let\AFF@opr \@affil@script |
| 4740 |
\@AFF@list |
| 4741 |
\frontmatter@footnote@produce |
| 4742 |
\par |
| 4743 |
\endgroup |
| 4744 |
\endgroup |
| 4745 |
}% |
| 4746 |
\def\@author@count#1{\advance#1\@ne\@author@gobble}% |
| 4747 |
\def\@collaboration@present#1#2#3{% |
| 4748 |
\par |
| 4749 |
\begingroup |
| 4750 |
\frontmatter@collaboration@above |
| 4751 |
\@author@present{(\ignorespaces#2\unskip)}{#3}% |
| 4752 |
\par |
| 4753 |
\endgroup |
| 4754 |
\set@listcomma@list#1% |
| 4755 |
}% |
| 4756 |
\def\frontmatter@collaboration@above{}% |
| 4757 |
\def\@collaboration@count#1#2{% |
| 4758 |
\appdef@eval#1{\the#2}#2\z@ |
| 4759 |
\@author@gobble |
| 4760 |
}% |
| 4761 |
\def\@affilID@def{\def\@affilID@temp}% |
| 4762 |
\let\@affilID@temp\@empty |
| 4763 |
\def\affil@script#1#2#3{% |
| 4764 |
\def\@tempifx{#1}\@ifx{\@tempifx\@tempa}{% |
| 4765 |
\@if@empty{#2}{}{% |
| 4766 |
\par |
| 4767 |
\begingroup |
| 4768 |
\textsuperscript{\normalfont#1}% |
| 4769 |
#2% |
| 4770 |
\@if@empty{#3}{}{\frontmatter@footnote{#3}}% |
| 4771 |
\par |
| 4772 |
\endgroup |
| 4773 |
}% |
| 4774 |
}{}% |
| 4775 |
}% |
| 4776 |
\def\@affil@script#1#2#3{% |
| 4777 |
\@ifnum{#1=\z@}{}{% |
| 4778 |
\par |
| 4779 |
\begingroup |
| 4780 |
\frontmatter@affiliationfont |
| 4781 |
\textsuperscript{#1}% |
| 4782 |
#2% |
| 4783 |
\@if@empty{#3}{}{\frontmatter@footnote{#3}}% |
| 4784 |
\par |
| 4785 |
\endgroup |
| 4786 |
}% |
| 4787 |
}% |
| 4788 |
\def\@author@present@script#1#2{% |
| 4789 |
\begingroup |
| 4790 |
\gdef\comma@space{\textsuperscript{,\,}}% |
| 4791 |
\doauthor{#1}{#2}{% |
| 4792 |
\let\@tempa\@empty |
| 4793 |
\expandafter\@affil@present@script\@affilID@temp\relax |
| 4794 |
}% |
| 4795 |
\endgroup |
| 4796 |
\advance\@tempcnta\m@ne |
| 4797 |
}% |
| 4798 |
\def\@affilcomma#1#2{% |
| 4799 |
\@ifx{\z@#1}{% |
| 4800 |
\@ifx{\relax#2}{}{% |
| 4801 |
\@affilcomma{#2}% |
| 4802 |
}% |
| 4803 |
}{% |
| 4804 |
#1% |
| 4805 |
\@ifx{\relax#2}{}{% |
| 4806 |
\@ifx{\z@#2}{% |
| 4807 |
\@affilcomma |
| 4808 |
}{% |
| 4809 |
,\,\@affilcomma{#2}% |
| 4810 |
}% |
| 4811 |
}% |
| 4812 |
}% |
| 4813 |
}% |
| 4814 |
\def\@affil@present@script#1{% |
| 4815 |
\@ifx{\relax#1}{% |
| 4816 |
\@ifx{\@tempa\@empty}{}{% |
| 4817 |
\textsuperscript{\expandafter\@affilcomma\@tempa\relax\relax}% |
| 4818 |
}% |
| 4819 |
}{% |
| 4820 |
\@ifx{\z@#1}{}{\appdef\@tempa{{#1}}}% |
| 4821 |
\@affil@present@script |
| 4822 |
}% |
| 4823 |
}% |
| 4824 |
\@provide\@author@parskip{\z@skip}% |
| 4825 |
\def\frontmatter@author@produce@group{% |
| 4826 |
\begingroup |
| 4827 |
\let\@author@present\@author@present@group |
| 4828 |
\frontmatter@authorformat |
| 4829 |
\let\AFS@opr \affils@present@group |
| 4830 |
\let\@listcomma\relax |
| 4831 |
\@AFG@list |
| 4832 |
\frontmatter@footnote@produce |
| 4833 |
\par |
| 4834 |
\endgroup |
| 4835 |
\frontmatter@authorbelow |
| 4836 |
}% |
| 4837 |
\@provide\frontmatter@authorbelow{}% |
| 4838 |
\def\affils@present@group#1{% |
| 4839 |
\begingroup |
| 4840 |
\def\AF@temp{#1}% % 0B13 |
| 4841 |
\@tempcnta\z@ |
| 4842 |
\let\AU@opr \undefined % 0B13 |
| 4843 |
\let\CO@opr \undefined % 0B13 |
| 4844 |
\def\AF@opr{\@affilID@count\AF@temp\@tempcnta}% 0B13 |
| 4845 |
\@AAC@list |
| 4846 |
\@ifnum{\@tempcnta=\z@}{}{% |
| 4847 |
\begingroup |
| 4848 |
\frontmatter@above@affilgroup |
| 4849 |
\set@listcomma@count\@tempcnta |
| 4850 |
\let\AU@opr \undefined % 0B13 |
| 4851 |
\let\CO@opr \undefined % 0B13 |
| 4852 |
\def\AF@opr{\@affilID@match\AF@temp}% |
| 4853 |
\@AAC@list |
| 4854 |
\endgroup |
| 4855 |
\begingroup |
| 4856 |
\par |
| 4857 |
\frontmatter@above@affiliation |
| 4858 |
\frontmatter@affiliationfont |
| 4859 |
\let\\\frontmatter@addressnewline |
| 4860 |
\@tempcnta\z@ |
| 4861 |
\@tfor\AF@temp:=#1\do{% |
| 4862 |
\expandafter\@ifx\expandafter{\z@\AF@temp}{}{% |
| 4863 |
\advance\@tempcnta\@ne |
| 4864 |
}% |
| 4865 |
}% |
| 4866 |
\@ifnum{\@tempcnta=\tw@}{% |
| 4867 |
\let\@listcomma\relax |
| 4868 |
}{}% |
| 4869 |
\def\after@address{\@listcomma\ \@listand}% |
| 4870 |
\runinaddress@sw{% |
| 4871 |
}{% |
| 4872 |
\tightenlines@sw{% |
| 4873 |
}{% |
| 4874 |
\parskip\z@ %space between affilations in grouped mode |
| 4875 |
}% |
| 4876 |
\appdef\after@address\par |
| 4877 |
}% |
| 4878 |
\let\AFF@opr \@affil@group |
| 4879 |
\do@affil@fromgroup\@AFF@list#1\relax |
| 4880 |
\endgroup |
| 4881 |
}% |
| 4882 |
\par |
| 4883 |
\endgroup |
| 4884 |
}% |
| 4885 |
\def\@affilID@count#1#2#3{% |
| 4886 |
\def\@tempifx{#3}% |
| 4887 |
\@ifx{\@tempifx#1}{% |
| 4888 |
\def\AU@opr{\@author@count#2}% |
| 4889 |
}{% |
| 4890 |
\let\AU@opr \@author@gobble |
| 4891 |
}% |
| 4892 |
\let\CO@opr \@collaboration@err |
| 4893 |
}% |
| 4894 |
\def\@affilID@match#1#2{% |
| 4895 |
\def\@tempifx{#2}% |
| 4896 |
\@ifx{\@tempifx#1}{% |
| 4897 |
\let\AU@opr \@author@present |
| 4898 |
}{% |
| 4899 |
\let\AU@opr \@author@gobble |
| 4900 |
}% |
| 4901 |
\let\CO@opr \@collaboration@err |
| 4902 |
}% |
| 4903 |
\def\do@affil@fromgroup#1#2{% |
| 4904 |
\@ifx{\relax#2}{}{% |
| 4905 |
\count@#2\relax |
| 4906 |
\@ifnum{\count@=\z@}{}{#1}% |
| 4907 |
\do@affil@fromgroup#1% |
| 4908 |
}% |
| 4909 |
}% |
| 4910 |
\def\@affil@group#1#2#3{% |
| 4911 |
\@ifnum{\count@=#1\relax}{% |
| 4912 |
\@ifx{#2\blankaffiliation}{}{% |
| 4913 |
#2% |
| 4914 |
\@if@empty{#3}{}{% |
| 4915 |
\frontmatter@footnote{#3}% |
| 4916 |
}% |
| 4917 |
\after@address |
| 4918 |
}% |
| 4919 |
\advance\@tempcnta\m@ne |
| 4920 |
}{}% |
| 4921 |
}% |
| 4922 |
\def\@author@present@group#1#2{% |
| 4923 |
\gdef\comma@space{\gdef\comma@space{\textsuperscript{,\,}}}% |
| 4924 |
\doauthor{#1}{#2}{}% |
| 4925 |
\advance\@tempcnta\m@ne |
| 4926 |
}% |
| 4927 |
\def\@pacs@produce#1{% |
| 4928 |
\showPACS@sw{% |
| 4929 |
\begingroup |
| 4930 |
\frontmatter@PACS@format |
| 4931 |
\@pacs@name#1\par |
| 4932 |
\endgroup |
| 4933 |
}{% |
| 4934 |
\@if@empty{#1}{}{% |
| 4935 |
\class@warn{\PACS@warn}% |
| 4936 |
}% |
| 4937 |
}% |
| 4938 |
}% |
| 4939 |
\def\PACS@warn{If you want your PACS to appear in your output, use document class option showpacs}% |
| 4940 |
\def\@keywords@produce#1{% |
| 4941 |
\showKEYS@sw{% |
| 4942 |
\begingroup |
| 4943 |
\frontmatter@keys@format |
| 4944 |
\@keys@name#1\par |
| 4945 |
\endgroup |
| 4946 |
}{% |
| 4947 |
\@if@empty{#1}{}{% |
| 4948 |
\class@warn{If you want your keywords to appear in your output, use document class option showkeys}% |
| 4949 |
}% |
| 4950 |
}% |
| 4951 |
}% |
| 4952 |
\def\frontmatter@footnote@produce@footnote{% |
| 4953 |
\let\@TBN@opr\present@FM@footnote |
| 4954 |
\@FMN@list |
| 4955 |
\global\let\@FMN@list\@empty |
| 4956 |
}% |
| 4957 |
\def\present@FM@footnote#1#2{% |
| 4958 |
\begingroup |
| 4959 |
\csname c@\@mpfn\endcsname#1\relax |
| 4960 |
\def\@thefnmark{\thempfn}% |
| 4961 |
\frontmatter@footnotetext{#2}% |
| 4962 |
\endgroup |
| 4963 |
}% |
| 4964 |
\def\frontmatter@footnote@produce@endnote{% |
| 4965 |
}% |
| 4966 |
\def\frontmatter@thefootnote{% |
| 4967 |
\altaffilletter@sw{\@alph}{\@fnsymbol}\c@footnote |
| 4968 |
}% |
| 4969 |
\def\frontmatter@makefnmark{% |
| 4970 |
\@textsuperscript{% |
| 4971 |
\normalfont\@thefnmark |
| 4972 |
}% |
| 4973 |
}% |
| 4974 |
\long\def\frontmatter@makefntext#1{% |
| 4975 |
\parindent 1em |
| 4976 |
\noindent |
| 4977 |
\Hy@raisedlink{\hyper@anchorstart{frontmatter@\the\c@footnote}\hyper@anchorend}% |
| 4978 |
\@makefnmark |
| 4979 |
#1% |
| 4980 |
}% |
| 4981 |
\def\frontmatter@setup{}% |
| 4982 |
\def\frontmatter@RRAPformat#1{% |
| 4983 |
\removelastskip |
| 4984 |
\begingroup |
| 4985 |
\frontmatter@RRAP@format |
| 4986 |
#1\par |
| 4987 |
\endgroup |
| 4988 |
}% |
| 4989 |
\def\punct@RRAP{; }% |
| 4990 |
\def\produce@RRAP#1{% |
| 4991 |
\@if@empty{#1}{}{% |
| 4992 |
\@ifvmode{\leavevmode}{\unskip\punct@RRAP\ignorespaces}% |
| 4993 |
#1% |
| 4994 |
}% |
| 4995 |
}% |
| 4996 |
\def\frontmatter@authorformat{}% |
| 4997 |
\def\frontmatter@above@affilgroup{}% |
| 4998 |
\def\frontmatter@above@affiliation{}% |
| 4999 |
\def\frontmatter@above@affiliation@script{}% |
| 5000 |
\def\frontmatter@affiliationfont{}% |
| 5001 |
\def\frontmatter@RRAP@format{}% |
| 5002 |
\def\frontmatter@PACS@format{}% |
| 5003 |
\def\frontmatter@keys@format{}% |
| 5004 |
\def\frontmatter@finalspace{\addvspace{18\p@}} |
| 5005 |
\def\frontmatter@addressnewline{% |
| 5006 |
\@ifhmode{\skip@\lastskip\unskip\unpenalty\break\hskip\skip@}{}% |
| 5007 |
% was: \vskip-.5ex |
| 5008 |
}% |
| 5009 |
\def\frontmatter@preabstractspace{5.5\p@} |
| 5010 |
\def\frontmatter@postabstractspace{6.5\p@} |
| 5011 |
\def\aftermaketitle@chk#1{% |
| 5012 |
\@ifx{\maketitle\relax}{% |
| 5013 |
\class@err{\protect#1 must be used before \protect\maketitle}% |
| 5014 |
}{}% |
| 5015 |
}% |
| 5016 |
\def\ps@titlepage{\ps@empty}% |
| 5017 |
\def\volumeyear#1{\gdef\@volumeyear{#1}}% |
| 5018 |
\def\@volumeyear{}% |
| 5019 |
\def\volumenumber#1{\gdef\@volumenumber{#1}}% |
| 5020 |
\def\@volumenumber{}% |
| 5021 |
\def\issuenumber#1{\gdef\@issuenumber{#1}}% |
| 5022 |
\def\@issuenumber{}% |
| 5023 |
\def\eid#1{\gdef\@eid{#1}}% |
| 5024 |
\def\@eid{}% |
| 5025 |
\def\startpage#1{\gdef\@startpage{#1}\c@page#1\relax}% |
| 5026 |
\def\@startpage{\pageref{FirstPage}}% |
| 5027 |
\def\endpage#1{\gdef\@endpage{#1}}% |
| 5028 |
\def\@endpage{\pageref{LastPage}}% |
| 5029 |
\def\print@toc#1{% |
| 5030 |
\begingroup |
| 5031 |
\expandafter\section |
| 5032 |
\expandafter*% |
| 5033 |
\expandafter{% |
| 5034 |
\csname#1name\endcsname |
| 5035 |
}% |
| 5036 |
\let\appendix\appendix@toc |
| 5037 |
\@starttoc{#1}% |
| 5038 |
\endgroup |
| 5039 |
}% |
| 5040 |
\def\appendix@toc{}% |
| 5041 |
\def\labelenumi{\theenumi.} |
| 5042 |
\def\theenumi{\arabic{enumi}} |
| 5043 |
\def\labelenumii{(\theenumii)} |
| 5044 |
\def\theenumii{\alph{enumii}} |
| 5045 |
\def\p@enumii{\theenumi} |
| 5046 |
\def\labelenumiii{\theenumiii.} |
| 5047 |
\def\theenumiii{\roman{enumiii}} |
| 5048 |
\def\p@enumiii{\theenumi(\theenumii)} |
| 5049 |
\def\labelenumiv{\theenumiv.} |
| 5050 |
\def\theenumiv{\Alph{enumiv}} |
| 5051 |
\def\p@enumiv{\p@enumiii\theenumiii} |
| 5052 |
\def\labelitemi{\textbullet} |
| 5053 |
\def\labelitemii{\normalfont\bfseries\textendash} |
| 5054 |
\def\labelitemiii{\textasteriskcentered} |
| 5055 |
\def\labelitemiv{\textperiodcentered} |
| 5056 |
\pagenumbering{arabic} |
| 5057 |
\setcounter{topnumber}{2} |
| 5058 |
\def\topfraction{.9} |
| 5059 |
\setcounter{bottomnumber}{1} |
| 5060 |
\def\bottomfraction{.9} |
| 5061 |
\setcounter{totalnumber}{3} |
| 5062 |
\def\textfraction{.1} |
| 5063 |
\def\floatpagefraction{.9} |
| 5064 |
\setcounter{dbltopnumber}{2} |
| 5065 |
\def\dbltopfraction{.9} |
| 5066 |
\def\dblfloatpagefraction{.9} |
| 5067 |
\newenvironment{verse}{% |
| 5068 |
\let\\=\@centercr |
| 5069 |
\list{}{% |
| 5070 |
\itemsep\z@ \itemindent -1.5em\listparindent \itemindent |
| 5071 |
\rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]% |
| 5072 |
}{% |
| 5073 |
\endlist |
| 5074 |
}% |
| 5075 |
\newenvironment{quotation}{% |
| 5076 |
\list{}{% |
| 5077 |
\listparindent 1.5em |
| 5078 |
\itemindent\listparindent |
| 5079 |
\rightmargin\leftmargin \parsep \z@ \@plus\p@}\item[]% |
| 5080 |
}{% |
| 5081 |
\endlist |
| 5082 |
}% |
| 5083 |
\newenvironment{quote}{% |
| 5084 |
\list{}{% |
| 5085 |
\rightmargin\leftmargin}\item[]% |
| 5086 |
}{% |
| 5087 |
\endlist |
| 5088 |
}% |
| 5089 |
\def\descriptionlabel#1{% |
| 5090 |
\hspace\labelsep \normalfont\bfseries #1% |
| 5091 |
}% |
| 5092 |
\newenvironment{description}{% |
| 5093 |
\list{}{% |
| 5094 |
\labelwidth\z@ \itemindent-\leftmargin |
| 5095 |
\let\makelabel\descriptionlabel |
| 5096 |
}% |
| 5097 |
}{% |
| 5098 |
\endlist |
| 5099 |
}% |
| 5100 |
\newcounter{part} |
| 5101 |
\newcounter{section} |
| 5102 |
\newcounter{subsection}[section] |
| 5103 |
\newcounter{subsubsection}[subsection] |
| 5104 |
\newcounter{paragraph}[subsubsection] |
| 5105 |
\newcounter{subparagraph}[paragraph] |
| 5106 |
\def\thepart {\Roman{part}} % |
| 5107 |
\def\thesection {\Roman{section}} |
| 5108 |
\def\p@section {} |
| 5109 |
\def\thesubsection {\Alph{subsection}} |
| 5110 |
\def\p@subsection {\thesection\,} |
| 5111 |
\def\thesubsubsection {\arabic{subsubsection}} |
| 5112 |
\def\p@subsubsection {\thesection\,\thesubsection\,} |
| 5113 |
\def\theparagraph {\alph{paragraph}} |
| 5114 |
\def\p@paragraph {\thesection\,\thesubsection\,\thesubsubsection\,} |
| 5115 |
\def\thesubparagraph {\arabic{subparagraph}} |
| 5116 |
\def\p@subparagraph {\thesection\,\thesubsection\,\thesubsubsection\,\theparagraph\,} |
| 5117 |
\newenvironment{acknowledgments}{% |
| 5118 |
\acknowledgments@sw{% |
| 5119 |
\section*{\acknowledgmentsname}% |
| 5120 |
}{% |
| 5121 |
\par |
| 5122 |
\phantomsection |
| 5123 |
\addcontentsline{toc}{section}{\protect\numberline{}\acknowledgmentsname}% |
| 5124 |
}% |
| 5125 |
}{% |
| 5126 |
\par |
| 5127 |
}% |
| 5128 |
\@booleantrue\acknowledgments@sw |
| 5129 |
\newenvironment{acknowledgements}{% |
| 5130 |
\replace@environment{acknowledgements}{acknowledgments}% |
| 5131 |
}{% |
| 5132 |
\endacknowledgments |
| 5133 |
}% |
| 5134 |
\def\part{\par |
| 5135 |
\addvspace{4ex}% |
| 5136 |
\@afterindentfalse |
| 5137 |
\secdef\@part\@spart}% |
| 5138 |
\def\@part[#1]#2{% |
| 5139 |
\@ifnum{\c@secnumdepth >\m@ne}{% |
| 5140 |
\refstepcounter{part}% |
| 5141 |
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% |
| 5142 |
}{% |
| 5143 |
\addcontentsline{toc}{part}{#1}% |
| 5144 |
}% |
| 5145 |
\begingroup |
| 5146 |
\parindent \z@ \raggedright |
| 5147 |
\interlinepenalty\@M |
| 5148 |
\@ifnum{\c@secnumdepth >\m@ne}{% |
| 5149 |
\Large \bf \partname~\thepart% |
| 5150 |
\par\nobreak |
| 5151 |
}{}% |
| 5152 |
\huge \bf |
| 5153 |
#2% |
| 5154 |
\markboth{}{}\par |
| 5155 |
\endgroup |
| 5156 |
\nobreak |
| 5157 |
\vskip 3ex |
| 5158 |
\@afterheading |
| 5159 |
}% |
| 5160 |
\def\@spart#1{{\parindent \z@ \raggedright |
| 5161 |
\interlinepenalty\@M |
| 5162 |
\huge \bf |
| 5163 |
#1\par} |
| 5164 |
\nobreak |
| 5165 |
\vskip 3ex |
| 5166 |
\@afterheading} |
| 5167 |
\def\section{% |
| 5168 |
\@startsection |
| 5169 |
{section}% |
| 5170 |
{1}% |
| 5171 |
{\z@}% |
| 5172 |
{0.8cm \@plus1ex \@minus .2ex}% |
| 5173 |
{0.5cm}% |
| 5174 |
{\normalfont\small\bfseries}% |
| 5175 |
}% |
| 5176 |
\def\subsection{% |
| 5177 |
\@startsection |
| 5178 |
{subsection}% |
| 5179 |
{2}% |
| 5180 |
{\z@}% |
| 5181 |
{.8cm \@plus1ex \@minus .2ex}% |
| 5182 |
{.5cm}% |
| 5183 |
{\normalfont\small\bfseries}% |
| 5184 |
}% |
| 5185 |
\def\subsubsection{% |
| 5186 |
\@startsection |
| 5187 |
{subsubsection}% |
| 5188 |
{3}% |
| 5189 |
{\z@}% |
| 5190 |
{.8cm \@plus1ex \@minus .2ex}% |
| 5191 |
{.5cm}% |
| 5192 |
{\normalfont\small\itshape}% |
| 5193 |
}% |
| 5194 |
\def\paragraph{% |
| 5195 |
\@startsection |
| 5196 |
{paragraph}% |
| 5197 |
{4}% |
| 5198 |
{\parindent}% |
| 5199 |
{\z@}% |
| 5200 |
{-1em}% |
| 5201 |
{\normalfont\normalsize\itshape}% |
| 5202 |
}% |
| 5203 |
\def\subparagraph{% |
| 5204 |
\@startsection |
| 5205 |
{subparagraph}% |
| 5206 |
{5}% |
| 5207 |
{\parindent}% |
| 5208 |
{3.25ex \@plus1ex \@minus .2ex}% |
| 5209 |
{-1em}% |
| 5210 |
{\normalfont\normalsize\bfseries}% |
| 5211 |
}% |
| 5212 |
\def\theequation{% |
| 5213 |
\theequation@prefix\arabic{equation}% |
| 5214 |
}% |
| 5215 |
\def\theequation@prefix{}% |
| 5216 |
\AtEndOfClass{% |
| 5217 |
\expandafter\input\expandafter{\@pointsize pt\substyle@ext}% |
| 5218 |
}% |
| 5219 |
\setcounter{secnumdepth}{4} |
| 5220 |
\lineskip 1pt |
| 5221 |
\normallineskip 1pt |
| 5222 |
\def\baselinestretch{1}% |
| 5223 |
\@lowpenalty 51 |
| 5224 |
\@medpenalty 151 |
| 5225 |
\@highpenalty 301 |
| 5226 |
\@beginparpenalty -\@lowpenalty |
| 5227 |
\@endparpenalty -\@lowpenalty |
| 5228 |
\@itempenalty -\@lowpenalty |
| 5229 |
\arraycolsep 3pt |
| 5230 |
\tabcolsep 2pt |
| 5231 |
\arrayrulewidth .4pt |
| 5232 |
\doublerulesep 2pt |
| 5233 |
\skip\@mpfootins = 0pt |
| 5234 |
\fboxsep = 3.0pt |
| 5235 |
\fboxrule = 0.4pt |
| 5236 |
\newenvironment{figure} |
| 5237 |
{\@float{figure}} |
| 5238 |
{\end@float} |
| 5239 |
\newenvironment{figure*} |
| 5240 |
{\@dblfloat{figure}} |
| 5241 |
{\end@dblfloat} |
| 5242 |
\newlength\abovecaptionskip |
| 5243 |
\newlength\belowcaptionskip |
| 5244 |
\setlength\abovecaptionskip{10\p@} |
| 5245 |
\setlength\belowcaptionskip{2\p@} |
| 5246 |
\long\def\@makecaption#1#2{% |
| 5247 |
\par |
| 5248 |
\vskip\abovecaptionskip |
| 5249 |
\begingroup |
| 5250 |
\small\rmfamily |
| 5251 |
\sbox\@tempboxa{% |
| 5252 |
\let\\\heading@cr |
| 5253 |
#1: #2% |
| 5254 |
}% |
| 5255 |
\@ifdim{\wd\@tempboxa >\hsize}{% |
| 5256 |
\begingroup |
| 5257 |
\samepage |
| 5258 |
\flushing |
| 5259 |
\let\footnote\@footnotemark@gobble |
| 5260 |
#1: #2\par |
| 5261 |
\endgroup |
| 5262 |
}{% |
| 5263 |
\global \@minipagefalse |
| 5264 |
\hb@xt@\hsize{\hfil\unhbox\@tempboxa\hfil}% |
| 5265 |
}% |
| 5266 |
\endgroup |
| 5267 |
\vskip\belowcaptionskip |
| 5268 |
}% |
| 5269 |
\def\@footnotemark@gobble{% |
| 5270 |
\@footnotemark |
| 5271 |
\@ifnextchar[{\@gobble@opt@i}{\@gobble}% |
| 5272 |
}% |
| 5273 |
\def\@gobble@opt@i[#1]#2{}% |
| 5274 |
\def\@mpmakefntext#1{% |
| 5275 |
\flushing |
| 5276 |
\parindent=1em |
| 5277 |
\noindent |
| 5278 |
\hb@xt@1em{\hss\@makefnmark}% |
| 5279 |
#1% |
| 5280 |
}% |
| 5281 |
\newcounter{figure} |
| 5282 |
\renewcommand \thefigure {\@arabic\c@figure} |
| 5283 |
\def\fps@figure{tbp} |
| 5284 |
\def\ftype@figure{1} |
| 5285 |
\def\ext@figure{lof} |
| 5286 |
\def\fnum@figure{\figurename~\thefigure} |
| 5287 |
\appdef\class@documenthook{% |
| 5288 |
\do@if@floats{figure}{.fgx}% |
| 5289 |
}% |
| 5290 |
\appdef\class@enddocumenthook{% |
| 5291 |
\printfigures\relax |
| 5292 |
}% |
| 5293 |
\newcommand\printfigures{% |
| 5294 |
\@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}% |
| 5295 |
{% |
| 5296 |
\print@float{figure}{\oneapage}% |
| 5297 |
}{% |
| 5298 |
\print@float{figure}{}% |
| 5299 |
}% |
| 5300 |
}% |
| 5301 |
\appdef\@xfloat@prep{% |
| 5302 |
\appdef\@parboxrestore{\centering}% |
| 5303 |
\let\@makefnmark\@makefnmark@latex |
| 5304 |
\let\@footnotemark\@footnotemark@latex |
| 5305 |
}% |
| 5306 |
\newenvironment{table} |
| 5307 |
{\@float{table}} |
| 5308 |
{\end@float} |
| 5309 |
\newenvironment{table*} |
| 5310 |
{\@dblfloat{table}} |
| 5311 |
{\end@dblfloat} |
| 5312 |
\newcounter{table} |
| 5313 |
\renewcommand\thetable{\@Roman\c@table} |
| 5314 |
\def\fps@table{tbp} |
| 5315 |
\def\ftype@table{2} |
| 5316 |
\def\ext@table{lot} |
| 5317 |
\def\fnum@table{\tablename~\thetable} |
| 5318 |
\def\table@hook{\small}% |
| 5319 |
\def\squeezetable{\def\table@hook{\scriptsize}}% |
| 5320 |
\appdef\@floatboxreset{\table@hook}% |
| 5321 |
\appdef\class@documenthook{% |
| 5322 |
\floats@sw{}{% |
| 5323 |
\let@environment{longtable@float}{longtable}% |
| 5324 |
\let@environment{longtable}{longtable@write}% |
| 5325 |
\let@environment{longtable*@float}{longtable*}% |
| 5326 |
\let@environment{longtable*}{longtable*@write}% |
| 5327 |
\let@environment{turnpage@float}{turnpage}% |
| 5328 |
\let@environment{turnpage}{turnpage@write}% |
| 5329 |
}% |
| 5330 |
\do@if@floats{table}{.tbx}% |
| 5331 |
}% |
| 5332 |
\appdef\class@enddocumenthook{% |
| 5333 |
\printtables\relax |
| 5334 |
}% |
| 5335 |
\newenvironment{longtable@write}{% |
| 5336 |
\write@@float{longtable}{table}% |
| 5337 |
}{% |
| 5338 |
\endwrite@float |
| 5339 |
}% |
| 5340 |
\newenvironment{longtable*@write}{% |
| 5341 |
\write@@float{longtable*}{table}% |
| 5342 |
}{% |
| 5343 |
\endwrite@float |
| 5344 |
}% |
| 5345 |
\newenvironment{turnpage@write}{% |
| 5346 |
\immediate\write\tablewrite{\string\begin{turnpage}}% |
| 5347 |
}{% |
| 5348 |
\immediate\write\tablewrite{\string\end{turnpage}}% |
| 5349 |
}% |
| 5350 |
\newcommand\printtables{% |
| 5351 |
\begingroup |
| 5352 |
\let@environment{longtable}{longtable@float}% |
| 5353 |
\let@environment{longtable*}{longtable*@float}% |
| 5354 |
\let@environment{turnpage}{turnpage@anchored}% |
| 5355 |
\prepdef\longtable{\trigger@float@par}% |
| 5356 |
\expandafter\prepdef\csname longtable*\endcsname{\trigger@float@par}% |
| 5357 |
\expandafter\prepdef\csname table@floats\endcsname{% |
| 5358 |
\onecolumngrid@push |
| 5359 |
}% |
| 5360 |
\expandafter\appdef\csname endtable@floats\endcsname{% |
| 5361 |
\onecolumngrid@pop |
| 5362 |
}% |
| 5363 |
\@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}% |
| 5364 |
{% |
| 5365 |
\print@float{table}{\oneapage}% |
| 5366 |
}{% |
| 5367 |
\print@float{table}{}% |
| 5368 |
}% |
| 5369 |
\endgroup |
| 5370 |
}% |
| 5371 |
\newenvironment{turnpage@anchored}{% |
| 5372 |
\onecolumngrid@push |
| 5373 |
\setbox\z@\vbox to\textwidth\bgroup |
| 5374 |
\columnwidth\textheight |
| 5375 |
}{% |
| 5376 |
\vfil |
| 5377 |
\egroup |
| 5378 |
\rotatebox{90}{\box\z@}% |
| 5379 |
\onecolumngrid@pop |
| 5380 |
}% |
| 5381 |
\def\endtabular@hook{}% |
| 5382 |
\appdef\class@documenthook{% |
| 5383 |
\@ifpackageloaded{dcolumn}{% |
| 5384 |
\newcolumntype{d}{D{.}{.}{-1}}% |
| 5385 |
}{}% |
| 5386 |
}% |
| 5387 |
\def\toprule{\hline\hline}% |
| 5388 |
\def\colrule{\hline}% |
| 5389 |
\def\botrule{\hline\hline}% |
| 5390 |
\newenvironment{ruledtabular}{% |
| 5391 |
\def\array@default{v}% |
| 5392 |
\appdef\tabular@hook{\def\@halignto{to\hsize}}% |
| 5393 |
\let\tableft@skip@default\tableft@skip |
| 5394 |
\let\tableft@skip\tableft@skip@float |
| 5395 |
\let\tabmid@skip@default\tabmid@skip |
| 5396 |
\let\tabmid@skip\tabmid@skip@float |
| 5397 |
\let\tabright@skip@default\tabright@skip |
| 5398 |
\let\tabright@skip\tabright@skip@float |
| 5399 |
\let\array@row@pre@default\array@row@pre |
| 5400 |
\let\array@row@pre\array@row@pre@float |
| 5401 |
\let\array@row@pst@default\array@row@pst |
| 5402 |
\let\array@row@pst\array@row@pst@float |
| 5403 |
\appdef\array@row@rst{% |
| 5404 |
\let\array@row@pre\array@row@pre@default |
| 5405 |
\let\array@row@pst\array@row@pst@default |
| 5406 |
\let\tableft@skip\tableft@skip@default |
| 5407 |
\let\tabmid@skip\tabmid@skip@default |
| 5408 |
\let\tabright@skip\tabright@skip@default |
| 5409 |
\appdef\tabular@hook{\let\@halignto\@empty}% |
| 5410 |
}% |
| 5411 |
}{% |
| 5412 |
}% |
| 5413 |
\def\@makefntext#1{% |
| 5414 |
\def\baselinestretch{1}% |
| 5415 |
\reset@font\footnotesize |
| 5416 |
\parindent 1em% |
| 5417 |
\noindent |
| 5418 |
\hb@xt@1.8em{% |
| 5419 |
\Hy@raisedlink{\hyper@anchorstart{footnote@\the\c@footnote}\hyper@anchorend}% |
| 5420 |
\hss\@makefnmark |
| 5421 |
}% |
| 5422 |
#1\par |
| 5423 |
}% |
| 5424 |
\newenvironment{thebibliography}{}{}% |
| 5425 |
\let\@listi\@empty |
| 5426 |
\RequirePackage[sort&compress]{natbib}[1999/05/28 7.0]% |
| 5427 |
\let\NAT@thebibliography\thebibliography |
| 5428 |
\let\NAT@endthebibliography\endthebibliography |
| 5429 |
\let\bibliographystyle@latex\bibliographystyle |
| 5430 |
\renewcommand\NAT@citesuper[3]{% |
| 5431 |
\ifNAT@swa |
| 5432 |
\leavevmode |
| 5433 |
\unskip |
| 5434 |
\textsuperscript{#1}% |
| 5435 |
\if*#3*\else\ (#3)\fi |
| 5436 |
\else |
| 5437 |
#1% |
| 5438 |
\fi |
| 5439 |
\endgroup |
| 5440 |
}% |
| 5441 |
\def\@makefnmark@cite{\begingroup\NAT@swatrue\@cite{{\@thefnmark}}{}{}}% |
| 5442 |
\let\bibliographystyle@latex\bibliographystyle |
| 5443 |
\def\bibliographystyle{\def\@bibstyle}% |
| 5444 |
\def\bibsection{% |
| 5445 |
\@ifx@empty\refname{% |
| 5446 |
\par |
| 5447 |
}{% |
| 5448 |
\let\@hangfroms@section\@hang@froms |
| 5449 |
\section*{\refname}% |
| 5450 |
\@nobreaktrue |
| 5451 |
}% |
| 5452 |
}% |
| 5453 |
\let\NATx@bibsetnum\NAT@bibsetnum |
| 5454 |
\def\NAT@bibsetnum#1{% |
| 5455 |
\setlength{\topsep}{\z@}% |
| 5456 |
\NATx@bibsetnum{\ref{LastBibItem}}% |
| 5457 |
}% |
| 5458 |
\let\NATx@bibsetup\NAT@bibsetup |
| 5459 |
\def\NAT@bibsetup{% |
| 5460 |
\setlength{\labelwidth}{\z@}% |
| 5461 |
\setlength{\labelsep}{\z@}% |
| 5462 |
\setlength{\itemindent}{\z@}% |
| 5463 |
\setlength{\listparindent}{\z@}% |
| 5464 |
\setlength{\topsep}{\z@}% |
| 5465 |
\setlength{\parsep}{\z@}% |
| 5466 |
\NATx@bibsetup |
| 5467 |
}% |
| 5468 |
\let\bibpreamble\@empty |
| 5469 |
\def\newblock{\ }% |
| 5470 |
\let\NATx@bibnumfmt\bibnumfmt |
| 5471 |
\def\bibnumfmt{\place@bibnumber}% |
| 5472 |
\AtEndOfClass{% |
| 5473 |
\appdef\class@documenthook{% |
| 5474 |
\@ifxundefined\place@bibnumber{% |
| 5475 |
\let\place@bibnumber\NATx@bibnumfmt |
| 5476 |
}{}% |
| 5477 |
}% |
| 5478 |
}% |
| 5479 |
\let\NAT@citeyear\citeyear |
| 5480 |
\def\NAT@onlinecite#1{% |
| 5481 |
\begingroup |
| 5482 |
\let\@cite\NAT@citenum |
| 5483 |
\let\NAT@mbox\mbox |
| 5484 |
\let\citeyear\NAT@citeyear |
| 5485 |
\def\NAT@space{ }% |
| 5486 |
\cite{#1}% |
| 5487 |
\endgroup |
| 5488 |
}% |
| 5489 |
\appdef\class@inithook{% |
| 5490 |
\@ifxundefined\@onlinecite{\def\@onlinecite{\citealp}}{}% |
| 5491 |
\@ifxundefined\@textcite{\def\@textcite{\citet}}{}% |
| 5492 |
}% |
| 5493 |
\DeclareRobustCommand\onlinecite{\@onlinecite}% |
| 5494 |
\DeclareRobustCommand\textcite{\@textcite}% |
| 5495 |
\renewenvironment{thebibliography}[1]{% |
| 5496 |
\NAT@thebibliography{#1}% |
| 5497 |
\@clubpenalty\clubpenalty |
| 5498 |
\let\@TBN@opr\present@bibnote |
| 5499 |
\@FMN@list |
| 5500 |
}{% |
| 5501 |
\@endnotesinbib |
| 5502 |
\edef\@currentlabel{\arabic{NAT@ctr}}% |
| 5503 |
\label{LastBibItem}% |
| 5504 |
\NAT@endthebibliography |
| 5505 |
\global\let\auto@bib\@empty |
| 5506 |
}% |
| 5507 |
\def\present@bibnote#1#2{% |
| 5508 |
\item[% |
| 5509 |
\textsuperscript{% |
| 5510 |
\normalfont |
| 5511 |
\Hy@raisedlink{\hyper@anchorstart{frontmatter@#1}\hyper@anchorend}% |
| 5512 |
\begingroup |
| 5513 |
\c@footnote#1\relax |
| 5514 |
\frontmatter@thefootnote |
| 5515 |
\endgroup |
| 5516 |
}% |
| 5517 |
]#2\par |
| 5518 |
}% |
| 5519 |
\def\place@bibnumber@sup#1{\textsuperscript{#1}}% |
| 5520 |
\def\place@bibnumber@inl#1{[#1]}% |
| 5521 |
%% \begin{macro}{\@cite} |
| 5522 |
%% \begin{macro}{\nocite} |
| 5523 |
%% For the sake of Bib\TeX, we must execute the \cmd\bibliographystyle\ command |
| 5524 |
%% (putting a \cmd\bibstyle\ command into the auxiliary file) |
| 5525 |
%% somewhere before the first \cmd\cite\ command (or any other like command), |
| 5526 |
%% which puts a \cmd\citation\ command into the auxiliary file. |
| 5527 |
%% |
| 5528 |
%% Therefore, we headpatch the two procedures in \classname{natbib} that can result in |
| 5529 |
%% the appearance in the auxiliary file of a \cmd\citation\ command. |
| 5530 |
%% These two procedures are \cmd\@cite\ and \cmd\nocite. |
| 5531 |
%% |
| 5532 |
%% Not! |
| 5533 |
\def\write@bibliographystyle{% |
| 5534 |
\@ifxundefined\@bibstyle{}{% |
| 5535 |
\expandafter\bibliographystyle@latex\expandafter{\@bibstyle}% |
| 5536 |
}% |
| 5537 |
\global\let\write@bibliographystyle\relax |
| 5538 |
}% |
| 5539 |
\AtEndDocument{\write@bibliographystyle}% |
| 5540 |
%% \end{macro} |
| 5541 |
%% \end{macro} |
| 5542 |
\def\super@cite[#1][#2]#3{% |
| 5543 |
\leavevmode |
| 5544 |
\skip@\lastskip |
| 5545 |
\unskip |
| 5546 |
\begingroup |
| 5547 |
\def\@tempa{[#1][#2]{#3}}% |
| 5548 |
\super@cite@ |
| 5549 |
}% |
| 5550 |
\def\super@cite@{% |
| 5551 |
\futurelet\@let@token\super@cite@@ |
| 5552 |
}% |
| 5553 |
\long\def\super@cite@@#1{% |
| 5554 |
\@ifx{\@let@token\@sptoken}{% |
| 5555 |
\aftergroup\@sptoken\false@sw |
| 5556 |
}{% |
| 5557 |
\@ifx{\@let@token.}{\true@sw}{% |
| 5558 |
\@ifx{\@let@token,}{\true@sw}{% |
| 5559 |
\@ifx{\@let@token'}{\true@sw}{% |
| 5560 |
\@ifx{\@let@token)}{\true@sw}{% |
| 5561 |
\false@sw |
| 5562 |
}% |
| 5563 |
}% |
| 5564 |
}% |
| 5565 |
}% |
| 5566 |
}% |
| 5567 |
{% |
| 5568 |
#1% |
| 5569 |
\super@cite@ |
| 5570 |
}{% |
| 5571 |
\expandafter\@citex@NAT\@tempa\endgroup |
| 5572 |
#1% |
| 5573 |
}% |
| 5574 |
}% |
| 5575 |
\AtBeginDocument{% |
| 5576 |
\citeautoscript@sw{% |
| 5577 |
\@ifx{\place@bibnumber\place@bibnumber@sup}{% |
| 5578 |
\let\@citex@NAT\@citex\let\@citex\super@cite |
| 5579 |
}{}% |
| 5580 |
}{}% |
| 5581 |
}% |
| 5582 |
\@ifx{\chapter\relax}{\let\chapter\@undefined}{}% |
| 5583 |
\def\mini@note{\save@note\mini@notes}%Implicit #1 |
| 5584 |
\def\save@note#1#2{% |
| 5585 |
\stepcounter{footnote}% |
| 5586 |
\protected@xdef\@thefnmark{\the\c@footnote}% |
| 5587 |
\@footnotemark |
| 5588 |
\expandafter\g@addto@macro |
| 5589 |
\expandafter#1% |
| 5590 |
\expandafter{% |
| 5591 |
\expandafter \@@footnotetext |
| 5592 |
\expandafter {\@thefnmark}{#2}% |
| 5593 |
}% |
| 5594 |
}% |
| 5595 |
\long\def\@@footnotetext#1{\def\@thefnmark{#1}\@footnotetext}% |
| 5596 |
\let\mini@notes\@empty |
| 5597 |
\def\endnote{% |
| 5598 |
\begingroup |
| 5599 |
\aftergroup\@footnotemark |
| 5600 |
\aftergroup\@endnotetext |
| 5601 |
\@ifnextchar[{% |
| 5602 |
\@xendnote |
| 5603 |
}{% |
| 5604 |
\stepcounter{footnote}% |
| 5605 |
\protected@xdef\@tempa{\thefootnote}% |
| 5606 |
\expandafter\@xendnote\expandafter[\@tempa]% |
| 5607 |
}% |
| 5608 |
}% |
| 5609 |
\def\@xendnote[#1]{% |
| 5610 |
\begingroup |
| 5611 |
\c@footnote#1\relax |
| 5612 |
\unrestored@protected@xdef\@thefnmark{endnote\thefootnote}% |
| 5613 |
\endgroup |
| 5614 |
\endgroup |
| 5615 |
}% |
| 5616 |
\def\@endnotemark{% |
| 5617 |
\expandafter\cite\expandafter{\@thefnmark}% |
| 5618 |
}% |
| 5619 |
\def\endnote@ext{.end}% |
| 5620 |
\long\def\@endnotetext#1{% |
| 5621 |
\@ifxundefined\@endnoteout{% |
| 5622 |
\newwrite\@endnoteout |
| 5623 |
\gdef\endnote@stream{\jobname\endnote@ext}% |
| 5624 |
\immediate\openout\@endnoteout\endnote@stream\relax |
| 5625 |
}{}% |
| 5626 |
\begingroup |
| 5627 |
\let\label\relax \let\index\relax \let\glossary\relax |
| 5628 |
\let\cite \relax \let\ref \relax \let\pageref \relax |
| 5629 |
\let\( \relax \let\) \relax \let\\ \relax |
| 5630 |
\let \protect \@unexpandable@protect |
| 5631 |
\newlinechar`\^^M% |
| 5632 |
\immediate\write\@endnoteout{\string\@doendnote{\@thefnmark}{#1}}% |
| 5633 |
\endgroup |
| 5634 |
}% |
| 5635 |
\def\endnotetext{% |
| 5636 |
\@ifnextchar[{% |
| 5637 |
\@xendnotenext |
| 5638 |
}{% |
| 5639 |
\protected@xdef\@thefnmark{\thefootnote}% |
| 5640 |
\@endnotetext |
| 5641 |
}% |
| 5642 |
}% |
| 5643 |
\def\@xendnotenext[#1]{% |
| 5644 |
\begingroup |
| 5645 |
\c@footnote#1\relax |
| 5646 |
\unrestored@protected@xdef\@thefnmark{\thefootnote}% |
| 5647 |
\endgroup |
| 5648 |
\@endnotetext |
| 5649 |
}% |
| 5650 |
\def\printendnotes{% |
| 5651 |
\@ifx{\@endnoteout\@undefined}{}{% |
| 5652 |
\begingroup |
| 5653 |
\c@secnumdepth-\maxdimen |
| 5654 |
\section{% |
| 5655 |
\notesname |
| 5656 |
}% |
| 5657 |
\immediate\closeout\@endnoteout |
| 5658 |
\global\let\@endnoteout\@undefined |
| 5659 |
\begin{enumerate}% |
| 5660 |
\makeatletter |
| 5661 |
\input{\endnote@stream}% |
| 5662 |
\end{enumerate}% |
| 5663 |
\endgroup |
| 5664 |
}% |
| 5665 |
}% |
| 5666 |
\appdef\class@enddocumenthook{% |
| 5667 |
\printendnotes |
| 5668 |
}% |
| 5669 |
\mathchardef\firstnote@num\z@ |
| 5670 |
\appdef\class@documenthook{% |
| 5671 |
\global\c@footnote\firstnote@num |
| 5672 |
\appdef\maketitle{\global\c@footnote\firstnote@num}% |
| 5673 |
}% |
| 5674 |
\def\set@firstnote#1{% |
| 5675 |
\@ifnum{\firstnote@num=#1\relax}{}{% |
| 5676 |
\class@warn@end{Endnote numbers changed: rerun LaTeX}% |
| 5677 |
}% |
| 5678 |
\immediate\write\@mainaux{% |
| 5679 |
\global\chardef\string\firstnote@num#1\relax |
| 5680 |
}% |
| 5681 |
}% |
| 5682 |
\def\@endnotesinbib{% |
| 5683 |
\set@firstnote\z@ |
| 5684 |
}% |
| 5685 |
\def\@endnotesinbibliography{% |
| 5686 |
\expandafter\set@firstnote\expandafter{\the\c@NAT@ctr}% |
| 5687 |
\@ifx{\@endnoteout\@undefined}{}{% |
| 5688 |
\immediate\closeout\@endnoteout |
| 5689 |
\global\let\@endnoteout\@undefined |
| 5690 |
\makeatletter |
| 5691 |
\input{\endnote@stream}% |
| 5692 |
}% |
| 5693 |
}% |
| 5694 |
\appdef\class@documenthook{% |
| 5695 |
\let\@makefnmark@latex\@makefnmark |
| 5696 |
\let\@footnotemark@latex\@footnotemark |
| 5697 |
\footinbib@sw{% |
| 5698 |
\let\footnote\endnote |
| 5699 |
\let\@footnotemark\@endnotemark |
| 5700 |
\let\@makefnmark\@makefnmark@cite |
| 5701 |
\let\@endnotesinbib\@endnotesinbibliography |
| 5702 |
\appdef\class@enddocumenthook{\auto@bib}% |
| 5703 |
\let\printendnotes\relax |
| 5704 |
}{}% |
| 5705 |
}% |
| 5706 |
\def\auto@bib{% |
| 5707 |
\@ifx@empty\@FMN@list{% |
| 5708 |
\@ifxundefined\@endnoteout{% |
| 5709 |
\false@sw |
| 5710 |
}{% |
| 5711 |
\true@sw |
| 5712 |
}% |
| 5713 |
}{% |
| 5714 |
\true@sw |
| 5715 |
}{% |
| 5716 |
\begin{thebibliography}{}\end{thebibliography}% |
| 5717 |
}% |
| 5718 |
}% |
| 5719 |
\def\@doendnote#1#2{\bibitem{#1}#2} |
| 5720 |
\appdef\class@documenthook{% |
| 5721 |
\@ifxundefined\@evenhead{% |
| 5722 |
\@ifxundefined\@oddhead{% |
| 5723 |
\@ifxundefined\@oddfoot{% |
| 5724 |
\@ifxundefined\@evenfoot{% |
| 5725 |
\preprintsty@sw{% |
| 5726 |
\ps@preprint |
| 5727 |
}{% |
| 5728 |
\ps@article |
| 5729 |
}% |
| 5730 |
}{}% |
| 5731 |
}{}% |
| 5732 |
}{}% |
| 5733 |
}{}% |
| 5734 |
\pagenumbering{arabic}% |
| 5735 |
\normalsize |
| 5736 |
\tabbingsep \labelsep |
| 5737 |
\leftmargin\leftmargini |
| 5738 |
\labelwidth\leftmargin\advance\labelwidth-\labelsep |
| 5739 |
\let\@listi\@listI |
| 5740 |
\@listi |
| 5741 |
\def\curr@envir{document}% |
| 5742 |
\mark@envir{\curr@envir}% |
| 5743 |
\twocolumn@sw{% |
| 5744 |
\open@column@mlt\tw@ |
| 5745 |
\set@colht |
| 5746 |
\@floatplacement |
| 5747 |
\@dblfloatplacement |
| 5748 |
\sloppy |
| 5749 |
\@booleanfalse\raggedcolumn@sw |
| 5750 |
\let\set@listindent\set@listindent@ |
| 5751 |
}{% |
| 5752 |
\open@column@one\@ne |
| 5753 |
\set@colht |
| 5754 |
\@floatplacement |
| 5755 |
\@dblfloatplacement |
| 5756 |
\sloppy |
| 5757 |
\let\set@listindent\set@listindent@parshape |
| 5758 |
}% |
| 5759 |
}% |
| 5760 |
\def\appendix{% |
| 5761 |
\par |
| 5762 |
\setcounter{section}\z@ |
| 5763 |
\setcounter{subsection}\z@ |
| 5764 |
\setcounter{subsubsection}\z@ |
| 5765 |
\def\thesubsection{\arabic{subsection}}% |
| 5766 |
\def\thesubsubsection{\alph{subsubsection}}% |
| 5767 |
\@addtoreset{equation}{section}% |
| 5768 |
\def\theequation@prefix{\thesection}% |
| 5769 |
\addtocontents{toc}{\protect\appendix}% |
| 5770 |
\@ifstar{% |
| 5771 |
\def\thesection{\unskip}% |
| 5772 |
\def\theequation@prefix{A.}% |
| 5773 |
}{% |
| 5774 |
\def\thesection{\Alph{section}}% |
| 5775 |
}% |
| 5776 |
}% |
| 5777 |
\def\title@column@default#1{% |
| 5778 |
\minipagefootnote@init |
| 5779 |
#1% |
| 5780 |
\minipagefootnote@foot |
| 5781 |
}% |
| 5782 |
\def\close@column@default{% |
| 5783 |
\newpage |
| 5784 |
}% |
| 5785 |
\def\galley@outdent{\rightmargin-\columnwidth\advance\rightmargin-\columnsep}% |
| 5786 |
\let\widetext@outdent\@empty |
| 5787 |
\newenvironment{widetext@galley}{% |
| 5788 |
\list{}{% |
| 5789 |
\topsep \z@skip |
| 5790 |
\listparindent \parindent |
| 5791 |
\itemindent \parindent |
| 5792 |
\leftmargin \z@ |
| 5793 |
\parsep \z@\@plus\p@ |
| 5794 |
\widetext@outdent |
| 5795 |
\relax |
| 5796 |
}% |
| 5797 |
\item\relax |
| 5798 |
}{ |
| 5799 |
\endlist |
| 5800 |
}% |
| 5801 |
\def\title@column@grid#1{% |
| 5802 |
\minipagefootnote@init |
| 5803 |
\onecolumngrid |
| 5804 |
\begingroup |
| 5805 |
\let\@footnotetext\frontmatter@footnotetext |
| 5806 |
\let\set@footnotewidth\set@footnotewidth@ii |
| 5807 |
#1% |
| 5808 |
\endgroup |
| 5809 |
\twocolumngrid |
| 5810 |
\minipagefootnote@foot |
| 5811 |
}% |
| 5812 |
\def\close@column@grid{% |
| 5813 |
\balancelastpage@sw{% |
| 5814 |
\onecolumngrid |
| 5815 |
}{}% |
| 5816 |
}% |
| 5817 |
\newenvironment{widetext@grid}{% |
| 5818 |
\par\ignorespaces |
| 5819 |
\setbox\widetext@top\vbox{% |
| 5820 |
\vskip15\p@ |
| 5821 |
\hb@xt@\hsize{% |
| 5822 |
\leaders\hrule\hfil |
| 5823 |
\vrule\@height6\p@ |
| 5824 |
}% |
| 5825 |
\vskip6\p@ |
| 5826 |
}% |
| 5827 |
\setbox\widetext@bot\hb@xt@\hsize{% |
| 5828 |
\vrule\@depth6\p@ |
| 5829 |
\leaders\hrule\hfil |
| 5830 |
}% |
| 5831 |
\onecolumngrid |
| 5832 |
\dimen@\ht\widetext@top\advance\dimen@\dp\widetext@top |
| 5833 |
\cleaders\box\widetext@top\vskip\dimen@ |
| 5834 |
\let\set@footnotewidth\set@footnotewidth@ii |
| 5835 |
}{% |
| 5836 |
\par |
| 5837 |
\setbox\widetext@bot\vbox{% |
| 5838 |
\hb@xt@\hsize{\hfil\box\widetext@bot}% |
| 5839 |
\vskip14\p@ |
| 5840 |
}% |
| 5841 |
\dimen@\ht\widetext@bot\advance\dimen@\dp\widetext@bot |
| 5842 |
\cleaders\box\widetext@bot\vskip\dimen@ |
| 5843 |
\twocolumngrid\global\@ignoretrue |
| 5844 |
\@endpetrue |
| 5845 |
}% |
| 5846 |
\newbox\widetext@top |
| 5847 |
\newbox\widetext@bot |
| 5848 |
\appdef\class@documenthook{% |
| 5849 |
\twocolumn@sw{% |
| 5850 |
\let@environment{widetext}{widetext@grid}% |
| 5851 |
\let\title@column\title@column@grid |
| 5852 |
\let\close@column\close@column@grid |
| 5853 |
}{% |
| 5854 |
\let@environment{widetext}{widetext@galley}% |
| 5855 |
\preprintsty@sw{% |
| 5856 |
}{% |
| 5857 |
\galley@sw{% |
| 5858 |
\let\widetext@outdent\galley@outdent |
| 5859 |
}{% |
| 5860 |
}% |
| 5861 |
}% |
| 5862 |
}% |
| 5863 |
}% |
| 5864 |
\appdef\class@inithook{% |
| 5865 |
\@ifxundefined\title@column{% |
| 5866 |
\let\title@column\title@column@default |
| 5867 |
}{}% |
| 5868 |
}% |
| 5869 |
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} |
| 5870 |
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} |
| 5871 |
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} |
| 5872 |
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} |
| 5873 |
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} |
| 5874 |
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} |
| 5875 |
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} |
| 5876 |
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} |
| 5877 |
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} |
| 5878 |
\def\today{\ifcase\month\or |
| 5879 |
January\or February\or March\or April\or May\or June\or |
| 5880 |
July\or August\or September\or October\or November\or December\fi |
| 5881 |
\space\number\day, \number\year} |
| 5882 |
\def\notesname{Notes} |
| 5883 |
\def\partname{Part} |
| 5884 |
\def\tocname{Contents} |
| 5885 |
\def\lofname{List of Figures} |
| 5886 |
\def\lotname{List of Tables} |
| 5887 |
\def\refname{References} |
| 5888 |
\def\indexname{Index} |
| 5889 |
\def\figurename{FIG.} |
| 5890 |
\def\figuresname{Figures}% |
| 5891 |
\def\tablename{TABLE} |
| 5892 |
\def\tablesname{Tables}% |
| 5893 |
\def\abstractname{Abstract} |
| 5894 |
\def\appendixesname{Appendixes}% |
| 5895 |
\def\appendixname{Appendix}% |
| 5896 |
\def\acknowledgmentsname{Acknowledgments} |
| 5897 |
\def\journalname{??} |
| 5898 |
\def\copyrightname{??} |
| 5899 |
\def\andname{and} |
| 5900 |
\def\@pacs@name{PACS numbers: }% |
| 5901 |
\def\@keys@name{Keywords: }% |
| 5902 |
\def\ppname{pp} |
| 5903 |
\def\numbername{number} |
| 5904 |
\def\volumename{volume} |
| 5905 |
\def\Dated@name{Dated: }% |
| 5906 |
\def\Received@name{Received }% |
| 5907 |
\def\Revised@name{Revised }% |
| 5908 |
\def\Accepted@name{Accepted }% |
| 5909 |
\def\Published@name{Published }% |
| 5910 |
\def\address{\replace@command\address\affiliation}% |
| 5911 |
\def\altaddress{\replace@command\altaddress\altaffiliation}% |
| 5912 |
\newenvironment{references}{% |
| 5913 |
\class@warn@end{The references environment is not supported; use thebibliography instead.} |
| 5914 |
\gdef\references{\thebibliography{}}\references |
| 5915 |
}{% |
| 5916 |
\endthebibliography |
| 5917 |
}% |
| 5918 |
\def\draft{% |
| 5919 |
\class@warn@end{Command \string\draft\space is obsolete;^^JInvoke option draft instead.}% |
| 5920 |
\@booleantrue\draft@sw |
| 5921 |
}% |
| 5922 |
\def\tighten{% |
| 5923 |
\class@warn@end{Command \string\tighten\space is obsolete;^^JInvoke option tightenlines instead.}% |
| 5924 |
\@booleantrue\tightenlines@sw |
| 5925 |
}% |
| 5926 |
\def\tableline{% |
| 5927 |
\noalign{% |
| 5928 |
\class@warn@end{Command \string\tableline\space is obsolete;^^JUse \string\colrule\space instead.}% |
| 5929 |
\global\let\tableline\colrule |
| 5930 |
}% |
| 5931 |
\tableline |
| 5932 |
}% |
| 5933 |
\def\case{\replace@command\case\frac}% |
| 5934 |
\def\slantfrac{\replace@command\slantfrac\frac}% |
| 5935 |
\def\tablenote{\replace@command\tablenote\footnote}% |
| 5936 |
\def\tablenotemark{\replace@command\tablenotemark\footnotemark}% |
| 5937 |
\def\tablenotetext{\replace@command\tablenotetext\footnotetext}% |
| 5938 |
\DeclareRobustCommand\REV@text[1]{% |
| 5939 |
\relax |
| 5940 |
\ifmmode |
| 5941 |
\mathchoice |
| 5942 |
{\hbox{{\everymath{\displaystyle }#1}}}% |
| 5943 |
{\hbox{{\everymath{\textstyle }#1}}}% |
| 5944 |
{\hbox{{\everymath{\scriptstyle }\let\f@size\sf@size\selectfont#1}}}% |
| 5945 |
{\hbox{{\everymath{\scriptscriptstyle}\let\f@size\ssf@size\selectfont#1}}}% |
| 5946 |
\glb@settings |
| 5947 |
\else |
| 5948 |
\mbox{#1}% |
| 5949 |
\fi |
| 5950 |
}% |
| 5951 |
\DeclareRobustCommand\REV@bbox[1]{% |
| 5952 |
\relax |
| 5953 |
\ifmmode |
| 5954 |
\mathchoice |
| 5955 |
{\hbox{{\everymath{\displaystyle }\boldmath$#1$}}}% |
| 5956 |
{\hbox{{\everymath{\textstyle }\boldmath$#1$}}}% |
| 5957 |
{\hbox{{\everymath{\scriptstyle }\boldmath$#1$}}}% |
| 5958 |
{\hbox{{\everymath{\scriptscriptstyle}\boldmath$#1$}}}% |
| 5959 |
\glb@settings |
| 5960 |
\else |
| 5961 |
\mbox{#1}% |
| 5962 |
\fi |
| 5963 |
}% |
| 5964 |
\DeclareRobustCommand\REV@bm[1]{% |
| 5965 |
\class@warn@end{To use \string\bm, please load the bm package!}% |
| 5966 |
\global\let\bm\relax |
| 5967 |
}% |
| 5968 |
\def\FL{\obsolete@command\FL}% |
| 5969 |
\def\FR{\obsolete@command\FR}% |
| 5970 |
\def\narrowtext{\obsolete@command\narrowtext}% |
| 5971 |
\def\mediumtext{\obsolete@command\mediumtext}% |
| 5972 |
\newenvironment{quasitable}{% |
| 5973 |
\let@environment{tabular}{longtable}% |
| 5974 |
}{% |
| 5975 |
}% |
| 5976 |
\appdef\class@inithook{% |
| 5977 |
\@ifxundefined\text{\let\text\REV@text}{}% |
| 5978 |
\@ifxundefined\bm{\let\bm\REV@bm}{}% |
| 5979 |
\providecommand\bibinfo[2]{#2}% |
| 5980 |
\providecommand\eprint[2][]{#2}% |
| 5981 |
\providecommand\url[1]{#1}% |
| 5982 |
}% |
| 5983 |
\def\bbox#1{% |
| 5984 |
\class@warn@end{\string\bbox\space is obsolete,^^Jload the bm package and use \string\bm\space instead.}% |
| 5985 |
\global\let\bbox\relax |
| 5986 |
}% |
| 5987 |
\newenvironment{mathletters}{% |
| 5988 |
\class@warn@end{Environment {mathletters} is obsolete;^^Jload the amsmath package and use {subequations}!}% |
| 5989 |
\global\let\mathletters\@empty |
| 5990 |
}{% |
| 5991 |
}% |
| 5992 |
\def\eqnum#1{% |
| 5993 |
\class@warn@end{\string\eqnum\space is obsolete, load the amsmath package and use \string\tag!}% |
| 5994 |
\global\let\eqnum\@gobble |
| 5995 |
}% |
| 5996 |
\RequirePackage{revsymb}% |
| 5997 |
\appdef\class@inithook{\revsymb@inithook}% |
| 5998 |
\AtEndOfClass{% |
| 5999 |
\InputIfFileExists{\jobname.rty}{}{}% |
| 6000 |
}% |
| 6001 |
\AtEndOfClass{% |
| 6002 |
\@ifxundefined\secnumarabic@sw{\@booleanfalse\secnumarabic@sw}{}% |
| 6003 |
\secnumarabic@sw{% |
| 6004 |
\def\p@section {}% |
| 6005 |
\def\thesection {\arabic{section}}% |
| 6006 |
\def\p@subsection {}% |
| 6007 |
\def\thesubsection {\thesection.\arabic{subsection}}% |
| 6008 |
\def\p@subsubsection {}% |
| 6009 |
\def\thesubsubsection {\thesubsection.\arabic{subsubsection}}% |
| 6010 |
}{}% |
| 6011 |
}% |
| 6012 |
\AtEndOfClass{% |
| 6013 |
\appdef\class@documenthook{% |
| 6014 |
\defaults@hook |
| 6015 |
}% |
| 6016 |
}% |
| 6017 |
\@ifxundefined\defaults@hook{\let\defaults@hook\@empty}{}% |
| 6018 |
\endinput |
| 6019 |
%% |
| 6020 |
%% End of file `revtex4.cls'. |