2
%% This is file `revtex4-1.cls',
3
%% generated with the docstrip utility.
5
%% The original source files were:
7
%% revtex4-1.dtx (with options: `kernel')
8
%% ltxutil.dtx (with options: `kernel')
9
%% ltxfront.dtx (with options: `kernel')
10
%% ltxgrid.dtx (with options: `kernel')
11
%% revtex4-1.dtx (with options: `options')
12
%% ltxutil.dtx (with options: `options')
13
%% ltxfront.dtx (with options: `options')
14
%% ltxgrid.dtx (with options: `options')
15
%% revtex4-1.dtx (with options: `package')
17
%% This file is part of the APS files in the REVTeX 4 distribution.
18
%% For the version number, search on the string
19
%% Original version by David Carlisle
20
%% Modified by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal dot net)
22
%% Copyright (c) 2009 The American Physical Society.
23
%% http://publish.aps.org/revtex4/
24
%% mailto:revtex4@aps.org
26
%% See the REVTeX 4 README file for restrictions and more information.
28
\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
29
\ProvidesClass{revtex4-1}
30
[2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
31
\let\class@name\@gtempa
33
Copyright (c) 2009 The American Physical Society.^^J
34
mailto:revtex@aps.org^^J
35
Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J
36
Arthur Ogawa <arthur_ogawa at sbcglobal dot net>^^J
37
Based on work by David Carlisle <david at dcarlisle.demon.co.uk>%
41
\edef\reserved@a{\errhelp{%
42
Change your \string\documentstyle\space statement to
43
\string\documentclass\space and rerun.
45
\errmessage{You cannot run \class@name\space in compatability mode}%
50
[2010/07/25/20:33:00 4.1r utilities package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
52
\def\class@err#1{\ClassError{\class@name}{#1}\@eha}%
53
\def\class@warn#1{\ClassWarningNoLine{\class@name}{#1}}%
54
\def\class@info#1{\ClassInfo{\class@name}{#1}}%
55
\def\obsolete@command#1{%
56
\class@warn@end{Command \string#1\space is obsolete.^^JPlease remove from your document}%
60
\def\replace@command#1#2{%
61
\class@warn@end{Command \string#1\space is obsolete;^^JUse \string#2\space instead}%
65
\def\replace@environment#1#2{%
66
\class@warn@end{Environment #1 is obsolete;^^JUse #2 instead}%
67
\glet@environment{#1}{#2}%
70
\def\incompatible@package#1{%
71
\@ifpackageloaded{#1}{%
72
\def\@tempa{I cannot continue. You must remove the \string\usepackage\ statement that caused that package to be loaded.}%
73
\ClassError{\class@name}{The #1 package cannot be used with \class@name}%
76
\class@info{#1 was not loaded (OK!)}%
79
\def\class@warn@end#1{%
80
\gappdef\class@enddocumenthook{\class@warn{#1}}%
82
\ifx\undefined\class@name
83
\def\class@name{ltxutil}%
84
\class@warn{You should define the class name before reading in this package. Using default}%
87
\dimendef\dimen@iii\thr@@
88
\def\halignt@{\halign\t@}%
90
\chardef\cat@letter=11\relax
91
\chardef\other=12\relax
92
\def\let@environment#1#2{%
94
\csname#1\expandafter\endcsname\csname#2\endcsname
96
\csname end#1\expandafter\endcsname\csname end#2\endcsname
98
\def\glet@environment#1#2{%
99
\global\expandafter\let
100
\csname#1\expandafter\endcsname\csname#2\endcsname
101
\global\expandafter\let
102
\csname end#1\expandafter\endcsname\csname end#2\endcsname
104
\newcommand\tracingplain{%
105
\tracingonline\z@\tracingcommands\z@\tracingstats\z@
106
\tracingpages\z@\tracingoutput\z@\tracinglostchars\@ne
107
\tracingmacros\z@\tracingparagraphs\z@\tracingrestores\z@
108
\showboxbreadth5\showboxdepth3\relax %\errorstopmode
110
\newcommand\traceoutput{%
111
\appdef\@resetactivechars{\showoutput}%
113
\newcommand\say[1]{\typeout{<\noexpand#1=\meaning#1>}}%
114
\newcommand\saythe[1]{\typeout{<\noexpand#1=\the#1>}}%
115
\def\fullinterlineskip{\prevdepth\z@}%
116
\countdef\count@i\@ne
117
\countdef\count@ii\tw@
118
\long\def\prepdef#1#2{%
119
\@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
121
\edef#1{\the\toks@ii\the\toks@}%
123
\long\def\appdef#1#2{%
124
\@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
126
\edef#1{\the\toks@\the\toks@ii}%
128
\long\def\gappdef#1#2{%
129
\@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
131
\global\edef#1{\the\toks@\the\toks@ii}%
133
\long\def\appdef@val#1#2{%
136
\long\def\appdef@e#1#2{%
141
\long\def\appdef@eval#1#2{%
142
\expandafter\appdef@val
146
\toksdef\toks@ii=\tw@
147
\long\def\@ifxundefined#1{\@ifx{\undefined#1}}%
148
\long\def\@ifnotrelax#1#2#3{\@ifx{\relax#1}{#3}{#2}}%
149
\long\def\@argswap#1#2{#2#1}%
150
\long\def\@argswap@val#1#2{#2{#1}}%
151
\def\@ifxundefined@cs#1{\expandafter\@ifx\expandafter{\csname#1\endcsname\relax}}%
157
\expandafter\false@sw
161
\def\@boole@def#1#{\@boolean{#1}}% Implicit #2
162
\def\@booleantrue#1{\let#1\true@sw}%
163
\def\@booleanfalse#1{\let#1\false@sw}%
164
\@boole@def\@ifx#1{\ifx#1}%
165
\@boole@def\@ifx@empty#1{\ifx\@empty#1}%
166
\@boole@def\@if@empty#1{\if!#1!}%
167
\def\@if@sw#1#2{#1\expandafter\true@sw\else\expandafter\false@sw#2}%
168
\@boole@def\@ifdim#1{\ifdim#1}%
169
\@boole@def\@ifeof#1{\ifeof#1}%
170
\@boole@def\@ifhbox#1{\ifhbox#1}%
171
\@boole@def\@ifhmode{\ifhmode}%
172
\@boole@def\@ifinner{\ifinner}%
173
\@boole@def\@ifmmode{\ifmmode}%
174
\@boole@def\@ifnum#1{\ifnum#1}%
175
\@boole@def\@ifodd#1{\ifodd#1}%
176
\@boole@def\@ifvbox#1{\ifvbox#1}%
177
\@boole@def\@ifvmode{\ifvmode}%
178
\@boole@def\@ifvoid#1{\ifvoid#1}%
179
\long\def\true@sw#1#2{#1}%
180
\long\def\false@sw#1#2{#2}%
181
\long\def\loopuntil#1{#1{}{\loopuntil{#1}}}%
182
\long\def\loopwhile#1{#1{\loopwhile{#1}}{}}%
184
\@ifx{\undefined#1}{\true@sw}{\@ifx{\relax#1}{\true@sw}{\false@sw}}%
192
\let\document@inithook\@empty
193
\appdef\document@inithook{%
194
\AtBeginDocument{\class@documenthook}%
197
\class@enddocumenthook
199
\let\class@documenthook\@empty
200
\let\class@enddocumenthook\@empty
202
\let\AtEndDocument\@firstofone
204
\@checkend{document}%
210
\def\check@aux{\do@check@aux}%
212
\@if@sw\if@filesw\fi{%
213
\immediate\closeout\@mainaux
214
\let\@setckpt\@gobbletwo
215
\let\@newl@bel\@testdef
218
\input\jobname.aux\relax
221
\@ifdim{\font@submax >\fontsubfuzz\relax}{%
223
Size substitutions with differences\MessageBreak
224
up to \font@submax\space have occured.\@gobbletwo
229
\@if@sw\if@filesw\fi{%
230
\@ifx{\@multiplelabels\relax}{%
231
\@if@sw\if@tempswa\fi{%
232
\@latex@warning@no@line{%
233
Label(s) may have changed.
234
Rerun to get cross-references right
242
\def\clear@document{%
245
\Call@AfterLastShipout
248
\appdef\class@documenthook{%
249
\providecommand\Call@AfterLastShipout{}%
251
\def\class@extension#1#2{%
252
\IfFileExists{#1.#2}{%
253
\expandafter\class@extensionfile\csname ver@\@currname.\@currext\endcsname{#1}#2%
255
\csname rtx@#1\endcsname
258
\def\class@extensionfile#1#2#3{%
259
\@pass@ptions#3\@unusedoptionlist{#2}%
260
\global\let\@unusedoptionlist\@empty
261
\expandafter\class@ext@hook\csname#2.#3-h@@k\endcsname#1{#2}#3%
263
\def\class@ext@hook#1#2#3#4{%
266
\let\CurrentOption\@empty
270
\global\let\@currext#4%
271
\global\let\@clsextension\@currext
274
\class@info{Class extension later than: #2}%
276
\class@info{Class extension earlier: #2}%
281
\expandafter\@p@pfilename@ltx\@currnamestack@ltx\@nil
284
\def\@pushfilename@ltx{%
285
\xdef\@currnamestack@ltx{%
293
\def\@p@pfilename@ltx#1#2#3#4#5\@nil{%
296
\gdef\@clsextension{#3}%
298
\gdef\@currnamestack@ltx{#5}%
300
\global\let\@currnamestack@ltx\@empty
306
\parfillskip\@flushglue
308
\expandafter\DeclareRobustCommand\expandafter\@centercr\expandafter{\@centercr}%
309
\def\eqnarray@LaTeX{%
310
\stepcounter{equation}%
311
\def\@currentlabel{\p@equation\theequation}%
317
$$\everycr{}\halign to\displaywidth\bgroup
318
\hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel
319
&\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil
320
&\global\@eqcnt\tw@ \hskip \tw@\arraycolsep
321
$\displaystyle{##}$\hfil\tabskip\@centering
322
&\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup
326
\long\def\eqnarray@fleqn@fixed{%
327
\stepcounter{equation}\def\@currentlabel{\p@equation\theequation}%
328
\global\@eqnswtrue\m@th\global\@eqcnt\z@
329
\tabskip\ltx@mathindent
331
\setlength\abovedisplayskip{\topsep}%
332
\ifvmode\addtolength\abovedisplayskip{\partopsep}\fi
333
\addtolength\abovedisplayskip{\parskip}%
334
\setlength\belowdisplayskip{\abovedisplayskip}%
335
\setlength\belowdisplayshortskip{\abovedisplayskip}%
336
\setlength\abovedisplayshortskip{\abovedisplayskip}%
339
\halignt@\linewidth\bgroup
340
\hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel
346
$\displaystyle{##}$\hfil\tabskip\@centering
347
&\global\@eqcnt\thr@@\hb@xt@\z@\bgroup\hss##\egroup
351
\@ifx{\eqnarray\eqnarray@LaTeX}{%
352
\class@info{Repairing broken LaTeX eqnarray}%
353
\let\eqnarray\eqnarray@fleqn@fixed
355
\setlength\eqncolsep\z@
356
\let\eqnarray@LaTeX\relax
357
\let\eqnarray@fleqn@fixed\relax
359
\def\ltx@mathindent{\@centering}%
360
\def\set@eqnarray@skips{}%
362
\@ifvmode{\everypar{{\setbox\z@\lastbox}}}{}%
364
\def\prep@math@patch{%
365
\prepdef\equation{\prep@math}%
366
\prepdef\eqnarray{\prep@math}%
368
\def\footnote{\@ifnextchar[\ltx@xfootnote\ltx@yfootnote}%
369
\def\ltx@xfootnote[#1]{%
370
\ltx@def@footproc\ltx@footmark[#1]%
371
\expandafter\ltx@foottext\expandafter{\the\csname c@\@mpfn\endcsname}%
374
\ltx@stp@footproc\ltx@footmark
375
\expandafter\ltx@foottext\expandafter{\the\csname c@\@mpfn\endcsname}%
377
\def\footnotemark{\@ifnextchar[\ltx@xfootmark\ltx@yfootmark}%
378
\def\ltx@xfootmark{\ltx@def@footproc\ltx@footmark}%
379
\def\ltx@yfootmark{\ltx@stp@footproc\ltx@footmark}%
380
\def\ltx@footmark#1{%
382
\ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
384
\expandafter\ltx@make@current@footnote\expandafter{\@mpfn}{#1}%
385
\expandafter\@argswap@val\expandafter{\Hy@footnote@currentHref}{\hyper@linkstart {link}}%
389
\ifhmode\spacefactor\@x@sf\fi
392
\def\footnotetext{\@ifnextchar[\ltx@xfoottext\ltx@yfoottext}%
393
\def\ltx@xfoottext{\ltx@def@footproc\ltx@foottext}%
394
\def\ltx@yfoottext{\ltx@stp@footproc\ltx@foottext}%
395
\long\def\ltx@foottext#1#2{%
397
\expandafter\ltx@make@current@footnote\expandafter{\@mpfn}{#1}%
401
\def\ltx@def@footproc#1[#2]{%
403
\csname c@\@mpfn\endcsname #2\relax
404
\unrestored@protected@xdef\@thefnmark{\thempfn}%
405
\expandafter\endgroup
407
\expandafter{\the\csname c@\@mpfn\endcsname}%
409
\def\ltx@stp@footproc#1{%
410
\expandafter\stepcounter\expandafter{\@mpfn}%
411
\protected@xdef\@thefnmark{\thempfn}%
413
\expandafter{\the\csname c@\@mpfn\endcsname}%
415
\appdef\class@documenthook{%
416
\let\footnote@latex\footnote
417
\@ifpackageloaded{hyperref}{}{%
418
\let\H@@footnotetext\@footnotetext
419
\def\@footnotetext{\H@@footnotetext}%
420
\let\H@@mpfootnotetext\@mpfootnotetext
421
\def\@mpfootnotetext{\H@@mpfootnotetext}%
424
\def\ltx@make@current@footnote#1#2{%
425
\csname c@#1\endcsname#2\relax
426
\protected@edef\Hy@footnote@currentHref{\@currentHref-#1.\csname the#1\endcsname}%
428
\def\thempfootnote@latex{{\itshape \@alph \c@mpfootnote }}%
429
\def\ltx@thempfootnote{\@alph\c@mpfootnote}%
430
\@ifx{\thempfootnote\thempfootnote@latex}{%
431
\class@info{Repairing hyperref-unfriendly LaTeX definition of \string\mpfootnote}%
432
\let\thempfootnote\ltx@thempfootnote
437
\normalfont\itshape\@thefnmark
441
\long\def\@footnotetext{%
442
\insert\footins\bgroup
445
\long\def\@mpfootnotetext{%
446
\minipagefootnote@pick
449
\long\def\make@footnotetext#1{%
453
\protected@edef\@currentlabel{%
454
\csname p@\@mpfn\endcsname\@thefnmark
458
\rule\z@\footnotesep\ignorespaces#1%
459
\@finalstrut\strutbox\vadjust{\vskip\z@skip}%
462
\minipagefootnote@drop
464
\def\set@footnotefont{%
465
\reset@font\footnotesize
466
\interlinepenalty\interfootnotelinepenalty
467
\splittopskip\footnotesep
468
\splitmaxdepth\dp\strutbox
470
\def\set@footnotewidth{\set@footnotewidth@one}%
471
\def\robustify@contents{%
474
\let \glossary \@gobble
475
\let\footnote \@gobble
480
\long\def\addtocontents#1#2{%
481
\protected@write\@auxout{\robustify@contents}{\string \@writefile {#1}{#2}}%
483
\def\addcontentsline#1#2#3{%
485
\protect\contentsline{#2}{#3}{\thepage}{}%
490
\protected@write\@auxout{}{%
491
\string\newlabel{#1}{{\@currentlabel}{\thepage}{}{}{}}%
495
\def\ltx@contentsline#1{%
496
\expandafter\@ifnotrelax\csname l@#1\endcsname{}{%
497
\expandafter\let\csname l@#1\endcsname\@gobbletwo
499
\contentsline@latex{#1}%
501
\appdef\document@inithook{%
502
\let\contentsline@latex\contentsline
503
\let\contentsline\ltx@contentsline
505
\appdef\class@documenthook{%
506
\prepdef\caption{\minipagefootnote@here}%
508
\def\minipagefootnote@init{%
509
\setbox\@mpfootins\box\voidb@x
511
\def\minipagefootnote@pick{%
512
\global\setbox\@mpfootins\vbox\bgroup
515
\def\minipagefootnote@drop{%
518
\def\minipagefootnote@here{%
520
\@ifvoid\@mpfootins{}{%
521
\vskip\skip\@mpfootins
524
\vtop{\unvcopy\@mpfootins}%
525
{\setbox\z@\lastbox}%
530
\def\minipagefootnote@foot{%
531
\@ifvoid\@mpfootins{}{%
532
\insert\footins\bgroup\unvbox\@mpfootins\egroup
538
\minipagefootnote@here
539
\@minipagefalse %% added 24 May 89
542
\expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}%
544
\@booleantrue\floats@sw
545
\let\@xfloat@LaTeX\@xfloat
548
\@nameuse{fp@proc@#2}%
549
\floats@sw{\@xfloat@LaTeX{#1}[#2]}{\@xfloat@anchored{#1}[]}%
553
\def\@mpfn{mpfootnote}%
554
\def\thempfn{\thempfootnote}%
556
\let\H@@footnotetext\H@@mpfootnotetext
558
\let\ltx@footnote@pop\@empty
559
\def\@xfloat@anchored#1[#2]{%
561
\begin@float@pagebreak
562
\let\end@float\end@float@anchored
563
\let\end@dblfloat\end@float@anchored
567
\minipagefootnote@init
569
\def\end@float@anchored{%
570
\minipagefootnote@here
575
\def\begin@float@pagebreak{\par\addvspace\intextsep}%
576
\def\end@float@pagebreak{\par\addvspace\intextsep}%
577
\def\@mpmakefntext#1{%
580
\hb@xt@1em{\hss\@makefnmark}%
583
\def\do@if@floats#1#2{%
585
\expandafter\newwrite
586
\csname#1write\endcsname
588
\csname#1@stream\endcsname{\jobname#2}%
589
\expandafter\immediate
591
\csname#1write\endcsname
592
\csname#1@stream\endcsname\relax
593
\@ifxundefined\@float@LaTeX{%
594
\let\@float@LaTeX\@float
595
\let\@dblfloat@LaTeX\@dblfloat
596
\let\@float\write@float
597
\let\@dblfloat\write@floats
599
\let@environment{#1@float}{#1}%
600
\let@environment{#1@floats}{#1*}%
601
\@ifxundefined@cs{#1@write}{}{%
602
\let@environment{#1}{#1@write}%
606
\def\triggerpar{\leavevmode\@@par}%
607
\def\oneapage{\def\begin@float@pagebreak{\newpage}\def\end@float@pagebreak{\newpage}}%
608
\def\print@float#1#2{%
612
\@ifxundefined@cs{#1write}{}{%
614
\@booleanfalse\floats@sw
617
\def\array@default{v}% floats must
618
\let\@float\@float@LaTeX
619
\let\@dblfloat\@dblfloat@LaTeX
620
\let\trigger@float@par\triggerpar
621
\let@environment{#1}{#1@float}%
622
\let@environment{#1*}{#1@floats}%
623
\expandafter\prepdef\csname#1\endcsname{\trigger@float@par}%
624
\expandafter\prepdef\csname#1*\endcsname{\trigger@float@par}%
625
\@namedef{fps@#1}{h!}%
626
\expandafter\immediate
627
\expandafter\closeout
628
\csname#1write\endcsname
630
\global\let\trigger@float@par\relax
631
\global\everypar{}\setbox\z@\lastbox
632
\@ifxundefined@cs{#1sname}{}{%
633
\begin@float@pagebreak
637
\csname#1sname\endcsname
641
\input{\csname#1@stream\endcsname}%
643
\global\expandafter\let\csname#1write\endcsname\relax
646
\chardef\@xvi=16\relax
647
\mathchardef\@twopowerfourteen="4000
648
\mathchardef\@twopowertwo="4
651
\@tempcnta\count\@currbox
652
\divide\@tempcnta\@xxxii
653
\multiply\@tempcnta\@xxxii
654
\advance\count\@currbox-\@tempcnta
655
\divide\@tempcnta\@xxxii
656
\@ifnum{\count\@currbox>\@xvi}{%
657
\advance\count\@currbox-\@xvi\@booleantrue\@temp@sw
659
\@booleanfalse\@temp@sw
663
(\the\@tempcnta)[\@temp@sw{16+}{}\the\count\@currbox]^^J%
664
(\the\ht\@currbox+\the\dp\@currbox)X\the\wd\@currbox
670
\csname fbox@\csname ftype@#1\endcsname\endcsname
671
\@ifnotrelax\@tempa{%
673
\setbox\@tempboxa\vbox{\unvcopy\@currbox\hrule}%
675
\divide\dimen@\@twopowerfourteen
676
\@ifdim{\wd\@tempboxa<\textwidth}{%
677
\advance\dimen@\ht\@tempa
678
\global\ht\@tempa\dimen@
680
\advance\dimen@\dp\@tempa
681
\global\dp\@tempa\dimen@
689
\csname fbox@\csname ftype@#1\endcsname\endcsname
690
\@ifnotrelax\@tempa{%
692
\@tempdima\the\ht\@tempa\divide\@tempdima\@twopowertwo\@tempcnta\@tempdima
693
\@tempdimb\the\dp\@tempa\divide\@tempdimb\@twopowertwo\@tempcntb\@tempdimb
694
\class@info{Total #1: Column(\the\@tempcnta pt), Page(\the\@tempcnta pt)}%
698
\def\write@float#1{\write@@float{#1}{#1}}%
699
\def\endwrite@float{\@Esphack}%
700
\def\write@floats#1{\write@@float{#1*}{#1}}%
701
\def\endwrite@floats{\@Esphack}%
702
\def\write@@float#1#2{%
706
\chardef\@tempc\csname#2write\endcsname
709
\expandafter\let\csname end#1\endcsname\endwrite@float
711
\@makeother\{\@makeother\}\@makeother\%
715
\catcode`\[\the\catcode`\{\catcode`\]\the\catcode`\}\@makeother\{\@makeother\}%
716
\gdef\float@end@tag#1\end{#2}#3\@nul[%
718
\@ifx[\@tempa\@tempb][\end[#2]][\write@floatline]%
721
\gdef\write@floatline#1^^M[%
724
\toks@\expandafter[\the\toks@#1]\immediate\write\@tempc[\the\toks@]%
727
\float@end@tag#1\end{}\@nul%
730
\def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi}
731
\def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or
732
k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
733
y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or
734
kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or
735
vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi}
736
\def\@startsection#1#2#3#4#5#6{%
738
\if@noskipsec \leavevmode \fi
742
\ifdim \@tempskipa <\z@
743
\@tempskipa -\@tempskipa \@afterindentfalse
748
\addpenalty\@secpenalty\addvspace\@tempskipa
751
{\@dblarg{\@ssect@ltx{#1}{#2}{#3}{#4}{#5}{#6}}}%
752
{\@dblarg{\@sect@ltx {#1}{#2}{#3}{#4}{#5}{#6}}}%
754
\def\@startsection@hook{}%
755
\class@info{Repairing broken LateX \string\@sect}%
756
\def\@sect@ltx#1#2#3#4#5#6[#7]#8{%
757
\@ifnum{#2>\c@secnumdepth}{%
758
\def\H@svsec{\phantomsection}%
761
\H@refstepcounter{#1}%
765
\protected@edef\@svsec{{#1}}%
766
\@ifundefined{@#1cntformat}{%
767
\prepdef\@svsec\@seccntformat
771
\csname @#1cntformat\endcsname
775
\@ifdim{\@tempskipa>\z@}{%
777
\interlinepenalty \@M
779
\@ifundefined{@hangfrom@#1}{\@hang@from}{\csname @hangfrom@#1\endcsname}%
780
{\hskip#3\relax\H@svsec}{\@svsec}{#8}%
784
\@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}%
785
\addcontentsline{toc}{#1}{%
786
\@ifnum{#2>\c@secnumdepth}{%
787
\protect\numberline{}%
789
\protect\numberline{\csname the#1\endcsname}%
795
\@ifundefined{@runin@to@#1}{\@runin@to}{\csname @runin@to@#1\endcsname}%
796
{\hskip#3\relax\H@svsec}{\@svsec}{#8}%
798
\@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}%
799
\addcontentsline{toc}{#1}{%
800
\@ifnum{#2>\c@secnumdepth}{%
801
\protect\numberline{}%
803
\protect\numberline{\csname the#1\endcsname}%
810
\def\@hang@from#1#2#3{\@hangfrom{#1#2}#3}%
811
\def\@runin@to #1#2#3{#1#2#3}%
812
\def\@ssect@ltx#1#2#3#4#5#6[#7]#8{%
813
\def\H@svsec{\phantomsection}%
815
\@ifdim{\@tempskipa>\z@}{%
817
\interlinepenalty \@M
819
\@ifundefined{@hangfroms@#1}{\@hang@froms}{\csname @hangfroms@#1\endcsname}%
820
{\hskip#3\relax\H@svsec}{#8}%
824
\@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}%
825
\addcontentsline{toc}{#1}{\protect\numberline{}#8}%
829
\@ifundefined{@runin@tos@#1}{\@runin@tos}{\csname @runin@tos@#1\endcsname}%
830
{\hskip#3\relax\H@svsec}{#8}%
832
\@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}%
833
\addcontentsline{toc}{#1}{\protect\numberline{}#8}%
838
\def\@hang@froms#1#2{#1#2}%
839
\def\@runin@tos #1#2{#1#2}%
841
\providecommand\phantomsection{}%
842
\providecommand\hyper@makecurrent[1]{}%
843
\providecommand\Hy@raisedlink[1]{}%
844
\providecommand\hyper@anchorstart[1]{}%
845
\providecommand\hyper@anchorend{}%
846
\providecommand\hyper@linkstart[2]{}%
847
\providecommand\hyper@linkend{}%
848
\providecommand\@currentHref{}%
850
\let\H@refstepcounter\refstepcounter
851
\appdef\document@inithook{%
854
\def\sec@upcase#1{\relax{#1}}%
855
\appdef\document@inithook{%
856
\@ifpackageloaded{array}{\switch@array}{\switch@tabular}%
857
\prepdef\endtabular{\endtabular@hook}%
858
\@provide\endtabular@hook{}%
859
\prepdef\endarray{\endarray@hook}%
860
\@provide\endarray@hook{}%
861
\providecommand\array@hook{}%
862
\prepdef\@tabular{\tabular@hook}%
863
\@provide\tabular@hook{}%
865
\def\switch@tabular{%
866
\let\@array@sw\@array@sw@array
867
\@ifx{\@array\@array@LaTeX}{%
868
\@ifx{\multicolumn\multicolumn@LaTeX}{%
869
\@ifx{\@tabular\@tabular@LaTeX}{%
870
\@ifx{\@tabarray\@tabarray@LaTeX}{%
871
\@ifx{\array\array@LaTeX}{%
872
\@ifx{\endarray\endarray@LaTeX}{%
873
\@ifx{\endtabular\endtabular@LaTeX}{%
874
\@ifx{\@mkpream\@mkpream@LaTeX}{%
875
\@ifx{\@addamp\@addamp@LaTeX}{%
876
\@ifx{\@arrayacol\@arrayacol@LaTeX}{%
877
\@ifx{\@tabacol\@tabacol@LaTeX}{%
878
\@ifx{\@arrayclassz\@arrayclassz@LaTeX}{%
879
\@ifx{\@tabclassiv\@tabclassiv@LaTeX}{%
880
\@ifx{\@arrayclassiv\@arrayclassiv@LaTeX}{%
881
\@ifx{\@tabclassz\@tabclassz@LaTeX}{%
882
\@ifx{\@classv\@classv@LaTeX}{%
883
\@ifx{\hline\hline@LaTeX}{%
884
\@ifx{\@tabularcr\@tabularcr@LaTeX}{%
885
\@ifx{\@xtabularcr\@xtabularcr@LaTeX}{%
886
\@ifx{\@xargarraycr\@xargarraycr@LaTeX}{%
887
\@ifx{\@yargarraycr\@yargarraycr@LaTeX}{%
953
\class@info{Patching LaTeX tabular.}%
955
\class@info{Unrecognized LaTeX tabular. Please update this document class! (Proceeding with fingers crossed.)}%
957
\let\@array\@array@ltx
958
\let\multicolumn\multicolumn@ltx
959
\let\@tabular\@tabular@ltx
960
\let\@tabarray\@tabarray@ltx
962
\let\endarray\endarray@ltx
963
\let\endtabular\endtabular@ltx
964
\let\@mkpream\@mkpream@ltx
965
\let\@addamp\@addamp@ltx
966
\let\@arrayacol\@arrayacol@ltx
967
\let\@tabacol\@tabacol@ltx
968
\let\@arrayclassz\@arrayclassz@ltx
969
\let\@tabclassiv\@tabclassiv@ltx
970
\let\@arrayclassiv\@arrayclassiv@ltx
971
\let\@tabclassz\@tabclassz@ltx
972
\let\@classv\@classv@ltx
974
\let\@tabularcr\@tabularcr@ltx
975
\let\@xtabularcr\@xtabularcr@ltx
976
\let\@xargarraycr\@xargarraycr@ltx
977
\let\@yargarraycr\@yargarraycr@ltx
980
\@ifpackageloaded{colortbl}{\let\switch@array@info\colortbl@message}{\let\switch@array@info\array@message}%
981
\let\@array@sw\@array@sw@LaTeX
982
\@ifx{\@array\@array@array}{%
983
\@ifx{\@tabular\@tabular@array}{%
984
\@ifx{\@tabarray\@tabarray@array}{%
985
\@ifx{\array\array@array}{%
986
\@ifx{\endarray\endarray@array}{%
987
\@ifx{\endtabular\endtabular@array}{%
988
\@ifx{\@mkpream\@mkpream@array}{%
989
\@ifx{\@classx\@classx@array}{%
990
\@ifx{\insert@column\insert@column@array}{%
991
\@ifx{\@arraycr\@arraycr@array}{%
992
\@ifx{\@xarraycr\@xarraycr@array}{%
993
\@ifx{\@xargarraycr\@xargarraycr@array}{%
994
\@ifx{\@yargarraycr\@yargarraycr@array}{%
1035
\class@info{Patching array package.}%
1039
\let\@array \@array@array@new
1040
\let\@@array \@array % Cosi fan tutti
1041
\let\@tabular \@tabular@array@new
1042
\let\@tabarray \@tabarray@array@new
1043
\let\array \array@array@new
1044
\let\endarray \endarray@array@new
1045
\let\endtabular\endtabular@array@new
1046
\let\@mkpream \@mkpream@array@new
1047
\let\@classx \@classx@array@new
1048
\let\@arrayacol\@arrayacol@ltx
1049
\let\@tabacol \@tabacol@ltx
1050
\let\insert@column\insert@column@array@new
1051
\expandafter\let\csname endtabular*\endcsname\endtabular % Cosi fan tutti
1052
\let\@arraycr \@arraycr@new
1053
\let\@xarraycr \@xarraycr@new
1054
\let\@xargarraycr\@xargarraycr@new
1055
\let\@yargarraycr\@yargarraycr@new
1057
\def\array@message{%
1058
\class@info{Unrecognized array package. Please update this document class! (Proceeding with fingers crossed.)}%
1060
\def\colortbl@message{%
1061
\class@info{colortbl package is loaded. (Proceeding with fingers crossed.)}%
1063
\def\@array@sw@LaTeX{\@ifx{\\\@tabularcr}}%
1064
\def\@array@sw@array{\@ifx{\d@llarbegin\begingroup}}%
1065
\def\@tabular@LaTeX{%
1069
\let\@classz\@tabclassz
1070
\let\@classiv\@tabclassiv
1075
\let\@acoll\@tabacoll
1076
\let\@acolr\@tabacolr
1078
\let\@classz\@tabclassz
1079
\let\@classiv\@tabclassiv
1083
\def\@tabular@array{%
1087
\let\d@llarbegin\begingroup
1088
\let\d@llarend\endgroup
1091
\def\@tabular@array@new{%
1092
\let\@acoll\@tabacoll
1093
\let\@acolr\@tabacolr
1095
\let\d@llarbegin\begingroup
1096
\let\d@llarend\endgroup
1099
\def\@tabarray@LaTeX{%
1100
\m@th\@ifnextchar[\@array{\@array[c]}%
1102
\def\@tabarray@ltx{%
1103
\m@th\@ifnextchar[\@array{\expandafter\@array\expandafter[\array@default]}%
1105
\def\@tabarray@array{%
1106
\@ifnextchar[{\@@array}{\@@array[c]}%
1108
\def\@tabarray@array@new{%
1109
\@ifnextchar[{\@@array}{\expandafter\@@array\expandafter[\array@default]}%
1111
\newcount\intertabularlinepenalty
1112
\intertabularlinepenalty=100
1114
\appdef\samepage{\intertabularlinepenalty\@M}%
1115
\def\@tabularcr@LaTeX{{\ifnum 0=`}\fi \@ifstar \@xtabularcr \@xtabularcr}%
1116
\def\@tabularcr@ltx{{\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xtabularcr }{\global \@tbpen \intertabularlinepenalty \@xtabularcr }}%
1117
\def\@xtabularcr@LaTeX{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr }}%
1118
\def\@xtabularcr@ltx{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr \noalign {\penalty \@tbpen }}}%
1119
\def\@xargarraycr@LaTeX#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr}%
1120
\def\@xargarraycr@ltx#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr \noalign {\penalty \@tbpen }}%
1121
\def\@yargarraycr@LaTeX#1{\cr \noalign {\vskip #1}}%
1122
\def\@yargarraycr@ltx#1{\cr \noalign {\penalty \@tbpen \vskip #1}}%
1123
\def\@arraycr@array{%
1125
\iffalse{\fi\ifnum 0=`}\fi
1126
\@ifstar \@xarraycr \@xarraycr
1130
\iffalse{\fi\ifnum 0=`}\fi
1131
\@ifstar {\global \@tbpen \@M \@xarraycr }{\global \@tbpen \intertabularlinepenalty \@xarraycr }%
1133
\def\@xarraycr@array{%
1135
\@argarraycr {\ifnum 0=`{}\fi\cr}%
1137
\def\@xarraycr@new{%
1139
\@argarraycr {\ifnum 0=`{}\fi\cr \noalign {\penalty \@tbpen }}%
1141
\def\@xargarraycr@array#1{%
1143
\@tempdima #1\advance\@tempdima \dp\@arstrutbox
1144
\vrule \@depth\@tempdima \@width\z@
1147
\def\@xargarraycr@new#1{%
1149
\@tempdima #1\advance\@tempdima \dp\@arstrutbox
1150
\vrule \@depth\@tempdima \@width\z@
1152
\noalign {\penalty \@tbpen }%
1154
\def\@yargarraycr@array#1{%
1156
\noalign{\vskip #1}%
1158
\def\@yargarraycr@new#1{%
1160
\noalign{\penalty \@tbpen \vskip #1}%
1163
\let\@acol\@arrayacol
1164
\let\@classz\@arrayclassz
1165
\let\@classiv\@arrayclassiv
1167
\let\@halignto\@empty
1171
\@ifmmode{}{\@badmath$}%
1172
\let\@acoll\@arrayacol
1173
\let\@acolr\@arrayacol
1174
\let\@acol\@arrayacol
1175
\let\@classz\@arrayclassz
1176
\let\@classiv\@arrayclassiv
1178
\let\@halignto\@empty
1182
\col@sep\arraycolsep
1183
\def\d@llarbegin{$}\let\d@llarend\d@llarbegin\gdef\@halignto{}%
1186
\def\array@array@new{%
1187
\@ifmmode{}{\@badmath$}%
1188
\let\@acoll\@arrayacol
1189
\let\@acolr\@arrayacol
1190
\let\@acol\@arrayacol
1191
\def\d@llarbegin{$}%
1192
\let\d@llarend\d@llarbegin
1196
\def\@array@LaTeX[#1]#2{%
1197
\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
1199
\setbox\@arstrutbox\hbox{%
1200
\vrule \@height\arraystretch\ht\strutbox
1201
\@depth\arraystretch \dp\strutbox
1205
\ialign \noexpand\@halignto
1206
\bgroup \@arstrut \@preamble \tabskip\z@skip \cr}%
1207
\let\@startpbox\@@startpbox \let\@endpbox\@@endpbox
1208
\let\tabularnewline\\%
1211
\set@typeset@protect
1212
\lineskip\z@skip\baselineskip\z@skip
1213
\ifhmode \@preamerr\z@ \@@par\fi
1216
\def\@array@ltx[#1]#2{%
1217
\@nameuse{@array@align@#1}%
1220
\prepdef\@preamble{%
1221
\tabskip\tabmid@skip
1225
\tabskip\tabright@skip
1229
\let\tabularnewline\\%
1232
\set@typeset@protect
1233
\lineskip\z@skip\baselineskip\z@skip
1234
\tabskip\tableft@skip\relax
1235
\ifhmode \@preamerr\z@ \@@par\fi
1237
\expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble
1239
\def\set@arstrutbox{%
1240
\setbox\@arstrutbox\hbox{%
1241
\vrule \@height\arraystretch\ht\strutbox
1242
\@depth\arraystretch \dp\strutbox
1246
\def\@array@array[#1]#2{%
1247
\@tempdima \ht \strutbox
1248
\advance \@tempdima by\extrarowheight
1249
\setbox \@arstrutbox \hbox{\vrule
1250
\@height \arraystretch \@tempdima
1251
\@depth \arraystretch \dp \strutbox
1255
\xdef\@preamble{\noexpand \ialign \@halignto
1256
\bgroup \@arstrut \@preamble
1260
\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi
1262
\let \@sharp ##\let \protect \relax
1266
\let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble
1268
\def\@array@array@new[#1]#2{%
1269
\@tempdima\ht\strutbox
1270
\advance\@tempdima by\extrarowheight
1271
\setbox\@arstrutbox\hbox{%
1272
\vrule \@height\arraystretch\@tempdima
1273
\@depth \arraystretch\dp\strutbox
1278
\xdef\@preamble{\@preamble}%
1280
\prepdef\@preamble{%
1281
\tabskip\tabmid@skip
1285
\tabskip\tabright@skip
1290
\@nameuse{@array@align@#1}%
1293
\let\tabularnewline\\%
1296
\set@typeset@protect
1297
\lineskip\z@\baselineskip\z@
1298
\tabskip\tableft@skip
1300
\expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble
1302
\def\endarray@LaTeX{%
1306
\crcr\array@row@pst\egroup\egroup
1308
\def\endarray@array{%
1309
\crcr \egroup \egroup \@arrayright \gdef\@preamble{}%
1311
\def\endarray@array@new{%
1312
\crcr\array@row@pst\egroup\egroup % Same as \endarray@ltx
1314
\global\let\@preamble\@empty
1316
\def\endtabular@LaTeX{%
1317
\crcr\egroup\egroup $\egroup
1319
\def\endtabular@ltx{%
1322
\def\endtabular@array{%
1325
\def\endtabular@array@new{%
1328
\@namedef{endtabular*}{\endtabular}%
1329
\long\def\multicolumn@LaTeX#1#2#3{%
1330
\multispan{#1}\begingroup
1332
\def\@sharp{#3}\set@typeset@protect
1333
\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
1334
\@arstrut \@preamble\hbox{}\endgroup\ignorespaces
1336
\long\def\multicolumn@ltx#1#2#3{%
1341
\set@typeset@protect
1342
%\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
1349
\def\@array@align@t{\leavevmode\vtop\bgroup}%
1350
\def\@array@align@b{\leavevmode\vbox\bgroup}%
1351
\def\@array@align@c{\leavevmode\@ifmmode{\vcenter\bgroup}{$\vcenter\bgroup\aftergroup$\aftergroup\relax}}%
1352
\def\@array@align@v{%
1358
$\vcenter\bgroup\aftergroup$
1364
\def\array@default{c}%
1365
\def\array@row@rst{%
1366
\let\@array@align@v\@array@align@c
1368
\def\array@row@pre{}%
1369
\def\array@row@pst{}%
1370
\newcommand\toprule{\tab@rule{\column@font}{\column@fil}{\frstrut}}%
1371
\newcommand\colrule{\unskip\lrstrut\\\tab@rule{\body@font}{}{\frstrut}}%
1372
\newcommand\botrule{\unskip\lrstrut\\\noalign{\hline@rule}{}}%
1374
\noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet
1381
\futurelet\reserved@a\@xhline
1382
% \noalign ended in \@xhline
1384
\def\@xhline@unneeded{%
1386
\ifx\reserved@a\hline
1387
\vskip\doublerulesep
1388
\vskip-\arrayrulewidth
1392
\def\tab@rule#1#2#3{%
1396
\gdef\@arstrut@hook{%
1397
\global\let\@arstrut@hook\@empty
1400
\gdef\cell@font{#1}%
1410
\def\@arstrut@hline{%
1412
\@ifmmode{\copy}{\unhcopy}\@arstrutbox@hline
1415
\let\@arstrut@org\@arstrut
1416
\def\@arstrut@hook{%
1417
\global\let\@arstrut\@arstrut@org
1419
\newbox\@arstrutbox@hline
1420
\appdef\set@arstrutbox{%
1421
\setbox\@arstrutbox@hline\hbox{%
1422
\setbox\z@\hbox{$0^{0}_{}$}%
1423
\dimen@\ht\z@\advance\dimen@\@arstrut@hline@clnc
1424
\@ifdim{\dimen@<\arraystretch\ht\strutbox}{\dimen@=\arraystretch\ht\strutbox}{}%
1425
\vrule \@height\dimen@
1426
\@depth\arraystretch \dp\strutbox
1431
\hrule \@height \arrayrulewidth
1432
\global\let\@arstrut\@arstrut@hline
1434
\def\@arstrut@hline@clnc{2\p@}% % Klootch: magic number
1435
\def\tableft@skip{\z@skip}%
1436
\def\tabmid@skip{\z@skip}%\@flushglue
1437
\def\tabright@skip{\z@skip}%
1438
\def\tableftsep{\tabcolsep}%
1439
\def\tabmidsep{\tabcolsep}%
1440
\def\tabrightsep{\tabcolsep}%
1443
\appdef\@arstrut{\@arstrut@hook}%
1444
\let\@arstrut@hook\@empty
1445
\def\@addtopreamble{\appdef\@preamble}%
1446
\def\@mkpream@LaTeX#1{%
1447
\@firstamptrue\@lastchclass6
1448
\let\@preamble\@empty
1449
\let\protect\@unexpandable@protect
1451
\let\@startpbox\relax\let\@endpbox\relax
1453
\expandafter\@tfor \expandafter
1454
\@nextchar \expandafter:\expandafter=\reserved@a\do
1455
{\@testpach\@nextchar
1456
\ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii
1457
\or \@classiv \or\@classv \fi\@lastchclass\@chclass}%
1458
\ifcase \@lastchclass \@acol
1459
\or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi
1461
\def\@mkpream@ltx#1{%
1464
\let\@preamble\@empty
1465
\let\protect\@unexpandable@protect
1468
\expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\reserved@a
1470
\expandafter\@testpach\expandafter{\@nextchar}%
1484
\@lastchclass\@chclass
1486
\ifcase\@lastchclass
1487
\@acolr % right-hand column
1495
\@acolr % right-hand column
1498
\def\insert@column@array{%
1499
\the@toks \the \@tempcnta
1500
\ignorespaces \@sharp \unskip
1501
\the@toks \the \count@ \relax
1503
\def\insert@column@array@new{%
1504
\the@toks\the\@tempcnta
1505
\array@row@rst\cell@font
1506
\ignorespaces\@sharp\unskip
1507
\the@toks\the\count@
1510
\def\@mkpream@relax{%
1511
\let\tableftsep \relax
1512
\let\tabmidsep \relax
1513
\let\tabrightsep \relax
1514
\let\array@row@rst\relax
1515
\let\cell@font \relax
1516
\let\@startpbox \relax
1518
\def\@mkpream@array#1{%
1519
\gdef\@preamble{}\@lastchclass 4 \@firstamptrue
1520
\let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax
1521
\@temptokena{#1}\@tempswatrue
1522
\@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%
1526
\expandafter \@tfor \expandafter \@nextchar
1527
\expandafter :\expandafter =\the\@temptokena \do
1529
\ifcase \@chclass \@classz \or \@classi \or \@classii
1530
\or \save@decl \or \or \@classv \or \@classvi
1531
\or \@classvii \or \@classviii
1534
\@lastchclass\@chclass}%
1535
\ifcase\@lastchclass
1539
\@preamerr \thr@@ \or
1540
\@preamerr \tw@ \@addtopreamble\@sharp \or
1542
\else \@preamerr \@ne \fi
1543
\def\the@toks{\the\toks}%
1545
\def\@mkpream@array@new#1{%
1551
\@temptokena{#1}\@tempswatrue
1552
\@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%
1556
\expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\the\@temptokena
1581
\@lastchclass\@chclass
1583
\ifcase\@lastchclass
1584
\@acolr % right-hand column
1587
\@acolr % right-hand column
1591
\@preamerr\tw@\@addtopreamble\@sharp
1597
\def\the@toks{\the\toks}%
1599
\appdef\@mkpream@relax{%
1600
\let\CT@setup \relax
1601
\let\CT@color \relax
1602
\let\CT@do@color \relax
1604
\let\CT@column@color\relax
1605
\let\CT@row@color \relax
1606
\let\CT@cell@color \relax
1608
\def\@addamp@LaTeX{%
1609
\if@firstamp\@firstampfalse\else\edef\@preamble{\@preamble &}\fi
1612
\if@firstamp\@firstampfalse\else\@addtopreamble{&}\fi
1614
\def\@arrayacol@LaTeX{%
1615
\edef\@preamble{\@preamble \hskip \arraycolsep}%
1617
\def\@arrayacol@ltx{%
1618
\@addtopreamble{\hskip\arraycolsep}%
1621
\@addtopreamble{\hskip\tableftsep\relax}%
1623
\def\@tabacol@LaTeX{%
1624
\edef\@preamble{\@preamble \hskip \tabcolsep}%
1627
\@addtopreamble{\hskip\tabmidsep\relax}%
1630
\@addtopreamble{\hskip\tabrightsep\relax}%
1632
\def\@arrayclassz@LaTeX{%
1633
\ifcase \@lastchclass \@acolampacol \or \@ampacol \or
1634
\or \or \@addamp \or
1635
\@acolampacol \or \@firstampfalse \@acol \fi
1636
\edef\@preamble{\@preamble
1638
\hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil
1639
\or \hfil$\relax\@sharp$\fi}%
1641
\def\@arrayclassz@ltx{%
1642
\ifcase\@lastchclass
1653
\@firstampfalse\@acoll
1657
\hfil\array@row@rst$\relax\@sharp$\hfil
1661
\array@row@rst$\relax\@sharp$\hfil
1665
\hfil\array@row@rst$\relax\@sharp$%
1669
\def\@tabclassz@LaTeX{%
1670
\ifcase\@lastchclass
1681
\@firstampfalse\@acol
1686
\hfil\ignorespaces\@sharp\unskip\hfil
1688
\hskip1sp\ignorespaces\@sharp\unskip\hfil
1690
\hfil\hskip1sp\ignorespaces\@sharp\unskip
1693
\def\@tabclassz@ltx{%
1694
\ifcase\@lastchclass
1705
\@firstampfalse\@acoll
1709
{\hfil\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}%
1713
{\cell@fil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}%
1717
{\hfil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\cell@fil}%
1721
\def\@tabclassiv@LaTeX{%
1722
\@addtopreamble\@nextchar
1724
\def\@tabclassiv@ltx{%
1725
\expandafter\@addtopreamble\expandafter{\@nextchar}%
1727
\def\@arrayclassiv@LaTeX{%
1728
\@addtopreamble{$\@nextchar$}%
1730
\def\@arrayclassiv@ltx{%
1731
\expandafter\@addtopreamble\expandafter{\expandafter$\@nextchar$}%
1733
\def\@classv@LaTeX{%
1734
\@addtopreamble{\@startpbox{\@nextchar}\ignorespaces
1738
\expandafter\@addtopreamble
1740
\expandafter \@startpbox
1741
\expandafter {\@nextchar}%
1742
\pbox@hook\array@row@rst\cell@font\ignorespaces\@sharp\@endpbox
1745
\def\@classx@array{%
1746
\ifcase \@lastchclass
1751
\@acol \@firstampfalse \or
1755
\def\@classx@array@new{%
1756
\ifcase \@lastchclass
1764
\@firstampfalse\@acoll
1769
\def\@xbitor@LaTeX #1{\@tempcntb \count#1
1770
\ifnum \@tempcnta =\z@
1772
\divide\@tempcntb\@tempcnta
1773
\ifodd\@tempcntb \@testtrue\fi
1775
\def\@xbitor@ltx#1{%
1776
\@tempcntb\count#1\relax
1777
\@ifnum{\@tempcnta=\z@}{}{%
1778
\divide\@tempcntb\@tempcnta
1779
\@ifodd\@tempcntb{\@testtrue}{}%
1782
\@ifx{\@xbitor\@xbitor@LaTeX}{%
1783
\class@info{Repairing broken LaTeX \string\@xbitor}%
1785
\class@info{Unrecognized LaTeX \string\@xbitor. Please update this document class! (Proceeding with fingers crossed.)}%
1787
\let\@xbitor\@xbitor@ltx
1788
\newcommand*\@gobble@opt@one[2][]{}%
1793
\@input{\jobname.#1}%
1795
\expandafter\newwrite\csname tf@#1\endcsname
1796
\immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
1805
\def\ltxu@dotsep{\z@}%
1806
\let\tocdim@section \leftmargini
1807
\let\tocdim@subsection \leftmarginii
1808
\let\tocdim@subsubsection \leftmarginiii
1809
\let\tocdim@paragraph \leftmarginiv
1810
\let\tocdim@appendix \leftmarginv
1811
\let\tocdim@pagenum \leftmarginvi
1815
\toc@setindent\@tempdima{section}%
1816
\toc@setindent\@tempdima{subsection}%
1817
\toc@setindent\@tempdima{subsubsection}%
1818
\toc@setindent\@tempdima{paragraph}%
1819
\toc@letdimen{appendix}%
1820
\toc@letdimen{pagenum}%
1822
\def\toc@post@auto{%
1825
\toc@writedimen{section}%
1826
\toc@writedimen{subsection}%
1827
\toc@writedimen{subsubsection}%
1828
\toc@writedimen{paragraph}%
1829
\toc@writedimen{appendix}%
1830
\toc@writedimen{pagenum}%
1834
\def\toc@setindent#1#2{%
1835
\csname tocdim@#2\endcsname\tocdim@min\relax
1836
\@ifundefined{tocmax@#2}{\@namedef{tocmax@#2}{\z@}}{}%
1837
\advance#1\@nameuse{tocmax@#2}\relax
1838
\expandafter\edef\csname tocleft@#2\endcsname{\the#1}%
1840
\def\toc@letdimen#1{%
1841
\csname tocdim@#1\endcsname\tocdim@min\relax
1842
\@ifundefined{tocmax@#1}{\@namedef{tocmax@#1}{\z@}}{}%
1843
\expandafter\let\csname tocleft@#1\expandafter\endcsname\csname tocmax@#1\endcsname
1845
\def\toc@writedimen#1{%
1846
\immediate\write\@auxout{%
1847
\gdef\expandafter\string\csname tocmax@#1\endcsname{%
1848
\expandafter\the\csname tocdim@#1\endcsname
1852
\def\l@@sections#1#2#3#4{%
1855
\set@tocdim@pagenum\@tempboxa{#4}%
1856
\global\@tempdima\csname tocdim@#2\endcsname
1857
\leftskip\csname tocleft@#2\endcsname\relax
1858
\dimen@\csname tocleft@#1\endcsname\relax
1859
\parindent-\leftskip\advance\parindent\dimen@
1860
\rightskip\tocleft@pagenum plus 1fil\relax
1861
\skip@\parfillskip\parfillskip\z@
1862
\let\numberline\numberline@@sections
1864
\ignorespaces#3\unskip\nobreak\hskip\skip@
1865
\hb@xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z@skip
1867
\expandafter\aftergroup\csname tocdim@#2%
1868
\expandafter\endcsname
1869
\expandafter\endgroup
1870
\the\@tempdima\relax
1872
\def\set@tocdim@pagenum#1#2{%
1873
\setbox#1\hbox{\ignorespaces#2}%
1874
\@ifdim{\tocdim@pagenum<\wd#1}{\global\tocdim@pagenum\wd#1}{}%
1876
\def\numberline@@sections#1{%
1877
\leavevmode\hb@xt@-\parindent{%
1880
\setbox\z@\hbox{#1.\kern\ltxu@dotsep}%
1881
\@ifdim{\@tempdima<\wd\z@}{\global\@tempdima\wd\z@}{}%
1887
\def\tocdim@min{\z@}%
1889
\ifnum \@listdepth >5\relax
1892
\global\advance\@listdepth\@ne
1897
\csname @list\romannumeral\the\@listdepth\endcsname
1898
\def\@itemlabel{#1}%
1899
\let\makelabel\@mklab
1907
\def\set@listindent@parshape{%
1908
\parindent\listparindent
1909
\advance\@totalleftmargin\leftmargin
1910
\advance\linewidth-\rightmargin
1911
\advance\linewidth-\leftmargin
1912
\parshape\@ne\@totalleftmargin\linewidth
1914
\def\set@listindent@{%
1915
\parindent\listparindent
1916
\advance\@totalleftmargin\leftmargin
1917
\advance\rightskip\rightmargin
1918
\advance\leftskip\@totalleftmargin
1920
\let\set@listindent\set@listindent@parshape
1921
\providecommand\href[0]{\begingroup\@sanitize@url\@href}%
1922
\def\@href#1{\@@startlink{#1}\endgroup\@@href}%
1923
\def\@@href#1{#1\@@endlink}%
1924
\providecommand \url [0]{\begingroup\@sanitize@url \@url }%
1925
\def \@url #1{\endgroup\@href {#1}{\URL@prefix#1}}%
1926
\providecommand \URL@prefix [0]{URL }%
1927
\providecommand\doi[0]{\begingroup\@sanitize@url\@doi}%
1928
\def\@doi#1{\endgroup\@@startlink{\doibase#1}doi:\discretionary {}{}{}#1\@@endlink }%
1929
\providecommand \doibase [0]{http://dx.doi.org/}%
1930
\providecommand \@sanitize@url[0]{\chardef\cat@space\the\catcode`\ \@sanitize\catcode`\ \cat@space}%
1931
\def\@@startlink#1{}%
1933
\@ifxundefined \pdfoutput {\true@sw}{\@ifnum{\z@=\pdfoutput}{\true@sw}{\false@sw}}%
1935
\def\@@startlink@hypertext#1{\leavevmode\special{html:<a href="#1">}}%
1936
\def\@@endlink@hypertext{\special{html:</a>}}%
1938
\def\@@startlink@hypertext#1{%
1940
\pdfstartlink\pdfstartlink@attr
1941
user{/Subtype/Link/A<</Type/Action/S/URI/URI(#1)>>}%
1944
\def\@@endlink@hypertext{\pdfendlink}%
1945
\def\pdfstartlink@attr{attr{/Border[0 0 1 ]/H/I/C[0 1 1]}}%
1947
\def\hypertext@enable@ltx{%
1948
\let\@@startlink\@@startlink@hypertext
1949
\let\@@endlink\@@endlink@hypertext
1951
\def\href@Hy{\hyper@normalise \href@ }%
1952
\def\href@Hy@ltx{\@ifnextchar\bgroup\Hy@href{\hyper@normalise\href@}}%
1953
\def\Hy@href#{\hyper@normalise\href@}%
1957
\catcode`\^^M\active
1963
\gdef\hyper@normalise@ltx{^^A
1965
\catcode`\^^M\active
1971
\def#{\hyper@hash}^^A
1972
\def\#{\hyper@hash}^^A
1975
\edef\&{\string&}^^A
1976
\edef\textunderscore{\string_}^^A
1977
\let\_\textunderscore
1979
\let_\textunderscore
1982
\let\textasciitilde\hyper@tilde
1983
\let\\\@backslashchar
1985
\Hy@safe@activestrue
1989
\gdef\Hy@ActiveCarriageReturn@ltx{^^M}^^A
1990
\gdef\hyper@n@rmalise@ltx#1#2{^^A
1991
\def\Hy@tempa{#2}^^A
1992
\ifx\Hy@tempa\Hy@ActiveCarriageReturn
1993
\Hy@ReturnAfterElseFi{^^A
1994
\hyper@@normalise{#1}^^A
1997
\Hy@ReturnAfterFi{^^A
1998
\hyper@@normalise{#1}{#2}^^A
2002
\gdef\hyper@@normalise@ltx#1#2{^^A
2005
\noexpand#1{\Hy@RemovePercentCr#2%^^M\@nil}^^A
2009
\gdef\Hy@RemovePercentCr@ltx#1%^^M#2\@nil{^^A
2011
\ifx\limits#2\limits
2013
\Hy@ReturnAfterFi{^^A
2014
\Hy@RemovePercentCr #2\@nil
2019
\def\switch@hyperref@href{%
2020
\expandafter\@ifx\expandafter{\csname href \endcsname\href@Hy}{
2021
\class@info{Repairing hyperref 6.75r \string\href}%
2022
\let\hyper@normalise\hyper@normalise@ltx
2023
\let\hyper@@normalise\hyper@@normalise@ltx
2024
\let\hyper@n@rmalise\hyper@n@rmalise@ltx
2025
\let\Hy@ActiveCarriageReturn\Hy@ActiveCarriageReturn@ltx
2026
\let\Hy@RemovePercentCr\Hy@RemovePercentCr@ltx
2027
\let\href\href@Hy@ltx
2030
\appdef\document@inithook{\switch@hyperref@href}%
2031
\def\typeout@org#1{%
2033
\set@display@protect
2034
\immediate\write\@unused{#1}%
2037
\long\def\typeout@ltx#1{%
2039
\set@display@protect
2040
\immediate\write\@unused{#1}%
2043
\@ifx{\typeout\typeout@org}{%
2044
\class@info{Making \string\typeout\space \string\long}%
2045
\let\typeout\typeout@ltx
2049
[2010/07/25/20:33:00 4.1r frontmatter package (AO,DPC)]% \fileversion
2051
\appdef\class@documenthook{\frontmatter@init}%
2052
\let\frontmatter@init\@empty
2053
\newcommand\frontmatter@title[2][]{%
2055
\def\@shorttitle{#1}%
2056
\let\@AF@join\@title@join
2058
\appdef\frontmatter@init{%
2059
\def\@title{\class@warn{No title}}%
2060
\let\@shorttitle\@empty
2061
\let\@title@aux\@title@aux@cleared
2063
\def\@title@join{\expandafter\@title@join@\@title@aux}%
2064
\def\@title@join@#1#2{%
2065
\def\@title@aux{{\@join{\@separator}{#1}{#2}}}%
2067
\def\@title@aux@cleared{{}}%
2069
\newcounter{collab}%
2070
\appdef\frontmatter@init{%
2074
\newcommand\frontmatter@author{% implicit #1
2075
\@author@def{}% implicit #2
2077
\def\collaboration{% implicit #1
2078
\@author@def{\@booleantrue\collaboration@sw}% implicit #2
2080
\appdef\frontmatter@init{%
2081
\@booleanfalse\collaboration@sw
2083
\def\@author@cleared{{}{}{}}%
2084
\def\@author@gobble#1#2#3{}%
2086
\let\@author\@author@cleared
2087
\@booleanfalse\collaboration@sw
2089
\def\@authorclear@sw{\@ifx{\@author\@author@cleared}}%
2090
\appdef\frontmatter@init{%
2093
\def\@author@def#1#2{%
2094
\frontmatterverbose@sw{\typeout{\string\author\space\string\collaboration}}{}%
2095
\move@AU\move@AF\move@AUAF
2096
\let\@AF@join\@author@join
2098
\def\@author{{#2}{}}%
2100
\def\@author@join@#1#2#3{%
2101
\def\@author{{#1}{\@join{\@separator}{#2}{#3}}}%
2103
\def\@author@join{\expandafter\@author@join@\@author}%
2105
\@authorclear@sw{}{%
2107
\advance\c@collab\@ne
2108
\@argswap{\CO@grp\CO@opr}%
2110
\@argswap{\AU@grp\AU@opr}%
2113
\expandafter\@argswap@val
2114
\expandafter{\@author}%
2115
{\expandafter\@argswap@val\expandafter{\the\c@collab}{\add@AUCO@grp}}%
2120
\def\add@AUCO@grp#1#2#3#4{%
2121
\appdef#3{#4{#1}#2}%
2122
\frontmatterverbose@sw{\say#3}{}%
2124
\def\@author@finish{%
2125
\frontmatterverbose@sw{\typeout{\string\@author@finish}}{}%
2127
\@ifx{\AU@grp\@empty}{%
2128
\@ifx{\CO@grp\@empty}%
2133
\@ifx{\AF@grp\@empty}{%
2135
\let\href\@secondoftwo
2136
\let\AU@opr\@secondofthree
2137
\let\CO@opr\@secondofthree
2138
\let\footnote\@gobble
2139
\@ifx{\CO@grp\@empty}{%
2140
\class@warn{Assuming \string\noaffiliation\space for authors}%
2141
\frontmatterverbose@sw{\say\AU@grp}%
2143
\class@warn{Assuming \string\noaffiliation\space for collaboration}%
2144
\frontmatterverbose@sw{\say\CO@grp}{}%
2147
\@affil@none\move@AF
2152
\def\@secondofthree#1#2#3{#2}%
2154
\@if@empty{#2}{#3}{#2#1#3}%
2156
\def\@separator{;\space}%
2157
\let\surname\@firstofone
2158
\let\firstname\@firstofone
2159
\newcommand\frontmatter@and{\class@err{\protect\and\space is not supported}}
2160
\def\cat@comma@active{\catcode`\,\active}%
2161
{\cat@comma@active\gdef,{\active@comma}}%
2162
\def\active@comma{,\penalty-300\relax}%
2163
\newcommand\affiliation{%
2164
\frontmatterverbose@sw{\typeout{\string\affiliation}}{}%
2170
\def\@affiliation#1{%
2172
\let\@AF@join\@affil@join
2175
\newcommand\frontmatter@noaffiliation{%
2176
\frontmatterverbose@sw{\typeout{\string\noaffiliation}}{}%
2178
\@affil@none\move@AF
2181
\def\blankaffiliation{{}}%
2182
\def\@affil@cleared{{{}}{}}%
2183
\def\@affil@nil{{\relax}{}}%
2184
\appdef\frontmatter@init{%
2188
\let\@affil\@affil@nil
2191
\let\@affil\@affil@cleared
2193
\def\@affilclear@sw{\@ifx{\@affil\@affil@cleared}}%
2195
\def\@affil{{#1}{}}%
2197
\def\@affil@join@#1#2#3{%
2198
\def\@affil{{#1}{\@join{\@separator}{#2}{#3}}}%
2200
\def\@affil@join{\expandafter\@affil@join@\@affil}%
2203
\@booleanfalse\temp@sw
2206
\expandafter\@affil@addr@def\expandafter\@tempa\@affil
2207
\def\AFF@opr{\@affil@match\@tempa}%
2211
\expandafter\@affil@aux@def\expandafter\@tempb\@affil
2212
\@ifx{\@tempb\@empty}{}{%
2213
\@ifx{\@tempb\@tempd}{}{%
2215
Ancillary information for \@tempa\space must not be different!
2216
Please put all of it on the first instance%
2222
\@ifx{\@affil\@affil@nil}{%
2226
\advance\c@affil\@ne
2227
\expandafter\def\expandafter\@tempc\expandafter{\the\c@affil}%
2228
\expandafter\@argswap@val\expandafter{\the\c@affil}%
2231
\expandafter\@argswap@val\expandafter{\the\c@collab}{%
2232
\expandafter\@argswap@val\expandafter{\@affil}{%
2233
\add@list@val@val@val\@AFF@list\AFF@opr
2238
\appdef@eval\AF@grp\@tempc
2239
\frontmatterverbose@sw{\say\AF@grp}{}%
2243
\def\@affil@addr@def#1#2#3{%
2246
\def\@affil@aux@def#1#2#3{%
2249
\def\add@list@val@val@val#1#2#3#4#5{%
2250
\appdef#1{#2{#5}{#4}#3}%
2251
\frontmatterverbose@sw{\say#1}{}%
2253
\def\@affil@match#1#2#3#4#5{%
2256
\@ifx{\@tempifx#1}{%
2258
\@ifnum{#3=\c@collab}{%
2270
\@booleantrue\temp@sw
2278
\frontmatterverbose@sw{\say\AU@grp\say\AF@grp\say\CO@grp}{}%
2279
\@ifx{\AF@grp\@empty}{%
2280
\@ifx{\@empty\CO@grp}{%
2282
\appdef \@AAC@list{\AF@opr{{0}}}%
2283
\appdef@e \@AAC@list{\CO@grp}%
2284
\appdef@e \@AFG@list{\CO@grp}%
2288
\appdef \@AAC@list{\AF@opr}%
2289
\appdef@eval\@AAC@list{\AF@grp}%
2290
\appdef@e \@AAC@list{\AU@grp}%
2291
\@ifx{\@empty\AU@grp}{%
2292
\@ifx{\@empty\CO@grp}%
2298
\@booleanfalse\temp@sw
2299
\def\AFG@opr{\x@match\AF@grp}%
2300
\let\CO@opr\@author@gobble
2303
\appdef \@AFG@list{\AFG@opr}%
2304
\appdef@eval\@AFG@list{\AF@grp}%
2306
\@ifx{\@empty\CO@grp}{}{%
2307
\appdef@e \@AAC@list{\CO@grp}%
2308
\appdef@e \@AFG@list{\CO@grp}%
2316
\frontmatterverbose@sw{\say\@AAC@list\say\@AFG@list}{}%
2318
\appdef\frontmatter@init{%
2322
\let\@AAC@list\@empty
2323
\let\@AFG@list\@empty
2324
\let\@AFF@list\@empty
2326
\appdef\frontmatter@init{%
2327
\let\@AF@join\@AF@join@error
2329
\def\@AF@join@error#1{%
2331
\string\email, \string\homepage, \string\thanks, or \string\altaffiliation\space
2332
appears in wrong context.
2340
\newcommand*\email[1][]{\begingroup\sanitize@url\@email{#1}}%
2343
\@AF@join{#1\href{mailto:#2}{#2}}%
2345
\newcommand*\homepage[1][]{\begingroup\sanitize@url\@homepage{#1}}%
2346
\def\@homepage#1#2{%
2348
\@AF@join{#1\href{#2}{#2}}%
2350
\appdef\class@documenthook{%
2351
\providecommand\href[1]{}%
2353
\def\frontmatter@thanks{% implicit #1
2356
\newcommand*\altaffiliation[2][]{%
2359
\def\set@listcomma@list#1{%
2360
\expandafter\@reset@ac\expandafter#1#1{0}\@reset@ac{%
2361
\let\@listcomma\relax
2363
\let\@listcomma\@listcomma@comma
2366
\def\set@listcomma@count#1{%
2368
\let\@listcomma\relax
2370
\let\@listcomma\@listcomma@comma
2373
\def\@reset@ac#1#2#3\@reset@ac{%
2378
\def\@listand{\@ifnum{\@tempcnta=\tw@}{\andname\space}{}}%
2379
\def\@listcomma@comma{\@ifnum{\@tempcnta>\@ne}{,}{}}%
2380
\def\@listcomma@comma@UK{\@ifnum{\@tempcnta>\tw@}{,}{}}%
2381
\def\@collaboration@gobble#1#2#3{}%
2382
\def\doauthor#1#2#3{%
2383
\ignorespaces#1\unskip\@listcomma
2386
\@if@empty{#2}{\endgroup{}{}}{\endgroup{\comma@space}{}\frontmatter@footnote{#2}}%
2392
\@ifx{\@tempifx#1}{%
2393
\@booleantrue\temp@sw
2398
\def\y@match#1#2#3{%
2401
\@ifx{\@tempifx#1}{%
2402
\@booleantrue\temp@sw
2408
\def\frontmatter@footnote#1{%
2410
\@booleanfalse\temp@sw
2413
\def\@TBN@opr{\y@match\@tempa}%
2416
\expandafter\frontmatter@footnotemark
2417
\expandafter{\@tempb}%
2420
\expandafter\expandafter
2421
\expandafter\frontmatter@foot@mark
2422
\expandafter\expandafter
2424
\expandafter \the\csname c@\@mpfn\endcsname
2429
\def\frontmatter@foot@mark#1#2{%
2430
\frontmatter@footnotemark{#1}%
2431
\g@addto@macro\@FMN@list{\@TBN@opr{#1}{#2}}%
2433
\appdef\frontmatter@init{%
2434
\global\let\@FMN@list\@empty
2436
\def\frontmatter@footnotemark#1{%
2438
\ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
2440
\hyper@linkstart {link}{frontmatter.#1}%
2441
\csname c@\@mpfn\endcsname#1\relax
2442
\def\@thefnmark{\frontmatter@thefootnote}%
2446
\ifhmode\spacefactor\@x@sf\fi
2450
\aftermaketitle@chk{\keywords}%
2451
\gdef\@keywords{#1}%
2453
\appdef\frontmatter@init{%
2454
\let\@keywords\@empty
2456
\newcommand*\frontmatter@date[2][\Dated@name]{\def\@date{#1#2}}%
2458
\newcommand*\received[2][\Received@name]{\def\@received{#1#2}}%
2460
\newcommand*\revised[2][\Revised@name]{\def\@revised{#1#2}}%
2462
\newcommand*\accepted[2][\Accepted@name]{\def\@accepted{#1#2}}%
2464
\newcommand*\published[2][\Published@name]{\def\@published{#1#2}}%
2467
\aftermaketitle@chk{\pacs}%
2470
\appdef\frontmatter@init{%
2473
\def\preprint#1{\gappdef\@preprint{\preprint{#1}}}%
2474
\appdef\frontmatter@init{%
2475
\let\@preprint\@empty
2478
\def\toclevel@abstract{1}%
2479
\def\addcontents@abstract{%
2481
\expandafter\def\csname Parent0\endcsname{section*.2}%
2482
\expandafter\@argswap@val\expandafter{\abstractname}{\addcontentsline{toc}{abstract}}%
2484
\newenvironment{frontmatter@abstract}{%
2485
\aftermaketitle@chk{\begin{abstract}}%
2486
\global\setbox\absbox\vbox\bgroup
2488
\columnwidth\textwidth
2491
\def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
2492
\let\@footnotetext\frontmatter@footnotetext
2493
\minipagefootnote@init
2494
\let\set@listindent\set@listindent@
2495
\let\@listdepth\@mplistdepth \@mplistdepth\z@
2496
\let@environment{description}{frontmatter@description}%
2499
\frontmatter@abstractheading
2500
\frontmatter@abstractfont
2501
\let\footnote\mini@note
2502
\expandafter\everypar\expandafter{\the\everypar\addcontents@abstract\everypar{}}%
2506
\minipagefootnote@here
2507
\@minipagefalse %% added 24 May 89
2511
\long\def\frontmatter@footnotetext#1{%
2512
\minipagefootnote@pick
2516
\protected@edef\@currentlabel{\csname p@\@mpfn\endcsname\@thefnmark}%
2518
\frontmatter@makefntext{%
2519
\rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox\vadjust{\vskip\z@skip}%
2522
\minipagefootnote@drop
2524
\def\ltx@no@footnote{%
2525
\let\ltx@xfootnote\ltx@no@xfootnote\let\ltx@yfootnote\ltx@no@yfootnote
2526
\let\ltx@xfootmark\ltx@no@xfootmark\let\ltx@yfootmark\ltx@no@yfootmark
2527
\let\ltx@xfoottext\ltx@no@xfoottext\let\ltx@yfoottext\ltx@no@yfoottext
2529
\def\ltx@no@xfootnote[#1]#2{\ltx@no@footwarn\footnote}%
2530
\def\ltx@no@yfootnote#1{\ltx@no@footwarn\footnote}%
2531
\def\ltx@no@xfootmark[#1]{\ltx@no@footwarn\footnotemark}%
2532
\def\ltx@no@yfootmark{\ltx@no@footwarn\footnotemark}%
2533
\def\ltx@no@xfoottext[#1]#2{\ltx@no@footwarn\footnotetext}%
2534
\def\ltx@no@yfoottext#1{\ltx@no@footwarn\footnotetext}%
2535
\def\ltx@no@footwarn#1{%
2537
The \string#1\space command is not legal on the title page;
2538
using \string\thanks\space instead might suit you: consult the manual for details%
2541
\def\frontmatter@abstractheading{%
2548
\def\frontmatter@abstractfont{}%
2549
\newenvironment{frontmatter@description}{%
2554
\let\makelabel\frontmatter@descriptionlabel
2559
\def\frontmatter@descriptionlabel#1{%
2561
\normalfont\bfseries
2564
\def\frontmatter@abstractwidth{\textwidth}
2565
\def\frontmatter@abstract@produce{%
2569
\vskip\frontmatter@preabstractspace
2570
\vskip200\p@\@plus1fil
2572
\vskip-200\p@\@plus-1fil
2575
\addvspace{\frontmatter@preabstractspace}%
2578
\dimen@\baselineskip
2579
\setbox\z@\vtop{\unvcopy\absbox}%
2580
\advance\dimen@-\ht\z@\advance\dimen@-\prevdepth
2581
\@ifdim{\dimen@>\z@}{\vskip\dimen@}{}%
2588
\@ifx{\@empty\mini@notes}{}{\mini@notes\par}%
2589
\addvspace\frontmatter@postabstractspace
2591
\appdef\frontmatter@init{\let\mini@notes\@empty}%
2592
\let\prep@absbox\@empty
2593
\let\post@absbox\@empty
2594
\def\frontmatter@preabstractspace{.5\baselineskip}
2595
\def\frontmatter@postabstractspace{.5\baselineskip}
2596
\newenvironment{frontmatter@titlepage}{%
2597
\twocolumn@sw{\onecolumngrid}{\newpage}%
2598
\thispagestyle{titlepage}%
2599
\setcounter{page}\@ne
2601
\twocolumn@sw{\twocolumngrid}{\newpage}%
2603
\setcounter{page}\@ne
2606
\def\frontmatter@maketitle{%
2608
\title@column\titleblock@produce
2611
\let\affiliation\@gobble
2613
\let\@AAC@list\@empty
2614
\let\@AFF@list\@empty
2615
\let\@AFG@list\@empty
2616
\let\@AF@join\@AF@join@error
2618
\let\@address\@empty
2619
\let\maketitle\relax
2621
\let\abstract\@undefined\let\endabstract\@undefined
2628
\let\Hy@saved@footnotemark\@footnotemark
2629
\let\Hy@saved@footnotetext\@footnotetext
2630
\let\@footnotemark\H@@footnotemark
2631
\let\@footnotetext\H@@footnotetext
2633
\Hy@maketitle@optarg
2639
\appdef\class@documenthook{%
2640
\@ifx{\maketitle\maketitle@Hy}{%
2641
\class@info{Taking \string\maketitle\space back from hyperref}%
2642
\let\maketitle\frontmatter@maketitle
2646
\def\titleblock@produce{%
2649
\def\@mpfn{mpfootnote}%
2650
\def\thempfn{\thempfootnote}%
2652
\let\@makefnmark\frontmatter@makefnmark
2654
\thispagestyle{titlepage}\label{FirstPage}%
2655
\frontmatter@title@produce
2657
\frontmatter@author@produce@group
2659
\frontmatter@author@produce@script
2661
\frontmatter@RRAPformat{%
2662
\expandafter\produce@RRAP\expandafter{\@date}%
2663
\expandafter\produce@RRAP\expandafter{\@received}%
2664
\expandafter\produce@RRAP\expandafter{\@revised}%
2665
\expandafter\produce@RRAP\expandafter{\@accepted}%
2666
\expandafter\produce@RRAP\expandafter{\@published}%
2668
\frontmatter@abstract@produce
2669
\@ifx@empty\@pacs{}{%
2670
\@pacs@produce\@pacs
2672
\@ifx@empty\@keywords{}{%
2673
\@keywords@produce\@keywords
2676
\frontmatter@finalspace
2679
\def\toclevel@title{0}%
2680
\def\frontmatter@title@produce{%
2682
\frontmatter@title@above
2683
\frontmatter@title@format
2686
\phantomsection\expandafter\@argswap@val\expandafter{\@title}{\addcontentsline{toc}{title}}%
2687
\@ifx{\@title@aux\@title@aux@cleared}{}{%
2688
\expandafter\frontmatter@footnote\expandafter{\@title@aux}%
2691
\frontmatter@title@below
2694
\appdef\let@mark{\let\\\relax}%
2695
\def\frontmatter@title@above{}%
2696
\def\frontmatter@title@format{}%
2697
\def\frontmatter@title@below{\addvspace{\baselineskip}}%
2698
\def\frontmatter@author@produce@script{%
2700
\let\@author@present\@author@present@script
2701
\frontmatterverbose@sw{\typeout{\string\frontmatter@author@produce@script:}\say\@AAC@list\say\@AFF@list\say\@AFG@list}{}%
2704
\let\AF@opr \@gobble
2705
\def\AU@opr{\@author@count\@tempcnta}%
2706
\def\CO@opr{\@collaboration@count\AU@temp\@tempcnta}%
2708
\expandafter\CO@opr\@author@cleared
2710
\frontmatter@authorformat
2711
\let\AF@opr \@affilID@def
2712
\let\AU@opr \@author@present
2713
\def\CO@opr{\@collaboration@present\AU@temp}%
2714
\set@listcomma@list\AU@temp
2720
\frontmatter@above@affiliation@script
2721
\let\AFF@opr \@affil@script
2723
\frontmatter@footnote@produce
2728
\def\@author@count#1{%
2732
\def\@collaboration@present#1#2#3#4{%
2735
\frontmatter@collaboration@above
2738
\@author@present{}{(\ignorespaces#3\unskip)}{#4}%
2741
\set@listcomma@list#1%
2743
\def\frontmatter@collaboration@above{}%
2744
\def\@collaboration@count#1#2{%
2745
\appdef@eval#1{\the#2}#2\z@
2748
\def\@affilID@def{\def\@affilID@temp}%
2749
\let\@affilID@temp\@empty
2750
\def\affil@script#1#2#3{%
2751
\def\@tempifx{#1}\@ifx{\@tempifx\@tempa}{%
2755
\def\@thefnmark{#1}\@makefnmark\ignorespaces
2757
\@if@empty{#3}{}{\frontmatter@footnote{#3}}%
2763
\def\@affil@script#1#2#3#4{%
2767
\frontmatter@affiliationfont
2768
\@ifnum{\c@affil<\affil@cutoff}{}{%
2769
\def\@thefnmark{#1}\@makefnmark
2772
\@if@empty{#4}{}{\frontmatter@footnote{#4}}%
2777
\let\affil@cutoff\@ne
2778
\def\@author@present@script#1#2#3{%
2780
\gdef\comma@space{\textsuperscript{,\,}}%
2781
\doauthor{#2}{#3}{\@affil@present@script}%
2783
\advance\@tempcnta\m@ne
2785
\def\@affilcomma#1#2{%
2796
,\,\@affilcomma{#2}%
2801
\def\@affil@present@script{%
2803
\expandafter\@affil@present@script@\@affilID@temp\relax
2805
\def\@affil@present@script@#1{%
2807
\@ifx{\@tempa\@empty}{%
2808
\aftergroup\false@sw
2810
\textsuperscript{\expandafter\@affilcomma\@tempa\relax\relax}%
2814
\@ifnum{#1=\z@}{}{\appdef\@tempa{{#1}}}%
2815
\@affil@present@script@
2818
\@provide\@author@parskip{\z@skip}%
2819
\def\frontmatter@author@produce@group{%
2821
\let\@author@present\@author@present@group
2822
\frontmatter@authorformat
2823
\frontmatterverbose@sw{\typeout{\string\frontmatter@author@produce@group:}\say\@AAC@list\say\@AFF@list\say\@AFG@list}{}%
2825
\set@listcomma@list\AU@temp
2826
\def\CO@opr{\@collaboration@present\AU@temp}%
2827
\let\AFG@opr \affils@present@group
2828
\let\@listcomma\relax
2830
\frontmatter@footnote@produce
2833
\frontmatter@authorbelow
2835
\@provide\frontmatter@authorbelow{}%
2836
\def\affils@present@group#1{%
2840
\let\AU@opr \@undefined
2841
\let\CO@opr \@undefined
2842
\def\AF@opr{\@affilID@count\AF@temp\@tempcnta}%
2844
\@ifnum{\@tempcnta=\z@}{}{%
2846
\frontmatter@above@affilgroup
2847
\set@listcomma@count\@tempcnta
2848
\let\AU@opr \@undefined
2849
\let\CO@opr \@undefined
2850
\def\AF@opr{\@affilID@match\AF@temp}%
2855
\frontmatter@above@affiliation
2856
\frontmatter@affiliationfont
2857
\let\\\frontmatter@addressnewline
2859
\@tfor\AF@temp:=#1\do{%
2860
\expandafter\@ifx\expandafter{\expandafter\z@\AF@temp}{}{%
2861
\advance\@tempcnta\@ne
2864
\@ifnum{\@tempcnta=\tw@}{%
2865
\let\@listcomma\relax
2870
\tightenlines@sw{}{%
2873
\appdef\after@address\par
2875
\let\AFF@opr \@affil@group
2876
\do@affil@fromgroup\@AFF@list#1\relax
2882
\def\def@after@address{\def\after@address{\@listcomma\ \@listand}}%
2883
\def\def@after@address@empty{\let\after@address\@empty}%
2884
\def\@affilID@count#1#2#3{%
2886
\@ifx{\@tempifx#1}{%
2887
\def\AU@opr{\@author@count#2}%
2889
\let\AU@opr \@author@gobble
2891
\let\CO@opr \@collaboration@gobble
2893
\def\@affilID@match#1#2{%
2895
\@ifx{\@tempifx#1}{%
2896
\let\AU@opr \@author@present
2898
\let\AU@opr \@author@gobble
2900
\let\CO@opr \@collaboration@gobble
2902
\def\do@affil@fromgroup#1#2{%
2905
\@ifnum{\z@=\count@}{}{#1}%
2906
\do@affil@fromgroup#1%
2909
\def\@affil@group#1#2#3#4{%
2910
\@ifnum{#1=\count@}{%
2912
\@ifx{\@tempa\blankaffiliation}{}{%
2915
\frontmatter@footnote{#4}%
2919
\advance\@tempcnta\m@ne
2922
\def\@author@present@group#1#2#3{%
2923
\gdef\comma@space{\gdef\comma@space{\textsuperscript{,\,}}}%
2924
\doauthor{#2}{#3}{\@affil@present@group}%
2925
\advance\@tempcnta\m@ne
2927
\def\@affil@present@group{%
2928
\aftergroup\false@sw
2930
\def\@pacs@produce#1{%
2933
\frontmatter@PACS@format
2938
\class@warn{\PACS@warn}%
2942
\def\PACS@warn{If you want your PACS to appear in your output, use document class option showpacs}%
2943
\def\@keywords@produce#1{%
2946
\frontmatter@keys@format
2951
\class@warn{If you want your keywords to appear in your output, use document class option showkeys}%
2955
\def\frontmatter@footnote@produce@footnote{%
2956
\let\@TBN@opr\present@FM@footnote
2958
\global\let\@FMN@list\@empty
2960
\def\present@FM@footnote#1#2{%
2962
\csname c@\@mpfn\endcsname#1\relax
2963
\def\@thefnmark{\frontmatter@thefootnote}%
2964
\frontmatter@footnotetext{#2}%
2967
\def\frontmatter@footnote@produce@endnote{%
2969
\appdef\frontmatter@init{%
2970
\@ifxundefined\title@column {\let\title@column\@empty}{}%
2971
\@ifxundefined\preprintsty@sw {\@booleanfalse\preprintsty@sw}{}%
2972
\@ifxundefined\frontmatter@footnote@produce{\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote}{}%
2973
\@ifxundefined\do@output@MVL {\let\do@output@MVL\@firstofone}{}%
2974
\@ifxundefined\comma@space {\let\comma@space\@empty}{}%
2976
\def\frontmatter@thefootnote{%
2977
\altaffilletter@sw{\@alph}{\@fnsymbol}{\csname c@\@mpfn\endcsname}%
2979
\@ifx{\altaffilletter@sw\@undefined}{\@booleantrue\altaffilletter@sw}{}%
2980
\def\frontmatter@makefnmark{%
2982
\normalfont\@thefnmark
2985
\long\def\frontmatter@makefntext#1{%
2988
\Hy@raisedlink{\hyper@anchorstart{frontmatter.\expandafter\the\csname c@\@mpfn\endcsname}\hyper@anchorend}%
2992
\def\frontmatter@setup{}%
2993
\def\frontmatter@RRAPformat#1{%
2996
\frontmatter@RRAP@format
3000
\def\punct@RRAP{; }%
3001
\def\produce@RRAP#1{%
3003
\@ifvmode{\leavevmode}{\unskip\punct@RRAP\ignorespaces}%
3007
\def\frontmatter@authorformat{}%
3008
\def\frontmatter@above@affilgroup{}%
3009
\def\frontmatter@above@affiliation{}%
3010
\def\frontmatter@above@affiliation@script{}%
3011
\def\frontmatter@affiliationfont{\itshape\selectfont}%
3012
\def\frontmatter@RRAP@format{}%
3013
\def\frontmatter@PACS@format{}%
3014
\def\frontmatter@keys@format{}%
3015
\def\frontmatter@finalspace{\addvspace{18\p@}}
3016
\def\frontmatter@addressnewline{%
3017
\@ifhmode{\skip@\lastskip\unskip\unpenalty\break\hskip\skip@}{}%
3020
\def\frontmatter@preabstractspace{5.5\p@}
3021
\def\frontmatter@postabstractspace{6.5\p@}
3022
\def\aftermaketitle@chk#1{%
3023
\@ifx{\maketitle\relax}{%
3024
\class@err{\protect#1 must be used before \protect\maketitle}%
3027
\def\ps@titlepage{\ps@empty}%
3028
\def\volumeyear#1{\gdef\@volumeyear{#1}}%
3030
\def\volumenumber#1{\gdef\@volumenumber{#1}}%
3031
\def\@volumenumber{}%
3032
\def\issuenumber#1{\gdef\@issuenumber{#1}}%
3033
\def\@issuenumber{}%
3034
\def\eid#1{\gdef\@eid{#1}}%
3036
\def\startpage#1{\gdef\@startpage{#1}\c@page#1\relax}%
3037
\def\@startpage{\pageref{FirstPage}}%
3038
\def\endpage#1{\gdef\@endpage{#1}}%
3039
\def\@endpage{\pageref{LastPage}}%
3042
\expandafter\section
3045
\csname#1name\endcsname
3047
\let\appendix\appendix@toc
3051
\def\appendix@toc{}%
3052
\def\Dated@name{Dated }%
3053
\def\Received@name{Received }%
3054
\def\Revised@name{Revised }%
3055
\def\Accepted@name{Accepted }%
3056
\def\Published@name{Published }%
3057
\appdef\robustify@contents{%
3058
\let\thanks\@gobble\let\class@warn\@gobble
3059
\def\begin{\string\begin}\def\end{\string\end}%
3061
\@ifxundefined\frontmatter@syntax@sw{\@booleantrue\frontmatter@syntax@sw}{}%
3062
\frontmatter@syntax@sw{%
3063
\let\title \frontmatter@title
3064
\let\author \frontmatter@author
3065
\let\date \frontmatter@date
3066
\@ifxundefined\@maketitle{%
3067
\let\maketitle \frontmatter@maketitle
3068
\@booleantrue \titlepage@sw
3070
\let\@maketitle \frontmatter@maketitle
3071
\prepdef\maketitle\@author@finish
3073
\let\noaffiliation \frontmatter@noaffiliation
3074
\let\thanks@latex \thanks
3075
\let\thanks \frontmatter@thanks
3077
\let\and \frontmatter@and
3078
\let@environment{titlepage}{frontmatter@titlepage}%
3079
\let@environment{abstract}{frontmatter@abstract}%
3081
\let\noaffiliation\@empty
3085
[2010/07/25/20:33:00 4.1r page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
3087
\newcounter{linecount}
3088
\def\loop@line#1#2{%
3091
\global\advance#1\@ne
3092
\edef\@tempa{\@ifnum{100>#1}{0}{}\@ifnum{10>#1}{0}{}\number#1}%
3093
\@tempa\edef\@tempa{\special{line:\@tempa}}\@tempa
3094
\vrule depth2.5\p@#2\leaders\hrule\hfil
3098
\loopwhile{\loop@line\c@linecount{}\@ifnum{#1>\c@linecount}}%
3101
\loop@line\c@linecount{%
3103
#1\special{foot:#1}\vrule depth2.5\p@\leaders\hrule\hfill
3108
\let\@@topmark\topmark
3109
\let\@@firstmark\firstmark
3110
\let\@@botmark\botmark
3111
\let\@@splitfirstmark\splitfirstmark
3112
\let\@@splitbotmark\splitbotmark
3113
\def\@themark{{}{}{}{}}%
3114
\def\nul@mark{{}{}{}{}\@@nul}%
3115
\def\set@mark@netw@#1#2#3#4#5#6#7{\gdef#1{{#6}{#7}{#4}{#5}}\do@mark}%
3116
\def\set@marktw@#1#2#3#4#5#6{\gdef#1{{#2}{#6}{#4}{#5}}\do@mark}%
3117
\def\set@markthr@@#1#2#3#4#5#6{\gdef#1{{#2}{#3}{#6}{#5}}\do@mark}%
3118
\def\get@mark@@ne#1#2#3#4#5\@@nul{#1}%
3119
\def\get@mark@tw@#1#2#3#4#5\@@nul{#2}%
3120
\def\get@mark@thr@@#1#2#3#4#5\@@nul{#3}%
3121
\def\get@mark@f@ur#1#2#3#4#5\@@nul{#4}%
3122
\def\mark@netw@{\expandafter\set@mark@netw@\expandafter\@themark\@themark}%
3123
\def\marktw@{\expandafter\set@marktw@\expandafter\@themark\@themark}%
3124
\def\markthr@@{\expandafter\set@markthr@@\expandafter\@themark\@themark}%
3125
\def\do@mark{\do@@mark\@themark\nobreak@mark}%
3133
\let\protect\@unexpandable@protect
3139
\@if@sw\if@nobreak\fi{\@ifvmode{\nobreak}{}}{}%
3141
\def\mark@envir{\markthr@@}%
3143
\expandafter\expandafter
3144
\expandafter\get@mark@thr@@
3145
\expandafter\@@botmark
3148
\def\markboth{\mark@netw@}%
3149
\def\markright{\marktw@}%
3151
\expandafter\expandafter
3152
\expandafter\get@mark@@ne
3153
\expandafter\saved@@botmark
3157
\expandafter\expandafter
3158
\expandafter\get@mark@tw@
3159
\expandafter\saved@@firstmark
3162
\let\primitive@output\output
3163
\long\def\@tempa#1\@@nil{#1}%
3165
\expandafter\expandafter
3167
\expandafter \@tempa
3168
\the\primitive@output
3171
\newtoks\output@latex
3172
\output@latex\expandafter{\the\toks@}%
3173
\let\output\output@latex
3174
\primitive@output{\dispatch@output}%
3175
\def\dispatch@output{%
3177
\expandafter\let\expandafter\output@procedure\csname output@\the\outputpenalty\endcsname
3178
\@ifnotrelax\output@procedure{}{%
3179
\expandafter\def\expandafter\output@procedure\expandafter{\the\output@latex}%
3181
\expandafter\@ifx\expandafter{\csname output@-\the\execute@message@pen\endcsname\output@procedure}{%
3182
\let\output@procedure\@message@saved
3184
\ltxgrid@info@sw{\class@info{\string\dispatch@output}\say\output@procedure\saythe\holdinginserts}{}%
3185
\outputdebug@sw{\output@debug}{}%
3188
\def\set@output@procedure#1#2{%
3189
\count@\outputpenalty\advance\count@-#2%
3190
\expandafter\let\expandafter#1\csname output@\the\count@\endcsname
3193
\def\@tempa{\save@message}%
3194
\@ifx{\output@procedure\@tempa}{%
3197
\@ifnum{\outputpenalty=-\save@column@insert@pen}{%
3198
\@ifnum{\holdinginserts>\z@}%
3205
\def\output@debug@{%
3206
\saythe\outputpenalty
3207
\saythe\interlinepenalty
3208
\saythe\brokenpenalty
3210
\saythe\widowpenalty
3211
\saythe\displaywidowpenalty
3212
\saythe\predisplaypenalty
3213
\saythe\interdisplaylinepenalty
3214
\saythe\postdisplaypenalty
3217
\saythe\pagegrid@col
3218
\saythe\pagegrid@cur
3219
\saythe\insertpenalties
3223
\saythe{\badness\@cclv}%
3230
\showbox\@cclv@saved
3232
\showbox\csname col@1\endcsname
3235
\showbox\footins@saved
3239
\@ifxundefined{\outputdebug@sw}{%
3240
\@booleanfalse\outputdebug@sw
3242
\def\trace@scroll#1{\begingroup\showboxbreadth\maxdimen\showboxdepth\maxdimen\scrollmode#1\endgroup}%
3243
\def\trace@box#1{\trace@scroll{\showbox#1}}%
3244
\prepdef\@outputpage{\@outputpage@head}%
3245
\let\@outputpage@head\@empty
3246
\appdef\@outputpage{\@outputpage@tail}%
3247
\let\@outputpage@tail\@empty
3248
\def\show@box@size#1#2{%
3251
\setbox\z@\vbox{\unvcopy#2\hrule}%
3252
\class@info{Show box size: #1^^J%
3253
(\the\ht\z@\space X \the\wd\z@)
3254
\the\c@page\space\space\the\pagegrid@cur\space\the\pagegrid@col
3259
\def\show@text@box@size{%
3260
\show@box@size{Text column}\@outputbox
3261
\tally@box@size@sw{%
3262
\@ifdim{\wd\@outputbox>\z@}{%
3263
\dimen@\ht\@outputbox\divide\dimen@\@twopowerfourteen
3264
\advance\dimen@-\dp\csname box@size@\the\pagegrid@col\endcsname
3265
\@ifdim{\dimen@>\z@}{%
3266
\advance\dimen@ \ht\csname box@size@\the\pagegrid@col\endcsname
3267
\global\ht\csname box@size@\the\pagegrid@col\endcsname\dimen@
3269
\class@info{Column: \the\dimen@}%
3273
\global\dp\csname box@size@\the\pagegrid@col\endcsname\z@
3276
\def\show@pagesofar@size{%
3277
\show@box@size{Page so far}\pagesofar
3278
\dimen@\ht\pagesofar\divide\dimen@\@twopowerfourteen
3279
\global\dp\csname box@size@1\endcsname\dimen@
3281
\class@info{Pagesofar: \the\dimen@}%
3284
\@booleanfalse\tally@box@size@sw
3285
\@booleanfalse\show@box@size@sw
3286
\expandafter\newbox\csname box@size@1\endcsname
3287
\expandafter\setbox\csname box@size@1\endcsname\hbox{}%
3288
\expandafter\newbox\csname box@size@2\endcsname
3289
\expandafter\setbox\csname box@size@2\endcsname\hbox{}%
3291
\@tempdima\the\ht\csname box@size@2\endcsname\divide\@tempdima\@twopowertwo\@tempcnta\@tempdima
3292
\@tempdimb\the\ht\csname box@size@1\endcsname\divide\@tempdimb\@twopowertwo\@tempcntb\@tempdimb
3293
\class@info{Total text: Column(\the\@tempcnta pt), Page(\the\@tempcntb pt)}%
3295
\def\natural@output{\toggle@insert{\output@holding}{\output@moving}}%
3296
\output@latex{\natural@output}%
3297
\def\output@holding{%
3298
\csname output@init@\bot@envir\endcsname
3299
\@if@exceed@pagegoal{\unvcopy\@cclv}{%
3300
\setbox\z@\vbox{\unvcopy\@cclv}%
3301
\outputdebug@sw{\trace@box\z@}{}%
3302
\dimen@\ht\@cclv\advance\dimen@-\ht\z@
3303
\dead@cycle@repair\dimen@
3308
\def\@if@exceed@pagegoal#1{%
3310
\setbox\z@\vbox{#1}%
3311
\dimen@\ht\z@\advance\dimen@\dp\z@
3312
\outputdebug@sw{\saythe\dimen@}{}%
3313
\@ifdim{\dimen@>\pagegoal}{%
3314
\setbox\z@\vbox{\@@mark{}\unvbox\z@}%
3315
\splittopskip\topskip
3316
\splitmaxdepth\maxdepth
3319
\setbox\tw@\vsplit\z@ to\pagegoal
3320
\outputdebug@sw{\trace@scroll{\showbox\tw@\showbox\z@}}{}%
3321
\setbox\tw@\vbox{\unvbox\tw@}%
3322
\@ifdim{\ht\tw@=\z@}{%
3323
\ltxgrid@info{Found overly large chunk while preparing to move insertions. Attempting repairs}%
3326
\aftergroup\false@sw
3329
\aftergroup\false@sw
3333
\def\output@moving{%
3335
\@ifnum{\outputpenalty=\do@newpage@pen}{%
3336
\setbox\@cclv\vbox{%
3339
\@ifdim{\ht\z@=\ht\@protection@box}{\box\lastbox}{\unskip}%
3342
\@cclv@nontrivial@sw{%
3343
\expandafter\output@do@prep\csname output@prep@\bot@envir \endcsname
3344
\@makecolumn\true@sw
3345
\expandafter\output@column@do\csname output@column@\thepagegrid\endcsname
3346
\protect@penalty\do@startcolumn@pen
3348
\protect@penalty\do@endpage@pen
3350
\expandafter\let\expandafter\output@post@\csname output@post@\bot@envir \endcsname
3351
\outputdebug@sw{\say\output@post@}{}%
3352
\@ifx{\output@post@\relax}{\output@post@document}{\output@post@}%
3357
\global\@mparbottom\z@
3358
\global\@textfloatsheight\z@
3360
\def\output@do@prep#1{%
3361
\outputdebug@sw{\class@info{Prep: \string#1}}{}%
3362
\@ifx{#1\relax}{\output@prep@document}{#1}%
3364
\def\output@column@do#1{%
3365
\outputdebug@sw{\class@info{Output column: \string#1}}{}%
3366
\@ifx{#1\relax}{\output@column@one}{#1}%
3368
\def\void@cclv{\begingroup\setbox\z@\box\@cclv\endgroup}%
3369
\def\remove@lastbox{\setbox\z@\lastbox}%
3370
\def\@cclv@nontrivial@sw{%
3371
\@ifx@empty\@toplist{%
3372
\@ifx@empty\@botlist{%
3377
\setbox\z@\vbox{\unvcopy\@cclv}%
3378
\@ifdim{\ht\z@=\topskip}{%
3379
\setbox\z@\vbox\bgroup
3382
\dimen@\lastskip\unskip
3383
\@ifdim{\ht\z@=\ht\@protection@box}{%
3384
\advance\dimen@\ht\z@
3385
\@ifdim{\dimen@=\topskip}{%
3388
\aftergroup\false@sw
3391
\aftergroup\false@sw
3400
\@ifdim{\ht\z@=\z@}{%
3401
\ltxgrid@info{Found trivial column. Discarding it}%
3402
\outputdebug@sw{\trace@box\@cclv}{}%
3419
\def\protect@penalty#1{\protection@box\penalty-#1\relax}%
3420
\newbox\@protection@box
3421
\setbox\@protection@box\vbox to1986sp{\vfil}%
3422
\def\protection@box{\nointerlineskip\copy\@protection@box}%
3423
\def\dead@cycle@repair#1{%
3424
\expandafter\do@@mark
3431
\@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}%
3433
\def\dead@cycle@repair@protected#1{%
3434
\expandafter\do@@mark
3442
\advance#1-\ht\@protection@box
3444
\protection@box % Reinsert protection box
3445
\@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}%
3449
\expandafter\do@@mark
3454
\@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}%
3456
\def\output@init@document{%
3457
\ltxgrid@info@sw{\class@info{\string\output@init@document}}{}%
3460
\def\output@prep@document{%
3461
\ltxgrid@foot@info@sw{\class@info{\string\output@prep@document}\trace@scroll{\showbox\footins\showbox\footsofar}}{}%
3462
\@ifvoid\footsofar{%
3464
\global\setbox\footins\vbox\bgroup
3466
\@ifvoid\footins{}{%
3471
\ltxgrid@foot@info@sw{\trace@box\footins}{}%
3474
\def\output@post@document{}%
3475
\let\@opcol\@undefined
3476
\def\@makecolumn#1{%
3477
\ltxgrid@foot@info@sw{\class@info{\string\@makecolumn\string#1}}{}%
3478
\setbox\@outputbox\vbox\bgroup
3479
\boxmaxdepth\@maxdepth
3484
\xdef\@freelist{\@freelist\@midlist}\global\let\@midlist\@empty
3488
\@combineinserts\@outputbox\footins
3490
\combine@foot@inserts\footsofar\footins
3492
\set@adj@colht\dimen@
3495
\setbox\@outputbox\vbox to\dimen@\bgroup
3497
\dimen@\dp\@outputbox
3503
\global\maxdepth\@maxdepth
3505
\let\@makespecialcolbox\@undefined
3506
\def\@combineinserts#1#2{%
3507
\ltxgrid@foot@info@sw{\class@info{\string\@combineinserts\string#1\string#2}\trace@box#2}{}%
3508
\setbox#1\vbox\bgroup
3511
\dimen@\ht#2\advance\dimen@\dp#2\advance\dimen@\skip#2%
3512
\show@box@size{Combining inserts}#2%
3514
\setbox\z@\vbox{\footnoterule}\dimen@i\ht\z@
3517
\cleaders\box\z@\vskip\dimen@i\kern-\dimen@i
3518
\csname combine@insert@\the\pagegrid@col\endcsname#2%
3520
\kern-\dimen@\kern\dimen@
3523
\ltxgrid@foot@info@sw{\trace@box#1}{}%
3525
\def\combine@insert@tw@#1{%
3526
\compose@footnotes@two#1\@ifvbox{#1}{\unvbox}{\box}#1%
3528
\def\combine@insert@@ne#1{%
3529
\compose@footnotes@one#1\@ifvbox{#1}{\unvbox}{\box}#1%
3531
\def\twocolumn@grid@setup{%
3532
\expandafter\let\csname combine@insert@1\endcsname\combine@insert@tw@
3533
\expandafter\let\csname combine@insert@2\endcsname\combine@insert@@ne
3535
\def\onecolumn@grid@setup{%
3536
\expandafter\let\csname combine@insert@1\endcsname\combine@insert@@ne
3537
\expandafter\let\csname combine@insert@2\endcsname\combine@insert@@ne
3539
\let\columngrid@setup\onecolumn@grid@setup
3541
\appdef\@floatplacement{%
3542
\global\@fpmin\@fpmin
3544
\mathchardef\pagebreak@pen=\@M
3545
\expandafter\let\csname output@-\the\pagebreak@pen\endcsname\relax
3546
\mathchardef\do@startcolumn@pen=10005
3547
\@namedef{output@-\the\do@startcolumn@pen}{\do@startcolumn}%
3548
\def\do@startcolumn{%
3549
\setbox\@cclv\vbox{\unvbox\@cclv\remove@lastbox\unskip}%
3550
\clearpage@sw{\@clearfloatplacement}{\@floatplacement}%
3552
\@booleanfalse\pfloat@avail@sw
3555
\@booleanfalse\float@avail@sw
3556
\@tryfcolumn\test@colfloat
3557
\float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}%
3560
\setbox\@cclv\vbox{\unvbox\@outputbox\unvbox\@cclv}%
3561
\outputpenalty-\pagebreak@pen
3566
\let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b
3571
\outputpenalty\do@newpage@pen
3575
\check@deferlist@stuck\do@startcolumn
3578
\def\@scolelt#1{\def\@currbox{#1}\@addtonextcol}%
3579
\def\test@colfloat#1{%
3580
\csname @floatselect@sw@\thepagegrid\endcsname#1{}{\@testtrue}%
3581
\@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}%
3583
\def\@addtonextcol{%
3586
\@setfloattypecounts
3587
\csname @floatselect@sw@\thepagegrid\endcsname\@currbox{%
3588
\@ifnum{\@fpstype=8 }{}{%
3589
\@ifnum{\@fpstype=24 }{}{%
3591
\@reqcolroom \ht\@currbox
3592
\advance \@reqcolroom \@textmin
3593
\advance \@reqcolroom \vsize % take into account split insertions
3594
\advance \@reqcolroom -\pagegoal
3595
\@ifdim{\@colroom>\@reqcolroom}{%
3597
\@ifnum{\@colnum>\z@}{%
3598
\@bitor\@currtype\@deferlist
3599
\@if@sw\if@test\fi{}{%
3607
\@if@sw\if@insert\fi{}{%
3608
\@cons\@deferlist\@currbox
3612
\mathchardef\do@startpage@pen=10006
3613
\@namedef{output@-\the\do@startpage@pen}{\do@startpage}%
3615
\setbox\@cclv\vbox{\unvbox\@cclv\remove@lastbox\unskip}%
3616
\clearpage@sw{\@clearfloatplacement}{\@dblfloatplacement}%
3618
\@booleanfalse\pfloat@avail@sw
3620
\@booleanfalse\float@avail@sw
3621
\@tryfcolumn\test@dblfloat
3622
\float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}%
3625
\global\setbox\pagesofar\vbox{\unvbox\pagesofar\unvbox\@outputbox}%
3626
\@output@combined@page
3629
\@booleanfalse\float@avail@sw
3630
\let\@elt\@sdblcolelt
3631
\let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b
3633
\@ifdim{\@colht=\textheight}{% No luck...
3634
\pfloat@avail@sw{% ...but a float *was* available!
3636
\ltxgrid@warn{Forced dequeueing of floats stalled}%
3638
\ltxgrid@warn{Dequeueing of floats stalled}%
3645
\check@deferlist@stuck\do@startpage
3648
\def\@output@combined@page{%
3649
\@combinepage\true@sw
3652
\global\pagegrid@cur\@ne
3653
\protect@penalty\do@startpage@pen
3655
\def\@sdblcolelt#1{\def\@currbox{#1}\@addtodblcol}%
3656
\def\test@dblfloat#1{%
3657
\@if@notdblfloat{#1}{\@testtrue}{}%
3658
\@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}%
3660
\def\@if@notdblfloat#1{\@ifdim{\wd#1<\textwidth}}%
3661
\@booleanfalse\forcefloats@sw
3664
\@if@notdblfloat{\@currbox}{%
3667
\@setfloattypecounts
3669
\@bitor \@currtype \@deferlist
3670
\@if@sw\if@test\fi{%
3674
\aftergroup\@booleantrue\aftergroup\float@avail@sw
3675
\@flsetnum \@dbltopnum
3676
\@ifnum{\@dbltopnum>\z@}{%
3677
\@ifdim{\@dbltoproom>\ht\@currbox}{%
3680
\@ifnum{\@fpstype<\sixt@@n}{%
3682
\advance \@dbltoproom \@textmin
3683
\@ifdim{\@dbltoproom>\ht\@currbox}{%
3701
\@tempdima -\ht\@currbox
3703
-\@ifx{\@dbltoplist\@empty}{\dbltextfloatsep}{\dblfloatsep}%
3704
\global \advance \@dbltoproom \@tempdima
3705
\global \advance \@colht \@tempdima
3706
\global \advance \@dbltopnum \m@ne
3707
\@cons \@dbltoplist \@currbox
3709
\@cons \@deferlist \@currbox
3713
\def\@tryfcolumn#1{%
3714
\global\@booleanfalse\fcolmade@sw
3715
\@ifx@empty\@deferlist{}{%
3716
\global\let\@trylist\@deferlist
3717
\global\let\@failedlist\@empty
3719
\dimen@\vsize\advance\dimen@-\pagegoal\@ifdim{\dimen@>\z@}{%
3720
\advance\@fpmin-\dimen@
3722
\def\@elt{\@xtryfc#1}\@trylist
3725
\global\setbox\@outputbox\vbox{\vskip \@fptop}%
3726
\let \@elt \@wtryfc \@flsucceed
3727
\global\setbox\@outputbox\vbox{\unvbox\@outputbox
3728
\unskip \vskip \@fpbot
3731
\xdef\@deferlist{\@failedlist\@flfail}%
3732
\xdef\@freelist{\@freelist\@flsucceed}%
3737
\global\setbox\@outputbox\vbox{\unvbox\@outputbox
3738
\box #1\vskip\@fpsep
3742
\@next\reserved@a\@trylist{}{}% trim \@trylist. Ugly!
3743
\@currtype \count #2%
3744
\divide\@currtype\@xxxii\multiply\@currtype\@xxxii
3745
\@bitor \@currtype \@failedlist
3748
\@ifdim{\ht #2>\@colht }{\@testtrue}{}%
3749
\@if@sw\if@test\fi{%
3750
\@cons\@failedlist #2%
3753
\gdef\@flsucceed{\@elt #2}%
3754
\global\let\@flfail\@empty
3756
\def \@elt {\@ztryfc#1}\@trylist
3757
\@ifdim{\@tempdima >\@fpmin}{%
3758
\global\@booleantrue\fcolmade@sw
3760
\@cons\@failedlist #2%
3769
\@tempcnta \count#2%
3770
\divide\@tempcnta\@xxxii\multiply\@tempcnta\@xxxii
3771
\@bitor \@tempcnta {\@failedlist \@flfail}%
3774
\@tempdimb\@tempdima
3775
\advance\@tempdimb \ht#2\advance\@tempdimb\@fpsep
3776
\@ifdim{\@tempdimb >\@colht}{%
3779
\@if@sw\if@test\fi{%
3782
\@cons\@flsucceed #2%
3783
\@tempdima\@tempdimb
3788
\ifx \@nodocument\relax
3790
\global \@noskipsecfalse
3795
\global \@inlabelfalse
3797
\if@nobreak \@nobreakfalse \everypar{}\fi
3804
\penalty-\pagebreak@pen
3811
\penalty-\pagebreak@pen
3812
\global\@booleantrue\clearpage@sw
3813
\protect@penalty\do@startcolumn@pen
3814
\protect@penalty\do@endpage@pen
3817
\global\@booleanfalse\clearpage@sw
3820
\def\cleardoublepage{%
3822
\@if@sw\if@twoside\fi{%
3828
\@booleanfalse\clearpage@sw
3829
\mathchardef\do@endpage@pen=10007
3830
\@namedef{output@-\the\do@endpage@pen}{\csname end@column@\thepagegrid\endcsname}%
3831
\mathchardef\do@newpage@pen=10001
3832
\expandafter\let\csname output@-\the\do@newpage@pen\endcsname\relax
3833
\def\@clearfloatplacement{%
3834
\global\@topnum \maxdimen
3835
\global\@toproom \maxdimen
3836
\global\@botnum \maxdimen
3837
\global\@botroom \maxdimen
3838
\global\@colnum \maxdimen
3839
\global\@dbltopnum \maxdimen
3840
\global\@dbltoproom \maxdimen
3841
\global\@textmin \z@
3843
\let\@testfp\@gobble
3844
\appdef\@setfloattypecounts{\@fpstype16\advance\@fpstype\m@ne}%
3846
\let\@doclearpage\@undefined
3847
\let\@makefcolumn\@undefined
3848
\let\@makecol\@undefined
3849
\def\clr@top@firstmark{%
3850
\global\let\saved@@topmark\@undefined
3851
\global\let\saved@@firstmark\@empty
3852
\global\let\saved@@botmark\@empty
3855
\def\set@top@firstmark{%
3856
\@ifxundefined\saved@@topmark{\expandafter\gdef\expandafter\saved@@topmark\expandafter{\@@topmark}}{}%
3857
\@if@empty\saved@@firstmark{\expandafter\gdef\expandafter\saved@@firstmark\expandafter{\@@firstmark}}{}%
3858
\@if@empty\@@botmark{}{\expandafter\gdef\expandafter\saved@@botmark\expandafter{\@@botmark}}%
3860
\appdef\@outputpage@tail{%
3865
\@yfloat\width@float{#1}%
3867
\@ifxundefined@cs{fps@#1}{}{\expandafter\let\expandafter\fps@\csname fps@#1\endcsname}%
3868
\expandafter\@argswap\expandafter{\expandafter[\fps@]}{\@yfloat\width@float{#1}}%
3872
\@ifnum{\pagegrid@col=\@ne}{%
3876
\@yfloat\widthd@float{#1}%
3878
\@ifxundefined@cs{fpsd@#1}{}{\expandafter\let\expandafter\fpsd@\csname fpsd@#1\endcsname}%
3879
\expandafter\@argswap\expandafter{\expandafter[\fpsd@]}{\@yfloat\widthd@float{#1}}%
3883
\def\@yfloat#1#2[#3]{%
3885
\hsize#1\linewidth\hsize
3886
\let\set@footnotewidth\@empty
3887
\minipagefootnote@init
3891
\def\width@float{\columnwidth}%
3892
\def\widthd@float{\textwidth}%
3895
\check@currbox@count
3899
\@ifnum{\pagegrid@col=\@ne}{%
3903
\@iffpsbit\@ne{\global\advance\count\@currbox\m@ne}{}%
3904
\@iffpsbit\f@ur{\global\advance\count\@currbox-4\relax}{}%
3905
\global\wd\@currbox\textwidth % Klootch
3906
\check@currbox@count
3911
\minipagefootnote@here
3914
\@ifnum{\@floatpenalty <\z@}{%
3916
\@cons\@currlist\@currbox
3917
\@ifnum{\@floatpenalty <-\@Mii}{%
3918
\do@output@cclv{\@add@float}%
3920
\vadjust{\do@output@cclv{\@add@float}}%
3925
\newcommand\float@end@float{%
3927
\global\setbox\@currbox\float@makebox\columnwidth
3928
\let\@endfloatbox\relax
3931
\newcommand\float@end@ltx{%
3933
\global\setbox\@currbox\float@makebox\columnwidth
3934
\check@currbox@count
3937
\newcommand\newfloat@float[3]{%
3938
\@namedef{ext@#1}{#3} %!
3939
\let\float@do=\relax
3940
\xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}%
3942
\floatplacement{#1}{#2}%
3943
\@ifundefined{fname@#1}{\floatname{#1}{#1}}{} %!
3944
\expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}%
3945
\addtocounter{float@type}{\value{float@type}} %!
3947
\expandafter\edef\csname fnum@#1\endcsname{%
3948
\expandafter\noexpand\csname fname@#1\endcsname{} %!
3949
\expandafter\noexpand\csname the#1\endcsname
3955
\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}{}%
3958
\newcommand\newfloat@ltx[3]{%
3959
\@namedef{ext@#1}{#3}%
3960
\let\float@do=\relax
3961
\xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}%
3963
\floatplacement{#1}{#2}%
3964
\@ifundefined{fname@#1}{\floatname{#1}{#1}}{}%
3965
\expandafter\edef\csname ftype@#1\expandafter\endcsname\expandafter{\the\c@float@type}%
3966
\addtocounter{float@type}{\value{float@type}}%
3968
\expandafter\edef\csname fnum@#1\endcsname{%
3969
\expandafter\noexpand\csname fname@#1\endcsname{}%
3970
\expandafter\noexpand\csname the#1\endcsname
3976
\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}{}%
3979
\appdef\document@inithook{%
3980
\@ifxundefined\newfloat{}{%
3981
\@ifx{\float@end\float@end@float}{%
3982
\@ifx{\newfloat\newfloat@float}{\true@sw}{\false@sw}%
3985
\class@warn{Repair the float package}%
3986
\let\float@end\float@end@ltx
3987
\let\newfloat\newfloat@ltx
3989
\class@warn{Failed to patch the float package}%
3995
\@tempcnta\count\@currbox
3996
\divide\@tempcnta#1\relax
3997
\@ifodd\@tempcnta{\aftergroup\true@sw}{\aftergroup\false@sw}%
4000
\def\check@currbox@count{%
4001
\@ifnum{\count\@currbox>\z@}{%
4002
\count@\count\@currbox\divide\count@\sixt@@n\multiply\count@\sixt@@n
4003
\@tempcnta\count\@currbox\advance\@tempcnta-\count@
4004
\@ifnum{\@tempcnta=\z@}{%
4005
\ltxgrid@warn{Float cannot be placed}%
4007
\expandafter\tally@float\expandafter{\@captype}%
4011
\providecommand\minipagefootnote@init{}%
4012
\providecommand\minipagefootnote@here{}%
4013
\providecommand\tally@float[1]{}%
4014
\let\@specialoutput\@undefined
4016
\@pageht\ht\@cclv\@pagedp\dp\@cclv
4018
\@next\@currbox\@currlist{%
4019
\csname @floatselect@sw@\thepagegrid\endcsname\@currbox{%
4020
\@ifnum{\count\@currbox>\z@}{%
4021
\advance \@pageht \@pagedp
4022
\advance \@pageht \vsize \advance \@pageht -\pagegoal
4029
\@cons\@deferlist\@currbox
4032
\@ifnum{\outputpenalty<\z@}{%
4033
\@if@sw\if@nobreak\fi{%
4036
\addpenalty \interlinepenalty
4041
\let\@reinserts\@undefined
4042
\def \@addtocurcol {%
4044
\@setfloattypecounts
4050
\advance \@textmin \@textfloatsheight
4051
\@reqcolroom \@pageht
4052
\ifdim \@textmin>\@reqcolroom
4053
\@reqcolroom \@textmin
4055
\advance \@reqcolroom \ht\@currbox
4056
\ifdim \@colroom>\@reqcolroom
4059
\@bitor\@currtype\@deferlist
4062
\@bitor\@currtype\@botlist
4066
\ifodd \count\@currbox
4067
\advance \@reqcolroom \intextsep
4068
\ifdim \@colroom>\@reqcolroom
4069
\global \advance \@colnum \m@ne
4070
\global \advance \@textfloatsheight \ht\@currbox
4071
\global \advance \@textfloatsheight 2\intextsep
4072
\@cons \@midlist \@currbox
4078
\addpenalty \interlinepenalty
4081
\unvbox\@currbox %AO
4082
\penalty\interlinepenalty
4084
\ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
4102
\@cons\@deferlist\@currbox
4106
\let\@twocolumntrue\@twocolumnfalse
4107
\def\@addmarginpar{%
4108
\@next\@marbox\@currlist{%
4109
\@cons\@freelist\@marbox\@cons\@freelist\@currbox
4111
\setbox\@marbox\hb@xt@\columnwidth{%
4112
\csname @addmarginpar@\thepagegrid\endcsname{%
4113
\hskip-\marginparsep\hskip-\marginparwidth
4116
\hskip\columnwidth\hskip\marginparsep
4121
\setbox\z@\box\@currbox
4122
\@tempdima\@mparbottom
4123
\advance\@tempdima -\@pageht
4124
\advance\@tempdima\ht\@marbox
4125
\@ifdim{\@tempdima >\z@}{%
4126
\@latex@warning@no@line {Marginpar on page \thepage\space moved}%
4130
\global\@mparbottom\@pageht
4131
\global\advance\@mparbottom\@tempdima
4132
\global\advance\@mparbottom\dp\@marbox
4133
\global\advance\@mparbottom\marginparpush
4134
\advance\@tempdima -\ht\@marbox
4135
\global\setbox \@marbox
4136
\vbox {\vskip \@tempdima
4138
\global \ht\@marbox \z@
4139
\global \dp\@marbox \z@
4144
\hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}%
4146
\newenvironment{turnpage}{%
4147
\def\width@float{\textheight}%
4148
\def\widthd@float{\textheight}%
4149
\appdef\@endfloatbox{%
4150
\@ifxundefined\@currbox{%
4151
\ltxgrid@warn{Cannot rotate! Not a float}%
4153
\setbox\@currbox\vbox to\textwidth{\vfil\unvbox\@currbox\vfil}%
4154
\global\setbox\@currbox\vbox{\rotatebox{90}{\box\@currbox}}%
4159
\def\rotatebox@dummy#1#2{%
4160
\ltxgrid@warn{You must load the graphics or graphicx package in order to use the turnpage environment}%
4163
\appdef\document@inithook{%
4164
\@ifxundefined\rotatebox{\let\rotatebox\rotatebox@dummy}{}%
4166
\@namedef{output@-1073741824}{%
4170
\mathchardef\save@column@pen=10016
4171
\@namedef{output@-\the\save@column@pen}{\save@column}%
4172
\let \@cclv@saved \@holdpg
4173
\let \@holdpg \@undefined
4175
\@ifvoid\@cclv@saved{%
4177
\global\@topmark@saved\expandafter{\@@topmark}%
4179
\global\setbox\@cclv@saved\vbox{%
4180
\@ifvoid\@cclv@saved{}{%
4189
\newtoks\@topmark@saved
4192
\setbox\@cclv\box\@cclv@saved
4195
\mathchardef\save@column@insert@pen=10017
4196
\@namedef{output@-\the\save@column@insert@pen}{\toggle@insert{\savecolumn@holding}{\savecolumn@moving}}%
4197
\def\savecolumn@holding{%
4198
\@if@exceed@pagegoal{\unvcopy\@cclv\remove@lastbox}{%
4199
\setbox\z@\vbox{\unvcopy\@cclv\remove@lastbox}%
4200
\outputdebug@sw{\trace@box\z@}{}%
4201
\dimen@\ht\@cclv\advance\dimen@-\ht\z@
4202
\dead@cycle@repair@protected\dimen@
4207
\def\savecolumn@moving{%
4208
\ltxgrid@info@sw{\class@info{\string\savecolumn@moving}}{}%
4209
\@cclv@nontrivial@sw{%
4214
\@ifvoid\footins{}{%
4215
\ltxgrid@foot@info@sw{\class@info{\string\savecolumn@moving}\trace@scroll{\showbox\footins@saved\showbox\footins}}{}%
4216
\@ifvoid\footins@saved{%
4217
\global\setbox\footins@saved\box\footins
4219
\global\setbox\footins@saved\vbox\bgroup
4220
\unvbox\footins@saved
4225
\ltxgrid@foot@info@sw{\trace@box\footins@saved}{}%
4226
\protect@penalty\save@column@insert@pen
4229
\newbox\footins@saved
4230
\newbox\footins@recovered
4231
\newbox\column@recovered
4232
\mathchardef\save@message@pen=10018
4233
\@namedef{output@-\the\save@message@pen}{\save@message}%
4236
\toks@\expandafter{\@@firstmark}%
4237
\expandafter\gdef\expandafter\@message@saved\expandafter{\the\toks@}%
4238
\expandafter\do@@mark\expandafter{\the\@topmark@saved}%
4240
\gdef\@message@saved{}%
4241
\mathchardef\execute@message@pen=10019
4242
\@namedef{output@-\the\execute@message@pen}{\@message@saved}%
4243
\def\execute@message{%
4244
\@execute@message\save@column@pen
4246
\def\execute@message@insert#1{%
4247
\@execute@message\save@column@insert@pen{%
4248
\setbox \footins \box \footins@saved
4249
\ltxgrid@foot@info@sw{\class@info{\string\execute@message@insert}\trace@box\footins}{}%
4253
\long\def\@execute@message#1#2{%
4255
\dimen@\prevdepth\@ifdim{\dimen@<\z@}{\dimen@\z@}{}%
4259
\toks@{\prep@cclv#2}%
4260
\@@mark{\the\toks@}%
4261
\penalty-\save@message@pen
4262
\setbox\z@\null\dp\z@\dimen@\ht\z@-\dimen@
4263
\nointerlineskip\box\z@
4264
\penalty-\execute@message@pen
4268
\def\do@output@cclv{\execute@message}%
4269
\def\do@output@MVL#1{%
4271
\begingroup\execute@message{\unvbox\@cclv#1}\endgroup
4274
\vadjust{\execute@message{\unvbox\@cclv#1}}%
4276
\@latexerr{\string\do@output@MVL\space cannot be executed in this mode!}\@eha
4283
\@ifnum{\count@=\@M}{%
4290
\def\removestuff{\do@output@MVL{\unskip\unpenalty}}%
4291
\def\removephantombox{%
4299
\penalty\predisplaypenalty
4300
\vskip\abovedisplayskip
4304
\def\addstuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@addstuff{#1}{#2}}}\@tempa}%
4305
\def\@addstuff#1#2{%
4306
\skip@\lastskip\unskip
4307
\count@\lastpenalty\unpenalty
4308
\@if@empty{#1}{}{\penalty#1\relax}%
4309
\@ifnum{\count@=\z@}{}{\penalty\count@}%
4311
\@if@empty{#2}{}{\vskip#2\relax}%
4313
\def\replacestuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@replacestuff{#1}{#2}}}\@tempa}%
4314
\def\@replacestuff#1#2{%
4315
\skip@\lastskip\unskip
4316
\count@\lastpenalty\unpenalty
4318
\@ifnum{\count@>\@M}{}{%
4319
\@ifnum{\count@=\z@}{\count@=#1\relax}{%
4320
\@ifnum{\count@<#1\relax}{}{%
4326
\@ifnum{\count@=\z@}{}{\penalty\count@}%
4329
\@ifdim{\z@>\@tempskipa}{%
4330
\advance\skip@-\@tempskipa
4332
\@ifdim{\skip@>\@tempskipa}{}{%
4339
\def\move@insertions{\global\holdinginserts\z@}%
4340
\def\hold@insertions{\global\holdinginserts\@ne}%
4342
\def\toggle@insert#1#2{%
4343
\@ifnum{\holdinginserts>\z@}{\move@insertions#1}{\hold@insertions#2}%
4345
\def\do@columngrid#1#2{%
4347
\expandafter\let\expandafter\@tempa\csname open@column@#1\endcsname
4348
\@ifx{\relax\@tempa}{%
4349
\ltxgrid@warn{Unknown page grid #1. No action taken}%
4351
\do@output@MVL{\start@column{#1}{#2}}%
4354
\def\start@column#1#2{%
4355
\def\@tempa{#1}\@ifx{\@tempa\thepagegrid}{%
4356
\ltxgrid@info{Already in page grid \thepagegrid. No action taken}%
4358
\expandafter\execute@message@insert
4360
\csname shut@column@\thepagegrid\expandafter\endcsname
4361
\csname open@column@#1\endcsname{#2}%
4366
\def\thepagegrid{one}%
4369
\def\combine@foot@inserts#1#2{%
4370
\ltxgrid@info@sw{\class@info{\string\combine@foot@inserts\string#1\string#2}}{}%
4372
\ltxgrid@foot@info@sw{\trace@box#2}{}\global\setbox#1\box#2%
4374
\global\setbox#1\vbox\bgroup
4375
\ltxgrid@foot@info@sw{\trace@box#1}{}\unvbox#1%
4378
\ltxgrid@foot@info@sw{\trace@box#2}{}\unvbox#2%
4382
\ltxgrid@foot@info@sw{\trace@scroll{\showbox#1\showbox#2}}{}%
4384
\newcommand\onecolumngrid{\do@columngrid{one}{\@ne}}%
4385
\let\onecolumn\@undefined
4386
\def\open@column@one#1{%
4387
\ltxgrid@info@sw{\class@info{\string\open@column@one\string#1}}{}%
4389
\@ifvoid{\footsofar}{}{%
4390
\insert\footins\bgroup\unvbox\footsofar\egroup
4393
\gdef\thepagegrid{one}%
4394
\global\pagegrid@col#1%
4395
\global\pagegrid@cur\@ne
4396
\global\count\footins\@m
4397
\global\divide\count\footins\tw@
4398
\set@column@hsize\pagegrid@col
4401
\def\shut@column@one{%
4402
\ltxgrid@info@sw{\class@info{\string\shut@column@one}}{}%
4403
\@makecolumn\false@sw
4404
\global\setbox\pagesofar\vbox\bgroup
4405
\recover@column\@outputbox\footsofar\column@recovered\footins@recovered
4407
\begingroup\setbox\z@\box\@outputbox\endgroup
4408
\combine@foot@inserts\footsofar\footins
4411
\def\float@column@one{%
4412
\@makecolumn\true@sw
4415
\def\end@column@one{%
4416
\unvbox\@cclv\remove@lastbox
4417
\protect@penalty\do@newpage@pen
4419
\def\output@column@one{%
4422
\def\@addmarginpar@one{%
4423
\@if@sw\if@mparswitch\fi{%
4424
\@ifodd\c@page{\false@sw}{\true@sw}%
4426
\@if@sw\if@reversemargin\fi{\false@sw}{\true@sw}%
4428
\@if@sw\if@reversemargin\fi{\true@sw}{\false@sw}%
4431
\def\@floatselect@sw@one#1{\true@sw}%
4432
\def\onecolumngrid@push{%
4434
\@ifnum{\pagegrid@col=\@ne}{%
4435
\global\let\restorecolumngrid\@empty
4437
\xdef\restorecolumngrid{%
4438
\noexpand\start@column{\thepagegrid}{\the\pagegrid@col}%
4440
\start@column{one}{\@ne}%
4444
\def\onecolumngrid@pop{%
4445
\do@output@MVL{\restorecolumngrid}%
4447
\newcommand\twocolumngrid{\do@columngrid{mlt}{\tw@}}%
4448
\let\twocolumn\@undefined
4449
\let\@topnewpage\@undefined
4450
\def\open@column@mlt#1{%
4451
\ltxgrid@info@sw{\class@info{\string\open@column@mlt\string#1}}{}%
4452
\@ifvoid{\footsofar}{}{%
4453
\insert\footins\bgroup\unvbox\footsofar\egroup
4455
\gdef\thepagegrid{mlt}%
4456
\global\pagegrid@col#1%
4457
\global\pagegrid@cur\@ne
4458
\global\count\footins\@m
4459
\set@column@hsize\pagegrid@col
4462
\def\shut@column@mlt{%
4463
\ltxgrid@info@sw{\class@info{\string\shut@column@mlt}}{}%
4464
\@cclv@nontrivial@sw{%
4465
\@makecolumn\false@sw
4466
\@ifnum{\pagegrid@cur<\pagegrid@col}{%
4467
\expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox
4468
\global\advance\pagegrid@cur\@ne
4473
\@ifnum{\pagegrid@cur>\@ne}{%
4474
\csname balance@\the\pagegrid@col\endcsname
4475
\grid@column\@outputbox{}%
4476
\@combinepage\false@sw
4478
\global\setbox\pagesofar\box\@outputbox
4479
\show@pagesofar@size
4483
\def\float@column@mlt{%
4484
\@output@combined@page
4486
\def\end@column@mlt{%
4487
\@ifx@empty\@toplist{%
4488
\@ifx@empty\@botlist{%
4489
\@ifx@empty\@dbltoplist{%
4490
\@ifx@empty\@deferlist{%
4491
\@ifnum{\pagegrid@cur=\@ne}{%
4508
% true = kick out a column and try again
4510
\@cclv@nontrivial@sw{%
4511
\unvbox\@cclv\remove@lastbox
4513
\unvbox\@cclv\remove@lastbox\unskip\null
4515
\protect@penalty\do@newpage@pen
4516
\protect@penalty\do@endpage@pen
4518
\unvbox\@cclv\remove@lastbox
4521
\def\output@column@mlt{%
4522
\@ifnum{\pagegrid@cur<\pagegrid@col}{%
4523
\expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox
4524
\global\advance\pagegrid@cur\@ne
4526
\set@adj@colht\dimen@
4527
\grid@column\@outputbox{}%
4528
\@output@combined@page
4531
\let\@outputdblcol\@undefined
4532
\def\@floatselect@sw@mlt#1{\@if@notdblfloat{#1}}%
4533
\def\@addmarginpar@mlt{% emits a boolean
4534
\@ifnum{\pagegrid@cur=\@ne}%
4536
\def\set@footnotewidth@one{%
4540
\def\set@footnotewidth@two{\set@footnotewidth@mlt\tw@}%
4541
\def\set@footnotewidth@mlt#1{%
4543
\advance\hsize\columnsep
4545
\advance\hsize-\columnsep
4548
\def\compose@footnotes@one#1{%
4549
\ltxgrid@foot@info@sw{\class@info{\string\compose@footnotes@one\string#1}\trace@box#1}{}%
4551
\let\compose@footnotes\compose@footnotes@one
4552
\def\compose@footnotes@two#1{%
4553
\ltxgrid@foot@info@sw{\class@info{\string\compose@footnotes@two\string#1}\trace@box#1}{}%
4554
\setbox\z@\box\@tempboxa
4555
\let\recover@column\recover@column@null
4556
\let\marry@baselines\@empty
4557
\balance@two#1\@tempboxa
4558
\global\setbox#1\hbox to\textwidth{\box#1\hfil\box\@tempboxa}%
4559
\ltxgrid@foot@info@sw{\trace@box#1}{}%
4561
\let\pagegrid@cur\col@number
4562
\let\col@number\@undefined
4563
\newcount\pagegrid@col
4565
\expandafter\let\csname col@\the\pagegrid@cur\endcsname\@leftcolumn
4566
\let\@leftcolumn\@undefined
4568
\def\pagegrid@init{%
4569
\advance\pagegrid@cur\@ne
4570
\@ifnum{\pagegrid@cur<\pagegrid@col}{%
4571
\csname newbox\expandafter\endcsname\csname col@\the\pagegrid@cur\endcsname
4576
\appdef\class@documenthook{%
4579
\def\grid@column#1#2{%
4580
\ltxgrid@info@sw{\class@info{\string\grid@column\string#1}}{}%
4581
\global\setbox#1\vbox\bgroup
4582
\hb@xt@\textwidth\bgroup
4583
\vrule\@height\z@\@width\z@\@if@empty{#2}{}{\@depth#2}%
4585
\@ifnum{\pagegrid@cur<\pagegrid@col}{\loopwhile{\append@column@\pagegrid@cur\pagegrid@col}}{}%
4591
\def\append@column@#1#2{%
4592
\expandafter\box@column\csname col@\the#1\endcsname
4593
\hfil\vrule\@width\columnseprule\hfil
4598
\ltxgrid@info@sw{\class@info{\string\box@column\string#1}}{}%
4600
\hb@xt@\columnwidth\bgroup
4601
\dimen@\ht#1\@ifdim{\dimen@>\@colht}{\dimen@\@colht}{}%
4602
\count@\vbadness\vbadness\@M
4603
\dimen@ii\vfuzz\vfuzz\maxdimen
4604
\ltxgrid@info@sw{\saythe\@colht\saythe\dimen@}{}%
4605
\vtop to\dimen@\bgroup
4615
\def\marry@baselines{%
4623
\expandafter\box\expandafter\z@\expandafter\endgroup\the\dp\z@\relax
4625
\vskip\marry@skip\relax
4627
\gdef\marry@skip{\z@skip}%
4628
\def\set@marry@skip{%
4630
\skip@\baselineskip\advance\skip@-\topskip
4631
\@ifdim{\skip@>\z@}{%
4632
\xdef\marry@skip{\the\skip@}%
4636
\appdef\document@inithook{%
4637
\@ifxundefined\raggedcolumn@sw{\@booleanfalse\raggedcolumn@sw}{}%
4639
\def\raggedcolumn@skip{%
4640
\vskip\z@\raggedcolumn@sw{\@plus.0001fil\@minus.0001fil}{}\relax
4642
\def\@combinepage#1{%
4643
\ltxgrid@foot@info@sw{\class@info{\string\@combinepage\string#1}}{}%
4644
\@ifvoid\pagesofar{}{%
4645
\setbox\@outputbox\vbox{%
4652
\@ifvoid\footsofar{}{%
4653
\show@box@size{Combining page footnotes}\footsofar
4654
\setbox\footins\box\footsofar
4656
\@combineinserts\@outputbox\footins
4662
\let \@elt \@comflelt
4663
\setbox\@tempboxa \vbox{}%
4665
\setbox\@outputbox \vbox{%
4666
\boxmaxdepth \maxdepth
4667
\unvbox\@tempboxa\unskip
4668
\topfigrule\vskip \textfloatsep
4672
\xdef\@freelist{\@freelist\@toplist}%
4673
\global\let\@toplist\@empty
4677
\setbox\@tempboxa \vbox{}%
4679
\setbox\@outputbox \vbox{%
4681
\vskip \textfloatsep\botfigrule
4682
\unvbox\@tempboxa\unskip
4685
\xdef\@freelist{\@freelist\@botlist}%
4686
\global \let \@botlist\@empty
4688
\def\@combinedblfloats{%
4689
\@ifx@empty\@dbltoplist{}{%
4690
\setbox\@tempboxa\vbox{}%
4691
\let\@elt\@comdblflelt\@dbltoplist
4692
\let\@elt\relax\xdef\@freelist{\@freelist\@dbltoplist}%
4693
\global\let\@dbltoplist\@empty
4694
\setbox\@outputbox\vbox{%
4695
%\boxmaxdepth\maxdepth %% probably not needed, CAR
4696
\unvbox\@tempboxa\unskip
4697
\@ifnum{\@dbltopnum>\m@ne}{\dblfigrule}{}%FIXME: how is \@dbltopnum maintained?
4698
\vskip\dbltextfloatsep
4703
\def\set@column@hsize#1{%
4705
\global\columnwidth\textwidth
4706
\global\advance\columnwidth\columnsep
4707
\global\divide\columnwidth\pagegrid@col
4708
\global\advance\columnwidth-\columnsep
4709
\global\hsize\columnwidth
4710
\global\linewidth\columnwidth
4711
\skip@\baselineskip\advance\skip@-\topskip
4712
\@ifnum{\pagegrid@col>\@ne}{\set@marry@skip}{}%
4715
\set@adj@textheight\@colht
4716
\global\let\enlarge@colroom\@empty
4719
\def\set@adj@textheight#1{%
4720
\ltxgrid@info@sw{\class@info{\string\set@adj@textheight\string#1}\saythe\textheight}{}%
4722
\def\@elt{\adj@page#1}%
4723
\@booleantrue\firsttime@sw\@dbltoplist
4726
\ltxgrid@info@sw{\saythe#1}{}%
4729
\ltxgrid@info@sw{\class@info{\string\set@colroom}}{}%
4730
\set@adj@colht\@colroom
4731
\@if@empty\enlarge@colroom{}{%
4732
\global\advance\@colroom\enlarge@colroom\relax
4733
\ltxgrid@info@sw{\saythe\@colroom}{}%
4735
\@ifdim{\@colroom>\topskip}{}{%
4736
\ltxgrid@info{Not enough room: \string\@colroom=\the\@colroom; increasing to \the\topskip}%
4739
\global\@colroom\@colroom
4743
\global\vsize\@colroom
4744
\ltxgrid@info@sw{\class@info{\string\set@vsize\string\vsize=\string\colroom}\saythe\vsize}{}%
4746
\def\set@adj@colht#1{%
4748
\ltxgrid@info@sw{\class@info{\string\set@adj@colht\string#1-\string\pagesofar}\saythe#1}{}%
4749
\@ifvoid\pagesofar{}{%
4750
\advance#1-\ht\pagesofar\advance#1-\dp\pagesofar
4751
\ltxgrid@info@sw{\class@info{\string\pagesofar}\saythe#1}{}%
4753
\def\@elt{\adj@column#1}%
4754
\@booleantrue\firsttime@sw\@toplist
4755
\@booleantrue\firsttime@sw\@botlist
4758
\def\adj@column#1#2{%
4760
\advance#1-\firsttime@sw{\textfloatsep\@booleanfalse\firsttime@sw}{\floatsep}%
4761
\ltxgrid@info@sw{\class@info{\string\adj@column\string#1-\string#2}\saythe#1}{}%
4765
\advance#1-\firsttime@sw{\dbltextfloatsep\@booleanfalse\firsttime@sw}{\dblfloatsep}%
4766
\ltxgrid@info@sw{\class@info{\string\adj@page\string#1-\string#2}\saythe#1}{}%
4768
\def\set@adj@box#1#2{%
4770
\advance#1-\ht#2\advance#1-\dp#2%
4771
\@booleantrue\temp@sw
4772
\ltxgrid@foot@info@sw{\class@info{\string\set@adj@box\string#2}\saythe#1}{}%
4775
\appdef\@outputpage@tail{%
4776
\set@colht % FIXME: needed?
4777
\@floatplacement % FIXME: needed?
4778
\@dblfloatplacement % FIXME: needed?
4781
\catcode`\1=\cat@letter
4782
\catcode`\2=\cat@letter
4784
\setbox\footins\box\footsofar
4785
\balance@two\col@1\@outputbox
4786
\global\setbox\col@1\box\col@1
4787
\global\setbox\@outputbox\box\@outputbox
4788
\combine@foot@inserts\footsofar\footins
4790
\aftergroup\def\aftergroup\balance@2\expandafter
4791
\endgroup\expandafter{\the\toks@}%
4792
\def\balance@two#1#2{%
4793
\ltxgrid@info@sw{\class@info{\string\balance@two\string#1\string#2}}{}%
4794
\outputdebug@sw{\trace@scroll{\showbox#1\showbox#2}}{}%
4795
\setbox\thr@@\copy\footsofar
4796
\setbox\@ne\vbox\bgroup
4798
\recover@column#1\footsofar\column@recovered\footins@recovered
4799
\@ifvoid{#2}{}{\marry@baselines}%
4802
\recover@column#2\footsofar\column@recovered\footins@recovered
4805
\outputdebug@sw{\trace@scroll{\showbox\@ne}}{}%
4806
\ltxgrid@foot@info@sw{\trace@scroll{\showbox\footsofar}}{}%
4807
\dimen@\ht\@ne\divide\dimen@\tw@
4811
\splittopskip\topskip
4813
\setbox\z@\copy\@ne\setbox\tw@\vsplit\z@ to\dimen@
4814
\remove@depth\z@\remove@depth\tw@
4815
\dimen@ii\ht\tw@\advance\dimen@ii-\ht\z@
4817
\ltxgrid@info@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}%
4818
\@ifdim{\dimen@ii<.5\p@}{%
4819
\@ifdim{\dimen@ii>-.5\p@}%
4826
\@ifdim{\dimen@i<.5\p@}%
4832
\advance\dimen@\@ifdim{\dimen@ii<\z@}{}{-}\dimen@i
4836
\ltxgrid@info@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}%
4837
\@ifdim{\ht\z@=\z@}{%
4838
\@ifdim{\ht\tw@=\z@}%
4844
\ltxgrid@info{Unsatifactorily balanced columns: giving up}%
4847
\global\setbox\footsofar\box\thr@@
4849
\setbox\tw@\vbox{\unvbox\tw@\vskip\z@skip}%
4850
\setbox\z@ \vbox{\unvbox\z@ \vskip\z@skip}%
4852
\dimen@\ht\z@\@ifdim{\dimen@<\ht\tw@}{\dimen@\ht\tw@}{}%
4853
\@ifdim{\dimen@>\@colroom}{\dimen@\@colroom}{}%
4854
\ltxgrid@info@sw{\saythe{\ht\z@}\saythe{\ht\tw@}\saythe\@colroom\saythe\dimen@}{}%
4855
\setbox#1\vbox to\dimen@{\unvbox\tw@\unskip\raggedcolumn@skip}%
4856
\setbox#2\vbox to\dimen@{\unvbox\z@ \unskip\raggedcolumn@skip}%
4857
\outputdebug@sw{\trace@scroll{\showbox#1\showbox#2}}{}%
4859
\def\remove@depth#1{%
4860
\setbox#1\vbox\bgroup
4862
\setbox\z@\vbox\bgroup
4865
\aftergroup\kern\aftergroup-\expandafter
4870
\def\recover@column#1#2#3#4{%
4871
\ltxgrid@info@sw{\class@info{\string\recover@column\string#1\string#2\string#3\string#4}}{}%
4872
\setbox#4\vbox{\unvcopy#1}%
4873
\ltxgrid@foot@info@sw{\trace@scroll{\showbox#4}}{}%
4875
\ltxgrid@foot@info@sw{\saythe\dimen@}{}%
4876
\setbox#4\vbox\bgroup
4878
\dimen@i\lastkern\unkern\advance\dimen@i\lastkern
4879
\@ifdim{\dimen@i=\z@}{%
4880
\dimen@i\lastkern\unkern
4881
\ltxgrid@foot@info@sw{\saythe\dimen@i}{}%
4883
\expandafter\egroup\the\dimen@i\relax
4887
\@ifdim{\dimen@i<\z@}{%
4888
\advance\dimen@\dimen@i
4889
\ltxgrid@foot@info@sw{\saythe\dimen@i\saythe\dimen@}{}%
4890
\splittopskip\z@skip
4891
\global\setbox#3\vsplit#4 to\dimen@
4892
\global\setbox#4\vbox{\unvbox#4}%
4893
\ltxgrid@foot@info@sw{\trace@scroll{\showbox#1\showbox#2\showbox#3\showbox#4}}{}%
4894
\global\setbox#2\vbox\bgroup\unvbox#2\vskip\z@skip\unvbox#4\egroup
4897
\ltxgrid@foot@info@sw{\trace@scroll{\showbox#1\showbox#2\showbox#3\showbox#4}}{}%
4900
\loopwhile{\dimen@\lastskip\@ifdim{\dimen@>\z@}{\unskip\true@sw}{\false@sw}}%
4902
\def\recover@column@null#1#2#3#4{%
4905
\prepdef\@begindocumenthook{%
4906
\open@column@one\@ne
4911
\def\longtable@longtable{%
4913
\ifx\multicols\@undefined\else\ifnum\col@number>\@ne\@twocolumntrue\fi\fi
4914
\if@twocolumn\LT@err{longtable not in 1-column mode}\@ehc\fi
4916
\@ifnextchar[\LT@array{\LT@array[x]}%
4918
\def\longtable@new{%
4920
\@ifnextchar[\LT@array{\LT@array[x]}%
4922
\def\endlongtable@longtable{%
4925
\let\LT@entry\LT@entry@chop
4926
\xdef\LT@save@row{\LT@save@row}}%
4932
{\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
4933
\gdef\expandafter\noexpand
4934
\csname LT@\romannumeral\c@LT@tables\endcsname
4937
\ifx\LT@save@row\LT@@save@row
4939
\LT@warn{Column \@width s have changed\MessageBreak
4940
in table \thetable}%
4943
\endgraf\penalty -\LT@end@pen
4945
\global\@mparbottom\z@
4947
\endgraf\penalty\z@\addvspace\LTpost
4948
\ifvoid\footins\else\insert\footins{}\fi
4950
\def\endlongtable@new{%
4953
\let\LT@entry\LT@entry@chop
4954
\xdef\LT@save@row{\LT@save@row}%
4960
\@if@sw\if@filesw\fi{%
4962
\let\LT@entry\LT@entry@write
4963
\immediate\write\@auxout{%
4964
\gdef\expandafter\noexpand\csname LT@\romannumeral\c@LT@tables\endcsname
4969
\@ifx{\LT@save@row\LT@@save@row}{}{%
4971
Column \@width s have changed\MessageBreak in table \thetable
4976
\box\@ifvoid\LT@lastfoot{\LT@foot}{\LT@lastfoot}%
4977
\global\@mparbottom\z@
4981
\def\LT@start@longtable{%
4982
\let\LT@start\endgraf
4983
\endgraf\penalty\z@\vskip\LTpre
4985
\advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
4986
\advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
4987
\advance\dimen@ \ht\LT@foot
4991
\setbox\tw@\vsplit\tw@ to \ht\@arstrutbox
4992
\setbox\tw@\vbox{\unvbox\tw@}%
4995
\ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi
4997
\ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi
4998
\advance\dimen@ -\pagegoal
4999
\ifdim \dimen@>\z@\vfil\break\fi
5000
\global\@colroom\@colht
5001
\ifvoid\LT@foot\else
5002
\advance\vsize-\ht\LT@foot
5003
\global\advance\@colroom-\ht\LT@foot
5004
\dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@
5007
\ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi
5009
\output{\LT@output}%
5012
\let\LT@start\endgraf
5016
\@ifvoid\LT@firsthead{\LT@top}{\box\LT@firsthead\nobreak}%
5017
\mark@envir{longtable}%
5019
\def\LT@end@hd@ft@longtable#1{%
5021
\ifx\LT@start\endgraf
5022
\LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}%
5025
\LT@get@widths\LT@bchunk
5027
\def\LT@end@hd@ft@new#1{%
5029
\@ifx{\LT@start\endgraf}{%
5030
\LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}%
5032
\global\setbox#1\box\z@
5036
\def\LT@array@longtable[#1]#2{%
5037
\refstepcounter{table}\stepcounter{LT@tables}%
5039
\LTleft\z@ \LTright\fill
5041
\LTleft\fill \LTright\z@
5043
\LTleft\fill \LTright\fill
5045
\let\LT@mcol\multicolumn
5046
\let\LT@@tabarray\@tabarray
5051
\let\\\LT@tabularcr\let\tabularnewline\\%
5052
\def\newpage{\noalign{\break}}%
5053
\def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
5054
\def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
5055
\let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption
5056
\@tempdima\ht\strutbox
5057
\let\@endpbox\LT@endpbox
5058
\ifx\extrarowheight\@undefined
5060
\let\@classz\@tabclassz \let\@classiv\@tabclassiv
5061
\def\@startpbox{\vtop\LT@startpbox}%
5062
\let\@@startpbox\@startpbox
5063
\let\@@endpbox\@endpbox
5064
\let\LT@LL@FM@cr\@tabularcr
5066
\advance\@tempdima\extrarowheight
5068
\let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr
5070
\setbox\@arstrutbox\hbox{\vrule
5071
\@height \arraystretch \@tempdima
5072
\@depth \arraystretch \dp \strutbox
5074
\let\@sharp##\let\protect\relax
5078
\global\advance\c@LT@chunks\@ne
5079
\global\LT@rows\z@\setbox\z@\vbox\bgroup
5081
\tabskip\LTleft \noexpand\halign to\hsize\bgroup
5082
\tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}%
5084
\expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
5086
\m@th\let\par\@empty
5087
\everycr{}\lineskip\z@\baselineskip\z@
5089
\def\LT@LR@l{\LTleft\z@ \LTright\fill}%
5090
\def\LT@LR@r{\LTleft\fill \LTright\z@ }%
5091
\def\LT@LR@c{\LTleft\fill \LTright\fill}%
5092
\def\LT@array@new[#1]#2{%
5093
\refstepcounter{table}\stepcounter{LT@tables}%
5095
\LTleft\fill \LTright\fill
5096
\csname LT@LR@#1\endcsname
5097
\let\LT@mcol\multicolumn
5099
\prepdef\@tabarray{\let\hline\LT@@hl}%
5101
\let\tabularnewline\\%
5102
\def\newpage{\noalign{\break}}%
5103
\def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
5104
\def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
5107
\let\caption\LT@caption
5108
\@tempdima\ht\strutbox
5109
\let\@endpbox\LT@endpbox
5110
\@ifxundefined\extrarowheight{%
5112
\let\@classz\@tabclassz
5113
\let\@classiv\@tabclassiv
5114
\def\@startpbox{\vtop\LT@startpbox}%
5115
\let\@@startpbox\@startpbox
5116
\let\@@endpbox\@endpbox
5117
\let\LT@LL@FM@cr\@tabularcr@LaTeX
5118
\let\@xtabularcr\@xtabularcr@LaTeX
5120
\advance\@tempdima\extrarowheight
5122
\let\@startpbox\LT@startpbox
5123
\let\LT@LL@FM@cr\@arraycr@array
5125
\let\@acoll\@tabacoll
5126
\let\@acolr\@tabacolr
5128
\setbox\@arstrutbox\hbox{%
5130
\@height \arraystretch \@tempdima
5131
\@depth \arraystretch \dp \strutbox
5139
\edef\@preamble{\@preamble}%
5140
\prepdef\@preamble{%
5141
\global\advance\c@LT@chunks\@ne
5143
\setbox\z@\vbox\bgroup
5146
\halign to\hsize\bgroup
5154
\global\let\LT@bchunk\@preamble
5156
\expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
5165
\appdef\table@hook{}%
5166
\def\switch@longtable{%
5167
\@ifpackageloaded{longtable}{%
5168
\@ifx{\longtable\longtable@longtable}{%
5169
\@ifx{\endlongtable\endlongtable@longtable}{%
5170
\@ifx{\LT@start\LT@start@longtable}{%
5171
\@ifx{\LT@end@hd@ft\LT@end@hd@ft@longtable}{%
5172
\@ifx{\LT@array\LT@array@longtable}{%
5180
\class@info{Patching longtable package}%
5182
\class@info{Patching unrecognized longtable package. (Proceeding with fingers crossed)}%
5184
\let\longtable\longtable@new
5185
\let\endlongtable\endlongtable@new
5186
\let\LT@start\LT@start@new
5187
\let\LT@end@hd@ft\LT@end@hd@ft@new
5188
\let\LT@array\LT@array@new
5189
\newenvironment{longtable*}{%
5198
\def\LT@pre{\penalty\z@\vskip\LTpre}%
5199
\def\LT@bot{\nobreak\copy\LT@foot\vfil}%
5200
\def\LT@top{\copy\LT@head\nobreak}%
5201
\def\LT@post{\penalty\z@\addvspace\LTpost\mark@envir{\curr@envir}}%
5203
\setbox\z@\vbox{\null}\dimen@-\ht\z@
5204
\setbox\z@\vbox{\unvbox\z@\LT@bot}\advance\dimen@\ht\z@
5205
\global\advance\vsize-\dimen@
5207
\def\output@init@longtable{\LT@adj}%
5208
\def\output@prep@longtable{\setbox\@cclv\vbox{\unvbox\@cclv\LT@bot}}%
5209
\def\output@post@longtable{\LT@top}%
5210
\let\output@init@theindex\@empty
5211
\let\output@prep@theindex\@empty
5212
\def\output@post@theindex{%
5214
\@ifnum{\pagegrid@cur=\@ne}{%
5218
\def\check@aux{\do@output@MVL{\do@check@aux}}%
5219
\def\check@deferlist@stuck#1{%
5220
\@ifx{\@deferlist@postshipout\@empty}{}{%
5221
\@ifx{\@deferlist@postshipout\@deferlist}{%
5224
\ltxgrid@warn{Deferred float stuck during \string\clearpage\space processing}%
5226
\force@deferlist@stuck#1%
5230
\global\let\@deferlist@postshipout\@empty
5234
\@latex@warning{A float is stuck (cannot be placed without \string\clearpage)}%
5236
\appdef\@outputpage@tail{%
5237
\global\let\@deferlist@postshipout\@deferlist
5240
\@ifx{#2\@empty}{\false@sw}{%
5241
\expandafter\@xnext#2\@@#1#2%
5245
\def\@xnext\@elt#1#2\@@#3#4{%
5248
\def\@tempa{#4}\def\@tempb{\@freelist}%
5249
\@ifx{\@tempa\@tempb}{%
5251
\force@deferlist@empty%{Float register pool exhausted}%
5255
\def\force@deferlist@stuck#1{%
5256
\force@deferlist@sw{%
5257
\@booleantrue\clearpage@sw
5258
\@booleantrue\forcefloats@sw
5263
\def\force@deferlist@empty{%
5264
\force@deferlist@sw{%
5265
\penalty-\pagebreak@pen
5266
\protect@penalty\do@forcecolumn@pen
5270
\@booleanfalse\force@deferlist@sw
5271
\mathchardef\do@forcecolumn@pen=10009
5272
\@namedef{output@-\the\do@forcecolumn@pen}{\do@forcecolumn}%
5273
\def\do@forcecolumn{%
5274
\@booleantrue\clearpage@sw
5275
\@booleantrue\forcefloats@sw
5278
\def\enlargethispage{%
5280
\@enlargethispage{}%
5282
\@enlargethispage{}%
5285
\def\@enlargethispage#1#2{%
5289
\edef\@tempa{\noexpand\@@enlargethispage{\@tempa}{\the\dimen@}}%
5290
\expandafter\do@output@MVL\expandafter{\@tempa}%
5293
\def\@@enlargethispage#1#2{%
5295
\@ifx{\thepagegrid\@tempa}{%
5299
\@ifx{\thepagegrid\@tempa}{%
5300
\@ifnum{\pagegrid@cur=\@ne}{%
5301
\gdef\enlarge@colroom{#2}%
5304
\ltxgrid@warn{Too late to enlarge this page; move the command to the first column.}%
5308
\ltxgrid@warn{Unable to enlarge a page of this kind.}%
5313
\class@info{Enlarging page \thepage\space by #2}%
5314
\global\advance\@colroom#2\relax
5319
\let\enlarge@colroom\@empty
5320
\let\@kludgeins\@undefined
5321
\@booleantrue\textheight@sw
5322
\prepdef\@outputpage@head{%
5324
\count@\vbadness\vbadness\@M
5325
\dimen@\vfuzz\vfuzz\maxdimen
5326
\setbox\@outputbox\vbox to\textheight{\unvbox\@outputbox}%
5331
\appdef\@outputpage@head{%
5332
\@ifx{\LS@rot\@undefined}{}{\LS@rot}%
5335
\ltxgrid@info@sw{\class@info}{\@gobble}%
5337
\@booleanfalse\ltxgrid@info@sw
5339
\ltxgrid@warn@sw{\class@warn}{\@gobble}%
5341
\@booleantrue\ltxgrid@warn@sw
5342
\@booleanfalse\ltxgrid@foot@info@sw
5343
\def\def@next@handler#1#2#3{%
5344
\advance#1\@ne\mathchardef#2\the#1%
5345
\expandafter\def\csname output@-\the#1\endcsname{#3}%
5347
\def\def@line@handler#1#2{%
5349
\@tempcnta\int@parpenalty
5350
\advance\@tempcnta-#1%
5352
\expandafter\aftergroup\csname output@-\the\@tempcnta\endcsname
5355
\mathchardef\int@parpenalty11012
5356
\def@line@handler\z@{\@handle@line@ltx{}{}{}}%
5357
\def@line@handler\@ne{\@handle@line@ltx{}{}{\brokenpenalty@ltx}}%
5358
\def@line@handler\tw@{\@handle@line@ltx{}{\clubpenalty@ltx}{}}%
5359
\def@line@handler\thr@@{\@handle@line@ltx{\clubpenalty@ltx}{}{\brokenpenalty@ltx}}%
5360
\def@line@handler\f@ur{\@handle@line@ltx{\widowpenalty@ltx}{}{}}%
5361
\def@line@handler{5}{\@handle@line@ltx{\widowpenalty@ltx}{}{\brokenpenalty@ltx}}%
5362
\def@line@handler{6}{\@handle@line@ltx{\widowpenalty@ltx}{\clubpenalty@ltx}{}}%
5363
\def@line@handler{7}{\@handle@line@ltx{\widowpenalty@ltx}{\clubpenalty@ltx}{\brokenpenalty@ltx}}%
5364
\def@line@handler{8}{\@handle@line@ltx{\displaywidowpenalty@ltx}{}{}}%
5365
\def@line@handler{9}{\@handle@line@ltx{\displaywidowpenalty@ltx}{}{\brokenpenalty@ltx}}%
5366
\def@line@handler{10}{\@handle@line@ltx{\displaywidowpenalty@ltx}{\clubpenalty@ltx}{}}%
5367
\def@line@handler{11}{\@handle@line@ltx{\displaywidowpenalty@ltx}{\clubpenalty@ltx}{\brokenpenalty@ltx}}%
5368
\def\@handle@line@ltx#1#2#3{%
5370
\@tempcnta\lastpenalty
5371
\@tempcntb\interlinepenalty@ltx\relax
5372
\@if@empty{#1}{}{\advance\@tempcntb#1\relax}%
5373
\@if@empty{#2}{}{\advance\@tempcntb#2\relax}%
5374
\@if@empty{#3}{}{\advance\@tempcntb#3\relax}%
5375
\penalty\@ifnum{\@tempcnta<\@tempcntb}{\@tempcntb}{\@tempcnta}%
5377
\let\@@handle@line@ltx\@empty
5378
\@tempcnta\int@parpenalty
5379
\def@next@handler\@tempcnta\int@postparpenalty{\reset@queues@ltx\handle@par@ltx}%
5380
\def@next@handler\@tempcnta\int@vadjustpenalty{\handle@vadjust@ltx}%
5381
\def@next@handler\@tempcnta\int@whatsitpenalty{\handle@whatsit@ltx}%
5382
\def@next@handler\@tempcnta\int@predisplaypenalty{\reset@queues@ltx\@handle@display@ltx{\predisplaypenalty@ltx}}%
5383
\def@next@handler\@tempcnta\int@interdisplaylinepenalty{\@handle@display@ltx{\interdisplaylinepenalty@ltx}}%
5384
\def@next@handler\@tempcnta\int@postdisplaypenalty{\@handle@display@ltx{\postdisplaypenalty@ltx}}%
5385
\def\@handle@display@ltx#1{%
5386
\@@handle@display@ltx
5387
\@tempcnta\lastpenalty
5389
\penalty\@ifnum{\@tempcnta<\@tempcntb}{\@tempcntb}{\@tempcnta}%
5391
\let\@@handle@display@ltx\@empty
5392
\def\handle@par@ltx{}%
5393
\def\set@linepenalties{%
5394
\expandafter\def\expandafter\interlinepenalty@ltx\expandafter{\the\interlinepenalty}%
5395
\interlinepenalty-\int@parpenalty
5396
\expandafter\def\expandafter\brokenpenalty@ltx\expandafter{\the\brokenpenalty}%
5398
\expandafter\def\expandafter\clubpenalty@ltx\expandafter{\the\clubpenalty}%
5400
\expandafter\def\expandafter\widowpenalty@ltx\expandafter{\the\widowpenalty}%
5402
\expandafter\def\expandafter\displaywidowpenalty@ltx\expandafter{\the\displaywidowpenalty}%
5403
\displaywidowpenalty8\relax
5405
\def\restore@linepenalties{%
5406
\interlinepenalty\interlinepenalty@ltx
5407
\brokenpenalty\brokenpenalty@ltx
5408
\clubpenalty\clubpenalty@ltx
5409
\widowpenalty\widowpenalty@ltx
5410
\displaywidowpenalty\displaywidowpenalty@ltx
5413
\def\set@displaypenalties#1{%
5414
\expandafter\def\expandafter\predisplaypenalty@ltx\expandafter{\the\predisplaypenalty}%
5415
\expandafter\def\expandafter\interdisplaylinepenalty@ltx\expandafter{\the\interdisplaylinepenalty}%
5416
\expandafter\def\expandafter\postdisplaypenalty@ltx\expandafter{\the\postdisplaypenalty}%
5417
\@ifhmode{\predisplaypenalty-\int@predisplaypenalty\relax}{}%
5418
#1{\interdisplaylinepenalty-\int@interdisplaylinepenalty\relax}{}%
5419
#1{\postdisplaypenalty-\int@postdisplaypenalty\relax}{}%
5421
\def\enqueue@whatsit@ltx#1{%
5422
\gappdef\g@whatsit@queue{{#1}}%
5423
\vadjust{\penalty-\int@whatsitpenalty}%
5425
\def\handle@whatsit@ltx{%
5427
\g@pop@ltx\g@whatsit@queue\@tempa
5428
\expandafter\do@whatsit\expandafter{\@tempa}%
5430
\def\do@whatsit#1{}%
5431
\def\g@pop@ltx#1#2{%
5432
\expandafter\@g@pop@ltx#1{}{}\@@#1#2%
5434
\def\@g@pop@ltx#1#2\@@#3#4{%
5438
\let\vspace@ltx\vspace
5439
\let\pagebreak@ltx\pagebreak
5440
\let\nopagebreak@ltx\nopagebreak
5442
\let\@arrayparboxrestore@ltx\@arrayparboxrestore
5443
\def\@vspace@org #1{%
5449
\vadjust{\@restorepar
5456
\def\@vspace@ltx#1{%
5458
\vskip#1\vskip\z@skip
5464
\vskip#1\vskip\z@skip
5469
\def\@vspacer@org#1{%
5479
\vadjust{\@restorepar
5487
\def\@vspacer@ltx#1{%
5492
\vskip#1\vskip\z@skip
5500
\vskip#1\vskip\z@skip
5505
\def\@no@pgbk@org #1[#2]{%
5507
\penalty #1\@getpen{#2}%
5510
\vadjust{\penalty #1\@getpen{#2}}%
5514
\def\@no@pgbk@ltx#1[#2]{%
5516
\penalty#1\@getpen{#2}%
5520
\penalty#1\@getpen{#2}%
5525
\long\def\end@line@org{%
5526
\let\reserved@e\relax
5527
\let\reserved@f\relax
5529
\let\reserved@e\vadjust
5530
\let\reserved@f\nobreak
5535
\long\def\end@line@ltx{%
5536
\let\reserved@e\relax
5537
\let\reserved@f\relax
5539
\let\reserved@e\ex@vadjust@ltx
5540
\let\reserved@f\nobreak
5546
\def\@newline@org[#1]{%
5547
\let\reserved@e\vadjust
5548
\@gnewline{\vskip#1}%
5550
\def\@newline@ltx[#1]{%
5551
\let\reserved@e\ex@vadjust@ltx
5552
\@gnewline{\vskip#1}%
5554
\@ifx{\@vspace\@vspace@org}{%
5555
\@ifx{\@vspacer\@vspacer@org}{%
5556
\@ifx{\@no@pgbk\@no@pgbk@org}{%
5557
\@ifx{\@newline\@newline@org}{%
5558
\expandafter\@ifx\expandafter{\csname\expandafter\@gobble\string\\ \endcsname\end@line@org}{%
5566
\class@info{Overriding \string\@vspace, \string\@vspacer, \string\@no@pgbk, \string\@newline, and \string\\ }%
5567
\let\@normalcr\end@line@ltx
5568
\expandafter\let\csname\expandafter\@gobble\string\\ \endcsname\@normalcr
5569
\let\@newline\@newline@ltx
5570
\let\@vspace\@vspace@ltx
5571
\let\@vspacer\@vspacer@ltx
5572
\let\@no@pgbk\@no@pgbk@ltx
5575
Failed to recognize \string\@vspace, \string\@vspacer, \string\@no@pgbk, \string\@newline, and \string\\;
5576
no patches applied. Please get a more up-to-date class,
5579
\let\ex@vadjust@ltx\vadjust
5580
\def\enqueue@vadjust@ltx#1{%
5581
\gappdef\g@vadjust@queue{{#1}}%
5582
\vadjust{\penalty-\int@vadjustpenalty}%
5584
\def\handle@vadjust@ltx{%
5586
\g@pop@ltx\g@vadjust@queue\@tempa
5587
\expandafter\gappdef\expandafter\g@vadjust@line\expandafter{\@tempa}%
5589
\let\g@vadjust@line\@empty
5590
\def\reset@queues@ltx{%
5591
\global\let\g@whatsit@queue\@empty
5592
\global\let\g@vadjust@queue\@empty
5594
\newcommand\linenomathWithnumbers@LN{%
5596
\ifnum\interlinepenalty>-\linenopenaltypar
5597
\global\holdinginserts\thr@@
5598
\advance\interlinepenalty \linenopenalty
5600
\advance\predisplaypenalty \linenopenalty
5602
\advance\postdisplaypenalty \linenopenalty
5603
\advance\interdisplaylinepenalty \linenopenalty
5608
\newcommand\linenomathNonumbers@LN{%
5610
\ifnum\interlinepenalty>-\linenopenaltypar
5611
\global\holdinginserts\thr@@
5612
\advance\interlinepenalty \linenopenalty
5614
\advance\predisplaypenalty \linenopenalty
5620
\def\endlinenomath@LN{%
5622
\global\holdinginserts\@LN@outer@holdins
5626
\def\linenumberpar@LN{%
5627
\ifvmode \@@@par \else
5628
\ifinner \@@@par \else
5629
\xdef\@LN@outer@holdins{\the\holdinginserts}%
5630
\advance \interlinepenalty \linenopenalty
5631
\linenoprevgraf \prevgraf
5632
\global \holdinginserts \thr@@
5634
\ifnum\prevgraf>\linenoprevgraf
5635
\penalty-\linenopenaltypar
5638
\global\holdinginserts\@LN@outer@holdins
5639
\advance\interlinepenalty -\linenopenalty
5643
\appdef\class@documenthook{%
5644
\@ifpackageloaded{lineno}{%
5645
\@ifx{\linenomathWithnumbers\linenomathWithnumbers@LN}{%
5646
\@ifx{\linenomathNonumbers\linenomathNonumbers@LN}{%
5647
\@ifx{\endlinenomath\endlinenomath@LN}{%
5648
\@ifx{\linenumberpar\linenumberpar@LN}{%
5655
\class@info{Overriding lineo.sty, restoring output routine,}%
5656
\let\linenumberpar\linenumberpar@ltx
5657
\let\endlinenomath\endlinenomath@ltx
5658
\expandafter\let\csname endlinenomath*\endcsname\endlinenomath@ltx
5659
\let\linenomathWithnumbers\linenomathWithnumbers@ltx
5660
\let\linenomathNonumbers\linenomathNonumbers@ltx
5661
\let\ex@vadjust@ltx\ex@vadjust@line
5662
\let\@LN@postlabel\enqueue@whatsit@ltx
5663
\let\do@whatsit\write@linelabel
5664
\let\handle@par@ltx\handle@par@LN
5665
\let\@@handle@line@ltx\Make@LineNo@ltx
5666
\let\@@handle@display@ltx\Make@LineNo@ltx
5667
\output@latex{\natural@output}%
5668
\let\vspace\vspace@ltx
5669
\let\pagebreak\pagebreak@ltx
5670
\let\nopagebreak\nopagebreak@ltx
5671
\let\@arrayparboxrestore\@arrayparboxrestore@ltx
5673
\appdef\set@footnotefont{%
5677
\@if@sw\ifLineNumbers\fi{%
5678
\class@info{Reinvoke \string\linenumbers}%
5679
\let\@@par\linenumberpar
5680
\@ifx{\@par\linenumberpar@LN}{\let\@par\linenumberpar}{}%
5681
\@ifx{\par\linenumberpar@LN}{\let\par\linenumberpar}{}%
5683
\class@info{Line numbering not turned on yet}%
5686
\class@warn{Failed to recognize lineno.sty procedures; no patches applied. Please get a more up-to-date class.}%
5691
\def\linenumberpar@ltx{\@ifvmode{\@@@par}{\@linenumberpar}}%
5692
\def\@linenumberpar{%
5693
\linenoprevgraf\prevgraf
5696
\@ifnum{\prevgraf>\linenoprevgraf}{
5697
\penalty-\int@postparpenalty
5700
\restore@linepenalties
5702
\newcommand\linenomathWithnumbers@ltx{\@linenomathnumbers@ltx\true@sw}%
5703
\newcommand\linenomathNonumbers@ltx{\@linenomathnumbers@ltx\false@sw}%
5704
\def\@linenomathnumbers@ltx#1{%
5705
\@if@sw\ifLineNumbers\fi{%
5707
\set@displaypenalties#1%
5711
\def\endlinenomath@ltx{%
5714
\def\handle@par@LN{%
5716
\@tempcnta\lastpenalty
5717
\@ifnum{\@tempcnta=\z@}{}{%
5719
\expandafter\@LN@parpgbrk
5721
\expandafter\penalty
5723
\global\let\@LN@parpgbrk\@LN@screenoff@pen
5727
\def\Make@LineNo@ltx{%
5728
\@LN@maybe@normalLineNumber
5729
\boxmaxdepth\maxdimen\setbox\z@\vbox{\unvbox\@cclv}%
5732
\sbox\@tempboxa{\hb@xt@\z@{\makeLineNumber}}%
5737
\global\let\g@vadjust@line\@empty
5739
\def\write@linelabel#1{%
5740
\protected@write\@auxout{}{%
5741
\string\newlabel{#1}{{\theLineNumber}{\thepage}{}{}{}}%
5744
\def\ex@vadjust@line{%
5745
\@if@sw\ifLineNumbers\fi{\enqueue@vadjust@ltx}{\vadjust}%
5747
\let\setup@hook\@empty
5748
\appdef\document@inithook{%
5750
\let\LT@makecaption\LT@makecaption@rtx
5752
\def\LT@makecaption@rtx#1#2#3{%
5753
\LT@mcol\LT@cols c{%
5756
\parbox[t]\LTcapwidth{%
5757
\sbox\@tempboxa{#1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineskip}%
5758
\ifdim\wd\@tempboxa>\hsize
5759
#1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineskip
5761
\hbox to\hsize{\hfil\box\@tempboxa\hfil}%
5769
\def\protectdef@boldmath{%
5770
\expandafter\@ifnotrelax\csname boldmath \endcsname{}{%
5771
\class@info{Robustifying \string\LaTeX's \string\boldmath\space command}%
5772
\expandafter\let\csname boldmath \endcsname\boldmath
5773
\expandafter\def\expandafter\boldmath\expandafter{\expandafter\protect\csname boldmath \endcsname}%
5776
\appdef\document@inithook{%
5777
\protectdef@boldmath
5779
\DeclareOption{checkin}{%
5780
\@booleantrue\dateinRH@sw
5781
\@booleantrue\preprintsty@sw
5782
\def\@pointsize{12}%
5783
\@booleantrue\showPACS@sw
5784
\@booleantrue\showKEYS@sw
5785
\def\fp@proc@h{\allow@breaking@tables}%
5786
\def\fp@proc@H{\allow@breaking@tables}%
5788
\@booleanfalse\dateinRH@sw
5789
\def\checkindate{\dateinRH@sw{{\tiny(\today)}}{}}%
5790
\def\allow@breaking@tables{%
5791
\def\array@default{v}% tabular can break over pages
5792
\@booleanfalse\floats@sw % table can break over pages
5794
\DeclareOption{preprint}{%
5795
\@booleantrue\preprintsty@sw
5796
\ExecuteOptions{12pt}%
5798
\DeclareOption{reprint}{%
5799
\@booleanfalse\preprintsty@sw
5800
\@booleantrue\twocolumn@sw
5801
\ExecuteOptions{10pt}%
5803
\DeclareOption{manuscript}{%
5804
\class@warn{Document class option manuscript is obsolete; use preprint instead}%
5805
\ExecuteOptions{preprint}%
5807
\@booleanfalse\preprintsty@sw
5808
\DeclareOption{showpacs}{%
5809
\@booleantrue\showPACS@sw
5811
\DeclareOption{noshowpacs}{%
5812
\@booleanfalse\showPACS@sw
5814
\DeclareOption{showkeys}{%
5815
\@booleantrue\showKEYS@sw
5817
\DeclareOption{noshowkeys}{%
5818
\@booleanfalse\showKEYS@sw
5820
\@booleanfalse\showPACS@sw
5821
\@booleanfalse\showKEYS@sw
5822
\DeclareOption{balancelastpage}{%
5823
\@booleantrue\balancelastpage@sw
5825
\DeclareOption{nobalancelastpage}{%
5826
\@booleanfalse\balancelastpage@sw
5828
\@booleantrue\balancelastpage@sw
5829
\DeclareOption{nopreprintnumbers}{\@booleanfalse\preprint@sw}%
5830
\DeclareOption{preprintnumbers}{\@booleantrue\preprint@sw}%
5831
\appdef\setup@hook{%
5832
\@ifxundefined\preprint@sw{\let\preprint@sw\preprintsty@sw}{}%
5834
\DeclareOption{hyperref}{%
5835
\class@warn{Class option "hyperref" is no longer supported.^^JEmploy \string\usepackage{hyperref} instead}%
5837
\DeclareOption{10pt}{\def\@pointsize{10}}%
5838
\DeclareOption{11pt}{\def\@pointsize{11}}%
5839
\DeclareOption{12pt}{\def\@pointsize{12}}%
5840
\let\@pointsize\@undefined
5841
\DeclareOption{a4paper}{%
5842
\setlength\paperheight {297mm}%
5843
\setlength\paperwidth {210mm}%
5845
\DeclareOption{a5paper}{%
5846
\setlength\paperheight {210mm}%
5847
\setlength\paperwidth {148mm}%
5849
\DeclareOption{b5paper}{%
5850
\setlength\paperheight {250mm}%
5851
\setlength\paperwidth {176mm}%
5853
\DeclareOption{letterpaper}{%
5854
\setlength\paperheight {11in}%
5855
\setlength\paperwidth {8.5in}%
5857
\DeclareOption{legalpaper}{%
5858
\setlength\paperheight {14in}%
5859
\setlength\paperwidth {8.5in}%
5861
\DeclareOption{executivepaper}{%
5862
\setlength\paperheight {10.5in}%
5863
\setlength\paperwidth {7.25in}%
5865
\DeclareOption{landscape}{%
5866
\setlength\@tempdima {\paperheight}%
5867
\setlength\paperheight {\paperwidth}%
5868
\setlength\paperwidth {\@tempdima}%
5871
\DeclareOption{bibnotes}{\let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote}%
5872
\DeclareOption{nobibnotes}{\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote}%
5873
\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote
5874
\appdef\class@enddocumenthook{\auto@bib}%
5875
\DeclareOption{footinbib}{\@booleantrue\footinbib@sw}
5876
\DeclareOption{nofootinbib}{\@booleanfalse\footinbib@sw}
5877
\@booleanfalse\footinbib@sw
5878
\DeclareOption{altaffilletter}{\@booleantrue\altaffilletter@sw}%
5879
\DeclareOption{altaffilsymbol}{\@booleanfalse\altaffilletter@sw}%
5880
\@booleanfalse\altaffilletter@sw
5881
\DeclareOption{superbib}{%
5882
\let\place@bibnumber\place@bibnumber@sup
5884
\def\place@bibnumber{\NATx@bibnumfmt}%
5885
\def\place@bibnumber@sup#1{\textsuperscript{#1}}%
5886
\def\place@bibnumber@inl#1{[#1]}%
5887
\DeclareOption{citeautoscript}{\@booleantrue\citeautoscript@sw}%
5888
\@booleanfalse\citeautoscript@sw
5889
\DeclareOption{longbibliography}{\@booleantrue\longbibliography@sw}%
5890
\DeclareOption{nolongbibliography}{\@booleanfalse\longbibliography@sw}%
5891
\@booleanfalse\longbibliography@sw
5892
\DeclareOption{eprint}{\@booleantrue\eprint@enable@sw}%
5893
\DeclareOption{noeprint}{\@booleanfalse\eprint@enable@sw}%
5894
\@booleantrue\eprint@enable@sw
5895
\@booleanfalse\twoside@sw
5896
\appdef\document@inithook{%
5897
\twoside@sw{\@twosidetrue}{\@twosidefalse}%
5899
\DeclareOption{twoside}{\@booleantrue \twoside@sw\@mparswitchfalse}%
5900
\DeclareOption{oneside}{\@booleanfalse\twoside@sw\@mparswitchtrue}%
5901
\DeclareOption{onecolumn}{\@booleanfalse\twocolumn@sw}%
5902
\DeclareOption{twocolumn}{\@booleantrue \twocolumn@sw}%
5903
\@booleanfalse\twocolumn@sw
5904
\def\select@column@grid{%
5906
\twocolumn@grid@setup
5909
\onecolumn@grid@setup
5912
\appdef\class@documenthook{%
5915
\appdef\setup@hook{%
5916
\let\clearpage@ltx\clearpage
5917
\prepdef\clear@document{\let\clearpage\clearpage@ltx\let\clear@document\@empty\close@column}%
5918
\appdef\class@documenthook{%
5919
\appdef\class@enddocumenthook{%
5920
\let\clearpage\clear@document
5924
\DeclareOption{author-year}{\@booleantrue\authoryear@sw}%
5925
\DeclareOption{numerical}{\@booleanfalse\authoryear@sw}%
5926
\@booleanfalse\authoryear@sw
5927
\DeclareOption{galley}{%
5928
\ExecuteOptions{onecolumn}%
5929
\@booleantrue\galley@sw
5930
\@booleanfalse\preprintsty@sw
5931
\appdef\setup@hook{%
5932
\advance\textwidth-\columnsep
5933
\textwidth.5\textwidth
5936
\@booleanfalse\galley@sw
5937
\DeclareOption{raggedbottom}{\@booleantrue\raggedcolumn@sw}
5938
\DeclareOption{flushbottom}{\@booleanfalse\raggedcolumn@sw}
5939
\@booleanfalse\raggedcolumn@sw
5940
\appdef\setup@hook{%
5941
\raggedcolumn@sw{\raggedbottom}{\flushbottom}%
5943
\DeclareOption{tightenlines}{\@booleantrue\tightenlines@sw}
5944
\@booleanfalse\tightenlines@sw
5945
\@booleanfalse\lengthcheck@sw
5946
\DeclareOption{lengthcheck}{%
5947
\@booleantrue\lengthcheck@sw
5948
\ExecuteOptions{reprint}%
5950
\appdef\setup@hook{%
5951
\lengthcheck@sw{\@booleantrue\tally@box@size@sw}{}%
5953
\appdef\setup@hook{%
5954
\draft@sw{\overfullrule 5\p@}{\overfullrule\z@}%
5956
\DeclareOption{draft}{\@booleantrue\draft@sw}%
5957
\DeclareOption{final}{\@booleanfalse\draft@sw}%
5958
\@booleanfalse\draft@sw
5959
\appdef\setup@hook{%
5961
\@addtoreset{equation}{section}%
5962
\def\theequation@prefix{\arabic{section}.}%
5965
\DeclareOption{eqsecnum}{\@booleantrue\eqsecnum@sw}%
5966
\@booleanfalse\eqsecnum@sw
5967
\appdef\setup@hook{%
5970
\DeclareOption{secnumarabic}{%
5971
\def\setup@secnums{\secnums@arabic}%
5973
\def\setup@secnums{\secnums@rtx}%
5974
\DeclareOption{fleqn}{%
5977
\DeclareOption{floats}{\@booleantrue\floats@sw\@booleanfalse\floatp@sw}
5978
\DeclareOption{endfloats}{\@booleanfalse\floats@sw\@booleanfalse\floatp@sw}
5979
\DeclareOption{endfloats*}{\@booleanfalse\floats@sw\@booleantrue\floatp@sw}
5980
\@booleantrue\floats@sw
5981
\@booleantrue\floatp@sw
5982
\DeclareOption{titlepage}{\@booleantrue\titlepage@sw}
5983
\DeclareOption{notitlepage}{\@booleanfalse\titlepage@sw}
5984
\@booleanfalse\titlepage@sw
5985
\def\change@society#1{%
5987
\@ifxundefined\@society{%
5988
\class@info{Selecting society \@tempa}%
5989
\let\@society\@tempa
5991
\@ifx{\@tempa\@society}{}{%
5992
\class@warn{Conflicting society \@tempa<>\@society; not selected}%
5996
\def\change@journal#1{%
5998
\@ifxundefined\@journal{%
5999
\class@info{Selecting journal \@tempa}%
6000
\let\@journal\@tempa
6002
\@ifx{\@tempa\@journal}{}{%
6003
\class@warn{Conflicting journal \@tempa<>\@journal; not selected}%
6007
\DeclareOption{osa}{\change@society{osa}\let\@journal\@undefined}%
6008
\DeclareOption{osameet}{\change@society{osa}\def\@journal{osameet}}%
6009
\DeclareOption{opex}{\change@society{osa}\def\@journal{opex}}%
6010
\DeclareOption{tops}{\change@society{osa}\def\@journal{tops}}%
6011
\DeclareOption{josa}{\change@society{osa}\def\@journal{josa}}%
6012
\let\rtx@require@packages\@empty
6013
\appdef\rtx@require@packages{%
6014
\RequirePackage[overload]{textcase}%
6016
\DeclareOption{amsfonts}{%
6017
\def\class@amsfonts{\RequirePackage{amsfonts}}%
6019
\DeclareOption{noamsfonts}{%
6020
\let\class@amsfonts\@empty
6022
\appdef\rtx@require@packages{%
6023
\@ifxundefined\class@amsfonts{}{\class@amsfonts}%
6025
\DeclareOption{amssymb}{%
6026
\def\class@amssymb{\RequirePackage{amssymb}}%
6028
\DeclareOption{noamssymb}{%
6029
\let\class@amssymb\@empty
6031
\appdef\rtx@require@packages{%
6032
\@ifxundefined\class@amssymb{}{\class@amssymb}%
6034
\DeclareOption{amsmath}{%
6035
\def\class@amsmath{\RequirePackage{amsmath}[\ver@amsmath@prefer]}%
6037
\DeclareOption{noamsmath}{%
6038
\let\class@amsmath\@empty
6040
\appdef\rtx@require@packages{%
6042
\@ifxundefined\class@amsmath{}{\class@amsmath}%
6043
\appdef\class@enddocumenthook{\test@amsmath@ver}%
6045
\appdef\preserve@LaTeX{%
6046
\let\@ifl@aded@LaTeX\@ifl@aded
6047
\let\@ifpackageloaded@LaTeX\@ifpackageloaded
6048
\let\@pkgextension@LaTeX\@pkgextension
6049
\let\@ifpackagelater@LaTeX\@ifpackagelater
6050
\let\@ifl@ter@LaTeX\@ifl@ter
6051
\let\@ifl@t@r@LaTeX\@ifl@t@r
6052
\let\@parse@version@LaTeX\@parse@version
6054
\appdef\restore@LaTeX{%
6055
\let\@ifl@aded\@ifl@aded@LaTeX
6056
\let\@ifpackageloaded\@ifpackageloaded@LaTeX
6057
\let\@pkgextension\@pkgextension@LaTeX
6058
\let\@ifpackagelater\@ifpackagelater@LaTeX
6059
\let\@ifl@ter\@ifl@ter@LaTeX
6060
\let\@ifl@t@r\@ifl@t@r@LaTeX
6061
\let\@parse@version\@parse@version@LaTeX
6063
\def\test@amsmath@ver{%
6066
\@ifpackageloaded{amsmath}{%
6067
\@ifpackagelater{amsmath}{\ver@amsmath@prefer}{}{%
6069
You have loaded amsmath, version "\csname ver@amsmath.sty\endcsname",\MessageBreak
6070
but this class requires version "\ver@amsmath@prefer", or later.\MessageBreak
6071
Please update your LaTeX installation.
6078
\def\ver@amsmath@prefer{2000/01/15 v2.05 AMS math features}%
6079
\DeclareOption{byrevtex}{\@booleantrue\byrevtex@sw}%
6080
\@booleanfalse\byrevtex@sw
6081
\DeclareOption{floatfix}{\@booleantrue\force@deferlist@sw}%
6082
\DeclareOption{nofloatfix}{\@booleanfalse\force@deferlist@sw}%
6083
\@booleanfalse\force@deferlist@sw
6086
Too many unprocessed floats%
6087
\force@deferlist@sw{}{; try class option [floatfix]}%
6092
A float is stuck (cannot be placed)%
6093
\force@deferlist@sw{}{; try class option [floatfix]}%
6096
\DeclareOption{ltxgridinfo}{%
6097
\@booleantrue\ltxgrid@info@sw
6099
\DeclareOption{outputdebug}{%
6100
\@booleantrue\outputdebug@sw
6101
\@booleantrue\ltxgrid@info@sw
6102
\@booleantrue\ltxgrid@foot@info@sw
6105
\DeclareOption{raggedfooter}{\@booleanfalse\textheight@sw}%
6106
\DeclareOption{noraggedfooter}{\@booleantrue\textheight@sw}%
6107
\DeclareOption{frontmatterverbose}{\@booleantrue\frontmatterverbose@sw}%
6108
\@booleanfalse\frontmatterverbose@sw
6109
\DeclareOption{linenumbers}{%
6111
\class@documenthook{%
6112
\RequirePackage{lineno}[2005/11/02 v4.41]%
6113
\linenumbersep4pt\relax
6117
\DeclareOption{nomerge}{%
6118
\appdef\setup@hook{%
6119
\@ifnum{\NAT@merge>\z@}{\let\NAT@merge\z@}{}%
6122
\def\@parse@class@options@society{%
6123
\edef\@tempa{\@ptionlist{\@currname.\@currext}}%
6124
\expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
6125
\expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{}{%
6126
\IfFileExists{\CurrentOption\substyle@post.\substyle@ext}{%
6127
\expandafter\change@society\expandafter{\CurrentOption}%
6128
\expandafter\let\csname ds@\CurrentOption\endcsname\@empty
6133
\def\@parse@class@options@#1{%
6134
\edef\@tempa{\@ptionlist{\@currname.\@currext}}%
6135
\expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
6136
\expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
6137
\begingroup\csname ds@\CurrentOption\endcsname
6141
\expandafter\endgroup\expandafter\def\expandafter#1\expandafter{#1}%
6146
\def\@parse@class@options@journal{%
6147
\edef\@tempa{\@ptionlist{\@currname.\@currext}}%
6148
\expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
6149
\expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
6151
\csname ds@\CurrentOption\endcsname
6152
\@ifxundefined\@journal{%
6155
\expandafter\endgroup\expandafter\def\expandafter\@journal\expandafter{\@journal}%
6160
\def\@parse@class@options{%
6161
\edef\@tempa{\@ptionlist{\@currname.\@currext}}%
6162
\expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
6163
\expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
6165
\csname ds@\CurrentOption\endcsname
6166
\@ifxundefined\@pointsize{%
6169
\expandafter\endgroup\expandafter\def\expandafter\@pointsize\expandafter{\@pointsize}%
6172
\IfFileExists{\CurrentOption\substyle@post.\substyle@ext}{%
6173
\expandafter\change@society\expandafter{\CurrentOption}%
6174
\expandafter\let\csname ds@\CurrentOption\endcsname\@empty
6179
\DeclareOption{hypertext}{\hypertext@enable@ltx}%
6180
\appdef\document@inithook{\@ifpackageloaded{hyperref}{\hypertext@enable@ltx}{}}%
6181
\DeclareOption{frontmatterverbose}{\@booleantrue\frontmatterverbose@sw}%
6182
\@booleanfalse\frontmatterverbose@sw
6183
\DeclareOption{inactive}{\@booleanfalse\frontmatter@syntax@sw}%
6184
\@booleantrue\frontmatter@syntax@sw
6185
\@booleanfalse\runinaddress@sw
6186
\@booleantrue\@affils@sw
6187
\@booleanfalse\groupauthors@sw
6188
\DeclareOption{groupedaddress}{\clo@groupedaddress}%
6189
\def\clo@groupedaddress{%
6190
\@booleantrue\groupauthors@sw
6191
\@booleantrue\@affils@sw
6192
\@booleanfalse\runinaddress@sw
6194
\DeclareOption{unsortedaddress}{\clo@unsortedaddress}%
6195
\def\clo@unsortedaddress{%
6196
\@booleantrue\groupauthors@sw
6197
\@booleanfalse\@affils@sw
6198
\@booleanfalse\runinaddress@sw
6200
\DeclareOption{runinaddress}{\clo@runinaddress}%
6201
\def\clo@runinaddress{%
6202
\@booleantrue\groupauthors@sw
6203
\@booleantrue\@affils@sw
6204
\@booleantrue\runinaddress@sw
6206
\DeclareOption{superscriptaddress}{\clo@superscriptaddress}%
6207
\def\clo@superscriptaddress{%
6208
\@booleanfalse\groupauthors@sw
6209
\@booleantrue\@affils@sw
6210
\@booleanfalse\runinaddress@sw
6213
%%% filename = "revtex4-1.dtx",
6214
%%% version = "4.1r",
6215
%%% date = "2010/07/25",
6216
%%% time = "20:33:00 UT-8",
6217
%%% checksum = "7177",
6218
%%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
6219
%%% commissioned by the American Physical Society.
6221
%%% copyright = "Copyright (C) 1999, 2009 Arthur Ogawa,
6222
%%% distributed under the terms of the
6223
%%% LaTeX Project Public License, see
6224
%%% ftp://ctan.tug.org/macros/latex/base/lppl.txt
6226
%%% address = "Arthur Ogawa,
6230
%%% email = "mailto colon arthur_ogawa at sbcglobal.net",
6231
%%% codetable = "ISO/ASCII",
6232
%%% keywords = "latex, page grid, main vertical list",
6233
%%% supported = "yes",
6234
%%% abstract = "package to change page grid, MVL",
6235
%%% docstring = "The checksum field above generated by ltxdoc",
6237
\def\substyle@post{4-1}%
6238
\def\substyle@ext{rtx}%
6239
\DeclareOption*{\OptionNotUsed}%
6240
\def\@process@society#1{%
6241
\@ifxundefined\@society{%
6242
\class@warn{No Society specified, using default society #1}%
6243
\def\@society{#1}\let\@journal\@undefined
6245
\expandafter\input\expandafter{\@society\substyle@post.\substyle@ext}%
6247
\def\@process@journal#1{%
6248
\@ifxundefined\@journal{%
6249
\class@warn{No journal specified, using default #1}%
6252
\expandafter\expandafter
6253
\expandafter\rtx@do@substyle
6254
\expandafter\expandafter
6255
\expandafter{\expandafter\@society\@journal}%
6257
\def\rtx@do@substyle#1{%
6258
\InputIfFileExists{#1\substyle@post.\substyle@ext}{}{\csname rtx@#1\endcsname}%
6260
\def\@process@pointsize#1{%
6261
\@ifxundefined\@pointsize{%
6262
\def\@pointsize{#1}%
6263
\class@warn{No type size specified, using default \@pointsize}%
6265
\expandafter\expandafter
6266
\expandafter\rtx@do@substyle
6267
\expandafter\expandafter
6268
\expandafter{\expandafter\@society\@pointsize pt}%
6271
\let\@oddfoot\@empty\let\@evenfoot\@empty
6272
\def\@evenhead{\thepage\hfil\slshape\leftmark}%
6273
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
6274
\let\@mkboth\markboth
6275
\def\sectionmark##1{%
6276
\markboth {\MakeUppercase{%
6277
\ifnum \c@secnumdepth >\z@
6281
\def\subsectionmark##1{%
6283
\ifnum \c@secnumdepth >\@ne
6287
\def\ps@myheadings{%
6288
\let\@oddfoot\@empty\let\@evenfoot\@empty
6289
\def\@evenhead{\thepage\hfil\slshape\leftmark}%
6290
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
6291
\let\@mkboth\@gobbletwo
6292
\let\sectionmark\@gobble
6293
\let\subsectionmark\@gobble
6296
\def\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}%
6297
\def\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}%
6300
\let\@mkboth\markboth
6301
\let\sectionmark\@gobble
6302
\let\subsectionmark\@gobble
6304
\def\ps@article@final{%
6305
\def\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}%
6306
\def\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}%
6309
\let\@mkboth\markboth
6310
\def\sectionmark##1{%
6312
\MakeTextUppercase{%
6313
\@ifnum{\c@secnumdepth >\z@}{\thesection\hskip 1em\relax}{}%
6318
\def\subsectionmark##1{%
6320
\@ifnum{\c@secnumdepth >\@ne}{\thesubsection\hskip 1em\relax}{}%
6325
\def\heading@cr{\unskip\space\ignorespaces}%
6327
\def\@oddfoot{\hfil\thepage\quad\checkindate\hfil}%
6328
\def\@evenfoot{\hfil\thepage\quad\checkindate\hfil}%
6331
\let\@mkboth\@gobbletwo
6332
\let\sectionmark\@gobble
6333
\let\subsectionmark\@gobble
6335
\let\@oddhead\@empty
6336
\let\@evenhead\@empty
6337
\let\@oddfoot\@empty
6338
\let\@evenfoot\@empty
6339
\def\lastpage@putlabel{%
6342
\advance\c@page\m@ne
6343
\immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}{}{}{}}}%
6347
\appdef\clear@document{%
6350
\tally@box@size@sw{\total@text}{}%
6353
\providecommand\write@column@totals{}%
6354
\appdef\rtx@require@packages{%
6355
\RequirePackage{url}%
6357
\appdef\document@inithook{%
6358
\incompatible@package{cite}%
6359
\incompatible@package{mcite}%
6360
\incompatible@package{multicol}%
6362
\def\labelenumi{\theenumi.}
6363
\def\theenumi{\arabic{enumi}}
6364
\def\labelenumii{(\theenumii)}
6365
\def\theenumii{\alph{enumii}}
6366
\def\p@enumii{\theenumi}
6367
\def\labelenumiii{\theenumiii.}
6368
\def\theenumiii{\roman{enumiii}}
6369
\def\p@enumiii{\theenumi(\theenumii)}
6370
\def\labelenumiv{\theenumiv.}
6371
\def\theenumiv{\Alph{enumiv}}
6372
\def\p@enumiv{\p@enumiii\theenumiii}
6373
\def\labelitemi{\textbullet}
6374
\def\labelitemii{\normalfont\bfseries\textendash}
6375
\def\labelitemiii{\textasteriskcentered}
6376
\def\labelitemiv{\textperiodcentered}
6377
\pagenumbering{arabic}
6378
\setcounter{topnumber}{2}
6379
\def\topfraction{.9}
6380
\setcounter{bottomnumber}{1}
6381
\def\bottomfraction{.9}
6382
\setcounter{totalnumber}{3}
6383
\def\textfraction{.1}
6384
\def\floatpagefraction{.9}
6385
\setcounter{dbltopnumber}{2}
6386
\def\dbltopfraction{.9}
6387
\def\dblfloatpagefraction{.9}
6388
\newenvironment{verse}{%
6391
\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
6392
\rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]%
6396
\newenvironment{quotation}{%
6398
\listparindent 1.5em
6399
\itemindent\listparindent
6400
\rightmargin\leftmargin \parsep \z@ \@plus\p@}\item[]%
6404
\newenvironment{quote}{%
6406
\rightmargin\leftmargin}\item[]%
6410
\def\descriptionlabel#1{%
6411
\hspace\labelsep \normalfont\bfseries #1\unskip:%
6413
\newenvironment{description}{%
6415
\labelwidth\z@ \itemindent-\leftmargin
6416
\let\makelabel\descriptionlabel
6422
\let\thepart\@undefined
6423
\newcounter{section}%
6424
\let\thesection\@undefined
6425
\newcounter{subsection}[section]%
6426
\let\thesubsection\@undefined
6427
\newcounter{subsubsection}[subsection]%
6428
\let\thesubsubsection\@undefined
6429
\newcounter{paragraph}[subsubsection]%
6430
\let\theparagraph\@undefined
6431
\newcounter{subparagraph}[paragraph]%
6432
\let\thesubparagraph\@undefined
6434
\@ifxundefined\thepart{%
6435
\def\thepart{\Roman{part}}%
6437
\@ifxundefined\thesection{%
6438
\def\thesection {\Roman{section}}%
6441
\@ifxundefined\thesubsection{%
6442
\def\thesubsection {\Alph{subsection}}%
6443
\def\p@subsection {\thesection\,}%
6445
\@ifxundefined\thesubsubsection{%
6446
\def\thesubsubsection {\arabic{subsubsection}}%
6447
\def\p@subsubsection {\thesection\,\thesubsection\,}%
6449
\@ifxundefined\theparagraph{%
6450
\def\theparagraph {\alph{paragraph}}%
6451
\def\p@paragraph {\thesection\,\thesubsection\,\thesubsubsection\,}%
6453
\@ifxundefined\thesubparagraph{%
6454
\def\thesubparagraph {\arabic{subparagraph}}%
6455
\def\p@subparagraph {\thesection\,\thesubsection\,\thesubsubsection\,\theparagraph\,}%
6458
\def\secnums@arabic{%
6459
\@ifxundefined\thepart{%
6460
\def\thepart {\Roman{part}}%
6462
\@ifxundefined\thesection{%
6463
\def\thesection {\Roman{section}}%
6466
\@ifxundefined\thesubsection{%
6467
\def\thesubsection {\thesection.\arabic{subsection}}%
6468
\def\p@subsection {}%
6470
\@ifxundefined\thesubsubsection{%
6471
\def\thesubsubsection {\thesubsection.\arabic{subsubsection}}%
6472
\def\p@subsubsection {}%
6474
\@ifxundefined\theparagraph{%
6475
\def\theparagraph {\thesubsubsection.\arabic{paragraph}}%
6476
\def\p@paragraph {}%
6478
\@ifxundefined\thesubparagraph{%
6479
\def\thesubparagraph {\theparagraph.\arabic{subparagraph}}%
6480
\def\p@subparagraph {}%
6483
\newenvironment{acknowledgments}{%
6484
\acknowledgments@sw{%
6485
\expandafter\section\expandafter*\expandafter{\acknowledgmentsname}%
6489
\addcontentsline{toc}{section}{\protect\numberline{}\acknowledgmentsname}%
6494
\@booleantrue\acknowledgments@sw
6495
\newenvironment{acknowledgements}{%
6496
\replace@environment{acknowledgements}{acknowledgments}%
6503
\secdef\@part\@spart}%
6505
\@ifnum{\c@secnumdepth >\m@ne}{%
6506
\refstepcounter{part}%
6507
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
6509
\addcontentsline{toc}{part}{#1}%
6512
\parindent \z@ \raggedright
6513
\interlinepenalty\@M
6514
\@ifnum{\c@secnumdepth >\m@ne}{%
6515
\Large \bf \partname~\thepart%
6526
\def\@spart#1{{\parindent \z@ \raggedright
6527
\interlinepenalty\@M
6538
{0.8cm \@plus1ex \@minus .2ex}%
6540
{\normalfont\small\bfseries}%
6547
{.8cm \@plus1ex \@minus .2ex}%
6549
{\normalfont\small\bfseries}%
6551
\def\subsubsection{%
6556
{.8cm \@plus1ex \@minus .2ex}%
6558
{\normalfont\small\itshape}%
6567
{\normalfont\normalsize\itshape}%
6574
{3.25ex \@plus1ex \@minus .2ex}%
6576
{\normalfont\normalsize\bfseries}%
6579
\theequation@prefix\arabic{equation}%
6581
\def\theequation@prefix{}%
6582
\setcounter{secnumdepth}{4}
6585
\def\baselinestretch{1}%
6589
\@beginparpenalty -\@lowpenalty
6590
\@endparpenalty -\@lowpenalty
6591
\@itempenalty -\@lowpenalty
6594
\arrayrulewidth .4pt
6596
\skip\@mpfootins = 0pt
6599
\newenvironment{figure}
6602
\newenvironment{figure*}
6603
{\@dblfloat{figure}}
6605
\def\listoffigures{\print@toc{lof}}%
6606
\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}%
6607
\newlength\abovecaptionskip
6608
\newlength\belowcaptionskip
6609
\setlength\abovecaptionskip{10\p@}
6610
\setlength\belowcaptionskip{2\p@}
6611
\long\def\@makecaption#1#2{%
6613
\vskip\abovecaptionskip
6618
\@make@capt@title{#1}{#2}%
6620
\@ifdim{\wd\@tempboxa >\hsize}{%
6624
\let\footnote\@footnotemark@gobble
6625
\@make@capt@title{#1}{#2}\par
6628
\global \@minipagefalse
6629
\hb@xt@\hsize{\hfil\unhbox\@tempboxa\hfil}%
6632
\vskip\belowcaptionskip
6634
\def\@make@capt@title#1#2{%
6635
\@ifx@empty\float@link{\@firstofone}{\expandafter\href\expandafter{\float@link}}%
6636
{#1}\@caption@fignum@sep#2%
6638
\def\@footnotemark@gobble{%
6640
\@ifnextchar[{\@gobble@opt@i}{\@gobble}%
6642
\def\@gobble@opt@i[#1]#2{}%
6643
\def\@mpmakefntext#1{%
6647
\hb@xt@1em{\hss\@makefnmark}%
6650
\def\@caption@fignum@sep{. }%
6651
\def\setfloatlink{\def\float@link}%
6652
\let\float@link\@empty
6654
\renewcommand \thefigure {\@arabic\c@figure}
6655
\def\fps@figure{tbp}
6656
\def\ftype@figure{1}
6657
\def\ext@figure{lof}
6658
\def\fnum@figure{\figurename~\thefigure}
6659
\expandafter\newbox\csname fbox@\ftype@figure\endcsname
6660
\expandafter\setbox\csname fbox@\ftype@figure\endcsname\hbox{}%
6661
\appdef\class@documenthook{%
6662
\do@if@floats{figure}{.fgx}%
6664
\appdef\class@enddocumenthook{%
6667
\newcommand\printfigures{%
6668
\@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
6670
\print@float{figure}{\oneapage}%
6672
\print@float{figure}{}%
6675
\appdef\@xfloat@prep{%
6676
\appdef\@parboxrestore{\centering}%
6678
\newenvironment{table}
6681
\newenvironment{table*}
6685
\renewcommand\thetable{\@Roman\c@table}
6689
\def\fnum@table{\tablename~\thetable}
6690
\expandafter\newbox\csname fbox@\ftype@table\endcsname
6691
\expandafter\setbox\csname fbox@\ftype@table\endcsname\hbox{}%
6692
\def\listoftables{\print@toc{lot}}%
6693
\let\l@table\l@figure
6694
\def\table@hook{\small}%
6695
\def\squeezetable{\def\table@hook{\scriptsize}}%
6696
\appdef\@floatboxreset{\table@hook}%
6697
\def\set@table@environments{%
6699
\let@environment{longtable@float}{longtable}%
6700
\let@environment{longtable}{longtable@write}%
6701
\let@environment{longtable*@float}{longtable*}%
6702
\let@environment{longtable*}{longtable*@write}%
6703
\let@environment{turnpage@float}{turnpage}%
6704
\let@environment{turnpage}{turnpage@write}%
6706
\do@if@floats{table}{.tbx}%
6708
\appdef\document@inithook{%
6709
\set@table@environments
6711
\appdef\class@enddocumenthook{%
6714
\newenvironment{longtable@write}{%
6715
\write@@float{longtable}{table}%
6719
\newenvironment{longtable*@write}{%
6720
\write@@float{longtable*}{table}%
6724
\newenvironment{turnpage@write}{%
6725
\immediate\write\tablewrite{\string\begin{turnpage}}%
6727
\immediate\write\tablewrite{\string\end{turnpage}}%
6729
\newcommand\printtables{%
6731
\let@environment{longtable}{longtable@float}%
6732
\let@environment{longtable*}{longtable*@float}%
6733
\let@environment{turnpage}{turnpage@anchored}%
6734
\prepdef\longtable{\trigger@float@par}%
6735
\expandafter\prepdef\csname longtable*\endcsname{\trigger@float@par}%
6736
\expandafter\prepdef\csname table@floats\endcsname{%
6739
\expandafter\appdef\csname endtable@floats\endcsname{%
6742
\@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
6744
\print@float{table}{\oneapage}%
6746
\print@float{table}{}%
6750
\newenvironment{turnpage@anchored}{%
6752
\setbox\z@\vbox to\textwidth\bgroup
6753
\columnwidth\textheight
6757
\rotatebox{90}{\box\z@}%
6760
\newenvironment{video}
6763
\newenvironment{video*}
6767
\renewcommand \thevideo {\@arabic\c@video}
6768
\def\ext@video{lov}%
6769
\def\fname@video{Video}%
6770
\def\lovname{List of Videos}%
6771
\def\fps@video{tbp}%
6772
\def\ftype@video{4}%
6773
\def\fnum@video{\fname@video~\thevideo}%
6774
\appdef\document@inithook{%
6775
\@ifxundefined\c@float@type{}{%
6776
\global\setcounter{float@type}{8}%
6779
\expandafter\newbox\csname fbox@\ftype@video\endcsname
6780
\expandafter\setbox\csname fbox@\ftype@video\endcsname\hbox{}%
6781
\let\theHvideo\thevideo
6782
\def\listofvideos{\print@toc{lov}}%
6783
\let\l@video\l@figure
6784
\appdef\class@documenthook{%
6785
\do@if@floats{video}{.vdx}%
6787
\appdef\class@enddocumenthook{%
6790
\newcommand\printvideos{%
6791
\@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
6793
\print@float{video}{\oneapage}%
6795
\print@float{video}{}%
6798
\def\endtabular@hook{}%
6799
\appdef\document@inithook{%
6800
\@ifpackageloaded{dcolumn}{%
6801
\expandafter\@ifnotrelax\csname NC@find@d\endcsname{}{%
6802
\newcolumntype{d}{D{.}{.}{-1}}%
6806
\def\toprule{\hline\hline}%
6807
\def\colrule{\hline}%
6808
\def\botrule{\hline\hline}%
6809
\newenvironment{ruledtabular}{%
6810
\def\array@default{v}%
6811
\appdef\tabular@hook{\def\@halignto{to\hsize}}%
6812
\let\tableft@skip@default\tableft@skip
6813
\let\tableft@skip\tableft@skip@float
6814
\let\tabmid@skip@default\tabmid@skip
6815
\let\tabmid@skip\tabmid@skip@float
6816
\let\tabright@skip@default\tabright@skip
6817
\let\tabright@skip\tabright@skip@float
6818
\let\array@row@pre@default\array@row@pre
6819
\let\array@row@pre\array@row@pre@float
6820
\let\array@row@pst@default\array@row@pst
6821
\let\array@row@pst\array@row@pst@float
6822
\appdef\array@row@rst{%
6823
\let\array@row@pre\array@row@pre@default
6824
\let\array@row@pst\array@row@pst@default
6825
\let\tableft@skip\tableft@skip@default
6826
\let\tabmid@skip\tabmid@skip@default
6827
\let\tabright@skip\tabright@skip@default
6828
\appdef\tabular@hook{\let\@halignto\@empty}%
6832
\def\@makefntext#1{%
6833
\def\baselinestretch{1}%
6845
\normalfont\@thefnmark
6849
\expandafter\DeclareRobustCommand
6850
\expandafter\rev@citet
6852
\expandafter\begingroup
6853
\expandafter\rtx@swap@citea
6854
\expandafter\g@bblefirsttoken
6855
\csname citet \endcsname
6857
\expandafter\DeclareRobustCommand
6858
\expandafter\rev@citealp
6860
\expandafter\begingroup
6861
\expandafter\rtx@swap@citea
6862
\expandafter\g@bblefirsttoken
6863
\csname citealp \endcsname
6865
\expandafter\DeclareRobustCommand
6866
\expandafter\rev@citealpnum
6868
\expandafter\begingroup
6869
\expandafter\rtx@swap@citenum
6870
\expandafter\g@bblefirsttoken
6871
\csname citealp \endcsname
6873
\def\rtx@swap@citenum{%
6875
\let\@cite\NAT@citenum
6877
\let\citeyear\NAT@citeyear
6878
\let\NAT@space\NAT@spacechar
6880
\def\g@bblefirsttoken{%
6881
\expandafter\true@sw
6884
\newcommand\rtx@citesuper[3]{%
6888
\textsuperscript{\normalfont#1}%
6889
\if*#3*\else\ (#3)\fi
6895
\def\@makefnmark@cite{\begingroup\NAT@swatrue\@cite{{\@thefnmark}}{}{}}%
6896
\def\rtx@bibsection{%
6897
\@ifx@empty\refname{%
6900
\expandafter\section\expandafter*\expandafter{\refname}%
6904
\def\rtx@swap@citea{%
6905
\let\NAT@def@citea\rtx@def@citea
6906
\let\NAT@def@citea@close\rtx@def@citea@close
6907
\let\NAT@def@citea@box\rtx@def@citea@box
6909
\def\rtx@def@citea{%
6910
\def\@citea{\NAT@separator\NAT@space}%
6911
\advance\c@NAT@ctr\@ne
6912
\@ifnum{\count@>\tw@}{%
6913
\@ifnum{\c@NAT@ctr=\count@}{\appdef\@citea{\NAT@conj\NAT@space}}{}%
6915
\def\@citea{\NAT@space\NAT@conj\NAT@space}%
6918
\def\rtx@def@citea@close{%
6920
\prepdef\@citea{\NAT@@close}%
6922
\def\rtx@def@citea@box{%
6923
\rtx@def@citea@close
6924
\expandafter\def\expandafter\@citea\expandafter{\expandafter\NAT@mbox\expandafter{\@citea}}%
6927
\def\NAT@BibitemShut#1{%
6929
\let\bibitem@Stop\bibitemStop
6930
\let\bibitem@NoStop\bibitemNoStop
6931
\@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
6932
\expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
6935
\def\BibitemShut@ltx#1{%
6938
\let\bibitem@Stop\bibitemStop
6939
\let\bibitem@NoStop\bibitemNoStop
6940
\@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
6941
\expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
6944
\newenvironment{thebibliography}{}{}%
6946
\appdef\rtx@require@packages{%
6947
\RequirePackage[sort&compress]{natbib}[2009/11/07 8.31a (PWD, AO)]%
6948
\let@environment{NAT@thebibliography}{thebibliography}%
6949
\let@environment{thebibliography}{rtx@thebibliography}%
6950
\let\bibliographystyle@latex\bibliographystyle
6951
\let\NAT@citesuper\rtx@citesuper
6952
\let\bibsection\rtx@bibsection
6953
\let\NATx@bibsetnum\NAT@bibsetnum
6954
\def\NAT@bibsetnum#1{%
6955
\setlength{\topsep}{\z@}%
6956
\NATx@bibsetnum{\ref{LastBibItem}}%
6958
\let\NATx@bibsetup\NAT@bibsetup
6960
\setlength{\labelwidth}{\z@}%
6961
\setlength{\labelsep}{\z@}%
6962
\setlength{\itemindent}{\z@}%
6963
\setlength{\listparindent}{\z@}%
6964
\setlength{\topsep}{\z@}%
6965
\setlength{\parsep}{\z@}%
6968
\let\bibpreamble\@empty
6970
\let\NATx@bibnumfmt\bibnumfmt
6971
\def\bibnumfmt{\place@bibnumber}%
6972
\let\NAT@merge\thr@@
6973
\let\NAT@citeyear\citeyear
6974
\let\onlinecite\rev@citealp
6975
\let\textcite\rev@citet
6976
\@ifx{\BibitemShut\NAT@BibitemShut}{%
6977
\class@info{Repairing natbib's \string\BibitemShut}%
6978
\let\BibitemShut\BibitemShut@ltx
6980
\let\bibliographystyle@latex\bibliographystyle
6981
\def\bibliographystyle{\@booleantrue\bibliographystyle@sw\def\@bibstyle}%
6982
\@booleanfalse\bibliographystyle@sw
6983
\def\NAT@bibitem@cont{%
6984
\let\bibitem@Stop\bibitemContinue@Stop
6985
\let\bibitem@NoStop\bibitemContinue
6987
\def\bibitemNoStop{%
6988
\@ifx@empty\@bibitemShut{.\spacefactor\@mmm\space}{\@bibitemShut}%
6990
\def\bibitemContinue{%
6991
\@ifx@empty\@bibitemShut{;\spacefactor\@mmm\space}{\@bibitemShut}%
6993
\def\bibitemContinue@Stop{%
6994
\@ifx@empty\@bibitemShut{\spacefactor\@mmm\space}{\@bibitemShut}%
6997
\DeclareRobustCommand\onlinecite{\@onlinecite}%
6998
\DeclareRobustCommand\textcite{\@textcite}%
6999
\let\bibliography@latex\bibliography
7000
\def\bibliography#1{%
7003
\let\auto@bib@innerbib\@empty
7004
\@ifx@empty{\pre@bibdata}{%
7005
\bibliography@latex{#1}%
7008
\expandafter\bibliography@latex\expandafter{\pre@bibdata}%
7010
\expandafter\bibliography@latex\expandafter{\pre@bibdata,#1}%
7015
\let\pre@bibdata\@empty
7016
\newenvironment{rtx@thebibliography}[1]{%
7017
\NAT@thebibliography{#1}%
7018
\let\@TBN@opr\present@bibnote
7022
\edef\@currentlabel{\arabic{NAT@ctr}}%
7023
\label{LastBibItem}%
7024
\endNAT@thebibliography
7025
\aftergroup\auto@bib@empty
7027
\def\present@bibnote#1#2{%
7031
\Hy@raisedlink{\hyper@anchorstart{frontmatter.#1}\hyper@anchorend}%
7033
\csname c@\@mpfn\endcsname#1\relax
7034
\frontmatter@thefootnote
7039
\def\write@bibliographystyle{%
7040
\@ifxundefined\@bibstyle{}{%
7041
\expandafter\bibliographystyle@latex\expandafter{\@bibstyle}%
7042
\bibliographystyle@sw{}{\@bibdataout@rev}%
7044
\global\let\write@bibliographystyle\relax
7046
\AtEndDocument{\write@bibliographystyle}%
7047
\def\rtx@@citetp[#1]{\@ifnextchar[{\rtx@citex[#1]}{\rtx@citex[][#1]}}%
7048
\def\rtx@citex[#1][#2]#3{%
7050
\def\@tempa{[#1][#2]{#3}}%
7051
\@ifx{\@cite\NAT@citesuper}{%
7060
\def\super@cite@let{%
7061
\futurelet\@let@token\super@cite@check
7063
\def\super@cite@end{%
7064
\aftergroup\@citex\expandafter\endgroup\@tempa
7066
\def\super@cite@check{%
7067
\@ifx{\@let@token\@sptoken}{%
7073
\long\def\super@cite@swap#1{%
7074
\expandafter\@ifx\expandafter{\csname rtx@automove#1\endcsname\@empty}{%
7082
\expandafter\let\csname rtx@automove.\endcsname\@empty
7083
\expandafter\let\csname rtx@automove,\endcsname\@empty
7084
\expandafter\let\csname rtx@automove:\endcsname\@empty
7085
\expandafter\let\csname rtx@automove;\endcsname\@empty
7086
\appdef\class@documenthook{%
7087
\citeautoscript@sw{%
7088
\@ifx{\@cite\NAT@citesuper}{%
7089
\let\NAT@@citetp\rtx@@citetp
7093
\def\mini@note{\save@note\mini@notes}%Implicit #2
7094
\def\save@note#1#2{%
7096
\protected@xdef\@thefnmark{\thempfn}%
7098
\expandafter\g@addto@macro
7101
\expandafter \@@footnotetext
7102
\expandafter {\@thefnmark}{#2}%
7105
\long\def\@@footnotetext#1{\def\@thefnmark{#1}\@footnotetext}%
7106
\let\mini@notes\@empty
7107
\def\rev@citemark#1{%
7108
\expandafter\cite\expandafter{\@thefnmark}%
7110
\def\rev@endtext#1{%
7111
\let\@endnotelabel\@thefnmark
7114
\def\endnote@ext{.end}%
7115
\def\bibdata@app{Notes}%
7116
\def\bibdata@ext{bib}%
7117
\long\def\@endnotetext#1{%
7120
\immediate\write\@bibdataout{%
7123
key="\@endnotelabel",%
7129
\newwrite\@bibdataout
7130
\def\endnote@relax{%
7131
\let\label\relax \let\index\relax \let\glossary\relax
7132
\let\cite \relax \let\ref \relax \let\pageref \relax
7133
\let\( \relax \let\) \relax \let\\ \relax
7135
\let \protect \@unexpandable@protect
7137
\let\begin\relax \let\end\relax
7139
\appdef\class@documenthook{\@bibdataout@init}%
7140
\def\@bibdataout@init{%
7141
\immediate\openout\@bibdataout\pre@bibdata.\bibdata@ext\relax
7143
\def\@bibdataout@rev{%
7144
\immediate\write\@bibdataout{%
7147
\eprint@enable@sw{}{,eprint=""}%
7151
\immediate\write\@auxout{\string\citation{REVTEX41Control}}%
7154
\def\printendnotes{%
7155
\class@warn{The \string\printendnotes\space command no longer serves any function. Please remove it from your document.}%
7157
\def\make@footnote@endnote{%
7161
\def\thempfn{Note\thefootnote}%
7162
\let\ltx@footmark\rev@citemark
7163
\let\ltx@foottext\rev@endtext
7167
\def\ltx@footnote@push{%
7168
\let\ltx@footmark@latex\ltx@footmark
7169
\let\ltx@foottext@latex\ltx@foottext
7170
\let\thempfn@latex\thempfn
7171
\def\ltx@footnote@pop{%
7172
\let\ltx@footmark\ltx@footmark@latex
7173
\let\ltx@foottext\ltx@foottext@latex
7174
\let\thempfn\thempfn@latex
7177
\appdef\class@documenthook{%
7178
\make@footnote@endnote
7181
\@ifx@empty\@FMN@list{%
7183
\@ifnum{\csname c@\@mpfn\endcsname>\z@}{%
7198
\def\auto@bib@empty{%
7199
\let\auto@bib\@empty
7202
\setbox\z@\vbox\bgroup
7203
\let\providecommand\providecommand@j@nk
7204
\let\bibfield\@gobbletwo
7205
\let\bibinfo\@gobbletwo
7206
\let\translation\@gobble
7207
\let\BibitemOpen\@empty
7208
\let\bibitemStop\@empty
7209
\let\bibitemNoStop\@empty
7211
\let\BibitemShut\@gobble
7212
\let\bibAnnoteFile\@gobbletwo
7213
\let\bibAnnote\@gobblethree
7216
\@booleanfalse\bibitem@sw
7217
\let\bibitem\bibitem@set
7219
\bibitem@sw{\aftergroup\true@sw}{\aftergroup\false@sw}%
7222
\newcommand\bibitem@set[1][]{%
7224
\@booleantrue\bibitem@sw
7225
\aftergroup\@booleantrue\aftergroup\bibitem@sw
7228
\def\auto@bib@innerbib{%
7230
\let@environment{thebibliography}{thebibliography@nogroup}%
7234
\def\thebibliography@nogroup#1{%
7236
\def\@currenvir{thebibliography}%
7238
\def\endthebibliography@nogroup{\begingroup}%
7239
\long\def \@gobblethree #1#2#3{}%
7240
\def\providecommand@j@nk#1[#2]{%
7241
\@ifnum{#2=\z@}{\def\j@nk}{%
7242
\@ifnum{#2=\@ne}{\def\j@nk##1}{%
7243
\@ifnum{#2=\tw@}{\def\j@nk##1##2}{%
7244
\@ifnum{#2=\thr@@}{\def\j@nk##1##2##3}{%
7250
\def\thepage{\@arabic\c@page}%
7251
\appdef\setup@hook{%
7252
\tabbingsep \labelsep
7253
\leftmargin\leftmargini
7254
\labelwidth\leftmargin\advance\labelwidth-\labelsep
7258
\appdef\class@documenthook{%
7260
\def\curr@envir{document}%
7261
\mark@envir{\curr@envir}%
7263
\def\open@onecolumn{%
7264
\open@column@one\@ne
7269
\def\open@twocolumn{%
7270
\open@column@mlt\tw@
7275
\let\set@listindent\set@listindent@
7279
\setcounter{section}\z@
7280
\setcounter{subsection}\z@
7281
\setcounter{subsubsection}\z@
7282
\def\thesubsection{\arabic{subsection}}%
7283
\def\thesubsubsection{\alph{subsubsection}}%
7284
\@addtoreset{equation}{section}%
7285
\def\theequation@prefix{\thesection}%
7286
\addtocontents{toc}{\protect\appendix}%
7288
\def\thesection{\unskip}%
7289
\def\theequation@prefix{A.}%
7291
\def\thesection{\Alph{section}}%
7294
\def\title@column#1{%
7295
\minipagefootnote@init
7297
\minipagefootnote@foot
7302
\def\galley@outdent{\rightmargin-\columnwidth\advance\rightmargin-\columnsep}%
7303
\let\widetext@outdent\@empty
7304
\newenvironment{widetext@galley}{%
7307
\listparindent \parindent
7308
\itemindent \parindent
7310
\parsep \z@\@plus\p@
7318
\def\title@column@grid#1{%
7319
\minipagefootnote@init
7322
\let\@footnotetext\frontmatter@footnotetext
7327
\minipagefootnote@foot
7329
\def\close@column@grid{%
7330
\balancelastpage@sw{%
7334
\newenvironment{widetext@grid}{%
7336
\setbox\widetext@top\vbox{%
7342
\setbox\widetext@bot\hb@xt@\hsize{%
7348
\dimen@\ht\widetext@top\advance\dimen@\dp\widetext@top
7349
\cleaders\box\widetext@top\vskip\dimen@
7355
\setbox\widetext@bot\vbox{%
7356
\hb@xt@\hsize{\hfil\box\widetext@bot}%
7358
\dimen@\ht\widetext@bot\advance\dimen@\dp\widetext@bot
7359
\cleaders\box\widetext@bot\vskip\dimen@
7361
\twocolumngrid\global\@ignoretrue
7364
\newbox\widetext@top
7365
\newbox\widetext@bot
7366
\def\set@page@grid{%
7368
\let\set@footnotewidth\set@footnotewidth@two
7369
\let\compose@footnotes\compose@footnotes@two
7370
\let@environment{widetext}{widetext@grid}%
7371
\let\title@column\title@column@grid
7372
\let\close@column\close@column@grid
7374
\let@environment{widetext}{widetext@galley}%
7378
\let\widetext@outdent\galley@outdent
7383
\appdef\setup@hook{\set@page@grid}%
7384
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
7385
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
7386
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
7387
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
7388
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
7389
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
7390
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
7391
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
7392
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
7393
\def\today{\ifcase\month\or
7394
January\or February\or March\or April\or May\or June\or
7395
July\or August\or September\or October\or November\or December\fi
7396
\space\number\day, \number\year}
7398
\def\tocname{Contents}
7399
\def\lofname{List of Figures}
7400
\def\lotname{List of Tables}
7401
\def\refname{References}
7402
\def\indexname{Index}
7403
\def\figurename{FIG.}
7404
\def\figuresname{Figures}%
7405
\def\tablename{TABLE}
7406
\def\tablesname{Tables}%
7407
\def\abstractname{Abstract}
7408
\def\appendixesname{Appendixes}%
7409
\def\appendixname{Appendix}%
7410
\def\acknowledgmentsname{Acknowledgments}
7411
\def\journalname{??}
7412
\def\copyrightname{??}
7414
\def\@pacs@name{PACS numbers: }%
7415
\def\@keys@name{Keywords: }%
7417
\def\numbername{number}
7418
\def\volumename{volume}
7419
\def\Dated@name{Dated: }%
7420
\def\Received@name{Received }%
7421
\def\Revised@name{Revised }%
7422
\def\Accepted@name{Accepted }%
7423
\def\Published@name{Published }%
7424
\def\address{\replace@command\address\affiliation}%
7425
\def\altaddress{\replace@command\altaddress\altaffiliation}%
7426
\newenvironment{references}{%
7427
\class@warn@end{The references environment is not supported; use thebibliography instead.}
7428
\gdef\references{\thebibliography{}}\references
7433
\class@warn@end{Command \string\draft\space is obsolete;^^JInvoke option draft instead.}%
7434
\@booleantrue\draft@sw
7437
\class@warn@end{Command \string\tighten\space is obsolete;^^JInvoke option tightenlines instead.}%
7438
\@booleantrue\tightenlines@sw
7442
\class@warn@end{Command \string\tableline\space is obsolete;^^JUse \string\colrule\space instead.}%
7443
\global\let\tableline\colrule
7447
\def\case{\replace@command\case\frac}%
7448
\def\slantfrac{\replace@command\slantfrac\frac}%
7449
\def\tablenote{\replace@command\tablenote\footnote}%
7450
\def\tablenotemark{\replace@command\tablenotemark\footnotemark}%
7451
\def\tablenotetext{\replace@command\tablenotetext\footnotetext}%
7452
\DeclareRobustCommand\REV@text[1]{%
7456
{\hbox{{\everymath{\displaystyle }#1}}}%
7457
{\hbox{{\everymath{\textstyle }#1}}}%
7458
{\hbox{{\everymath{\scriptstyle }\let\f@size\sf@size\selectfont#1}}}%
7459
{\hbox{{\everymath{\scriptscriptstyle}\let\f@size\ssf@size\selectfont#1}}}%
7465
\DeclareRobustCommand\REV@bbox[1]{%
7469
{\hbox{{\everymath{\displaystyle }\boldmath$#1$}}}%
7470
{\hbox{{\everymath{\textstyle }\boldmath$#1$}}}%
7471
{\hbox{{\everymath{\scriptstyle }\boldmath$#1$}}}%
7472
{\hbox{{\everymath{\scriptscriptstyle}\boldmath$#1$}}}%
7478
\DeclareRobustCommand\REV@bm[1]{%
7479
\class@warn@end{To use \string\bm, please load the bm package!}%
7480
\global\let\bm\relax
7482
\def\FL{\obsolete@command\FL}%
7483
\def\FR{\obsolete@command\FR}%
7484
\def\narrowtext{\obsolete@command\narrowtext}%
7485
\def\mediumtext{\obsolete@command\mediumtext}%
7486
\newenvironment{quasitable}{%
7487
\let@environment{tabular}{longtable}%
7492
\appdef\setup@hook{%
7493
\providecommand\bibinfo[2]{#2}%
7494
\providecommand\eprint[2][]{#2}%
7497
\class@warn@end{\string\bbox\space is obsolete,^^Jload the bm package and use \string\bm\space instead.}%
7498
\global\let\bbox\relax
7500
\newenvironment{mathletters}{%
7501
\class@warn@end{Environment {mathletters} is obsolete;^^Jload the amsmath package and use {subequations}!}%
7502
\global\let\mathletters\@empty
7506
\class@warn@end{\string\eqnum\space is obsolete, load the amsmath package and use \string\tag!}%
7507
\global\let\eqnum\@gobble
7509
\appdef\rtx@require@packages{%
7510
\RequirePackage{revsymb4-1}%
7512
\appdef\class@documenthook{\revsymb@inithook}%
7513
\def\@LN@LLerror@org{%
7514
\PackageError{lineno}{%
7515
\string\linelabel\space without \string\linenumbers
7517
Just see documentation. (New feature v4.11)%
7521
\def\@LN@LLerror@ltx{%
7522
\PackageWarning{lineno}{%
7523
To make the \string\linelabel\space command work, you must issue the \string\linenumbers\ command
7527
\appdef\class@documenthook{%
7528
\@ifx{\@LN@LLerror\@LN@LLerror@org}{%
7529
\class@info{Overriding \string\@LN@LLerror}%
7530
\let\@LN@LLerror\@LN@LLerror@ltx
7532
\@ifpackageloaded{lineno}{%
7533
\@ifxundefined{\set@linepenalties}{}{%
7534
\def\prep@absbox{\set@linepenalties}%
7535
\def\post@absbox{\let\@LN@parpgbrk\@empty\@linenumberpar}%
7539
\appdef\rtx@require@packages{%
7540
\InputIfFileExists{\jobname.rty}{}{}%
7542
\@parse@class@options@society
7543
\@process@society{aps}%
7544
\@parse@class@options@\@journal
7545
\expandafter\@process@journal\expandafter{\@journal@default}%
7546
\@parse@class@options@\@pointsize
7547
\expandafter\@process@pointsize\expandafter{\@pointsize@default}%
7549
\rtx@require@packages
7553
%% End of file `revtex4-1.cls'.