|
1 %% |
|
2 %% This is file `ltxutil.sty', |
|
3 %% generated with the docstrip utility. |
|
4 %% |
|
5 %% The original source files were: |
|
6 %% |
|
7 %% ltxutil.dtx (with options: `ltxutil,ltxutil-krn') |
|
8 %% |
|
9 %% This is a generated file; |
|
10 %% altering it directly is inadvisable; |
|
11 %% instead, modify the original source file. |
|
12 %% See the URL in the file 00readme.txt. |
|
13 %% |
|
14 %% Copyright notice. |
|
15 %% |
|
16 %% These files are distributed |
|
17 %% WITHOUT ANY WARRANTY; without even the implied warranty of |
|
18 %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
19 %% |
|
20 %%% @LaTeX-file{ |
|
21 %%% filename = "ltxutil.dtx", |
|
22 %%% version = "1.0rc5b", |
|
23 %%% date = "2001/07/31", |
|
24 %%% time = "12:23:00 GMT+8", |
|
25 %%% checksum = "3641", |
|
26 %%% author = "Arthur Ogawa (mailto:ogawa@teleport.com), |
|
27 %%% commissioned by the American Physical Society. |
|
28 %%% ", |
|
29 %%% copyright = "Copyright (C) 1999 Arthur Ogawa, |
|
30 %%% distributed under the terms of the |
|
31 %%% LaTeX Project Public License, see |
|
32 %%% ftp://ctan.tug.org/macros/latex/base/lppl.txt |
|
33 %%% ", |
|
34 %%% address = "Arthur Ogawa, |
|
35 %%% USA", |
|
36 %%% telephone = "", |
|
37 %%% FAX = "", |
|
38 %%% email = "ogawa@teleport.com", |
|
39 %%% codetable = "ISO/ASCII", |
|
40 %%% keywords = "latex, utility, kernel", |
|
41 %%% supported = "yes", |
|
42 %%% abstract = "package to add utilties to LaTeX", |
|
43 %%% docstring = "The checksum field above generated by ltxdoc", |
|
44 %%% } |
|
45 \NeedsTeXFormat{LaTeX2e}[1995/12/01]% |
|
46 \ProvidesFile{ltxutil.sty}% |
|
47 [2001/07/31 1.0rc5b utilities package]% \fileversion |
|
48 \def\package@name{ltxutil}% |
|
49 \expandafter\PackageInfo\expandafter{\package@name}{% |
|
50 Utility macros for \protect\LaTeXe, |
|
51 by A. Ogawa (ogawa@teleport.com)% |
|
52 }% |
|
53 \typeout{% |
|
54 ltxutil: portions licensed from W. E. Baxter (web@superscript.com)% |
|
55 }% |
|
56 \def\class@err#1{\ClassError{\class@name}{#1}\@eha}% |
|
57 \def\class@warn#1{\ClassWarningNoLine{\class@name}{#1}}% |
|
58 \def\class@info#1{\ClassInfo{\class@name}{#1}}% |
|
59 \def\obsolete@command#1{% |
|
60 \class@warn@end{Command \string#1\space is obsolete.^^JPlease remove from your document}% |
|
61 \global\let#1\@empty |
|
62 #1% |
|
63 }% |
|
64 \def\replace@command#1#2{% |
|
65 \class@warn@end{Command \string#1\space is obsolete;^^JUse \string#2\space instead}% |
|
66 \global\let#1#2% |
|
67 #1% |
|
68 }% |
|
69 \def\replace@environment#1#2{% |
|
70 \class@warn@end{Environment #1 is obsolete;^^JUse #2 instead}% |
|
71 \glet@environment{#1}{#2}% |
|
72 \@nameuse{#1}% |
|
73 }% |
|
74 \def\incompatible@package#1{% |
|
75 \@ifpackageloaded{#1}{% |
|
76 \def\@tempa{I cannot continue. You must remove the \string\usepackage\ statement that caused that package to be loaded.}% |
|
77 \ClassError{\class@name}{The #1 package cannot be used with \class@name}% |
|
78 \@tempa\stop |
|
79 }{% |
|
80 \class@info{#1 was not loaded (OK!)}% |
|
81 }% |
|
82 }% |
|
83 \def\class@warn@end#1{% |
|
84 \gappdef\class@enddocumenthook{\class@warn{#1}}% |
|
85 }% |
|
86 \AtEndOfClass{% |
|
87 \@ifxundefined\class@name{\def\class@name{Generic Class}}{}% |
|
88 }% |
|
89 \def\t@{to}% |
|
90 \dimendef\dimen@iii\thr@@ |
|
91 \def\halignt@{\halign\t@}% |
|
92 \chardef\f@ur=4\relax |
|
93 \chardef\cat@letter=11\relax |
|
94 \chardef\other=12\relax |
|
95 \def\let@environment#1#2{% |
|
96 \expandafter\let |
|
97 \csname#1\expandafter\endcsname\csname#2\endcsname |
|
98 \expandafter\let |
|
99 \csname end#1\expandafter\endcsname\csname end#2\endcsname |
|
100 }% |
|
101 \def\glet@environment#1#2{% |
|
102 \global\expandafter\let |
|
103 \csname#1\expandafter\endcsname\csname#2\endcsname |
|
104 \global\expandafter\let |
|
105 \csname end#1\expandafter\endcsname\csname end#2\endcsname |
|
106 }% |
|
107 \newcommand\tracingplain{% |
|
108 \tracingonline\z@\tracingcommands\z@\tracingstats\z@ |
|
109 \tracingpages\z@\tracingoutput\z@\tracinglostchars\@ne |
|
110 \tracingmacros\z@\tracingparagraphs\z@\tracingrestores\z@ |
|
111 \showboxbreadth5\showboxdepth3\relax %\errorstopmode |
|
112 }% |
|
113 \newcommand\traceoutput{% |
|
114 \appdef\@resetactivechars{\showoutput}% |
|
115 }% |
|
116 \newcommand\say[1]{\typeout{<\noexpand#1=\meaning#1>}}% |
|
117 \newcommand\saythe[1]{\typeout{<\noexpand#1=\the#1>}}% |
|
118 \def\fullinterlineskip{\prevdepth\z@}% |
|
119 \countdef\count@i\@ne |
|
120 \countdef\count@ii\tw@ |
|
121 \long\def\prepdef#1#2{% |
|
122 \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% |
|
123 \toks@ii{#2}% |
|
124 \edef#1{\the\toks@ii\the\toks@}% |
|
125 }% |
|
126 \long\def\appdef#1#2{% |
|
127 \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% |
|
128 \toks@ii{#2}% |
|
129 \edef#1{\the\toks@\the\toks@ii}% |
|
130 }% |
|
131 \long\def\gappdef#1#2{% |
|
132 \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% |
|
133 \toks@ii{#2}% |
|
134 \global\edef#1{\the\toks@\the\toks@ii}% |
|
135 }% |
|
136 \long\def\appdef@val#1#2{% |
|
137 \appdef#1{{#2}}% |
|
138 }% |
|
139 \long\def\appdef@e#1#2{% |
|
140 \expandafter\appdef |
|
141 \expandafter#1% |
|
142 \expandafter{#2}% |
|
143 }% |
|
144 \long\def\appdef@eval#1#2{% |
|
145 \expandafter\appdef@val |
|
146 \expandafter#1% |
|
147 \expandafter{#2}% |
|
148 }% |
|
149 \toksdef\toks@ii=\tw@ |
|
150 \long\def\@ifxundefined#1{\@ifx{\undefined#1}}% |
|
151 \long\def\@ifnotrelax#1#2#3{\@ifx{\relax#1}{#3}{#2}}% |
|
152 \long\def\@argswap#1#2{#2#1}% |
|
153 \long\def\@argswap@val#1#2{#2{#1}}% |
|
154 \def\@ifxundefined@cs#1{\expandafter\@ifx\expandafter{\csname#1\endcsname\relax}}% |
|
155 \def\@boolean#1#2{% |
|
156 \long\def#1{% |
|
157 #2% \if<something> |
|
158 \expandafter\true@sw |
|
159 \else |
|
160 \expandafter\false@sw |
|
161 \fi |
|
162 }% |
|
163 }% |
|
164 \def\@boole@def#1#{\@boolean{#1}}% Implicit #2 |
|
165 \def\@booleantrue#1{\let#1\true@sw}% |
|
166 \def\@booleanfalse#1{\let#1\false@sw}% |
|
167 \@boole@def\@ifx#1{\ifx#1}% |
|
168 \@boole@def\@ifx@empty#1{\ifx\@empty#1}% |
|
169 \@boole@def\@if@empty#1{\if!#1!}% |
|
170 \def\@if@sw#1#2{#1\expandafter\true@sw\else\expandafter\false@sw#2}% |
|
171 \@boole@def\@ifdim#1{\ifdim#1}% |
|
172 \@boole@def\@ifeof#1{\ifeof#1}% |
|
173 \@boole@def\@ifhbox#1{\ifhbox#1}% |
|
174 \@boole@def\@ifhmode{\ifhmode}% |
|
175 \@boole@def\@ifinner{\ifinner}% |
|
176 \@boole@def\@ifmmode{\ifmmode}% |
|
177 \@boole@def\@ifnum#1{\ifnum#1}% |
|
178 \@boole@def\@ifodd#1{\ifodd#1}% |
|
179 \@boole@def\@ifvbox#1{\ifvbox#1}% |
|
180 \@boole@def\@ifvmode{\ifvmode}% |
|
181 \@boole@def\@ifvoid#1{\ifvoid#1}% |
|
182 \long\def\true@sw#1#2{#1}% |
|
183 \long\def\false@sw#1#2{#2}% |
|
184 \long\def\loopuntil#1{#1{}{\loopuntil{#1}}}% |
|
185 \long\def\loopwhile#1{#1{\loopwhile{#1}}{}}% |
|
186 \def\@provide#1{% |
|
187 \@ifx{\undefined#1}{\true@sw}{\@ifx{\relax#1}{\true@sw}{\false@sw}}% |
|
188 {\def#1}{\def\j@nk}% |
|
189 }% |
|
190 \prepdef\document{% |
|
191 \endgroup |
|
192 \init@documenthook |
|
193 \set@typesize@hook |
|
194 \normalsize |
|
195 \set@pica@hook |
|
196 \true@sw{}% |
|
197 }% |
|
198 \def\init@documenthook{}% |
|
199 \AtBeginDocument{% |
|
200 \class@documenthook |
|
201 }% |
|
202 \AtEndDocument{% |
|
203 \class@enddocumenthook |
|
204 }% |
|
205 \def\class@documenthook{}% |
|
206 \def\class@enddocumenthook{}% |
|
207 \def\set@typesize@hook{}% |
|
208 \def\set@pica@hook{}% |
|
209 \def\enddocument{% |
|
210 \@enddocumenthook |
|
211 \@checkend{document}% |
|
212 \clear@document |
|
213 \check@aux |
|
214 \deadcycles\z@ |
|
215 \@@end |
|
216 }% |
|
217 \def\clear@document{\clearpage}% |
|
218 \def\check@aux{\do@check@aux}% |
|
219 \def\do@check@aux{% |
|
220 \@if@sw\if@filesw\fi{% |
|
221 \immediate\closeout\@mainaux |
|
222 \let\@setckpt\@gobbletwo |
|
223 \let\@newl@bel\@testdef |
|
224 \@tempswafalse |
|
225 \makeatletter |
|
226 \input\jobname.aux\relax |
|
227 }{}% |
|
228 \@dofilelist |
|
229 \@ifdim{\font@submax >\fontsubfuzz\relax}{% |
|
230 \@font@warning{% |
|
231 Size substitutions with differences\MessageBreak |
|
232 up to \font@submax\space have occured.\@gobbletwo |
|
233 }% |
|
234 }{}% |
|
235 \@defaultsubs |
|
236 \@refundefined |
|
237 \@if@sw\if@filesw\fi{% |
|
238 \@ifx{\@multiplelabels\relax}{% |
|
239 \@if@sw\if@tempswa\fi{% |
|
240 \@latex@warning@no@line{% |
|
241 Label(s) may have changed. |
|
242 Rerun to get cross-references right |
|
243 }% |
|
244 }{}% |
|
245 }{% |
|
246 \@multiplelabels |
|
247 }% |
|
248 }{}% |
|
249 }% |
|
250 \def\flushing{% |
|
251 \let\\\@normalcr |
|
252 \leftskip\z@skip |
|
253 \rightskip\z@skip |
|
254 \@rightskip\z@skip |
|
255 \parfillskip\@flushglue |
|
256 }% |
|
257 \def\eqnarray@LaTeX{% |
|
258 \stepcounter{equation}% |
|
259 \def\@currentlabel{\p@equation\theequation}% |
|
260 \global\@eqnswtrue |
|
261 \m@th |
|
262 \global\@eqcnt\z@ |
|
263 \tabskip\@centering |
|
264 \let\\\@eqncr |
|
265 $$\everycr{}\halign\t@\displaywidth\bgroup |
|
266 \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel |
|
267 &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil |
|
268 &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep |
|
269 $\displaystyle{##}$\hfil\tabskip\@centering |
|
270 &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup |
|
271 \tabskip\z@skip |
|
272 \cr |
|
273 } |
|
274 \long\def\eqnarray@fleqn@fixed{% |
|
275 \stepcounter{equation}\def\@currentlabel{\p@equation\theequation}% |
|
276 \global\@eqnswtrue\m@th\global\@eqcnt\z@ |
|
277 \tabskip\mathindent |
|
278 \let\\=\@eqncr |
|
279 \setlength\abovedisplayskip{\topsep}% |
|
280 \ifvmode\addtolength\abovedisplayskip{\partopsep}\fi |
|
281 \addtolength\abovedisplayskip{\parskip}% |
|
282 \setlength\belowdisplayskip{\abovedisplayskip}% |
|
283 \setlength\belowdisplayshortskip{\abovedisplayskip}% |
|
284 \setlength\abovedisplayshortskip{\abovedisplayskip}% |
|
285 $$% |
|
286 \everycr{}% |
|
287 \halignt@\linewidth\bgroup |
|
288 \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel |
|
289 &\global\@eqcnt\@ne |
|
290 \hskip\tw@\eqncolsep |
|
291 \hfil${{}##{}}$\hfil |
|
292 &\global\@eqcnt\tw@ |
|
293 \hskip\tw@\eqncolsep |
|
294 $\displaystyle{##}$\hfil\tabskip\@centering |
|
295 &\global\@eqcnt\thr@@\hb@xt@\z@\bgroup\hss##\egroup |
|
296 \tabskip\z@skip |
|
297 \cr |
|
298 }% |
|
299 \@ifx{\eqnarray\eqnarray@LaTeX}{% |
|
300 \class@info{Repairing broken LaTeX eqnarray}% |
|
301 \let\eqnarray\eqnarray@fleqn@fixed |
|
302 \newlength\eqncolsep |
|
303 \setlength\eqncolsep\z@ |
|
304 \let\eqnarray@LaTeX\relax |
|
305 \let\eqnarray@fleqn@fixed\relax |
|
306 }{}% |
|
307 \def\mathindent{\@centering}% |
|
308 \def\set@eqnarray@skips{}% |
|
309 \def\footnote{% |
|
310 \@ifnextchar[\@xfootnote{\@yfootnote\@footnotetext}% |
|
311 }% |
|
312 \def\footnotemark{% |
|
313 \@ifnextchar[\@xfootnotemark{\@yfootnote}% |
|
314 }% |
|
315 \def\@xfootnote[#1]{% |
|
316 \@xfootnotemark[#1]% |
|
317 \@footnotetext |
|
318 }% |
|
319 \def\@xfootnotemark@ltx[#1]{% |
|
320 \begingroup |
|
321 \csname c@\@mpfn\endcsname #1\relax |
|
322 \unrestored@protected@xdef\@thefnmark{\thempfn}% |
|
323 \endgroup |
|
324 \H@@footnotemark |
|
325 }% |
|
326 \def\@yfootnote{% |
|
327 \stepcounter\@mpfn |
|
328 \protected@xdef\@thefnmark{\thempfn}% |
|
329 \H@@footnotemark |
|
330 }% |
|
331 \appdef\class@documenthook{% |
|
332 \@ifxundefined\H@@footnotemark{% |
|
333 \let\H@@footnotemark\@footnotemark |
|
334 }{}% |
|
335 \let\@xfootnotemark\@xfootnotemark@ltx |
|
336 }% |
|
337 \long\def\@footnotetext{% |
|
338 \insert\footins\bgroup |
|
339 \make@footnotetext |
|
340 }% |
|
341 \long\def\@mpfootnotetext{% |
|
342 \minipagefootnote@pick |
|
343 \make@footnotetext |
|
344 }% |
|
345 \def\make@footnotetext#1{% |
|
346 \reset@font\footnotesize |
|
347 \interlinepenalty\interfootnotelinepenalty |
|
348 \splittopskip\footnotesep |
|
349 \splitmaxdepth\dp\strutbox |
|
350 \set@footnotewidth |
|
351 \@parboxrestore |
|
352 \protected@edef\@currentlabel{% |
|
353 \csname p@footnote\endcsname\@thefnmark |
|
354 }% |
|
355 \color@begingroup |
|
356 \@makefntext{% |
|
357 \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox |
|
358 }% |
|
359 \color@endgroup |
|
360 \minipagefootnote@drop |
|
361 }% |
|
362 \def\set@footnotewidth{% |
|
363 \hsize\columnwidth |
|
364 \linewidth\hsize |
|
365 }% |
|
366 \def\set@footnotewidth@ii{% |
|
367 \hsize\textwidth |
|
368 \advance\hsize\columnsep |
|
369 \divide\hsize\tw@ |
|
370 \advance\hsize-\columnsep |
|
371 \linewidth\hsize |
|
372 }% |
|
373 \def\addtocontents#1#2{% |
|
374 \protected@write\@auxout{% |
|
375 \let \label \@gobble \let \index \@gobble \let \glossary \@gobble |
|
376 \def\({\string\(}% |
|
377 \def\){\string\)}% |
|
378 \def\\{\string\\}% |
|
379 }{\string \@writefile {#1}{#2}}% |
|
380 }% |
|
381 \def\addcontentsline#1#2#3{% |
|
382 \addtocontents{#1}{% |
|
383 \protect\contentsline{#2}{#3}{\thepage}{}% |
|
384 }% |
|
385 }% |
|
386 \def\contentsline#1#2#3#4{% |
|
387 \csname l@#1\endcsname{#2}{#3}% |
|
388 }% |
|
389 \def\label#1{% |
|
390 \@bsphack |
|
391 \protected@write\@auxout{}{% |
|
392 \string\newlabel{#1}{{\@currentlabel}{\thepage}{}{}{}}% |
|
393 }% |
|
394 \@esphack |
|
395 }% |
|
396 \appdef\class@documenthook{% |
|
397 \prepdef\caption{\minipagefootnote@here}% |
|
398 }% |
|
399 \def\minipagefootnote@init{% |
|
400 \setbox\@mpfootins\box\voidb@x |
|
401 }% |
|
402 \def\minipagefootnote@pick{% |
|
403 \global\setbox\@mpfootins\vbox\bgroup |
|
404 \unvbox\@mpfootins |
|
405 }% |
|
406 \def\minipagefootnote@drop{% |
|
407 \egroup |
|
408 }% |
|
409 \def\minipagefootnote@here{% |
|
410 \par |
|
411 \@ifvoid\@mpfootins{}{% |
|
412 \vskip\skip\@mpfootins |
|
413 \fullinterlineskip |
|
414 \@ifinner{% |
|
415 \vtop{\unvcopy\@mpfootins}% |
|
416 {\setbox\z@\lastbox}% |
|
417 }{}% |
|
418 \unvbox\@mpfootins |
|
419 }% |
|
420 }% |
|
421 \def\minipagefootnote@foot{% |
|
422 \@ifvoid\@mpfootins{}{% |
|
423 \insert\footins\bgroup\unvbox\@mpfootins\egroup |
|
424 }% |
|
425 }% |
|
426 \def\endminipage{% |
|
427 \par |
|
428 \unskip |
|
429 \minipagefootnote@here |
|
430 \@minipagefalse %% added 24 May 89 |
|
431 \color@endgroup |
|
432 \egroup |
|
433 \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}% |
|
434 }% |
|
435 \let\@xfloat@LaTeX\@xfloat |
|
436 \def\@xfloat#1[#2]{% |
|
437 \@xfloat@prep |
|
438 \@nameuse{fp@proc@#2}% |
|
439 \@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}% |
|
440 \floats@sw{\@xfloat@LaTeX{#1}[#2]}{\@xfloat@anchored{#1}[]}% |
|
441 }% |
|
442 \def\@xfloat@prep{% |
|
443 \let\footnote\footnote@latex |
|
444 \def\@mpfn{mpfootnote}% |
|
445 \def\thempfn{\thempfootnote}% |
|
446 \c@mpfootnote\z@ |
|
447 \let\@footnotetext\@mpfootnotetext |
|
448 \let\H@@footnotetext\@mpfootnotetext |
|
449 \let\@makefntext\@mpmakefntext |
|
450 }% |
|
451 \appdef\class@documenthook{% |
|
452 \let\footnote@latex\footnote |
|
453 }% |
|
454 \def\@xfloat@anchored#1[#2]{% |
|
455 \def\@captype{#1}% |
|
456 \begin@float@pagebreak |
|
457 \let\end@float\end@float@anchored |
|
458 \let\end@dblfloat\end@float@anchored |
|
459 \hsize\columnwidth |
|
460 \@parboxrestore |
|
461 \@floatboxreset |
|
462 \minipagefootnote@init |
|
463 }% |
|
464 \def\end@float@anchored{% |
|
465 \minipagefootnote@here |
|
466 \par\vskip\z@skip %% \par\vskip\z@ added 15 Dec 87 |
|
467 \par |
|
468 \end@float@pagebreak |
|
469 }% |
|
470 \def\begin@float@pagebreak{\par\addvspace\intextsep}% |
|
471 \def\end@float@pagebreak{\par\addvspace\intextsep}% |
|
472 \def\@mpmakefntext#1{% |
|
473 \parindent=1em |
|
474 \noindent |
|
475 \hb@xt@1em{\hss\@makefnmark}% |
|
476 #1% |
|
477 }% |
|
478 \def\do@if@floats#1#2{% |
|
479 \@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}% |
|
480 \floats@sw{}{% |
|
481 \expandafter\newwrite |
|
482 \csname#1write\endcsname |
|
483 \expandafter\def |
|
484 \csname#1@stream\endcsname{\jobname#2}% |
|
485 \expandafter\immediate |
|
486 \expandafter\openout |
|
487 \csname#1write\endcsname |
|
488 \csname#1@stream\endcsname\relax |
|
489 \@ifxundefined\@float@LaTeX{% |
|
490 \let\@float@LaTeX\@float |
|
491 \let\@dblfloat@LaTeX\@dblfloat |
|
492 \let\@float\write@float |
|
493 \let\@dblfloat\write@floats |
|
494 }{}% |
|
495 \let@environment{#1@float}{#1}% |
|
496 \let@environment{#1@floats}{#1*}% |
|
497 \@ifxundefined@cs{#1@write}{}{% |
|
498 \let@environment{#1}{#1@write}% |
|
499 }% |
|
500 }% |
|
501 }% |
|
502 \def\triggerpar{\leavevmode\@@par}% |
|
503 \def\oneapage{\def\begin@float@pagebreak{\newpage}\def\end@float@pagebreak{\newpage}}% |
|
504 \def\print@float#1#2{% |
|
505 \@ifxundefined@cs{#1write}{}{% |
|
506 \begingroup |
|
507 \@booleanfalse\floats@sw |
|
508 #2% |
|
509 \raggedbottom |
|
510 \def\array@default{v}% floats must |
|
511 \let\@float\@float@LaTeX |
|
512 \let\@dblfloat\@dblfloat@LaTeX |
|
513 \let\trigger@float@par\triggerpar |
|
514 \let@environment{#1}{#1@float}% |
|
515 \let@environment{#1*}{#1@floats}% |
|
516 \expandafter\prepdef\csname#1\endcsname{\trigger@float@par}% |
|
517 \expandafter\prepdef\csname#1*\endcsname{\trigger@float@par}% |
|
518 \@namedef{fps@#1}{h!}% |
|
519 \expandafter\immediate |
|
520 \expandafter\closeout |
|
521 \csname#1write\endcsname |
|
522 \everypar{% |
|
523 \global\let\trigger@float@par\relax |
|
524 \global\everypar{}\setbox\z@\lastbox |
|
525 \@ifxundefined@cs{#1sname}{}{% |
|
526 \begin@float@pagebreak |
|
527 \expandafter\section |
|
528 \expandafter*% |
|
529 \expandafter{% |
|
530 \csname#1sname\endcsname |
|
531 }% |
|
532 }% |
|
533 }% |
|
534 \input{\csname#1@stream\endcsname}% |
|
535 \endgroup |
|
536 \global\expandafter\let\csname#1write\endcsname\relax |
|
537 }% |
|
538 }% |
|
539 \def\write@float#1{\write@@float{#1}{#1}}% |
|
540 \def\endwrite@float{\@Esphack}% |
|
541 \def\write@floats#1{\write@@float{#1*}{#1}}% |
|
542 \def\endwrite@floats{\@Esphack}% |
|
543 \def\write@@float#1#2{% |
|
544 \ifhmode |
|
545 \@bsphack |
|
546 \fi |
|
547 \chardef\@tempc\csname#2write\endcsname |
|
548 \toks@{\begin{#1}}% |
|
549 \def\@tempb{#1}% |
|
550 \expandafter\let\csname end#1\endcsname\endwrite@float |
|
551 \catcode`\^^M\active |
|
552 \@makeother\{\@makeother\}\@makeother\% |
|
553 \write@floatline |
|
554 }% |
|
555 \begingroup |
|
556 \catcode`\[\the\catcode`\{\catcode`\]\the\catcode`\}\@makeother\{\@makeother\}% |
|
557 \gdef\float@end@tag#1\end{#2}#3\@nul[% |
|
558 \def\@tempa[#2]% |
|
559 \@ifx[\@tempa\@tempb][\end[#2]][\write@floatline]% |
|
560 ]% |
|
561 \obeylines% |
|
562 \gdef\write@floatline#1^^M[% |
|
563 \begingroup% |
|
564 \newlinechar`\^^M% |
|
565 \toks@\expandafter[\the\toks@#1]\immediate\write\@tempc[\the\toks@]% |
|
566 \endgroup% |
|
567 \toks@[]% |
|
568 \float@end@tag#1\end{}\@nul% |
|
569 ]% |
|
570 \endgroup |
|
571 \def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi} |
|
572 \def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or |
|
573 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 |
|
574 y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or |
|
575 kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or |
|
576 vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi} |
|
577 \def\@startsection#1#2#3#4#5#6{% |
|
578 \@startsection@hook |
|
579 \if@noskipsec \leavevmode \fi |
|
580 \par |
|
581 \@tempskipa #4\relax |
|
582 \@afterindenttrue |
|
583 \ifdim \@tempskipa <\z@ |
|
584 \@tempskipa -\@tempskipa \@afterindentfalse |
|
585 \fi |
|
586 \if@nobreak |
|
587 \everypar{}% |
|
588 \else |
|
589 \addpenalty\@secpenalty\addvspace\@tempskipa |
|
590 \fi |
|
591 \@ifstar |
|
592 {\@dblarg{\@ssect@ltx{#1}{#2}{#3}{#4}{#5}{#6}}}% |
|
593 {\@dblarg{\@sect@ltx {#1}{#2}{#3}{#4}{#5}{#6}}}% |
|
594 }% |
|
595 \def\@startsection@hook{}% |
|
596 \class@info |
|
597 {Repairing broken LateX \string\@sect}% |
|
598 \def\@sect@ltx#1#2#3#4#5#6[#7]#8{% |
|
599 \@ifnum{#2>\c@secnumdepth}{% |
|
600 \def\H@svsec{\phantomsection}% |
|
601 \let\@svsec\@empty |
|
602 }{% |
|
603 \H@refstepcounter{#1}% |
|
604 \def\H@svsec{% |
|
605 \phantomsection |
|
606 }% |
|
607 \protected@edef\@svsec{{#1}}% |
|
608 \@ifundefined{@#1cntformat}{% |
|
609 \prepdef\@svsec\@seccntformat |
|
610 }{% |
|
611 \expandafter\prepdef |
|
612 \expandafter\@svsec |
|
613 \csname @#1cntformat\endcsname |
|
614 }% |
|
615 }% |
|
616 \@tempskipa #5\relax |
|
617 \@ifdim{\@tempskipa>\z@}{% |
|
618 \begingroup |
|
619 \interlinepenalty \@M |
|
620 #6{% |
|
621 \@ifundefined{@hangfrom@#1}{\@hang@from}{\csname @hangfrom@#1\endcsname}% |
|
622 {\hskip#3\relax\H@svsec}{\@svsec}{#8}% |
|
623 }% |
|
624 \@@par |
|
625 \endgroup |
|
626 \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}% |
|
627 \addcontentsline{toc}{#1}{% |
|
628 \@ifnum{#2>\c@secnumdepth}{% |
|
629 \protect\numberline{}% |
|
630 }{% |
|
631 \protect\numberline{\csname the#1\endcsname}% |
|
632 }% |
|
633 #8}% |
|
634 }{% |
|
635 \def\@svsechd{% |
|
636 #6{% |
|
637 \@ifundefined{@runin@to@#1}{\@runin@to}{\csname @runin@to@#1\endcsname}% |
|
638 {\hskip#3\relax\H@svsec}{\@svsec}{#8}% |
|
639 }% |
|
640 \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}% |
|
641 \addcontentsline{toc}{#1}{% |
|
642 \@ifnum{#2>\c@secnumdepth}{% |
|
643 \protect\numberline{}% |
|
644 }{% |
|
645 \protect\numberline{\csname the#1\endcsname}% |
|
646 }% |
|
647 #8}% |
|
648 }% |
|
649 }% |
|
650 \@xsect{#5}% |
|
651 }% |
|
652 \def\@hang@from#1#2#3{\@hangfrom{#1#2}#3}% |
|
653 \def\@runin@to #1#2#3{#1#2#3}% |
|
654 \def\@ssect@ltx#1#2#3#4#5#6[#7]#8{% |
|
655 \def\H@svsec{\phantomsection}% |
|
656 \@tempskipa #5\relax |
|
657 \@ifdim{\@tempskipa>\z@}{% |
|
658 \begingroup |
|
659 \interlinepenalty \@M |
|
660 #6{% |
|
661 \@ifundefined{@hangfroms@#1}{\@hang@froms}{\csname @hangfroms@#1\endcsname}% |
|
662 {\hskip#3\relax\H@svsec}{#8}% |
|
663 }% |
|
664 \@@par |
|
665 \endgroup |
|
666 \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}% |
|
667 \addcontentsline{toc}{#1}{\protect\numberline{}#8}% |
|
668 }{% |
|
669 \def\@svsechd{% |
|
670 #6{% |
|
671 \@ifundefined{@runin@tos@#1}{\@runin@tos}{\csname @runin@tos@#1\endcsname}% |
|
672 {\hskip#3\relax\H@svsec}{#8}% |
|
673 }% |
|
674 \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}% |
|
675 \addcontentsline{toc}{#1}{\protect\numberline{}#8}% |
|
676 }% |
|
677 }% |
|
678 \@xsect{#5}% |
|
679 }% |
|
680 \def\@hang@froms#1#2{#1#2}% |
|
681 \def\@runin@tos #1#2{#1#2}% |
|
682 \appdef\init@documenthook{% |
|
683 \providecommand\phantomsection{}% |
|
684 \providecommand\hyper@anchor[1]{}% |
|
685 \providecommand\hyper@last{}% |
|
686 \providecommand\Hy@raisedlink[1]{#1}% |
|
687 \providecommand\hyper@anchorstart[1]{}% |
|
688 \providecommand\hyper@anchorend{}% |
|
689 \providecommand\hyper@linkstart[2]{}% |
|
690 \providecommand\hyper@linkend{}% |
|
691 }% |
|
692 \let\H@refstepcounter\refstepcounter |
|
693 \def\sec@upcase#1{\relax{#1}}% |
|
694 \appdef\class@documenthook{% |
|
695 \@ifpackageloaded{array}{\switch@array}{\switch@tabular}% |
|
696 \prepdef\endtabular{\endtabular@hook}% |
|
697 \@provide\endtabular@hook{}% |
|
698 \prepdef\endarray{\endarray@hook}% |
|
699 \@provide\endarray@hook{}% |
|
700 \providecommand\array@hook{}% |
|
701 \prepdef\@tabular{\tabular@hook}% |
|
702 \@provide\tabular@hook{}% |
|
703 }% |
|
704 \def\switch@tabular{% |
|
705 \let\@array@sw\@array@sw@array |
|
706 \@ifx{\@array\@array@LaTeX}{% |
|
707 \@ifx{\multicolumn\multicolumn@LaTeX}{% |
|
708 \@ifx{\@tabular\@tabular@LaTeX}{% |
|
709 \@ifx{\@tabarray\@tabarray@LaTeX}{% |
|
710 \@ifx{\array\array@LaTeX}{% |
|
711 \@ifx{\endarray\endarray@LaTeX}{% |
|
712 \@ifx{\endtabular\endtabular@LaTeX}{% |
|
713 \@ifx{\@mkpream\@mkpream@LaTeX}{% |
|
714 \@ifx{\@addamp\@addamp@LaTeX}{% |
|
715 \@ifx{\@arrayacol\@arrayacol@LaTeX}{% |
|
716 \@ifx{\@tabacol\@tabacol@LaTeX}{% |
|
717 \@ifx{\@arrayclassz\@arrayclassz@LaTeX}{% |
|
718 \@ifx{\@tabclassiv\@tabclassiv@LaTeX}{% |
|
719 \@ifx{\@arrayclassiv\@arrayclassiv@LaTeX}{% |
|
720 \@ifx{\@tabclassz\@tabclassz@LaTeX}{% |
|
721 \@ifx{\@classv\@classv@LaTeX}{% |
|
722 \@ifx{\hline\hline@LaTeX}{% |
|
723 \@ifx{\@tabularcr\@tabularcr@LaTeX}{% |
|
724 \@ifx{\@xtabularcr\@xtabularcr@LaTeX}{% |
|
725 \@ifx{\@xargarraycr\@xargarraycr@LaTeX}{% |
|
726 \@ifx{\@yargarraycr\@yargarraycr@LaTeX}{% |
|
727 \true@sw |
|
728 }{% |
|
729 \false@sw |
|
730 }% |
|
731 }{% |
|
732 \false@sw |
|
733 }% |
|
734 }{% |
|
735 \false@sw |
|
736 }% |
|
737 }{% |
|
738 \false@sw |
|
739 }% |
|
740 }{% |
|
741 \false@sw |
|
742 }% |
|
743 }{% |
|
744 \false@sw |
|
745 }% |
|
746 }{% |
|
747 \false@sw |
|
748 }% |
|
749 }{% |
|
750 \false@sw |
|
751 }% |
|
752 }{% |
|
753 \false@sw |
|
754 }% |
|
755 }{% |
|
756 \false@sw |
|
757 }% |
|
758 }{% |
|
759 \false@sw |
|
760 }% |
|
761 }{% |
|
762 \false@sw |
|
763 }% |
|
764 }{% |
|
765 \false@sw |
|
766 }% |
|
767 }{% |
|
768 \false@sw |
|
769 }% |
|
770 }{% |
|
771 \false@sw |
|
772 }% |
|
773 }{% |
|
774 \false@sw |
|
775 }% |
|
776 }{% |
|
777 \false@sw |
|
778 }% |
|
779 }{% |
|
780 \false@sw |
|
781 }% |
|
782 }{% |
|
783 \false@sw |
|
784 }% |
|
785 }{% |
|
786 \false@sw |
|
787 }% |
|
788 }{% |
|
789 \false@sw |
|
790 }% |
|
791 {% |
|
792 \class@info{Patching LaTeX tabular.}% |
|
793 }{% |
|
794 \class@info{Unrecognized LaTeX tabular. Please update this document class! (Proceeding with fingers crossed.)}% |
|
795 }% |
|
796 \let\@array\@array@ltx |
|
797 \let\multicolumn\multicolumn@ltx |
|
798 \let\@tabular\@tabular@ltx |
|
799 \let\@tabarray\@tabarray@ltx |
|
800 \let\array\array@ltx |
|
801 \let\endarray\endarray@ltx |
|
802 \let\endtabular\endtabular@ltx |
|
803 \let\@mkpream\@mkpream@ltx |
|
804 \let\@addamp\@addamp@ltx |
|
805 \let\@arrayacol\@arrayacol@ltx |
|
806 \let\@tabacol\@tabacol@ltx |
|
807 \let\@arrayclassz\@arrayclassz@ltx |
|
808 \let\@tabclassiv\@tabclassiv@ltx |
|
809 \let\@arrayclassiv\@arrayclassiv@ltx |
|
810 \let\@tabclassz\@tabclassz@ltx |
|
811 \let\@classv\@classv@ltx |
|
812 \let\hline\hline@ltx |
|
813 \let\@tabularcr\@tabularcr@ltx |
|
814 \let\@xtabularcr\@xtabularcr@ltx |
|
815 \let\@xargarraycr\@xargarraycr@ltx |
|
816 \let\@yargarraycr\@yargarraycr@ltx |
|
817 }% |
|
818 \def\switch@array{% |
|
819 \let\@array@sw\@array@sw@LaTeX |
|
820 \@ifx{\@array\@array@array}{% |
|
821 \@ifx{\@tabular\@tabular@array}{% |
|
822 \@ifx{\@tabarray\@tabarray@array}{% |
|
823 \@ifx{\array\array@array}{% |
|
824 \@ifx{\endarray\endarray@array}{% |
|
825 \@ifx{\endtabular\endtabular@array}{% |
|
826 \@ifx{\@mkpream\@mkpream@array}{% |
|
827 \@ifx{\@classx\@classx@array}{% |
|
828 \@ifx{\insert@column\insert@column@array}{% |
|
829 \@ifx{\@arraycr\@arraycr@array}{% |
|
830 \@ifx{\@xarraycr\@xarraycr@array}{% |
|
831 \@ifx{\@xargarraycr\@xargarraycr@array}{% |
|
832 \@ifx{\@yargarraycr\@yargarraycr@array}{% |
|
833 \true@sw |
|
834 }{% |
|
835 \false@sw |
|
836 }% |
|
837 }{% |
|
838 \false@sw |
|
839 }% |
|
840 }{% |
|
841 \false@sw |
|
842 }% |
|
843 }{% |
|
844 \false@sw |
|
845 }% |
|
846 }{% |
|
847 \false@sw |
|
848 }% |
|
849 }{% |
|
850 \false@sw |
|
851 }% |
|
852 }{% |
|
853 \false@sw |
|
854 }% |
|
855 }{% |
|
856 \false@sw |
|
857 }% |
|
858 }{% |
|
859 \false@sw |
|
860 }% |
|
861 }{% |
|
862 \false@sw |
|
863 }% |
|
864 }{% |
|
865 \false@sw |
|
866 }% |
|
867 }{% |
|
868 \false@sw |
|
869 }% |
|
870 }{% |
|
871 \false@sw |
|
872 }{% |
|
873 \class@info{Patching array package.}% |
|
874 }{% |
|
875 \class@info{Unrecognized array package. Please update this document class! (Proceeding with fingers crossed.)}% |
|
876 }% |
|
877 \let\@array \@array@array@new |
|
878 \let\@@array \@array % Cosi fan tutti |
|
879 \let\@tabular \@tabular@array@new |
|
880 \let\@tabarray \@tabarray@array@new |
|
881 \let\array \array@array@new |
|
882 \let\endarray \endarray@array@new |
|
883 \let\endtabular\endtabular@array@new |
|
884 \let\@mkpream \@mkpream@array@new |
|
885 \let\@classx \@classx@array@new |
|
886 \let\@arrayacol\@arrayacol@ltx |
|
887 \let\@tabacol \@tabacol@ltx |
|
888 \let\insert@column\insert@column@array@new |
|
889 \expandafter\let\csname endtabular*\endcsname\endtabular % Cosi fan tutti |
|
890 \let\@arraycr \@arraycr@new |
|
891 \let\@xarraycr \@xarraycr@new |
|
892 \let\@xargarraycr\@xargarraycr@new |
|
893 \let\@yargarraycr\@yargarraycr@new |
|
894 }% |
|
895 \def\@array@sw@LaTeX{\@ifx{\\\@tabularcr}}% |
|
896 \def\@array@sw@array{\@ifx{\d@llarbegin\begingroup}}% |
|
897 \def\@tabular@LaTeX{% |
|
898 \leavevmode |
|
899 \hbox\bgroup$% |
|
900 \let\@acol\@tabacol |
|
901 \let\@classz\@tabclassz |
|
902 \let\@classiv\@tabclassiv |
|
903 \let\\\@tabularcr |
|
904 \@tabarray |
|
905 }% |
|
906 \def\@tabular@ltx{% |
|
907 \let\@acoll\@tabacoll |
|
908 \let\@acolr\@tabacolr |
|
909 \let\@acol\@tabacol |
|
910 \let\@classz\@tabclassz |
|
911 \let\@classiv\@tabclassiv |
|
912 \let\\\@tabularcr |
|
913 \@tabarray |
|
914 }% |
|
915 \def\@tabular@array{% |
|
916 \leavevmode |
|
917 \hbox\bgroup$% |
|
918 \col@sep\tabcolsep |
|
919 \let\d@llarbegin\begingroup |
|
920 \let\d@llarend\endgroup |
|
921 \@tabarray |
|
922 }% |
|
923 \def\@tabular@array@new{% |
|
924 \let\@acoll\@tabacoll |
|
925 \let\@acolr\@tabacolr |
|
926 \let\@acol\@tabacol |
|
927 \let\col@sep\@undefined |
|
928 \let\d@llarbegin\begingroup |
|
929 \let\d@llarend\endgroup |
|
930 \@tabarray |
|
931 }% |
|
932 \def\@tabarray@LaTeX{% |
|
933 \m@th\@ifnextchar[\@array{\@array[c]}% |
|
934 }% |
|
935 \def\@tabarray@ltx{% |
|
936 \m@th\@ifnextchar[\@array{\expandafter\@array\expandafter[\array@default]}% |
|
937 }% |
|
938 \def\@tabarray@array{% |
|
939 \@ifnextchar[{\@@array}{\@@array[c]}% |
|
940 }% |
|
941 \def\@tabarray@array@new{% |
|
942 \@ifnextchar[{\@@array}{\expandafter\@@array\expandafter[\array@default]}% |
|
943 }% |
|
944 \newcount\intertabularlinepenalty |
|
945 \intertabularlinepenalty=100 |
|
946 \newcount\@tbpen |
|
947 \appdef\samepage{\intertabularlinepenalty\@M}% |
|
948 \def\@tabularcr@LaTeX{{\ifnum 0=`}\fi \@ifstar \@xtabularcr \@xtabularcr}% |
|
949 \def\@tabularcr@ltx{{\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xtabularcr }{\global \@tbpen \intertabularlinepenalty \@xtabularcr }}% |
|
950 \def\@xtabularcr@LaTeX{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr }}% |
|
951 \def\@xtabularcr@ltx{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr \noalign {\penalty \@tbpen }}}% |
|
952 \def\@xargarraycr@LaTeX#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr}% |
|
953 \def\@xargarraycr@ltx#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr \noalign {\penalty \@tbpen }}% |
|
954 \def\@yargarraycr@LaTeX#1{\cr \noalign {\vskip #1}}% |
|
955 \def\@yargarraycr@ltx#1{\cr \noalign {\penalty \@tbpen \vskip #1}}% |
|
956 \def\@arraycr@array{% |
|
957 \relax |
|
958 \iffalse{\fi\ifnum 0=`}\fi |
|
959 \@ifstar \@xarraycr \@xarraycr |
|
960 }% |
|
961 \def\@arraycr@new{% |
|
962 \relax |
|
963 \iffalse{\fi\ifnum 0=`}\fi |
|
964 \@ifstar {\global \@tbpen \@M \@xarraycr }{\global \@tbpen \intertabularlinepenalty \@xarraycr }% |
|
965 }% |
|
966 \def\@xarraycr@array{% |
|
967 \@ifnextchar [%] |
|
968 \@argarraycr {\ifnum 0=`{}\fi\cr}% |
|
969 }% |
|
970 \def\@xarraycr@new{% |
|
971 \@ifnextchar [%] |
|
972 \@argarraycr {\ifnum 0=`{}\fi\cr \noalign {\penalty \@tbpen }}% |
|
973 }% |
|
974 \def\@xargarraycr@array#1{% |
|
975 \unskip |
|
976 \@tempdima #1\advance\@tempdima \dp\@arstrutbox |
|
977 \vrule \@depth\@tempdima \@width\z@ |
|
978 \cr |
|
979 }% |
|
980 \def\@xargarraycr@new#1{% |
|
981 \unskip |
|
982 \@tempdima #1\advance\@tempdima \dp\@arstrutbox |
|
983 \vrule \@depth\@tempdima \@width\z@ |
|
984 \cr |
|
985 \noalign {\penalty \@tbpen }% |
|
986 }% |
|
987 \def\@yargarraycr@array#1{% |
|
988 \cr |
|
989 \noalign{\vskip #1}% |
|
990 }% |
|
991 \def\@yargarraycr@new#1{% |
|
992 \cr |
|
993 \noalign{\penalty \@tbpen \vskip #1}% |
|
994 }% |
|
995 \def\array@LaTeX{% |
|
996 \let\@acol\@arrayacol |
|
997 \let\@classz\@arrayclassz |
|
998 \let\@classiv\@arrayclassiv |
|
999 \let\\\@arraycr |
|
1000 \let\@halignto\@empty |
|
1001 \@tabarray |
|
1002 }% |
|
1003 \def\array@ltx{% |
|
1004 \@ifmmode{}{\@badmath$}% |
|
1005 \let\@acoll\@arrayacol |
|
1006 \let\@acolr\@arrayacol |
|
1007 \let\@acol\@arrayacol |
|
1008 \let\@classz\@arrayclassz |
|
1009 \let\@classiv\@arrayclassiv |
|
1010 \let\\\@arraycr |
|
1011 \let\@halignto\@empty |
|
1012 \@tabarray |
|
1013 }% |
|
1014 \def\array@array{% |
|
1015 \col@sep\arraycolsep |
|
1016 \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\gdef\@halignto{}% |
|
1017 \@tabarray |
|
1018 } |
|
1019 \def\array@array@new{% |
|
1020 \@ifmmode{}{\@badmath$}% |
|
1021 \let\@acoll\@arrayacol |
|
1022 \let\@acolr\@arrayacol |
|
1023 \let\@acol\@arrayacol |
|
1024 \let\col@sep\@undefined |
|
1025 \def\d@llarbegin{$}% |
|
1026 \let\d@llarend\d@llarbegin |
|
1027 \gdef\@halignto{}% |
|
1028 \@tabarray |
|
1029 }% |
|
1030 \def\@array@LaTeX[#1]#2{% |
|
1031 \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi |
|
1032 \bgroup |
|
1033 \setbox\@arstrutbox\hbox{% |
|
1034 \vrule \@height\arraystretch\ht\strutbox |
|
1035 \@depth\arraystretch \dp\strutbox |
|
1036 \@width\z@}% |
|
1037 \@mkpream{#2}% |
|
1038 \edef\@preamble{% |
|
1039 \ialign \noexpand\@halignto |
|
1040 \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}% |
|
1041 \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox |
|
1042 \let\tabularnewline\\% |
|
1043 \let\par\@empty |
|
1044 \let\@sharp##% |
|
1045 \set@typeset@protect |
|
1046 \lineskip\z@skip\baselineskip\z@skip |
|
1047 \ifhmode \@preamerr\z@ \@@par\fi |
|
1048 \@preamble |
|
1049 }% |
|
1050 \def\@array@ltx[#1]#2{% |
|
1051 \@nameuse{@array@align@#1}% |
|
1052 \set@arstrutbox |
|
1053 \@mkpream{#2}% |
|
1054 \prepdef\@preamble{% |
|
1055 \tabskip\tabmid@skip |
|
1056 \@arstrut |
|
1057 }% |
|
1058 \appdef\@preamble{% |
|
1059 \tabskip\tabright@skip |
|
1060 \cr |
|
1061 \array@row@pre |
|
1062 }% |
|
1063 \let\tabularnewline\\% |
|
1064 \let\par\@empty |
|
1065 \let\@sharp##% |
|
1066 \set@typeset@protect |
|
1067 \lineskip\z@skip\baselineskip\z@skip |
|
1068 \tabskip\tableft@skip\relax |
|
1069 \ifhmode \@preamerr\z@ \@@par\fi |
|
1070 \everycr{}% |
|
1071 \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble |
|
1072 }% |
|
1073 \def\set@arstrutbox{% |
|
1074 \setbox\@arstrutbox\hbox{% |
|
1075 \vrule \@height\arraystretch\ht\strutbox |
|
1076 \@depth\arraystretch \dp\strutbox |
|
1077 \@width\z@ |
|
1078 }% |
|
1079 }% |
|
1080 \def\@array@array[#1]#2{% |
|
1081 \@tempdima \ht \strutbox |
|
1082 \advance \@tempdima by\extrarowheight |
|
1083 \setbox \@arstrutbox \hbox{\vrule |
|
1084 \@height \arraystretch \@tempdima |
|
1085 \@depth \arraystretch \dp \strutbox |
|
1086 \@width \z@}% |
|
1087 \begingroup |
|
1088 \@mkpream{#2}% |
|
1089 \xdef\@preamble{\noexpand \ialign \@halignto |
|
1090 \bgroup \@arstrut \@preamble |
|
1091 \tabskip \z@ \cr}% |
|
1092 \endgroup |
|
1093 \@arrayleft |
|
1094 \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi |
|
1095 \bgroup |
|
1096 \let \@sharp ##\let \protect \relax |
|
1097 \lineskip \z@ |
|
1098 \baselineskip \z@ |
|
1099 \m@th |
|
1100 \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble |
|
1101 }% |
|
1102 \def\@array@array@new[#1]#2{% |
|
1103 \@tempdima\ht\strutbox |
|
1104 \advance\@tempdima by\extrarowheight |
|
1105 \setbox\@arstrutbox\hbox{% |
|
1106 \vrule \@height\arraystretch\@tempdima |
|
1107 \@depth \arraystretch\dp\strutbox |
|
1108 \@width \z@ |
|
1109 }% |
|
1110 \begingroup |
|
1111 \@mkpream{#2}% |
|
1112 \xdef\@preamble{\@preamble}% |
|
1113 \endgroup |
|
1114 \prepdef\@preamble{% |
|
1115 \tabskip\tabmid@skip |
|
1116 \@arstrut |
|
1117 }% |
|
1118 \appdef\@preamble{% |
|
1119 \tabskip\tabright@skip |
|
1120 \cr |
|
1121 \array@row@pre |
|
1122 }% |
|
1123 \@arrayleft |
|
1124 \@nameuse{@array@align@#1}% |
|
1125 \m@th |
|
1126 \let\\\@arraycr |
|
1127 \let\tabularnewline\\% |
|
1128 \let\par\@empty |
|
1129 \let\@sharp##% |
|
1130 \set@typeset@protect |
|
1131 \lineskip\z@\baselineskip\z@ |
|
1132 \tabskip\tableft@skip |
|
1133 \everycr{}% |
|
1134 \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble |
|
1135 }% |
|
1136 \def\endarray@LaTeX{% |
|
1137 \crcr\egroup\egroup |
|
1138 }% |
|
1139 \def\endarray@ltx{% |
|
1140 \crcr\array@row@pst\egroup\egroup |
|
1141 }% |
|
1142 \def\endarray@array{% |
|
1143 \crcr \egroup \egroup \@arrayright \gdef\@preamble{}% |
|
1144 }% |
|
1145 \def\endarray@array@new{% |
|
1146 \crcr\array@row@pst\egroup\egroup % Same as \endarray@ltx |
|
1147 \@arrayright |
|
1148 \global\let\@preamble\@empty |
|
1149 }% |
|
1150 \def\endtabular@LaTeX{% |
|
1151 \crcr\egroup\egroup $\egroup |
|
1152 }% |
|
1153 \def\endtabular@ltx{% |
|
1154 \endarray |
|
1155 }% |
|
1156 \def\endtabular@array{% |
|
1157 \endarray $\egroup |
|
1158 }% |
|
1159 \def\endtabular@array@new{% |
|
1160 \endarray |
|
1161 }% |
|
1162 \@namedef{endtabular*}{\endtabular}% |
|
1163 \long\def\multicolumn@LaTeX#1#2#3{% |
|
1164 \multispan{#1}\begingroup |
|
1165 \@mkpream{#2}% |
|
1166 \def\@sharp{#3}\set@typeset@protect |
|
1167 \let\@startpbox\@@startpbox\let\@endpbox\@@endpbox |
|
1168 \@arstrut \@preamble\hbox{}\endgroup\ignorespaces |
|
1169 }% |
|
1170 \long\def\multicolumn@ltx#1#2#3{% |
|
1171 \multispan{#1}% |
|
1172 \begingroup |
|
1173 \@mkpream{#2}% |
|
1174 \def\@sharp{#3}% |
|
1175 \set@typeset@protect |
|
1176 %\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox |
|
1177 \@arstrut |
|
1178 \@preamble |
|
1179 \hbox{}% |
|
1180 \endgroup |
|
1181 \ignorespaces |
|
1182 }% |
|
1183 \def\@array@align@t{\leavevmode\vtop\bgroup}% |
|
1184 \def\@array@align@b{\leavevmode\vbox\bgroup}% |
|
1185 \def\@array@align@c{\leavevmode\@ifmmode{\vcenter\bgroup}{$\vcenter\bgroup\aftergroup$\aftergroup\relax}}% |
|
1186 \def\@array@align@v{% |
|
1187 \@ifmmode{% |
|
1188 \@badmath |
|
1189 \vcenter\bgroup |
|
1190 }{% |
|
1191 \@ifinner{% |
|
1192 $\vcenter\bgroup\aftergroup$ |
|
1193 }{% |
|
1194 \@@par\bgroup |
|
1195 }% |
|
1196 }% |
|
1197 }% |
|
1198 \def\array@default{c}% |
|
1199 \def\array@row@rst{% |
|
1200 \let\@array@align@v\@array@align@c |
|
1201 }% |
|
1202 \def\array@row@pre{}% |
|
1203 \def\array@row@pst{}% |
|
1204 \newcommand\toprule{\tab@rule{\column@font}{\column@fil}{\frstrut}}% |
|
1205 \newcommand\colrule{\unskip\lrstrut\\\tab@rule{\body@font}{}{\frstrut}}% |
|
1206 \newcommand\botrule{\unskip\lrstrut\\\noalign{\hline@rule}{}}% |
|
1207 \def\hline@LaTeX{% |
|
1208 \noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet |
|
1209 \reserved@a\@xhline |
|
1210 }% |
|
1211 \def\hline@ltx{% |
|
1212 \noalign{% |
|
1213 \ifnum0=`}\fi |
|
1214 \hline@rule |
|
1215 \futurelet\reserved@a\@xhline |
|
1216 % \noalign ended in \@xhline |
|
1217 }% |
|
1218 \def\@xhline@unneeded{% |
|
1219 \say\reserved@a |
|
1220 \ifx\reserved@a\hline |
|
1221 \vskip\doublerulesep |
|
1222 \vskip-\arrayrulewidth |
|
1223 \fi |
|
1224 \ifnum0=`{\fi}% |
|
1225 }% |
|
1226 \def\tab@rule#1#2#3{% |
|
1227 \crcr |
|
1228 \noalign{% |
|
1229 \hline@rule |
|
1230 \gdef\@arstrut@hook{% |
|
1231 \global\let\@arstrut@hook\@empty |
|
1232 #3% |
|
1233 }% |
|
1234 \gdef\cell@font{#1}% |
|
1235 \gdef\cell@fil{#2}% |
|
1236 }% |
|
1237 }% |
|
1238 \def\column@font{}% |
|
1239 \def\column@fil{}% |
|
1240 \def\body@font{}% |
|
1241 \def\cell@font{}% |
|
1242 \def\frstrut{}% |
|
1243 \def\lrstrut{}% |
|
1244 \def\@arstrut@hline{% |
|
1245 \relax |
|
1246 \@ifmmode{\copy}{\unhcopy}\@arstrutbox@hline |
|
1247 \@arstrut@hook |
|
1248 }% |
|
1249 \let\@arstrut@org\@arstrut |
|
1250 \def\@arstrut@hook{% |
|
1251 \global\let\@arstrut\@arstrut@org |
|
1252 }% |
|
1253 \newbox\@arstrutbox@hline |
|
1254 \appdef\set@arstrutbox{% |
|
1255 \setbox\@arstrutbox@hline\hbox{% |
|
1256 \setbox\z@\hbox{$0^{0}_{}$}% |
|
1257 \dimen@\ht\z@\advance\dimen@\@arstrut@hline@clnc |
|
1258 \@ifdim{\dimen@<\arraystretch\ht\strutbox}{\dimen@=\arraystretch\ht\strutbox}{}% |
|
1259 \vrule \@height\dimen@ |
|
1260 \@depth\arraystretch \dp\strutbox |
|
1261 \@width\z@ |
|
1262 }% |
|
1263 }% |
|
1264 \def\hline@rule{% |
|
1265 \hrule \@height \arrayrulewidth |
|
1266 \global\let\@arstrut\@arstrut@hline |
|
1267 }% |
|
1268 \def\@arstrut@hline@clnc{2\p@}% % Klootch: magic number |
|
1269 \def\tableft@skip{\z@skip}% |
|
1270 \def\tabmid@skip{\z@skip}%\@flushglue |
|
1271 \def\tabright@skip{\z@skip}% |
|
1272 \def\tableftsep{\tabcolsep}% |
|
1273 \def\tabmidsep{\tabcolsep}% |
|
1274 \def\tabrightsep{\tabcolsep}% |
|
1275 \def\cell@fil{}% |
|
1276 \def\pbox@hook{}% |
|
1277 \appdef\@arstrut{\@arstrut@hook}% |
|
1278 \let\@arstrut@hook\@empty |
|
1279 \def\@addtopreamble{\appdef\@preamble}% |
|
1280 \def\@mkpream@LaTeX#1{% |
|
1281 \@firstamptrue\@lastchclass6 |
|
1282 \let\@preamble\@empty |
|
1283 \let\protect\@unexpandable@protect |
|
1284 \let\@sharp\relax |
|
1285 \let\@startpbox\relax\let\@endpbox\relax |
|
1286 \@expast{#1}% |
|
1287 \expandafter\@tfor \expandafter |
|
1288 \@nextchar \expandafter:\expandafter=\reserved@a\do |
|
1289 {\@testpach\@nextchar |
|
1290 \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii |
|
1291 \or \@classiv \or\@classv \fi\@lastchclass\@chclass}% |
|
1292 \ifcase \@lastchclass \@acol |
|
1293 \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi |
|
1294 }% |
|
1295 \def\@mkpream@ltx#1{% |
|
1296 \@firstamptrue |
|
1297 \@lastchclass6 |
|
1298 \let\@preamble\@empty |
|
1299 \let\protect\@unexpandable@protect |
|
1300 \let\@sharp\relax |
|
1301 \@expast{#1}% |
|
1302 \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\reserved@a |
|
1303 \do{% |
|
1304 \expandafter\@testpach\expandafter{\@nextchar}% |
|
1305 \ifcase\@chclass |
|
1306 \@classz |
|
1307 \or |
|
1308 \@classi |
|
1309 \or |
|
1310 \@classii |
|
1311 \or |
|
1312 \@classiii |
|
1313 \or |
|
1314 \@classiv |
|
1315 \or |
|
1316 \@classv |
|
1317 \fi |
|
1318 \@lastchclass\@chclass |
|
1319 }% |
|
1320 \ifcase\@lastchclass |
|
1321 \@acolr % right-hand column |
|
1322 \or |
|
1323 \or |
|
1324 \@preamerr\@ne |
|
1325 \or |
|
1326 \@preamerr\tw@ |
|
1327 \or |
|
1328 \or |
|
1329 \@acolr % right-hand column |
|
1330 \fi |
|
1331 }% |
|
1332 \def\insert@column@array{% |
|
1333 \the@toks \the \@tempcnta |
|
1334 \ignorespaces \@sharp \unskip |
|
1335 \the@toks \the \count@ \relax |
|
1336 }% |
|
1337 \def\insert@column@array@new{% |
|
1338 \the@toks\the\@tempcnta |
|
1339 \array@row@rst\cell@font |
|
1340 \ignorespaces\@sharp\unskip |
|
1341 \the@toks\the\count@ |
|
1342 \relax |
|
1343 }% |
|
1344 \def\@mkpream@relax{% |
|
1345 \let\tableftsep\relax |
|
1346 \let\tabmidsep\relax |
|
1347 \let\tabrightsep\relax |
|
1348 \let\array@row@rst\relax |
|
1349 \let\cell@font\relax |
|
1350 \let\@startpbox\relax |
|
1351 }% |
|
1352 \def\@mkpream@array#1{% |
|
1353 \gdef\@preamble{}\@lastchclass 4 \@firstamptrue |
|
1354 \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax |
|
1355 \@temptokena{#1}\@tempswatrue |
|
1356 \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% |
|
1357 \count@\m@ne |
|
1358 \let\the@toks\relax |
|
1359 \prepnext@tok |
|
1360 \expandafter \@tfor \expandafter \@nextchar |
|
1361 \expandafter :\expandafter =\the\@temptokena \do |
|
1362 {\@testpach |
|
1363 \ifcase \@chclass \@classz \or \@classi \or \@classii |
|
1364 \or \save@decl \or \or \@classv \or \@classvi |
|
1365 \or \@classvii \or \@classviii |
|
1366 \or \@classx |
|
1367 \or \@classx \fi |
|
1368 \@lastchclass\@chclass}% |
|
1369 \ifcase\@lastchclass |
|
1370 \@acol \or |
|
1371 \or |
|
1372 \@acol \or |
|
1373 \@preamerr \thr@@ \or |
|
1374 \@preamerr \tw@ \@addtopreamble\@sharp \or |
|
1375 \or |
|
1376 \else \@preamerr \@ne \fi |
|
1377 \def\the@toks{\the\toks}% |
|
1378 }% |
|
1379 \def\@mkpream@array@new#1{% |
|
1380 \gdef\@preamble{}% |
|
1381 \@lastchclass\f@ur |
|
1382 \@firstamptrue |
|
1383 \let\@sharp\relax |
|
1384 \@mkpream@relax |
|
1385 \@temptokena{#1}\@tempswatrue |
|
1386 \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% |
|
1387 \count@\m@ne |
|
1388 \let\the@toks\relax |
|
1389 \prepnext@tok |
|
1390 \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\the\@temptokena |
|
1391 \do{% |
|
1392 \@testpach |
|
1393 \ifcase\@chclass |
|
1394 \@classz |
|
1395 \or |
|
1396 \@classi |
|
1397 \or |
|
1398 \@classii |
|
1399 \or |
|
1400 \save@decl |
|
1401 \or |
|
1402 \or |
|
1403 \@classv |
|
1404 \or |
|
1405 \@classvi |
|
1406 \or |
|
1407 \@classvii |
|
1408 \or |
|
1409 \@classviii |
|
1410 \or |
|
1411 \@classx |
|
1412 \or |
|
1413 \@classx |
|
1414 \fi |
|
1415 \@lastchclass\@chclass |
|
1416 }% |
|
1417 \ifcase\@lastchclass |
|
1418 \@acolr % right-hand column |
|
1419 \or |
|
1420 \or |
|
1421 \@acolr % right-hand column |
|
1422 \or |
|
1423 \@preamerr\thr@@ |
|
1424 \or |
|
1425 \@preamerr\tw@\@addtopreamble\@sharp |
|
1426 \or |
|
1427 \or |
|
1428 \else |
|
1429 \@preamerr\@ne |
|
1430 \fi |
|
1431 \def\the@toks{\the\toks}% |
|
1432 }% |
|
1433 \def\@addamp@LaTeX{% |
|
1434 \if@firstamp\@firstampfalse\else\edef\@preamble{\@preamble &}\fi |
|
1435 }% |
|
1436 \def\@addamp@ltx{% |
|
1437 \if@firstamp\@firstampfalse\else\@addtopreamble{&}\fi |
|
1438 }% |
|
1439 \def\@arrayacol@LaTeX{% |
|
1440 \edef\@preamble{\@preamble \hskip \arraycolsep}% |
|
1441 }% |
|
1442 \def\@arrayacol@ltx{% |
|
1443 \@addtopreamble{\hskip\arraycolsep}% |
|
1444 }% |
|
1445 \def\@tabacoll{% |
|
1446 \@addtopreamble{\hskip\tableftsep\relax}% |
|
1447 }% |
|
1448 \def\@tabacol@LaTeX{% |
|
1449 \edef\@preamble{\@preamble \hskip \tabcolsep}% |
|
1450 }% |
|
1451 \def\@tabacol@ltx{% |
|
1452 \@addtopreamble{\hskip\tabmidsep\relax}% |
|
1453 }% |
|
1454 \def\@tabacolr{% |
|
1455 \@addtopreamble{\hskip\tabrightsep\relax}% |
|
1456 }% |
|
1457 \def\@arrayclassz@LaTeX{% |
|
1458 \ifcase \@lastchclass \@acolampacol \or \@ampacol \or |
|
1459 \or \or \@addamp \or |
|
1460 \@acolampacol \or \@firstampfalse \@acol \fi |
|
1461 \edef\@preamble{\@preamble |
|
1462 \ifcase \@chnum |
|
1463 \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil |
|
1464 \or \hfil$\relax\@sharp$\fi}% |
|
1465 }% |
|
1466 \def\@arrayclassz@ltx{% |
|
1467 \ifcase\@lastchclass |
|
1468 \@acolampacol |
|
1469 \or |
|
1470 \@ampacol |
|
1471 \or |
|
1472 \or |
|
1473 \or |
|
1474 \@addamp |
|
1475 \or |
|
1476 \@acolampacol |
|
1477 \or |
|
1478 \@firstampfalse\@acoll |
|
1479 \fi |
|
1480 \ifcase\@chnum |
|
1481 \@addtopreamble{% |
|
1482 \hfil\array@row@rst$\relax\@sharp$\hfil |
|
1483 }% |
|
1484 \or |
|
1485 \@addtopreamble{% |
|
1486 \array@row@rst$\relax\@sharp$\hfil |
|
1487 }% |
|
1488 \or |
|
1489 \@addtopreamble{% |
|
1490 \hfil\array@row@rst$\relax\@sharp$% |
|
1491 }% |
|
1492 \fi |
|
1493 }% |
|
1494 \def\@tabclassz@LaTeX{% |
|
1495 \ifcase\@lastchclass |
|
1496 \@acolampacol |
|
1497 \or |
|
1498 \@ampacol |
|
1499 \or |
|
1500 \or |
|
1501 \or |
|
1502 \@addamp |
|
1503 \or |
|
1504 \@acolampacol |
|
1505 \or |
|
1506 \@firstampfalse\@acol |
|
1507 \fi |
|
1508 \edef\@preamble{% |
|
1509 \@preamble{% |
|
1510 \ifcase\@chnum |
|
1511 \hfil\ignorespaces\@sharp\unskip\hfil |
|
1512 \or |
|
1513 \hskip1sp\ignorespaces\@sharp\unskip\hfil |
|
1514 \or |
|
1515 \hfil\hskip1sp\ignorespaces\@sharp\unskip |
|
1516 \fi}}% |
|
1517 }% |
|
1518 \def\@tabclassz@ltx{% |
|
1519 \ifcase\@lastchclass |
|
1520 \@acolampacol |
|
1521 \or |
|
1522 \@ampacol |
|
1523 \or |
|
1524 \or |
|
1525 \or |
|
1526 \@addamp |
|
1527 \or |
|
1528 \@acolampacol |
|
1529 \or |
|
1530 \@firstampfalse\@acoll |
|
1531 \fi |
|
1532 \ifcase\@chnum |
|
1533 \@addtopreamble{% |
|
1534 {\hfil\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}% |
|
1535 }% |
|
1536 \or |
|
1537 \@addtopreamble{% |
|
1538 {\cell@fil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}% |
|
1539 }% |
|
1540 \or |
|
1541 \@addtopreamble{% |
|
1542 {\hfil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\cell@fil}% |
|
1543 }% |
|
1544 \fi |
|
1545 }% |
|
1546 \def\@tabclassiv@LaTeX{% |
|
1547 \@addtopreamble\@nextchar |
|
1548 }% |
|
1549 \def\@tabclassiv@ltx{% |
|
1550 \expandafter\@addtopreamble\expandafter{\@nextchar}% |
|
1551 }% |
|
1552 \def\@arrayclassiv@LaTeX{% |
|
1553 \@addtopreamble{$\@nextchar$}% |
|
1554 }% |
|
1555 \def\@arrayclassiv@ltx{% |
|
1556 \expandafter\@addtopreamble\expandafter{\expandafter$\@nextchar$}% |
|
1557 }% |
|
1558 \def\@classv@LaTeX{% |
|
1559 \@addtopreamble{\@startpbox{\@nextchar}\ignorespaces |
|
1560 \@sharp\@endpbox}% |
|
1561 }% |
|
1562 \def\@classv@ltx{% |
|
1563 \expandafter\@addtopreamble |
|
1564 \expandafter{% |
|
1565 \expandafter \@startpbox |
|
1566 \expandafter {\@nextchar}% |
|
1567 \pbox@hook\array@row@rst\cell@font\ignorespaces\@sharp\@endpbox |
|
1568 }% |
|
1569 }% |
|
1570 \def\@classx@array{% |
|
1571 \ifcase \@lastchclass |
|
1572 \@acolampacol \or |
|
1573 \@addamp \@acol \or |
|
1574 \@acolampacol \or |
|
1575 \or |
|
1576 \@acol \@firstampfalse \or |
|
1577 \@addamp |
|
1578 \fi |
|
1579 }% |
|
1580 \def\@classx@array@new{% |
|
1581 \ifcase \@lastchclass |
|
1582 \@acolampacol |
|
1583 \or |
|
1584 \@addamp \@acol |
|
1585 \or |
|
1586 \@acolampacol |
|
1587 \or |
|
1588 \or |
|
1589 \@firstampfalse\@acoll |
|
1590 \or |
|
1591 \@addamp |
|
1592 \fi |
|
1593 }% |
|
1594 \def\@xbitor@LaTeX #1{\@tempcntb \count#1 |
|
1595 \ifnum \@tempcnta =\z@ |
|
1596 \else |
|
1597 \divide\@tempcntb\@tempcnta |
|
1598 \ifodd\@tempcntb \@testtrue\fi |
|
1599 \fi}% |
|
1600 \def\@xbitor@ltx#1{% |
|
1601 \@tempcntb\count#1% |
|
1602 \@ifnum{\@tempcnta=\z@}{}{% |
|
1603 \divide\@tempcntb\@tempcnta |
|
1604 \@ifodd\@tempcntb{\@testtrue}{}% |
|
1605 }% |
|
1606 }% |
|
1607 \@ifx{\@xbitor\@xbitor@LaTeX}{% |
|
1608 \class@info{Repairing broken LaTeX \string\@xbitor}% |
|
1609 }{% |
|
1610 \class@info{Unrecognized LaTeX \string\@xbitor. Please update this document class! (Proceeding with fingers crossed.)}% |
|
1611 }% |
|
1612 \let\@xbitor\@xbitor@ltx |
|
1613 \newcommand*\@gobble@opt@one[2][]{}% |
|
1614 \def\@starttoc#1{% |
|
1615 \begingroup |
|
1616 \toc@pre |
|
1617 \makeatletter |
|
1618 \@input{\jobname.#1}% |
|
1619 \if@filesw |
|
1620 \expandafter\newwrite\csname tf@#1\endcsname |
|
1621 \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax |
|
1622 \fi |
|
1623 \@nobreakfalse |
|
1624 \toc@post |
|
1625 \endgroup |
|
1626 }% |
|
1627 \def\toc@pre{}% |
|
1628 \def\toc@post{}% |
|
1629 \def\toc@@font{}%{\footnotesize\rmfamily}% |
|
1630 \def\@dotsep{\z@}%{5.5pt}% |
|
1631 \let\tocdim@section \leftmargini |
|
1632 \let\tocdim@subsection \leftmarginii |
|
1633 \let\tocdim@subsubsection \leftmarginiii |
|
1634 \let\tocdim@paragraph \leftmarginiv |
|
1635 \let\tocdim@appendix \leftmarginv |
|
1636 \let\tocdim@pagenum \leftmarginvi |
|
1637 \def\toc@pre@auto{% |
|
1638 \toc@@font |
|
1639 \@tempdima\z@ |
|
1640 \toc@setindent\@tempdima{section}% |
|
1641 \toc@setindent\@tempdima{subsection}% |
|
1642 \toc@setindent\@tempdima{subsubsection}% |
|
1643 \toc@setindent\@tempdima{paragraph}% |
|
1644 \toc@letdimen{appendix}% |
|
1645 \toc@letdimen{pagenum}% |
|
1646 }% |
|
1647 \def\toc@post@auto{% |
|
1648 \if@filesw |
|
1649 \begingroup |
|
1650 \toc@writedimen{section}% |
|
1651 \toc@writedimen{subsection}% |
|
1652 \toc@writedimen{subsubsection}% |
|
1653 \toc@writedimen{paragraph}% |
|
1654 \toc@writedimen{appendix}% |
|
1655 \toc@writedimen{pagenum}% |
|
1656 \endgroup |
|
1657 \fi |
|
1658 }% |
|
1659 \def\toc@setindent#1#2{% |
|
1660 \csname tocdim@#2\endcsname\tocdim@min\relax |
|
1661 \@ifundefined{tocmax@#2}{\@namedef{tocmax@#2}{\z@}}{}% |
|
1662 \advance#1\@nameuse{tocmax@#2}\relax |
|
1663 \expandafter\edef\csname tocleft@#2\endcsname{\the#1}% |
|
1664 }% |
|
1665 \def\toc@letdimen#1{% |
|
1666 \csname tocdim@#1\endcsname\tocdim@min\relax |
|
1667 \@ifundefined{tocmax@#1}{\@namedef{tocmax@#1}{\z@}}{}% |
|
1668 \expandafter\let\csname tocleft@#1\expandafter\endcsname\csname tocmax@#1\endcsname |
|
1669 }% |
|
1670 \def\toc@writedimen#1{% |
|
1671 \immediate\write\@auxout{% |
|
1672 \gdef\expandafter\string\csname tocmax@#1\endcsname{% |
|
1673 \expandafter\the\csname tocdim@#1\endcsname |
|
1674 }% |
|
1675 }% |
|
1676 }% |
|
1677 \def\l@@sections#1#2#3#4{% |
|
1678 % #1 - superior section |
|
1679 % #2 - this section |
|
1680 % #3 - content, including possible \numberline |
|
1681 % #4 - page number |
|
1682 \begingroup |
|
1683 \everypar{}% |
|
1684 \set@tocdim@pagenum{#4}% |
|
1685 \global\@tempdima\csname tocdim@#2\endcsname |
|
1686 \leftskip\csname tocleft@#2\endcsname\relax |
|
1687 \dimen@\csname tocleft@#1\endcsname\relax |
|
1688 \parindent-\leftskip\advance\parindent\dimen@ |
|
1689 \rightskip\tocleft@pagenum plus 1fil\relax |
|
1690 \skip@\parfillskip\parfillskip\z@ |
|
1691 \let\numberline\numberline@@sections |
|
1692 \@nameuse{l@f@#2}% |
|
1693 \ignorespaces#3\unskip\nobreak\hskip\skip@ |
|
1694 \hb@xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z@skip |
|
1695 \par |
|
1696 \expandafter\aftergroup\csname tocdim@#2\endcsname\expandafter |
|
1697 \endgroup\the\@tempdima\relax |
|
1698 }% |
|
1699 \def\set@tocdim@pagenum#1{% |
|
1700 \setbox\@tempboxa\hbox{\ignorespaces#1}% |
|
1701 \@ifdim{\tocdim@pagenum<\wd\z@}{\global\tocdim@pagenum\wd\z@}{}% |
|
1702 }% |
|
1703 \def\numberline@@sections#1{% |
|
1704 \leavevmode\hb@xt@-\parindent{% |
|
1705 \hfil |
|
1706 \@if@empty{#1}{}{% |
|
1707 \setbox\z@\hbox{#1.\kern\@dotsep}% |
|
1708 \@ifdim{\@tempdima<\wd\z@}{\global\@tempdima\wd\z@}{}% |
|
1709 \unhbox\z@ |
|
1710 }% |
|
1711 }% |
|
1712 \ignorespaces |
|
1713 }% |
|
1714 \def\tocdim@min{\z@}% |
|
1715 \def\list#1#2{% |
|
1716 \ifnum \@listdepth >5\relax |
|
1717 \@toodeep |
|
1718 \else |
|
1719 \global\advance\@listdepth\@ne |
|
1720 \fi |
|
1721 \rightmargin\z@ |
|
1722 \listparindent\z@ |
|
1723 \itemindent\z@ |
|
1724 \csname @list\romannumeral\the\@listdepth\endcsname |
|
1725 \def\@itemlabel{#1}% |
|
1726 \let\makelabel\@mklab |
|
1727 \@nmbrlistfalse |
|
1728 #2\relax |
|
1729 \@trivlist |
|
1730 \parskip\parsep |
|
1731 \set@listindent |
|
1732 \ignorespaces |
|
1733 }% |
|
1734 \def\set@listindent@parshape{% |
|
1735 \parindent\listparindent |
|
1736 \advance\@totalleftmargin\leftmargin |
|
1737 \advance\linewidth-\rightmargin |
|
1738 \advance\linewidth-\leftmargin |
|
1739 \parshape\@ne\@totalleftmargin\linewidth |
|
1740 }% |
|
1741 \def\set@listindent@{% |
|
1742 \parindent\listparindent |
|
1743 \advance\@totalleftmargin\leftmargin |
|
1744 \advance\rightskip\rightmargin |
|
1745 \advance\leftskip\@totalleftmargin |
|
1746 }% |
|
1747 \let\set@listindent\set@listindent@parshape |
|
1748 \endinput |
|
1749 %% |
|
1750 %% End of file `ltxutil.sty'. |