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