1 % \iffalse meta-comment
4 % The LaTeX3 Project and any individual authors listed elsewhere
7 % This file is part of the LaTeX base system.
8 % -------------------------------------------
10 % It may be distributed and/or modified under the
11 % conditions of the LaTeX Project Public License, either version 1.3c
12 % of this license or (at your option) any later version.
13 % The latest version of this license is in
14 % http://www.latex-project.org/lppl.txt
15 % and version 1.3c or later is part of all distributions of LaTeX
16 % version 2005/12/01 or later.
18 % This file has the LPPL maintenance status "maintained".
20 % The list of all files belonging to the LaTeX base distribution is
21 % given in the file `manifest.txt'. See also `legal.txt' for additional
24 % The list of derived (unpacked) files belonging to the distribution
25 % and covered by LPPL is defined by the unpacking scripts (with
26 % extension .ins) which are part of the distribution.
31 %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
32 %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
33 %% Digits \0\1\2\3\4\5\6\7\8\9
34 %% Exclamation \! Double quote \" Hash (number) \#
35 %% Dollar \$ Percent \% Ampersand \&
36 %% Acute accent \' Left paren \( Right paren \)
37 %% Asterisk \* Plus \+ Comma \,
38 %% Minus \- Point \. Solidus \/
39 %% Colon \: Semicolon \; Less than \<
40 %% Equals \= Greater than \> Question mark \?
41 %% Commercial at \@ Left bracket \[ Backslash \\
42 %% Right bracket \] Circumflex \^ Underscore \_
43 %% Grave accent \` Left brace \{ Vertical bar \|
44 %% Right brace \} Tilde \~}
47 % \section{Identification}
49 % These document classes can only be used with \LaTeXe, so we make
50 % sure that an appropriate message is displayed when another \TeX{}
52 % \changes{v1.3p}{1995/11/30}{Added date of \LaTeX\ format to argument
53 % of \cs{NeedsTeXFormat}}
55 %<article|report|book>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
58 % Announce the Class name and its version:
60 %<article>\ProvidesClass{article}
61 %<report>\ProvidesClass{report}
62 %<book>\ProvidesClass{book}
63 %<10pt&!bk>\ProvidesFile{size10.clo}
64 %<11pt&!bk>\ProvidesFile{size11.clo}
65 %<12pt&!bk>\ProvidesFile{size12.clo}
66 %<10pt&bk>\ProvidesFile{bk10.clo}
67 %<11pt&bk>\ProvidesFile{bk11.clo}
68 %<12pt&bk>\ProvidesFile{bk12.clo}
70 \ProvidesFile{classes.drv}
73 %<article|report|book> Standard LaTeX document class]
74 %<10pt|11pt|12pt> Standard LaTeX file (size option)]
77 % \section{A driver for this document}
79 % The next bit of code contains the documentation driver file for
80 % \TeX{}, i.e., the file that will produce the documentation you are
81 % currently reading. It will be extracted from this file by the
82 % {\sc docstrip} program.
84 % \changes{1.0f}{1993/12/07}{Use class ltxdoc document class}
85 % \changes{1.0r}{1994/02/28}{Moved driver code in order not to need a
90 \documentclass{ltxdoc}
93 % We don't want everything to appear in the index
95 \DoNotIndex{\',\.,\@M,\@@input,\@Alph,\@alph,\@addtoreset,\@arabic}
96 \DoNotIndex{\@badmath,\@centercr,\@cite}
97 \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue}
98 \DoNotIndex{\@input,\@ixpt,\@m,\@minus,\@mkboth}
99 \DoNotIndex{\@ne,\@nil,\@nomath,\@plus,\roman,\@set@topoint}
100 \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb}
101 \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt}
102 \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt}
103 \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace}
104 \DoNotIndex{\advance,\ast,\begin,\begingroup,\bfseries,\bgroup,\box}
106 \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption}
107 \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass}
108 \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist}
109 \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup}
110 \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter}
112 \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef}
113 \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule}
114 \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi}
115 \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi}
117 \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark}
118 \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright}
119 \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment}
120 \DoNotIndex{\NeedsTeXFormat,\newdimen}
121 \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number}
122 \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@}
123 \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip}
124 \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions}
125 \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright}
126 \DoNotIndex{\refstepcounter,\relax,\renewcommand}
127 \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily}
128 \DoNotIndex{\secdef,\selectfont,\setbox,\setcounter,\setlength}
129 \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space}
130 \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase}
131 \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt}
132 \DoNotIndex{\viipt,\vipt,\vskip,\vspace}
133 \DoNotIndex{\wd,\xiipt,\year,\z@}
135 % We do want an index, using linenumbers
140 % We use so many \file{docstrip} modules that we set the
141 % \texttt{StandardModuleDepth} counter to 1.
143 \setcounter{StandardModuleDepth}{1}
145 % The following command retrieves the date and version information
148 \GetFileInfo{classes.drv}
150 % Some commonly used abbreviations
151 % \changes{v1.2w}{1994/12/01}{Use \cs{newcommand*}}
153 \newcommand*{\Lopt}[1]{\textsf {#1}}
154 \newcommand*{\file}[1]{\texttt {#1}}
155 \newcommand*{\Lcount}[1]{\textsl {\small#1}}
156 \newcommand*{\pstyle}[1]{\textsl {#1}}
158 % We also want the full details.
161 \DocInput{classes.dtx}
170 % \changes{v1.0d}{1993/11/30}{remove \cs{@in}, made option makeindex
171 % a synonym for option makeidx}
172 % \changes{v1.0d}{1993/11/30}{removed \cs{@minus}, \cs{@plus},
173 % \cs{@settopoint}, \cs{@setfontsize}; they are now in the
175 % \changes{v1.0d}{1993/11/30}{Added use of \cs{NeedsTeXFormat}}
176 % \changes{v1.0d}{1993/11/30}{Replaced \cs{bf} with \cs{bfseries};
177 % \cs{rm} with \cs{rmfamily}}
178 % \changes{v1.0d}{1993/11/30}{Made equation and eqnarray environments
179 % in the fleqn option up to date with latex.dtx}
180 % \changes{v1.0f}{1993/12/08}{Made all lines shorter than 72 characters}
181 % \changes{v1.0g}{1993/12/08}{Made change in eqnarray for the fleqn
182 % option, as suggested by Rainer.}
183 % \changes{v1.0h}{1993/12/18}{Made the definitions of the font- and
184 % size-changing commands use \cs{renew} rather than \cs{new}.
185 % Defined the float parameters with \cs{renewcommand} rather than
186 % \cs{newcommand}. Corrected some typos in the fleqn option.
187 % Replaced two occurrences of -\cs{@secpenalty} by
188 % \cs{@secpenalty}. ASAJ.}
189 % \changes{v1.0j}{1993/12/20}{Added \cs{ProvidesFile} to size files}
190 % \changes{v1.0j}{1993/12/10}{Use \cs{cmd} in change entries}
191 % \changes{v1.0k}{1994/01/09}{Removed some typos/bugs}
192 % \changes{v1.0l}{1994/01/11}{add the extension to the names of the
194 % \changes{v1.0l}{1994/01/10}{Changed version numbering; moved leqno
195 % and fleqn options to an external file.}
196 % \changes{v1.0n}{1994/01/19}{Removed code for makeidx option and made
197 % it a separate package; removed use of \cs{setlength} from list
199 % \changes{v1.0o}{1994/01/31}{Small documentation changes}
200 % \changes{v1.0q}{1994/02/16}{Small documentation changes}
201 % \changes{v1.1a}{1994/03/12}{Removed \cs{typeout} messages}
202 % \changes{v1.1f}{1994/04/15}{Inserted forgotten line break}
203 % \changes{v1.2a}{1994/03/17}{Added openright option. (LL)}
204 % \changes{v1.2b}{1994/03/17}{Added the \ldots{}matter commands. (LL)}
205 % \changes{v1.2c}{1994/03/17}{Fixed page numbering in titlepage
207 % \changes{v1.2d}{1994/04/11}{Checked the file for long lines and
208 % wrapped them when necessary; made a slight implementation
209 % modification to the openright and openany options.}
210 % \changes{v1.2i}{1994/04/28}{Use LaTeX instead of LaTeX2e in messages}
211 % \changes{v1.2j}{1994/05/01}{Removed the use of \cs{fileversion}
213 % \changes{v1.2l}{1994/05/11}{changed some \cs{changes} entries}
214 % \changes{v1.2m}{1994/05/12}{Forgot a few entries}
215 % \changes{v1.2o}{1994/05/24}{Changed file information}
216 % \changes{v1.2p}{1994/05/27}{Moved identification and driver to the
218 % \changes{v1.2t}{1994/06/22}{Refrased a few sentences to prevent
220 % \changes{v1.2v}{1994/12/01}{Made the oneside option work for the
222 % \changes{v1.2w}{1994/12/01}{Use \cs{newcommand*} for commands with
224 % \changes{v1.2z}{1995/05/16}{Always use \cs{cs} in \cs{changes}
226 % \changes{v1.3a}{1995/05/17}{Replaced all \cs{hbox to} by \cs{hb@xt@}}
227 % \changes{v1.3d}{1995/06/05}{Replaced all \cs{uppercase} by
228 % \cs{MakeUppercase}}
229 % \changes{v1.3l}{1995/10/20}{Disabled in compatibility mode all
230 % options that are new in \LaTeXe.}
231 % \changes{v1.3v}{1997/06/16}{Documentation fixes.}
234 % \title{Standard Document Classes for \LaTeX{} version 2e\thanks{This
235 % file has version number \fileversion, last revised \filedate.}}
238 % Copyright (C) 1992 by Leslie Lamport \and
239 % Copyright (C) 1994-97 by Frank Mittelbach \and Johannes Braams
242 % \MaintainedByLaTeXTeam{latex}
246 % \StopEventually{} ^^A
248 % \section{The {\sc docstrip} modules}
250 % The following modules are used in the implementation to direct
251 % {\sc docstrip} in generating the external files:
253 % \begin{tabular}{ll}
254 % article & produce the documentclass article\\
255 % report & produce the documentclass report\\
256 % size10 & produce the class option for 10pt\\
257 % size11 & produce the class option for 11pt\\
258 % size12 & produce the class option for 12pt\\
259 % book & produce the documentclass book\\
260 % bk10 & produce the book class option for 10pt\\
261 % bk11 & produce the book class option for 11pt\\
262 % bk12 & produce the book class option for 12pt\\
263 % driver & produce a documentation driver file \\
267 % \section{Initial Code}
269 % In this part we define a few commands that are used later on.
271 % \begin{macro}{\@ptsize}
272 % This control sequence is used to store the second digit of the
273 % pointsize we are typesetting in. So, normally, it's value is one
276 %<*article|report|book>
277 \newcommand\@ptsize{}
281 % \begin{macro}{\if@restonecol}
282 % When the document has to printed in two columns, we sometimes
283 % have to temporarily switch to one column. This switch is used to
284 % remember to switch back.
290 % \begin{macro}{\if@titlepage}
291 % A switch to indicate if a titlepage has to be produced. For the
292 % article document class the default is not to make a separate
296 %<article>\@titlepagefalse
297 %<!article>\@titlepagetrue
301 % \begin{macro}{\if@openright}
302 % A switch to indicate if chapters must start on a right-hand page.
303 % The default for the report class is no; for the book class it's
306 %<!article>\newif\if@openright
310 % \changes{v1.3k}{1995/08/27}{Macro \cs{if@openbib} removed}
312 % \begin{macro}{\if@mainmatter}
313 % \changes{v1.2v}{1994/12/01}{Moved the allocation of
314 % \cs{if@mainmatter} here}
316 % The switch |\if@mainmatter|, only available in the document class
317 % book, indicates whether we are processing the main material in
320 %<book>\newif\if@mainmatter \@mainmattertrue
324 % \section{Declaration of Options}
327 % \subsection{Setting Paper Sizes}
329 % The variables |\paperwidth| and |\paperheight| should reflect the
330 % physical paper size after trimming. For desk printer output this
331 % is usually the real paper size since there is no post-processing.
332 % Classes for real book production will probably add other paper
333 % sizes and additionally the production of crop marks for trimming.
334 % In compatibility mode, these (and some of the subsequent) options
335 % are disabled, as they were not present in \LaTeX 2.09.
336 % \changes{v1.0g}{1993/12/09}{Removed typo, A4 is not 279 mm high}
338 \if@compatibility\else
339 \DeclareOption{a4paper}
340 {\setlength\paperheight {297mm}%
341 \setlength\paperwidth {210mm}}
342 \DeclareOption{a5paper}
343 {\setlength\paperheight {210mm}%
344 \setlength\paperwidth {148mm}}
345 \DeclareOption{b5paper}
346 {\setlength\paperheight {250mm}%
347 \setlength\paperwidth {176mm}}
348 \DeclareOption{letterpaper}
349 {\setlength\paperheight {11in}%
350 \setlength\paperwidth {8.5in}}
351 \DeclareOption{legalpaper}
352 {\setlength\paperheight {14in}%
353 \setlength\paperwidth {8.5in}}
354 \DeclareOption{executivepaper}
355 {\setlength\paperheight {10.5in}%
356 \setlength\paperwidth {7.25in}}
359 % The option \Lopt{landscape} switches the values of |\paperheight|
360 % and |\paperwidth|, assuming the dimensions were given for portrait
363 \DeclareOption{landscape}
364 {\setlength\@tempdima {\paperheight}%
365 \setlength\paperheight {\paperwidth}%
366 \setlength\paperwidth {\@tempdima}}
370 % \subsection{Choosing the type size}
372 % The type size options are handled by defining |\@ptsize| to contain
373 % the last digit of the size in question and branching on |\ifcase|
374 % statements. This is done for historical reasons to stay compatible
375 % with other packages that use the |\@ptsize| variable to select
376 % special actions. It makes the declarations of size options less
377 % than 10pt difficult, although one can probably use \texttt{9}
378 % and \texttt{8} assuming that a class wont define both
379 % \Lopt{8pt} and \Lopt{18pt} options.
383 \renewcommand\@ptsize{0}
385 \DeclareOption{10pt}{\renewcommand\@ptsize{0}}
387 \DeclareOption{11pt}{\renewcommand\@ptsize{1}}
388 \DeclareOption{12pt}{\renewcommand\@ptsize{2}}
392 % \subsection{Two-side or one-side printing}
394 % For two-sided printing we use the switch |\if@twoside|. In
395 % addition we have to set the |\if@mparswitch| to get any margin
396 % paragraphs into the outside margin.
398 \if@compatibility\else
399 \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
401 \DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
405 % \subsection{Draft option}
407 % If the user requests \Lopt{draft} we show any overfull boxes.
408 % We could probably add some more interesting stuff to this option.
410 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
411 \if@compatibility\else
412 \DeclareOption{final}{\setlength\overfullrule{0pt}}
416 % \subsection{Titlepage option}
417 % An article usually has no separate titlepage, but the user can
420 \DeclareOption{titlepage}{\@titlepagetrue}
421 \if@compatibility\else
422 \DeclareOption{notitlepage}{\@titlepagefalse}
426 % \subsection{openright option}
427 % This option determines whether or not a chapter must start on
431 %<!article>\if@compatibility
432 %<book>\@openrighttrue
434 %<!article>\DeclareOption{openright}{\@openrighttrue}
435 %<!article>\DeclareOption{openany}{\@openrightfalse}
439 % \subsection{Twocolumn printing}
441 % Two-column and one-column printing is again realized via a switch.
443 \if@compatibility\else
444 \DeclareOption{onecolumn}{\@twocolumnfalse}
446 \DeclareOption{twocolumn}{\@twocolumntrue}
449 % \subsection{Equation numbering on the left}
451 % The option \Lopt{leqno} can be used to get the equation numbers
452 % on the left side of the equation. It loads code which is generated
453 % automatically from the kernel files when the format is built.
454 % If the equation number does get a special formatting then instead
455 % of using the kernel file the class would need to provide the code
458 \DeclareOption{leqno}{\input{leqno.clo}}
461 % \subsection{Flush left displays}
463 % The option \Lopt{fleqn} redefines the displayed math environments
464 % in such a way that they come out flush left, with an indentation
465 % of |\mathindent| from the prevailing left margin. It loads
466 % code which is generated
467 % automatically from the kernel files when the format is built.
468 % \changes{v1.0h}{1993/12/18}{Corrected some typos. ASAJ.}
470 \DeclareOption{fleqn}{\input{fleqn.clo}}
473 % \subsection{Open bibliography}
475 % The option \Lopt{openbib} produces the ``open'' bibliography
476 % style, in which each block starts on a new line, and succeeding
477 % lines in a block are indented by |\bibindent|.
478 % \changes{v1.3k}{1995/08/27}{openbib option reimplemented}
480 \DeclareOption{openbib}{%
482 % First some hook into the bibliography environment is filled.
485 \renewcommand\@openbib@code{%
486 \advance\leftmargin\bibindent
487 \itemindent -\bibindent
488 \listparindent \itemindent
492 % In addition the definition of |\newblock| is overwritten.
494 \renewcommand\newblock{\par}}%
499 % \section{Executing Options}
501 % Here we execute the default options to initialize certain
502 % variables. Note that the document class `book' always uses two
506 \ExecuteOptions{letterpaper,10pt,oneside,onecolumn,final}
509 \ExecuteOptions{letterpaper,10pt,oneside,onecolumn,final,openany}
512 \ExecuteOptions{letterpaper,10pt,twoside,onecolumn,final,openright}
516 % The |\ProcessOptions| command causes the execution of the code
517 % for every option \Lopt{FOO}
518 % which is declared and for which the user typed
519 % the \Lopt{FOO} option in his
520 % |\documentclass| command. For every option \Lopt{BAR} he typed,
521 % which is not declared, the option is assumed to be a global option.
522 % All options will be passed as document options to any
523 % |\usepackage| command in the document preamble.
527 % Now that all the options have been executed we can load the
528 % chosen class option file that contains all size dependent code.
530 %<!book>\input{size1\@ptsize.clo}
531 %<book>\input{bk1\@ptsize.clo}
532 %</article|report|book>
535 % \section{Loading Packages}
537 % The standard class files do not load additional packages.
540 % \section{Document Layout}
541 % \label{sec:classes:maincode}
543 % In this section we are finally dealing with the nasty typographical
548 % \LaTeX\ offers the user commands to change the size of the font,
549 % relative to the `main' size. Each relative size changing command
550 % |\size| executes the command
551 % |\@setfontsize||\size|\meta{font-size}\meta{baselineskip} where:
553 % \begin{description}
554 % \item[\meta{font-size}] The absolute size of the font to use from
557 % \item[\meta{baselineskip}] The normal value of |\baselineskip|
558 % for the size of the font selected. (The actual value will be
559 % |\baselinestretch| * \meta{baselineskip}.)
562 % A number of commands, defined in the \LaTeX{} kernel, shorten the
563 % following definitions and are used throughout. They are:
565 % \begin{tabular}{ll@{\qquad}ll@{\qquad}ll}
566 % \verb=\@vpt= & 5 & \verb=\@vipt= & 6 & \verb=\@viipt= & 7 \\
567 % \verb=\@viiipt= & 8 & \verb=\@ixpt= & 9 & \verb=\@xpt= & 10 \\
568 % \verb=\@xipt= & 10.95 & \verb=\@xiipt= & 12 & \verb=\@xivpt= & 14.4\\
573 % \begin{macro}{\normalsize}
574 % \begin{macro}{\@normalsize}
575 % \changes{v1.0o}{1994/01/31}{\cs{@normalsize} now defined in the
578 % The user level command for the main size is |\normalsize|.
579 % Internally \LaTeX{} uses |\@normalsize| when it refers to the
580 % main size. |\@normalsize| will be defined to work like
581 % |\normalsize| if the latter is redefined from its default
582 % definition (that just issues an error message). Otherwise
583 % |\@normalsize| simply selects a 10pt/12pt size.
585 % The |\normalsize| macro also sets new values for\\
586 % |\abovedisplayskip|, |\abovedisplayshortskip| and
587 % |\belowdisplayshortskip|.
589 % \changes{v1.0e}{1993/12/07}{\cs{normalsize} doesn't exist, so use
591 % \changes{v1.0h}{1993/12/18}{\cs{normalsize} is now defined in the
592 % kernel, so use \cs{renewcommand}. ASAJ.}
595 \renewcommand\normalsize{%
597 \@setfontsize\normalsize\@xpt\@xiipt
598 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
599 \abovedisplayshortskip \z@ \@plus3\p@
600 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
603 \@setfontsize\normalsize\@xipt{13.6}%
604 \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
605 \abovedisplayshortskip \z@ \@plus3\p@
606 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
609 \@setfontsize\normalsize\@xiipt{14.5}%
610 \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
611 \abovedisplayshortskip \z@ \@plus3\p@
612 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
615 % The |\belowdisplayskip| is always equal to the
616 % |\abovedisplayskip|. The parameters of the first level list are
617 % always given by |\@listI|.
619 \belowdisplayskip \abovedisplayskip
623 % We initially choose the normalsize font.
630 % \begin{macro}{\small}
631 % This is similar to |\normalsize|.
632 % \changes{v1.0h}{1993/12/18}{\cs{small} is now defined in the kernel,
633 % so use \cs{renewcommand}. ASAJ.}
634 % \changes{v1.2e}{1994/04/14}{\cs{small} is no longer defined in the
635 % kernel; use \cs{newcommand}}
639 \@setfontsize\small\@ixpt{11}%
640 \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
641 \abovedisplayshortskip \z@ \@plus2\p@
642 \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
643 \def\@listi{\leftmargin\leftmargini
644 \topsep 4\p@ \@plus2\p@ \@minus2\p@
645 \parsep 2\p@ \@plus\p@ \@minus\p@
649 \@setfontsize\small\@xpt\@xiipt
650 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
651 \abovedisplayshortskip \z@ \@plus3\p@
652 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
653 \def\@listi{\leftmargin\leftmargini
654 \topsep 6\p@ \@plus2\p@ \@minus2\p@
655 \parsep 3\p@ \@plus2\p@ \@minus\p@
659 \@setfontsize\small\@xipt{13.6}%
660 \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
661 \abovedisplayshortskip \z@ \@plus3\p@
662 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
663 \def\@listi{\leftmargin\leftmargini
664 \topsep 9\p@ \@plus3\p@ \@minus5\p@
665 \parsep 4.5\p@ \@plus2\p@ \@minus\p@
668 \belowdisplayskip \abovedisplayskip
673 % \begin{macro}{\footnotesize}
674 % This is similar to |\normalsize|.
675 % \changes{v1.0h}{1993/12/18}{\cs{footnotesize} is now defined in the
676 % kernel, so use \cs{renewcommand}. ASAJ.}
677 % \changes{v1.2e}{1994/04/14}{use \cs{newcommand} again}
679 \newcommand\footnotesize{%
681 \@setfontsize\footnotesize\@viiipt{9.5}%
682 \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
683 \abovedisplayshortskip \z@ \@plus\p@
684 \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
685 \def\@listi{\leftmargin\leftmargini
686 \topsep 3\p@ \@plus\p@ \@minus\p@
687 \parsep 2\p@ \@plus\p@ \@minus\p@
691 \@setfontsize\footnotesize\@ixpt{11}%
692 \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
693 \abovedisplayshortskip \z@ \@plus\p@
694 \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
695 \def\@listi{\leftmargin\leftmargini
696 \topsep 4\p@ \@plus2\p@ \@minus2\p@
697 \parsep 2\p@ \@plus\p@ \@minus\p@
701 \@setfontsize\footnotesize\@xpt\@xiipt
702 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
703 \abovedisplayshortskip \z@ \@plus3\p@
704 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
705 \def\@listi{\leftmargin\leftmargini
706 \topsep 6\p@ \@plus2\p@ \@minus2\p@
707 \parsep 3\p@ \@plus2\p@ \@minus\p@
710 \belowdisplayskip \abovedisplayskip
716 % \begin{macro}{\scriptsize}
717 % \begin{macro}{\tiny}
718 % \begin{macro}{\large}
719 % \begin{macro}{\Large}
720 % \begin{macro}{\LARGE}
721 % \begin{macro}{\huge}
722 % \begin{macro}{\Huge}
723 % These are all much simpler than the previous macros, they just
724 % select a new fontsize, but leave the parameters for displays and
726 % \changes{v1.0h}{1993/12/18}{These are now defined in the kernel,
727 % so use \cs{renewcommand}. ASAJ.}
728 % \changes{v1.2e}{1994/04/14}{use \cs{newcommand} again}
731 \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
732 \newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt}
733 \newcommand\large{\@setfontsize\large\@xiipt{14}}
734 \newcommand\Large{\@setfontsize\Large\@xivpt{18}}
735 \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
736 \newcommand\huge{\@setfontsize\huge\@xxpt{25}}
737 \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
740 \newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
741 \newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
742 \newcommand\large{\@setfontsize\large\@xiipt{14}}
743 \newcommand\Large{\@setfontsize\Large\@xivpt{18}}
744 \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
745 \newcommand\huge{\@setfontsize\huge\@xxpt{25}}
746 \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
749 \newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
750 \newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
751 \newcommand\large{\@setfontsize\large\@xivpt{18}}
752 \newcommand\Large{\@setfontsize\Large\@xviipt{22}}
753 \newcommand\LARGE{\@setfontsize\LARGE\@xxpt{25}}
754 \newcommand\huge{\@setfontsize\huge\@xxvpt{30}}
767 % \subsection{Paragraphing}
769 % \begin{macro}{\lineskip}
770 % \begin{macro}{\normallineskip}
771 % These parameters control \TeX's behaviour when two lines tend to
772 % come too close together.
774 %<*article|report|book>
775 \setlength\lineskip{1\p@}
776 \setlength\normallineskip{1\p@}
781 % \begin{macro}{\baselinestretch}
782 % This is used as a multiplier for |\baselineskip|. The default is
783 % to \emph{not} stretch the baselines. Note that if this command
784 % doesn't resolve to ``empty'' any \texttt{plus} or \texttt{minus}
785 % part in the specification of |\baselineskip| is ignored.
787 \renewcommand\baselinestretch{}
791 % \begin{macro}{\parskip}
792 % \begin{macro}{\parindent}
793 % |\parskip| gives extra vertical space between paragraphs and
794 % |\parindent| is the width of the paragraph indentation. The value
795 % of |\parindent| depends on whether we are in two column mode.
796 % \changes{v1.0m}{1994/01/12}{\cs{parindent} should be different,
797 % depending on the pointsize}
799 \setlength\parskip{0\p@ \@plus \p@}
800 %</article|report|book>
803 \setlength\parindent{1em}
805 %<10pt> \setlength\parindent{15\p@}
806 %<11pt> \setlength\parindent{17\p@}
807 %<12pt> \setlength\parindent{1.5em}
814 % \begin{macro}{\smallskipamount}
815 % \begin{macro}{\medskipamount}
816 % \begin{macro}{\bigskipamount}
817 % The values for these three parameters are set in the \LaTeX\
818 % kernel. They should perhaps vary, according to the size option
819 % specified. But as they have always had the same value regardless
820 % of the size option we do not change them to stay compatible with
821 % both \LaTeX~2.09 and older releases of \LaTeXe.
822 % \changes{v1.3n}{1995/10/29}{Added setting the values of
823 % \cs{...skipamount}}
826 \setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
827 \setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
828 \setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
835 % \begin{macro}{\@lowpenalty}
836 % \begin{macro}{\@medpenalty}
837 % \begin{macro}{\@highpenalty}%
838 % The commands |\nopagebreak| and |\nolinebreak| put in penalties
839 % to discourage these breaks at the point they are put in.
840 % They use |\@lowpenalty|, |\@medpenalty| or |\@highpenalty|,
841 % dependent on their argument.
843 %<*article|report|book>
852 % \begin{macro}{\clubpenalty}
853 % \begin{macro}{\widowpenalty}
854 % These penalties are use to discourage club and widow lines.
855 % Because we use their default values we only show them here,
864 % \begin{macro}{\displaywidowpenalty}
865 % \begin{macro}{\predisplaypenalty}
866 % \begin{macro}{\postdisplaypenalty}
867 % Discourage (but not so much) widows in front of a math display
868 % and forbid breaking directly in front of a display. Allow break
869 % after a display without a penalty. Again the default values are
870 % used, therefore we only show them here.
872 % \displaywidowpenalty 50
873 % \predisplaypenalty 10000
874 % \postdisplaypenalty 0
880 % \begin{macro}{\interlinepenalty}
881 % Allow the breaking of a page in the middle of a paragraph.
883 % \interlinepenalty 0
888 % \begin{macro}{\brokenpenalty}
889 % We allow the breaking of a page after a hyphenated line.
890 % \changes{v1.1a}{1994/03/12}{Show correct default which is 100}
893 %</article|report|book>
898 % \subsection{Page Layout}
900 % All margin dimensions are measured from a point one inch from the
901 % top and lefthand side of the page.
903 % \subsubsection{Vertical spacing}
905 % \begin{macro}{\headheight}
906 % \begin{macro}{\headsep}
907 % \begin{macro}{\topskip}
908 % The |\headheight| is the height of the box that will contain the
909 % running head. The |\headsep| is the distance between the bottom
910 % of the running head and the top of the text. The |\topskip| is
911 % the |\baselineskip| for the first line on a page; \LaTeX's output
912 % routine will not work properly if it has the value 0pt, so do not
916 \setlength\headheight{12\p@}
917 %<!bk>\setlength\headsep {25\p@}
918 %<10pt&bk>\setlength\headsep {.25in}
919 %<11pt&bk>\setlength\headsep {.275in}
920 %<12pt&bk>\setlength\headsep {.275in}
921 %<10pt>\setlength\topskip {10\p@}
922 %<11pt>\setlength\topskip {11\p@}
923 %<12pt>\setlength\topskip {12\p@}
929 % \begin{macro}{\footskip}
930 % The distance from the baseline of the box which contains the
931 % running footer to the baseline of last line of text is controlled
932 % by the |\footskip|.
934 %<!bk>\setlength\footskip{30\p@}
935 %<10pt&bk>\setlength\footskip{.35in}
936 %<11pt&bk>\setlength\footskip{.38in}
937 %<12pt&bk>\setlength\footskip{30\p@}
941 % \begin{macro}{\maxdepth}
942 % \changes{v1.2k}{1994/05/06}{Added setting of \cs{maxdepth} and
944 % \changes{v1.3j}{1995/08/16}{Take setting of
945 % \cs{@maxdepth} out again}
946 % The \TeX\ primitive register |\maxdepth| has a function that is
947 % similar to that of |\topskip|. The register |\@maxdepth| should
948 % always contain a copy of |\maxdepth|. This is achieved by setting
949 % it internally at |\begin{document}|. In both plain \TeX\ and
950 % \LaTeX~2.09 |\maxdepth| had a fixed value of \texttt{4pt}; in
951 % native \LaTeX2e\ mode we let the value depend on the typesize. We
952 % set it so that |\maxdepth| $+$ |\topskip| $=$ typesize $\times
953 % 1.5$. As it happens, in these classes |\topskip| is equal to the
954 % typesize, therefore we set |\maxdepth| to half the value of
957 \if@compatibility \setlength\maxdepth{4\p@} \else
958 \setlength\maxdepth{.5\topskip} \fi
962 % \subsubsection{The dimension of text}
964 % \begin{macro}{\textwidth}
965 % When we are in compatibility mode we have to make sure that the
966 % dimensions of the printed area are not different from what the
967 % user was used to see.
972 \setlength\textwidth{410\p@}
974 %<10pt&!bk> \setlength\textwidth{345\p@}
975 %<11pt&!bk> \setlength\textwidth{360\p@}
976 %<12pt&!bk> \setlength\textwidth{390\p@}
977 %<10pt&bk> \setlength\textwidth{4.5in}
978 %<11pt&bk> \setlength\textwidth{5in}
979 %<12pt&bk> \setlength\textwidth{5in}
982 % When we are not in compatibility mode we can set some of the
983 % dimensions differently, taking into account the paper size for
988 % First, we calculate the maximum |\textwidth|, which we will allow
989 % on the selected paper and store it in |\@tempdima|. Then we store
990 % the length of a line with approximately 60--70 characters in
991 % |\@tempdimb|. The values given are more or less suitable when
992 % Computer Modern fonts are used.
993 % \changes{v1.1a}{1994/03/12}{Have old values for width in native mode}
995 \setlength\@tempdima{\paperwidth}
996 \addtolength\@tempdima{-2in}
997 %<10pt> \setlength\@tempdimb{345\p@}
998 %<11pt> \setlength\@tempdimb{360\p@}
999 %<12pt> \setlength\@tempdimb{390\p@}
1002 % Now we can set the |\textwidth|, depending on whether we will be
1003 % setting one or two columns.
1005 % In two column mode each \emph{column} shouldn't be wider than
1006 % |\@tempdimb| (which could happen on \textsc{a3} paper for
1010 \ifdim\@tempdima>2\@tempdimb\relax
1011 \setlength\textwidth{2\@tempdimb}
1013 \setlength\textwidth{\@tempdima}
1017 % In one column mode the text should not be wider than the minimum
1018 % of the paperwidth (minus 2 inches for the margins) and the
1019 % maximum length of a line as defined by the number of characters.
1022 \ifdim\@tempdima>\@tempdimb\relax
1023 \setlength\textwidth{\@tempdimb}
1025 \setlength\textwidth{\@tempdima}
1031 % Here we modify the width of the text a little to be a whole
1034 \if@compatibility\else
1035 \@settopoint\textwidth
1040 % \begin{macro}{\textheight}
1041 % Now that we have computed the width of the text, we have to take
1042 % care of the height. The |\textheight| is the height of text
1043 % (including footnotes and figures, excluding running head and
1046 % First make sure that the compatibility mode gets the same
1047 % dimensions as we had with \LaTeX2.09. The number of lines was
1048 % calculated as the floor of the old |\textheight| minus
1049 % |\topskip|, divided by |\baselineskip| for |\normalsize|. The
1050 % old value of |\textheight| was 528pt.
1054 %<10pt&!bk> \setlength\textheight{43\baselineskip}
1055 %<10pt&bk> \setlength\textheight{41\baselineskip}
1056 %<11pt> \setlength\textheight{38\baselineskip}
1057 %<12pt> \setlength\textheight{36\baselineskip}
1060 % Again we compute this, depending on the papersize and depending
1061 % on the baselineskip that is used, in order to have a whole number
1062 % of lines on the page.
1065 \setlength\@tempdima{\paperheight}
1068 % We leave at least a 1 inch margin on the top and the bottom of
1071 \addtolength\@tempdima{-2in}
1074 % We also have to leave room for the running headers and footers.
1076 \addtolength\@tempdima{-1.5in}
1079 % Then we divide the result by the current |\baselineskip| and
1080 % store this in the count register |\@tempcnta|, which then
1081 % contains the number of lines that fit on this page.
1083 \divide\@tempdima\baselineskip
1084 \@tempcnta=\@tempdima
1087 % From this we can calculate the height of the text.
1089 \setlength\textheight{\@tempcnta\baselineskip}
1093 % The first line on the page has a height of |\topskip|.
1095 \addtolength\textheight{\topskip}
1101 % \subsubsection{Margins}
1103 % Most of the values of these parameters are now calculated, based
1104 % on the papersize in use. In the calculations the |\marginparsep|
1105 % needs to be taken into account so we give it its value first.
1107 % \begin{macro}{\marginparsep}
1108 % \begin{macro}{\marginparpush}
1109 % The horizontal space between the main text and marginal notes is
1110 % determined by |\marginparsep|, the minimum vertical separation
1111 % between two marginal notes is controlled by |\marginparpush|.
1114 \setlength\marginparsep {10\p@}
1116 %<10pt&!bk> \setlength\marginparsep{11\p@}
1117 %<11pt&!bk> \setlength\marginparsep{10\p@}
1118 %<12pt&!bk> \setlength\marginparsep{10\p@}
1119 %<bk> \setlength\marginparsep{7\p@}
1121 %<10pt|11pt>\setlength\marginparpush{5\p@}
1122 %<12pt>\setlength\marginparpush{7\p@}
1127 % Now we can give the values for the other margin parameters. For
1128 % native \LaTeXe, these are calculated.
1129 % \begin{macro}{\oddsidemargin}
1130 % \begin{macro}{\evensidemargin}
1131 % \begin{macro}{\marginparwidth}
1132 % First we give the values for the compatibility mode.
1134 % Values for two-sided printing:
1138 %<10pt> \setlength\oddsidemargin {.5in}
1139 %<11pt> \setlength\oddsidemargin {.25in}
1140 %<12pt> \setlength\oddsidemargin {.25in}
1141 %<10pt> \setlength\evensidemargin {1.5in}
1142 %<11pt> \setlength\evensidemargin {1.25in}
1143 %<12pt> \setlength\evensidemargin {1.25in}
1144 %<10pt> \setlength\marginparwidth {.75in}
1145 %<11pt> \setlength\marginparwidth {1in}
1146 %<12pt> \setlength\marginparwidth {1in}
1150 %<10pt> \setlength\oddsidemargin {44\p@}
1151 %<11pt> \setlength\oddsidemargin {36\p@}
1152 %<12pt> \setlength\oddsidemargin {21\p@}
1153 %<10pt> \setlength\evensidemargin {82\p@}
1154 %<11pt> \setlength\evensidemargin {74\p@}
1155 %<12pt> \setlength\evensidemargin {59\p@}
1156 %<10pt> \setlength\marginparwidth {107\p@}
1157 %<11pt> \setlength\marginparwidth {100\p@}
1158 %<12pt> \setlength\marginparwidth {85\p@}
1160 % Values for one-sided printing:
1163 %<10pt> \setlength\oddsidemargin {63\p@}
1164 %<11pt> \setlength\oddsidemargin {54\p@}
1165 %<12pt> \setlength\oddsidemargin {39.5\p@}
1166 %<10pt> \setlength\evensidemargin {63\p@}
1167 %<11pt> \setlength\evensidemargin {54\p@}
1168 %<12pt> \setlength\evensidemargin {39.5\p@}
1169 %<10pt> \setlength\marginparwidth {90\p@}
1170 %<11pt> \setlength\marginparwidth {83\p@}
1171 %<12pt> \setlength\marginparwidth {68\p@}
1175 % And values for two column mode:
1178 \setlength\oddsidemargin {30\p@}
1179 \setlength\evensidemargin {30\p@}
1180 \setlength\marginparwidth {48\p@}
1184 % When we are not in compatibility mode we can take the dimensions
1185 % of the selected paper into account.
1187 % The values for |\oddsidemargin| and |\marginparwidth| will be set
1188 % depending on the status of the |\if@twoside|.
1190 % If |@twoside| is true (which is always the case for book) we make
1191 % the inner margin smaller than the outer one.
1195 \setlength\@tempdima {\paperwidth}
1196 \addtolength\@tempdima {-\textwidth}
1197 \setlength\oddsidemargin {.4\@tempdima}
1198 \addtolength\oddsidemargin {-1in}
1200 % The width of the margin for text is set to the remainder of the
1201 % width except for a `real margin' of white space of width 0.4in.
1202 % A check should perhaps be built in to ensure that the (text)
1203 % margin width does not get too small!
1205 % \changes{v1.1a}{1994/03/12}{New algorithm for \cs{oddsidemargin}}
1206 % \changes{v1.1a}{1994/03/12}{New algorithm for \cs{marginparwidth}}
1207 % \changes{v1.2z}{1995/04/14}{Also take \cs{marginparsep} into account
1210 \setlength\marginparwidth {.6\@tempdima}
1211 \addtolength\marginparwidth {-\marginparsep}
1212 \addtolength\marginparwidth {-0.4in}
1214 % For one-sided printing we center the text on the page, by
1215 % calculating the difference between |\textwidth| and
1216 % |\paperwidth|. Half of that difference is than used for
1217 % the margin (thus |\oddsidemargin| is |1in| less).
1220 \setlength\@tempdima {\paperwidth}
1221 \addtolength\@tempdima {-\textwidth}
1222 \setlength\oddsidemargin {.5\@tempdima}
1223 \addtolength\oddsidemargin {-1in}
1224 \setlength\marginparwidth {.5\@tempdima}
1225 \addtolength\marginparwidth {-\marginparsep}
1226 \addtolength\marginparwidth {-0.4in}
1227 \addtolength\marginparwidth {-.4in}
1230 % With the above algorithm the |\marginparwidth| can come out quite
1231 % large which we may not want.
1233 \ifdim \marginparwidth >2in
1234 \setlength\marginparwidth{2in}
1237 % Having done these calculations we make them pt values.
1239 \@settopoint\oddsidemargin
1240 \@settopoint\marginparwidth
1243 % The |\evensidemargin| can now be computed from the values set
1245 % \changes{v1.0l}{1994/01/11}{Computing of \cs{evensidemargin}
1246 % should only occur in compatibility mode}
1248 \setlength\evensidemargin {\paperwidth}
1249 \addtolength\evensidemargin{-2in}
1250 \addtolength\evensidemargin{-\textwidth}
1251 \addtolength\evensidemargin{-\oddsidemargin}
1253 % Setting |\evensidemargin| to a full point value may produce a
1254 % small error. However it will lie within the error range a
1255 % doublesided printer of today's technology can accurately print.
1257 \@settopoint\evensidemargin
1264 % \begin{macro}{\topmargin}
1265 % The |\topmargin| is the distance between the top of `the
1266 % printable area'---which is 1 inch below the top of the
1267 % paper--and the top of the box which contains the running head.
1269 % It can now be computed from the values set above.
1272 %<!bk> \setlength\topmargin{27pt}
1273 %<10pt&bk> \setlength\topmargin{.75in}
1274 %<11pt&bk> \setlength\topmargin{.73in}
1275 %<12pt&bk> \setlength\topmargin{.73in}
1277 \setlength\topmargin{\paperheight}
1278 \addtolength\topmargin{-2in}
1279 \addtolength\topmargin{-\headheight}
1280 \addtolength\topmargin{-\headsep}
1281 \addtolength\topmargin{-\textheight}
1282 \addtolength\topmargin{-\footskip} % this might be wrong!
1284 % By changing the factor in the next line the complete page
1285 % can be shifted vertically.
1286 % \changes{v1.2u}{1994/07/13}{Moved rounding of \cs{topmargin} to
1289 \addtolength\topmargin{-.5\topmargin}
1290 \@settopoint\topmargin
1296 % \subsubsection{Footnotes}
1298 % \begin{macro}{\footnotesep}
1299 % |\footnotesep| is the height of the strut placed at the beginning
1300 % of every footnote. It equals the height of a normal
1301 % |\footnotesize| strut in this
1302 % class, thus no extra space occurs between footnotes.
1304 %<10pt>\setlength\footnotesep{6.65\p@}
1305 %<11pt>\setlength\footnotesep{7.7\p@}
1306 %<12pt>\setlength\footnotesep{8.4\p@}
1310 % \begin{macro}{\footins}
1311 % |\skip\footins| is the space between the last line of the main
1312 % text and the top of the first footnote.
1314 %<10pt>\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@}
1315 %<11pt>\setlength{\skip\footins}{10\p@ \@plus 4\p@ \@minus 2\p@}
1316 %<12pt>\setlength{\skip\footins}{10.8\p@ \@plus 4\p@ \@minus 2\p@}
1321 % \subsubsection{Float placement parameters}
1323 % All float parameters are given default values in the \LaTeXe{}
1324 % kernel. For this reason parameters that are not counters
1325 % need to be set with |\renewcommand|.
1327 % \paragraph{Limits for the placement of floating objects}
1329 % \begin{macro}{\c@topnumber}
1330 % The \Lcount{topnumber} counter holds the maximum number of
1331 % floats that can appear on the top of a text page.
1333 %<*article|report|book>
1334 \setcounter{topnumber}{2}
1338 % \begin{macro}{\topfraction}
1339 % This indicates the maximum part of a text page that can be
1340 % occupied by floats at the top.
1341 % \changes{v1.0h}{1993/12/18}{Replaced \cs{newcommand} with
1342 % \cs{renewcommand}. ASAJ.}
1344 \renewcommand\topfraction{.7}
1348 % \begin{macro}{\c@bottomnumber}
1349 % The \Lcount{bottomnumber} counter holds the maximum number of
1350 % floats that can appear on the bottom of a text page.
1352 \setcounter{bottomnumber}{1}
1356 % \begin{macro}{\bottomfraction}
1357 % This indicates the maximum part of a text page that can be
1358 % occupied by floats at the bottom.
1359 % \changes{v1.0h}{1993/12/18}{Replaced \cs{newcommand} with
1360 % \cs{renewcommand}. ASAJ.}
1362 \renewcommand\bottomfraction{.3}
1366 % \begin{macro}{\c@totalnumber}
1367 % This indicates the maximum number of floats that can appear on
1370 \setcounter{totalnumber}{3}
1374 % \begin{macro}{\textfraction}
1375 % This indicates the minimum part of a text page that has to be
1377 % \changes{v1.0h}{1993/12/18}{Replaced \cs{newcommand} with
1378 % \cs{renewcommand}. ASAJ.}
1380 \renewcommand\textfraction{.2}
1384 % \begin{macro}{\floatpagefraction}
1385 % This indicates the minimum part of a page that has to be
1386 % occupied by floating objects before a `float page' is produced.
1387 % \changes{v1.0h}{1993/12/18}{Replaced \cs{newcommand} with
1388 % \cs{renewcommand}. ASAJ.}
1390 \renewcommand\floatpagefraction{.5}
1394 % \begin{macro}{\c@dbltopnumber}
1395 % The \Lcount{dbltopnumber} counter holds the maximum number of
1396 % two column floats that can appear on the top of a two column text
1399 \setcounter{dbltopnumber}{2}
1403 % \begin{macro}{\dbltopfraction}
1404 % This indicates the maximum part of a two column text page that
1405 % can be occupied by two column floats at the top.
1406 % \changes{v1.0h}{1993/12/18}{Replaced \cs{newcommand} with
1407 % \cs{renewcommand}. ASAJ.}
1409 \renewcommand\dbltopfraction{.7}
1413 % \begin{macro}{\dblfloatpagefraction}
1414 % This indicates the minimum part of a page that has to be
1415 % occupied by two column wide floating objects before a `float
1416 % page' is produced.
1417 % \changes{v1.0h}{1993/12/18}{Replaced \cs{newcommand} with
1418 % \cs{renewcommand}. ASAJ.}
1420 \renewcommand\dblfloatpagefraction{.5}
1421 %</article|report|book>
1425 % \paragraph{Floats on a text page}
1427 % \begin{macro}{\floatsep}
1428 % \begin{macro}{\textfloatsep}
1429 % \begin{macro}{\intextsep}
1430 % When a floating object is placed on a page with text, these
1431 % parameters control the separation between the float and the other
1432 % objects on the page. These parameters are used for both
1433 % one-column mode and single-column floats in two-column mode.
1435 % |\floatsep| is the space between adjacent floats that are moved
1436 % to the top or bottom of the text page.
1438 % |\textfloatsep| is the space between the main text and floats
1439 % at the top or bottom of the page.
1441 % |\intextsep| is the space between in-text floats and the text.
1444 \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1445 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1446 \setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1449 \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1450 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1451 \setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1454 \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 4\p@}
1455 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1456 \setlength\intextsep {14\p@ \@plus 4\p@ \@minus 4\p@}
1463 % \begin{macro}{\dblfloatsep}
1464 % \begin{macro}{\dbltextfloatsep}
1465 % When floating objects that span the whole |\textwidth| are placed
1466 % on a text page when we are in twocolumn mode the separation
1467 % between the float and the text is controlled by |\dblfloatsep|
1468 % and |\dbltextfloatsep|.
1470 % |\dblfloatsep| is the space between adjacent floats that are moved
1471 % to the top or bottom of the text page.
1473 % |\dbltextfloatsep| is the space between the main text and floats
1474 % at the top or bottom of the page.
1478 \setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1479 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1482 \setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1483 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1486 \setlength\dblfloatsep {14\p@ \@plus 2\p@ \@minus 4\p@}
1487 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1493 % \paragraph{Floats on their own page or column}
1495 % \begin{macro}{\@fptop}
1496 % \begin{macro}{\@fpsep}
1497 % \begin{macro}{\@fpbot}
1498 % When floating objects are placed on separate pages the layout of
1499 % such pages is controlled by these parameters. At the top of the
1500 % page |\@fptop| amount of stretchable whitespace is inserted, at
1501 % the bottom of the page we get an |\@fpbot| amount of stretchable
1502 % whitespace. Between adjacent floats the |\@fpsep| is inserted.
1504 % These parameters are used for the placement of floating objects
1505 % in one column mode, or in single column floats in two column
1508 % Note that at least one of the two parameters |\@fptop| and
1509 % |\@fpbot| should contain a |plus ...fil| to allow filling the
1510 % remaining empty space.
1513 \setlength\@fptop{0\p@ \@plus 1fil}
1514 \setlength\@fpsep{8\p@ \@plus 2fil}
1515 \setlength\@fpbot{0\p@ \@plus 1fil}
1518 \setlength\@fptop{0\p@ \@plus 1fil}
1519 \setlength\@fpsep{8\p@ \@plus 2fil}
1520 \setlength\@fpbot{0\p@ \@plus 1fil}
1523 \setlength\@fptop{0\p@ \@plus 1fil}
1524 \setlength\@fpsep{10\p@ \@plus 2fil}
1525 \setlength\@fpbot{0\p@ \@plus 1fil}
1532 % \begin{macro}{\@dblfptop}
1533 % \begin{macro}{\@dblfpsep}
1534 % \begin{macro}{\@dblfpbot}
1535 % Double column floats in two column mode are handled with similar
1539 \setlength\@dblfptop{0\p@ \@plus 1fil}
1540 \setlength\@dblfpsep{8\p@ \@plus 2fil}
1541 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1544 \setlength\@dblfptop{0\p@ \@plus 1fil}
1545 \setlength\@dblfpsep{8\p@ \@plus 2fil}
1546 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1549 \setlength\@dblfptop{0\p@ \@plus 1fil}
1550 \setlength\@dblfpsep{10\p@ \@plus 2fil}
1551 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1553 %<*article|report|book>
1559 % \subsection{Page Styles}
1561 % The page style \pstyle{foo} is defined by defining the command
1562 % |\ps@foo|. This command should make only local definitions.
1563 % There should be no stray spaces in the definition, since they
1564 % could lead to mysterious extra spaces in the output (well, that's
1565 % something that should be always avoided).
1567 % \begin{macro}{\@evenhead}
1568 % \begin{macro}{\@oddhead}
1569 % \begin{macro}{\@evenfoot}
1570 % \begin{macro}{\@oddfoot}
1571 % The |\ps@...| command defines the macros |\@oddhead|,
1572 % |\@oddfoot|, |\@evenhead|, and |\@evenfoot| to define the running
1573 % heads and feet---e.g., |\@oddhead| is the macro to produce the
1574 % contents of the heading box for odd-numbered pages. It is called
1575 % inside an |\hbox| of width |\textwidth|.
1581 % \subsubsection{Marking conventions}
1583 % To make headings determined by the sectioning commands, the page
1584 % style defines the commands |\chaptermark|, |\sectionmark|,
1586 % where |\chaptermark{|\meta{TEXT}|}| is called by
1587 % |\chapter| to set a mark, and so on.
1589 % The |\...mark| commands and the |\...head| macros are defined
1590 % with the help of the following macros. (All the |\...mark|
1591 % commands should be initialized to no-ops.)
1593 % \LaTeX{} extends \TeX's |\mark| facility by producing two kinds
1594 % of marks, a `left' and a `right' mark, using the following
1597 % |\markboth{|\meta{LEFT}|}{|\meta{RIGHT}|}|: Adds both marks.
1599 % |\markright{|\meta{RIGHT}|}|: Adds a `right' mark.
1601 % |\leftmark|: Used in the |\@oddhead|, |\@oddfoot|, |\@evenhead|
1602 % or |\@evenfoot| macros, it gets the current `left'
1603 % mark. |\leftmark| works like \TeX's |\botmark|
1606 % |\rightmark|: Used in the |\@oddhead|, |\@oddfoot|, |\@evenhead|
1607 % or |\@evenfoot| macros, it gets the current
1608 % `right' mark. |\rightmark| works like \TeX's
1609 % |\firstmark| command.
1612 % The marking commands work reasonably well for right marks
1613 % `numbered within' left marks---e.g., the left mark is changed by a
1614 % |\chapter| command and the right mark is changed by a |\section|
1615 % command. However, it does produce somewhat anomalous results if
1616 % two |\markboth|'s occur on the same page.
1619 % Commands like |\tableofcontents| that should set the marks in some
1620 % page styles use a |\@mkboth| command, which is |\let| by the
1621 % pagestyle command (|\ps@...|) to |\markboth| for setting the
1622 % heading or to |\@gobbletwo| to do nothing.
1625 % \subsubsection{Defining the page styles}
1626 % \label{sec:classes:pagestyle}
1628 % The pagestyles \pstyle{empty} and \pstyle{plain} are defined in
1631 % \begin{macro}{\ps@headings}
1632 % The definition of the page style \pstyle{headings} has to be
1633 % different for two sided printing than it is for one sided
1640 % The running feet are empty in this page style, the running head
1641 % contains the page number and one of the marks.
1643 \let\@oddfoot\@empty\let\@evenfoot\@empty
1644 \def\@evenhead{\thepage\hfil\slshape\leftmark}%
1645 \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
1648 % When using this page style, the contents of the running head is
1649 % determined by the chapter and section titles. So we |\let|
1650 % |\@mkboth| to |\markboth|.
1652 \let\@mkboth\markboth
1655 % For the article document class we define |\sectionmark| to clear
1656 % the right mark and put the number of the section (when it is
1657 % numbered) and its title in the left mark. The rightmark is set by
1658 % |\subsectionmark| to contain the subsection titles.
1660 % Note the use of |##1| for the parameter of the |\sectionmark|
1661 % command, which will be defined when |\ps@headings| is executed.
1663 % \changes{v1.2z}{1995/04/03}{Removed extra dot after \cs{thesection}
1665 % \changes{v1.3c}{1995/05/25}{Replace \cs{hskip}
1666 % \texttt{1em}\cs{relax} with \cs{quad}}
1669 \def\sectionmark##1{%
1670 \markboth {\MakeUppercase{%
1671 \ifnum \c@secnumdepth >\z@
1675 \def\subsectionmark##1{%
1677 \ifnum \c@secnumdepth >\@ne
1684 % In the report and book document classes we use the |\chaptermark|
1685 % and |\sectionmark| macros to fill the running heads.
1687 % Note the use of |##1| for the parameter of the |\chaptermark|
1688 % command, which will be defined when |\ps@headings| is executed.
1692 \def\chaptermark##1{%
1693 \markboth {\MakeUppercase{%
1694 \ifnum \c@secnumdepth >\m@ne
1695 %<book> \if@mainmatter
1696 \@chapapp\ \thechapter. \ %
1700 \def\sectionmark##1{%
1701 \markright {\MakeUppercase{%
1702 \ifnum \c@secnumdepth >\z@
1709 % The definition of |\ps@headings| for one sided printing can be
1710 % much simpler, because we treat even and odd pages the same.
1711 % Therefore we don't need to define |\@even...|.
1715 \let\@oddfoot\@empty
1716 \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
1717 \let\@mkboth\markboth
1719 % We use |\markright| now instead of |\markboth| as we did for two
1723 \def\sectionmark##1{%
1724 \markright {\MakeUppercase{%
1725 \ifnum \c@secnumdepth >\m@ne
1734 \def\chaptermark##1{%
1735 \markright {\MakeUppercase{%
1736 \ifnum \c@secnumdepth >\m@ne
1737 %<book> \if@mainmatter
1738 \@chapapp\ \thechapter. \ %
1747 % \begin{macro}{\ps@myheadings}
1748 % The definition of the page style \pstyle{myheadings} is fairly
1749 % simple because the user determines the contents of the running
1750 % head himself by using the |\markboth| and |\markright| commands.
1753 \def\ps@myheadings{%
1754 \let\@oddfoot\@empty\let\@evenfoot\@empty
1755 \def\@evenhead{\thepage\hfil\slshape\leftmark}%
1756 \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
1759 % We have to make sure that the marking commands that are used by
1760 % the chapter and section headings are disabled. We do this
1761 % |\let|ting them to a macro that gobbles its argument(s).
1763 \let\@mkboth\@gobbletwo
1764 %<!article> \let\chaptermark\@gobble
1765 \let\sectionmark\@gobble
1766 %<article> \let\subsectionmark\@gobble
1771 % \section{Document Markup}
1773 % \subsection{The title}
1775 % \begin{macro}{\title}
1776 % \begin{macro}{\author}
1777 % \begin{macro}{\date}
1778 % These three macros are provided by \file{latex.dtx} to provide
1779 % information about the title, author(s) and date of the document.
1780 % The information is stored away in internal control sequences.
1781 % It is the task of the |\maketitle| command to use the
1782 % information provided. The definitions of these macros are shown
1783 % here for information.
1785 % \newcommand*{\title}[1]{\gdef\@title{#1}}
1786 % \newcommand*{\author}[1]{\gdef\@author{#1}}
1787 % \newcommand*{\date}[1]{\gdef\@date{#1}}
1789 % The |\date| macro gets today's date by default.
1797 % \begin{macro}{\maketitle}
1798 % The definition of |\maketitle| depends on whether a separate
1799 % title page is made. This is the default for the report and book
1800 % document classes, but for the article class it is optional.
1802 % When we are making a title page, we locally redefine
1803 % |\footnotesize| and |footnoterule| to change the appearance of
1804 % the footnotes that are produced by the |\thanks| command;
1805 % these changes affect all footnotes.
1806 % \changes{v1.3o}{1995/11/02}{(CAR) Make \cs{footnote} always work in
1810 \newcommand\maketitle{\begin{titlepage}%
1811 \let\footnotesize\small
1812 \let\footnoterule\relax
1813 \let \footnote \thanks
1815 % We center the entire title vertically; the centering is set off a
1816 % little by adding a |\vskip|. (In compatibility mode the pagenumber
1817 % is set to 0 by the titlepage environment to keep the behaviour
1818 % of \LaTeX\ 2.09 style files.)
1819 % \changes{v1.0g}{1993/12/09}{Removed the setting of the page number,
1820 % when not in compatibility mode}
1821 % \changes{v1.2c}{1994/03/17}{Removed setting of page number, now done
1822 % in titlepage environment}
1827 % Then we set the title, in a |\LARGE| font; leave a little space
1828 % and set the author(s) in a |\large| font. We do this inside a
1829 % tabular environment to get them in a single column.
1830 % Before the date we leave a little whitespace again.
1833 {\LARGE \@title \par}%
1837 \begin{tabular}[t]{c}%
1841 {\large \@date \par}% % Set date in \large size.
1844 % Then we call |\@thanks| to print the information that goes into
1845 % the footnote and finish the page.
1851 % We reset the \Lcount{footnote} counter, disable |\thanks| and
1852 % |\maketitle| and save some storage space by emptying the internal
1853 % information macros.
1854 % \changes{v1.3j}{1995/08/16}{use \cs{let} to save space}
1855 % \changes{v1.3n}{1995/10/29}{Empty \cs{@date} as well}
1857 \setcounter{footnote}{0}%
1858 \global\let\thanks\relax
1859 \global\let\maketitle\relax
1860 \global\let\@thanks\@empty
1861 \global\let\@author\@empty
1862 \global\let\@date\@empty
1863 \global\let\@title\@empty
1865 % After the title is set the declaration commands |\title|, etc.\
1867 % The definition of |\and| makes only sense within the argument of
1868 % |\author| so this can go as well.
1869 % \changes{v1.3k}{1995/08/27}{Disable \cs{title} and similar decls}
1871 \global\let\title\relax
1872 \global\let\author\relax
1873 \global\let\date\relax
1874 \global\let\and\relax
1877 % When the title is not on a page of its own, the layout of the
1878 % title is a little different. We use symbols to mark the footnotes
1879 % and we have to deal with two column documents.
1881 % Therefore we first start a new group to keep changes local. Then
1882 % we redefine |\thefootnote| to use |\fnsymbol|; and change
1883 % |\@makefnmark| so that footnotemarks have zero width (to make the
1884 % centering of the author names look better).
1885 % \changes{v1.2s}{1994/06/02}{Reset \cs{@makefntext}}
1886 % \changes{v1.3a}{1995/05/17}{Use \cs{@makefnmark} in definition of
1888 % \changes{v1.3g}{1995/06/26}{Fix definition of \cs{@makefnmark} and
1889 % \cs{@makefntext} to a) work and b) without using math}
1892 \newcommand\maketitle{\par
1894 \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
1895 \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
1896 \long\def\@makefntext##1{\parindent 1em\noindent
1898 \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
1900 % If this is a twocolumn document we start a new page in twocolumn
1901 % mode, with the title set to the full width of the text. The
1902 % actual printing of the title information is left to
1904 % \changes{v1.2k}{1994/05/06}{Added check on number of columns in use
1908 \ifnum \col@number=\@ne
1911 \twocolumn[\@maketitle]%
1915 % When this is not a twocolumn document we just start a new page,
1916 % prevent floating objects from appearing on the top of this page
1917 % and print the title information.
1920 \global\@topnum\z@ % Prevents figures from going at top of page.
1924 % This page gets a \pstyle{plain} layout. We call |\@thanks| to
1925 % produce the footnotes.
1927 \thispagestyle{plain}\@thanks
1929 % Now we can close the group, reset the \Lcount{footnote} counter,
1930 % disable |\thanks|, |\maketitle| and |\@maketitle| and save some
1931 % storage space by emptying the internal information macros.
1932 % \changes{v1.3j}{1995/08/16}{use \cs{let} to save space}
1933 % \changes{v1.3k}{1995/08/27}{Disable \cs{title} and similar decls}
1934 % \changes{v1.3n}{1995/10/29}{Empty \cs{@date} as well}
1937 \setcounter{footnote}{0}%
1938 \global\let\thanks\relax
1939 \global\let\maketitle\relax
1940 \global\let\@maketitle\relax
1941 \global\let\@thanks\@empty
1942 \global\let\@author\@empty
1943 \global\let\@date\@empty
1944 \global\let\@title\@empty
1945 \global\let\title\relax
1946 \global\let\author\relax
1947 \global\let\date\relax
1948 \global\let\and\relax
1953 % \begin{macro}{\@maketitle}
1954 % This macro takes care of formatting the title information when we
1955 % have no separate title page.
1957 % We always start a new page, leave some white space and center the
1958 % information. The title is set in a |\LARGE| font, the author
1959 % names and the date in a |\large| font.
1960 % \changes{v1.3o}{1995/11/02}{(CAR) Make \cs{footnote} always work in
1968 \let \footnote \thanks
1969 {\LARGE \@title \par}%
1973 \begin{tabular}[t]{c}%
1985 % \subsection{Chapters and Sections}
1987 % \subsubsection{Building blocks} The definitions in this part of the
1988 % class file make use of two internal macros, |\@startsection| and
1989 % |\secdef|. To understand
1990 % what is going on here, we describe their syntax.
1992 % The macro |\@startsection| has 6 required arguments, optionally
1993 % followed by a $*$, an optional argument and a required argument:
1995 % |\@startsection|\meta{name}\meta{level}\meta{indent}^^A
1996 % \meta{beforeskip}\meta{afterskip}\meta{style}
1998 % \null\hphantom{\bslash @startsection}^^A
1999 % |[|\meta{altheading}|]|\meta{heading}
2001 % It is a generic command to start a section, the arguments have
2002 % the following meaning:
2004 % \begin{description}
2005 % \item[\meta{name}] The name of the user level command, e.g.,
2007 % \item[\meta{level}] A number, denoting the depth of the section
2008 % -- e.g., chapter=1, section = 2, etc. A section number
2009 % will be printed if and only if \meta{level} $<=$ the value
2010 % of the \Lcount{secnumdepth} counter.
2011 % \item[\meta{indent}] The indentation of the heading from the left
2013 % \item[\meta{beforeskip}] The absolute value of this argument
2014 % gives the skip to leave above the heading. If it is
2015 % negative, then the paragraph indent of the text following
2016 % the heading is suppressed.
2017 % \item[\meta{afterskip}] If positive, this gives the skip to leave
2018 % below the heading, else it gives the skip to leave to the
2019 % right of a run-in heading.
2020 % \item[\meta{style}] Commands to set the style of the heading.
2021 % \item[$*$] When this is missing the heading is numbered and the
2022 % corresponding counter is incremented.
2023 % \item[\meta{altheading}] Gives an alternative heading to use in
2024 % the table of contents and in the running heads. This should
2025 % not be present when the $*$ form is used.
2026 % \item[\meta{heading}] The heading of the new section.
2028 % A sectioning command is normally defined to |\@startsection| and
2029 % its first six arguments.
2031 % The macro |\secdef| can be used when a sectioning command is
2032 % defined without using |\@startsection|. It has two arguments:
2034 % |\secdef|\meta{unstarcmds}\meta{starcmds}
2036 % \begin{description}
2037 % \item[\meta{unstarcmds}] Used for the normal form of the
2038 % sectioning command.
2039 % \item[\meta{starcmds}] Used for the $*$-form of the
2040 % sectioning command.
2043 % You can use |\secdef| as follows:
2045 % \def\chapter { ... \secdef \CMDA \CMDB }
2046 % \def\CMDA [#1]#2{ ... } % Command to define
2047 % % \chapter[...]{...}
2048 % \def\CMDB #1{ ... } % Command to define
2052 % \subsubsection{Mark commands}
2054 % \begin{macro}{\chaptermark}
2055 % \begin{macro}{\sectionmark}
2056 % \begin{macro}{\subsectionmark}
2057 % \begin{macro}{\subsubsectionmark}
2058 % \begin{macro}{\paragraphmark}
2059 % \begin{macro}{\subparagraphmark}
2060 % Default initializations of |\...mark| commands. These commands
2061 % are used in the definition of the page styles (see
2062 % section~\ref{sec:classes:pagestyle}) Most of them are already defined by
2063 % \file{latex.dtx}, so they are only shown here.
2066 %<!article>\newcommand*\chaptermark[1]{}
2067 % \newcommand*\sectionmark[1]{}
2068 % \newcommand*\subsectionmark[1]{}
2069 % \newcommand*\subsubsectionmark[1]{}
2070 % \newcommand*\paragraphmark[1]{}
2071 % \newcommand*\subparagraphmark[1]{}
2080 % \subsubsection{Define Counters}
2082 % \begin{macro}{\c@secnumdepth}
2083 % The value of the counter \Lcount{secnumdepth} gives the depth of
2084 % the highest-level sectioning command that is to produce section
2087 %<article>\setcounter{secnumdepth}{3}
2088 %<!article>\setcounter{secnumdepth}{2}
2092 % \begin{macro}{\c@part}
2093 % \begin{macro}{\c@chapter}
2094 % \begin{macro}{\c@section}
2095 % \begin{macro}{\c@subsection}
2096 % \begin{macro}{\c@subsubsection}
2097 % \begin{macro}{\c@paragraph}
2098 % \begin{macro}{\c@subparagraph}
2099 % These counters are used for the section numbers. The macro\\
2100 % |\newcounter{|\meta{newctr}|}[|\meta{oldctr}|]|\\
2101 % defines\meta{newctr} to be a counter, which is reset to zero when
2102 % counter \meta{oldctr} is stepped. Counter \meta{oldctr} must
2103 % already be defined.
2107 %<article>\newcounter {section}
2109 \newcounter {chapter}
2110 \newcounter {section}[chapter]
2112 \newcounter {subsection}[section]
2113 \newcounter {subsubsection}[subsection]
2114 \newcounter {paragraph}[subsubsection]
2115 \newcounter {subparagraph}[paragraph]
2125 % \begin{macro}{\thepart}
2126 % \begin{macro}{\thechapter}
2127 % \begin{macro}{\thesection}
2128 % \begin{macro}{\thesubsection}
2129 % \begin{macro}{\thesubsubsection}
2130 % \begin{macro}{\theparagraph}
2131 % \begin{macro}{\thesubparagraph}
2132 % For any counter \Lcount{CTR}, |\theCTR| is a macro that defines
2133 % the printed version of counter \Lcount{CTR}. It is defined in
2134 % terms of the following macros:
2136 % |\arabic{|\Lcount{COUNTER}|}| prints the value of
2137 % \Lcount{COUNTER} as an arabic numeral.
2139 % |\roman{|\Lcount{COUNTER}|}| prints the value of
2140 % \Lcount{COUNTER} as a lowercase roman numberal.
2142 % |\Roman{|\Lcount{COUNTER}|}| prints the value of
2143 % \Lcount{COUNTER} as an uppercase roman numberal.
2145 % |\alph{|\Lcount{COUNTER}|}| prints the value of \Lcount{COUNTER}
2146 % as a lowercase letter: $1 =$~a, $2 =$~ b, etc.
2148 % |\Alph{|\Lcount{COUNTER}|}| prints the value of \Lcount{COUNTER}
2149 % as an uppercase letter: $1 =$~A, $2 =$~B, etc.
2151 % Actually to save space the internal counter repesentations
2152 % and the commands operating on those are used.
2154 \renewcommand \thepart {\@Roman\c@part}
2155 %<article>\renewcommand \thesection {\@arabic\c@section}
2157 \renewcommand \thechapter {\@arabic\c@chapter}
2158 \renewcommand \thesection {\thechapter.\@arabic\c@section}
2160 \renewcommand\thesubsection {\thesection.\@arabic\c@subsection}
2161 \renewcommand\thesubsubsection{\thesubsection.\@arabic\c@subsubsection}
2162 \renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph}
2163 \renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
2173 % \begin{macro}{\@chapapp}
2174 % |\@chapapp| is initially defined to be `|\chaptername|'. The
2175 % |\appendix| command redefines it to be `|\appendixname|'.
2178 %<report|book>\newcommand\@chapapp{\chaptername}
2182 % \subsubsection{Front Matter, Main Matter, and Back Matter}
2184 % A book contains these three (logical) sections. The switch
2185 % |\@mainmatter| is true iff we are processing Main Matter. When
2186 % this switch is false, the |\chapter| command does not print
2189 % Here we define the commands that start these sections.
2190 % \begin{macro}{\frontmatter}
2191 % This command starts Roman page numbering and turns off chapter
2192 % numbering. Since this restarts the page numbering from 1, it
2193 % should also ensure that a recto page is used.
2194 % \changes{v1.3r}{1996/05/26}{Make this command react to the option
2196 % \changes{v1.3y}{1998/05/05}{Two years on: Make this command not
2197 % react to the option \texttt{openany} as this makes the
2198 % verso/recto numbering wrong: see pr/2754 for discussion}
2201 \newcommand\frontmatter{%
2208 \pagenumbering{roman}}
2212 % \begin{macro}{\mainmatter}
2213 % This command clears the page, starts arabic page numbering and
2214 % turns on chapter numbering. Since this restarts the page numbering
2215 % from 1, it should also ensure that a recto page is used.
2216 % \changes{v1.3r}{1996/05/26}{Make this command react to the option
2218 % \changes{v1.3y}{1998/05/05}{Two years on: Make this command not
2219 % react to the option \texttt{openany} as this makes the
2220 % verso/recto numbering wrong: see pr/2754 for discussion}
2222 \newcommand\mainmatter{%
2229 \pagenumbering{arabic}}
2233 % \begin{macro}{\backmatter}
2234 % This clears the page, turns off chapter numbering and leaves page
2235 % numbering unchanged.
2237 \newcommand\backmatter{%
2248 % \subsubsection{Parts}
2250 % \begin{macro}{\part}
2251 % The command to start a new part of our document.
2253 % In the article class the definition of |\part| is rather simple;
2254 % we start a new paragraph, add a little white space, suppress the
2255 % indentation of the first paragraph and make use of |\secdef|.
2256 % As in other sectioning commands (cf.\ |\@startsection| in the
2257 % {\LaTeXe} kernel), we need to check the |@noskipsec| switch and
2258 % force horizontal mode if it is set.
2259 % \changes{v1.4a}{1999/01/07}{Check \texttt{@noskipsec} switch and
2260 % possibly force horizontal mode; see PR/2889.}
2264 \if@noskipsec \leavevmode \fi
2268 \secdef\@part\@spart}
2272 % For the report and book classes we things a bit different.
2274 % We start a new (righthand) page and use the \pstyle{plain}
2276 % \changes{v1.3r}{1996/05/26}{Make this command react to the option
2286 \thispagestyle{plain}%
2288 % When we are making a two column document, this will be a one
2289 % column page. We use |@tempswa| to remember to switch back to two
2299 % We need an empty box to prevent the fil glue from disappearing.
2300 % \changes{v1.3j}{1995/08/16}{Replace \cs{hbox} by \cs{null}}
2304 % Here we use |\secdef| to indicate which commands to use to make
2305 % the actual heading.
2307 \secdef\@part\@spart}
2311 % \begin{macro}{\@part}
2312 % This macro does the actual formatting of the title of the part.
2313 % Again the macro is differently defined for the article document
2314 % class than for the document classes report and book.
2316 % When \Lcount{secnumdepth} is larger than $-1$ for the
2317 % document class article, we have a numbered
2318 % part, otherwise it is unnumbered.
2322 \ifnum \c@secnumdepth >\m@ne
2323 \refstepcounter{part}%
2324 \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
2326 \addcontentsline{toc}{part}{#1}%
2329 % We print the title flush left in the article class.
2330 % Also we prevent breaking between lines and reset the font.
2331 % \changes{v1.3c}{1995/05/25}{replace \cs{reset@font} with
2334 {\parindent \z@ \raggedright
2335 \interlinepenalty \@M
2338 % When this is a numbered part we have to print the number and the
2339 % title. The |\nobreak| should prevent a page break here.
2340 % \changes{v1.4e}{2001/05/24}{Replaced tilde with \cs{nobreakspace}
2343 \ifnum \c@secnumdepth >\m@ne
2344 \Large\bfseries \partname\nobreakspace\thepart
2349 % Now we empty the mark registers, leave some white space and let
2350 % |\@afterheading| take care of suppressing the indentation.
2359 % When \Lcount{secnumdepth} is larger than $-2$ for the
2360 % document class report and book, we have a numbered
2361 % part, otherwise it is unnumbered.
2365 \ifnum \c@secnumdepth >-2\relax
2366 \refstepcounter{part}%
2367 \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
2369 \addcontentsline{toc}{part}{#1}%
2372 % We empty the mark registers and center the title on the page in the
2373 % report and book document classes.
2374 % Also we prevent breaking between lines and reset the font.
2375 % \changes{v1.3c}{1995/05/25}{replace \cs{reset@font} with
2377 % \changes{v1.3j}{1995/08/16}{add missing percent}
2381 \interlinepenalty \@M
2384 % When this is a numbered part we have to print the number.
2385 % \changes{v1.4e}{2001/05/24}{Replaced tilde with \cs{nobreakspace}
2388 \ifnum \c@secnumdepth >-2\relax
2389 \huge\bfseries \partname\nobreakspace\thepart
2392 % We leave some space before we print the title and leave the
2393 % finishing up to |\@endpart|.
2397 \Huge \bfseries #2\par}%
2403 % \begin{macro}{\@spart}
2404 % This macro does the actual formatting of the title of the part
2405 % when the star form of the user command was used. In this case we
2406 % \emph{never} print a number. Otherwise the formatting is the
2409 % The differences between the definition of this macro in the
2410 % article document class and in the report and book document
2411 % classes are similar as they were for |\@part|.
2412 % \changes{v1.3c}{1995/05/25}{replace \cs{reset@font} with
2417 {\parindent \z@ \raggedright
2418 \interlinepenalty \@M
2420 \huge \bfseries #1\par}%
2428 \interlinepenalty \@M
2430 \Huge \bfseries #1\par}%
2436 % \begin{macro}{\@endpart}
2437 % \changes{v1.3j}{1995/08/16}{move docstrip guard to avoid defining
2438 % \cs{@endpart} in article}
2439 % This macro finishes the part page, for both |\@part| and
2442 % First we fill the current page.
2445 \def\@endpart{\vfil\newpage
2447 % Then, when we are in twosided mode and chapters are supposed to
2448 % be on right hand sides, we produce a completely blank page.
2449 % \changes{v1.4b}{2000/05/19}{Only add empty page after part if
2450 % twoside and openright (pr/3155)}
2455 \thispagestyle{empty}%
2460 % When this was a two column document we have to switch back to two
2471 % \subsubsection{Chapters}
2473 % \begin{macro}{\chapter}
2474 % A chapter should always start on a new page therefore we start by
2475 % calling |\clearpage| and setting the pagestyle for this page to
2479 \newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
2480 \thispagestyle{plain}%
2482 % Then we prevent floats from appearing at the top of this page
2483 % because it looks weird to see a floating object above a chapter
2488 % Then we suppress the indentation of the first paragraph by
2489 % setting the switch |\@afterindent| to |false|. We use |\secdef|
2490 % to specify the macros to use for actually setting the chapter
2494 \secdef\@chapter\@schapter}
2497 % \begin{macro}{\@chapter}
2498 % This macro is called when we have a numbered chapter. When
2499 % \Lcount{secnumdepth} is larger than $-1$ and, in the book
2500 % class, |\@mainmatter| is true, we display the chapter
2501 % number. We also inform the user that a new chapter is about to be
2502 % typeset by writing a message to the terminal.
2504 \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
2505 %<book> \if@mainmatter
2506 \refstepcounter{chapter}%
2507 \typeout{\@chapapp\space\thechapter.}%
2508 \addcontentsline{toc}{chapter}%
2509 {\protect\numberline{\thechapter}#1}%
2512 \addcontentsline{toc}{chapter}{#1}%
2516 \addcontentsline{toc}{chapter}{#1}%
2519 % After having written an entry to the table of contents we store
2520 % the (alternative) title of this chapter with |\chaptermark| and
2521 % add some white space to the lists of figures and tables.
2524 \addtocontents{lof}{\protect\addvspace{10\p@}}%
2525 \addtocontents{lot}{\protect\addvspace{10\p@}}%
2527 % Then we call upon |\@makechapterhead| to format the actual
2528 % chapter title. We have to do this in a special way when we are in
2529 % twocolumn mode in order to have the chapter title use the entire
2530 % |\textwidth|. In one column mode we call |\@afterheading| which
2531 % takes care of suppressing the indentation.
2534 \@topnewpage[\@makechapterhead{#2}]%
2536 \@makechapterhead{#2}%
2541 % \begin{macro}{\@makechapterhead}
2542 % The macro above uses |\@makechapterhead|\meta{text} to format the
2543 % heading of the chapter.
2545 % We begin by leaving some white space. The we open a group in
2546 % which we have a paragraph indent of 0pt, and in which we have the
2547 % text set ragged right. We also reset the font.
2548 % \changes{v1.3c}{1995/05/25}{replace \cs{reset@font} with
2551 \def\@makechapterhead#1{%
2553 {\parindent \z@ \raggedright \normalfont
2555 % Then we check whether the number of the chapter has to be printed.
2556 % If so we leave some whitespace between the chapternumber and its
2558 % \changes{v1.2v}{1994/11/30}{Added a \cs{nobreak} to prevent a
2559 % pagebreak between the chapternumber and the chaptertitle}
2560 % \changes{v1.3j}{1995/08/16}{replace braces by \cs{space}}
2562 \ifnum \c@secnumdepth >\m@ne
2563 %<book> \if@mainmatter
2564 \huge\bfseries \@chapapp\space \thechapter
2570 % Now we set the title in a large bold font. We prevent a pagebreak
2571 % from occurring in the middle of or after the title. Finally we
2572 % leave some whitespace before the text begins.
2573 % \changes{v1.2v}{1994/11/30}{Added \cs{interlinepenalty}\cs{@M} to
2574 % prevent a pagebreak in the middle of a title}
2576 \interlinepenalty\@M
2577 \Huge \bfseries #1\par\nobreak
2584 % \begin{macro}{\@schapter}
2585 % This macro is called when we have an unnumbered chapter. It is
2586 % much simpler than |\@chapter| because it only needs to typeset
2587 % the chapter title.
2589 \def\@schapter#1{\if@twocolumn
2590 \@topnewpage[\@makeschapterhead{#1}]%
2592 \@makeschapterhead{#1}%
2597 % \begin{macro}{\@makeschapterhead}
2598 % The macro above uses |\@makeschapterhead|\meta{text}to format
2599 % the heading of the chapter. It is similar to |\@makechapterhead|
2600 % except that it never has to print a chapter number.
2602 % \changes{v1.2v}{1994/11/30}{Added \cs{interlinepenalty}\cs{@M} to
2603 % prevent a pagebreak in the middle of a title}
2604 % \changes{v1.3c}{1995/05/25}{replace \cs{reset@font} with
2607 \def\@makeschapterhead#1{%
2609 {\parindent \z@ \raggedright
2611 \interlinepenalty\@M
2612 \Huge \bfseries #1\par\nobreak
2622 % \subsubsection{Lower level headings}
2624 % These commands all make use of |\@startsection|.
2625 % \begin{macro}{\section}
2626 % This gives a normal heading with white space above and below the
2627 % heading, the title set in |\Large\bfseries|, and no indentation
2628 % on the first paragraph.
2629 % \changes{v1.3c}{1995/05/25}{replace \cs{reset@font} with
2632 \newcommand\section{\@startsection {section}{1}{\z@}%
2633 {-3.5ex \@plus -1ex \@minus -.2ex}%
2635 {\normalfont\Large\bfseries}}
2639 % \begin{macro}{\subsection}
2640 % This gives a normal heading with white space above and below the
2641 % heading, the title set in |\large\bfseries|, and no indentation
2642 % on the first paragraph.
2644 \newcommand\subsection{\@startsection{subsection}{2}{\z@}%
2645 {-3.25ex\@plus -1ex \@minus -.2ex}%
2646 {1.5ex \@plus .2ex}%
2647 {\normalfont\large\bfseries}}
2651 % \begin{macro}{\subsubsection}
2652 % This gives a normal heading with white space above and below the
2653 % heading, the title set in |\normalsize\bfseries|, and no
2654 % indentation on the first paragraph.
2656 \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
2657 {-3.25ex\@plus -1ex \@minus -.2ex}%
2658 {1.5ex \@plus .2ex}%
2659 {\normalfont\normalsize\bfseries}}
2663 % \begin{macro}{\paragraph}
2664 % This gives a run-in heading with white space above and to the
2665 % right of the heading, the title set in |\normalsize\bfseries|.
2667 \newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
2668 {3.25ex \@plus1ex \@minus.2ex}%
2670 {\normalfont\normalsize\bfseries}}
2674 % \begin{macro}{\subparagraph}
2675 % This gives an indented run-in heading with white space above and
2676 % to the right of the heading, the title set in
2677 % |\normalsize\bfseries|.
2679 \newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
2680 {3.25ex \@plus1ex \@minus .2ex}%
2682 {\normalfont\normalsize\bfseries}}
2686 % \subsection{Lists}
2688 % \subsubsection{General List Parameters}
2690 % The following commands are used to set the default values for the list
2691 % environment's parameters. See the \LaTeX{} manual for an explanation
2692 % of the meanings of the parameters. Defaults for the list
2693 % environment are set as follows. First, |\rightmargin|,
2694 % |\listparindent| and |\itemindent| are set to 0pt. Then, for a Kth
2695 % level list, the command |\@listK| is called, where `K' denotes `i',
2696 % '`i', ... , `vi'. (I.e., |\@listiii| is called for a third-level
2697 % list.) By convention, |\@listK| should set |\leftmargin| to
2700 % \begin{macro}{\leftmargin}
2701 % \begin{macro}{\leftmargini}
2702 % \begin{macro}{\leftmarginii}
2703 % \begin{macro}{\leftmarginiii}
2704 % \begin{macro}{\leftmarginiv}
2705 % \begin{macro}{\leftmarginv}
2706 % \begin{macro}{\leftmarginvi}
2707 % \changes{v1.0m}{1994/01/12}{Use em instead of pt to remain
2708 % compatible with old styles}
2709 % \changes{v1.3q}{1995/12/20}{Temporary(?) fix: revert to setting
2710 % \cs{leftmargin} at outer level}
2712 % When we are in two column mode some of the margins are set somewhat
2716 \setlength\leftmargini {2em}
2718 \setlength\leftmargini {2.5em}
2721 % Until the whole of the parameter setting in these files is
2722 % rationalised, we need to set the value of |\leftmargin| at this
2725 \leftmargin \leftmargini
2727 % The following three are calculated so that they are larger than
2728 % the sum of |\labelsep| and the width of the default labels (which
2729 % are `(m)', `vii.' and `M.').
2731 \setlength\leftmarginii {2.2em}
2732 \setlength\leftmarginiii {1.87em}
2733 \setlength\leftmarginiv {1.7em}
2735 \setlength\leftmarginv {.5em}
2736 \setlength\leftmarginvi {.5em}
2738 \setlength\leftmarginv {1em}
2739 \setlength\leftmarginvi {1em}
2750 % \begin{macro}{\labelsep}
2751 % \begin{macro}{\labelwidth}
2752 % \changes{v1.0m}{1994/01/12}{Use em instead of pt to remain
2753 % compatible with old styles}
2754 % |\labelsep| is the distance between the label and the text of an
2755 % item; |\labelwidth| is the width of the label.
2757 \setlength \labelsep {.5em}
2758 \setlength \labelwidth{\leftmargini}
2759 \addtolength\labelwidth{-\labelsep}
2764 % \begin{macro}{\partopsep}
2765 % When the user leaves a blank line before the environment an extra
2766 % vertical space of |\partopsep| is inserted, in addition to
2767 % |\parskip| and |\topsep|.
2768 % \changes{v1.0m}{1994/01/12}{\cs{partopsep} should be different,
2769 % depending on the pointsize}
2771 %</article|report|book>
2772 %<10pt>\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@}
2773 %<11pt>\setlength\partopsep{3\p@ \@plus 1\p@ \@minus 1\p@}
2774 %<12pt>\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@}
2778 % \begin{macro}{\@beginparpenalty}
2779 % \begin{macro}{\@endparpenalty}
2780 % These penalties are inserted before and after a list or paragraph
2781 % environment. They are set to a bonus value to encourage page
2782 % breaking at these points.
2783 % \begin{macro}{\@itempenalty}
2784 % This penalty is inserted between list items.
2786 %<*article|report|book>
2787 \@beginparpenalty -\@lowpenalty
2788 \@endparpenalty -\@lowpenalty
2789 \@itempenalty -\@lowpenalty
2790 %</article|report|book>
2796 % \begin{macro}{\@listi}
2797 % \begin{macro}{\@listI}
2798 % |\@listi| defines the values of
2799 % |\leftmargin|, |\parsep|, |\topsep|, |\itemsep|, etc.\ for the
2800 % lists that appear on top-level. Its definition is modified by the
2801 % font-size commands (eg within |\small| the list parameters get
2802 % ``smaller'' values).
2804 % For this reason \@listI is defined to hold a saved copy of \@listi
2805 % so that |\normalsize| can switch all parameters back.
2809 \def\@listi{\leftmargin\leftmargini
2811 \parsep 4\p@ \@plus2\p@ \@minus\p@
2812 \topsep 8\p@ \@plus2\p@ \@minus4\p@
2813 \itemsep4\p@ \@plus2\p@ \@minus\p@}
2816 \parsep 4.5\p@ \@plus2\p@ \@minus\p@
2817 \topsep 9\p@ \@plus3\p@ \@minus5\p@
2818 \itemsep4.5\p@ \@plus2\p@ \@minus\p@}
2821 \parsep 5\p@ \@plus2.5\p@ \@minus\p@
2822 \topsep 10\p@ \@plus4\p@ \@minus6\p@
2823 \itemsep5\p@ \@plus2.5\p@ \@minus\p@}
2827 % We initialise the parameters although strictly speaking that
2835 % \begin{macro}{\@listii}
2836 % \begin{macro}{\@listiii}
2837 % \begin{macro}{\@listiv}
2838 % \begin{macro}{\@listv}
2839 % \begin{macro}{\@listvi}
2840 % Here are the same macros for the higher level lists. Note that
2841 % they don't have saved versions and are not modified by the font
2842 % size commands. In other words this class assumes that nested
2843 % lists only appear in |\normalsize|, i.e.\ the main document size.
2845 \def\@listii {\leftmargin\leftmarginii
2846 \labelwidth\leftmarginii
2847 \advance\labelwidth-\labelsep
2849 \topsep 4\p@ \@plus2\p@ \@minus\p@
2850 \parsep 2\p@ \@plus\p@ \@minus\p@
2853 \topsep 4.5\p@ \@plus2\p@ \@minus\p@
2854 \parsep 2\p@ \@plus\p@ \@minus\p@
2857 \topsep 5\p@ \@plus2.5\p@ \@minus\p@
2858 \parsep 2.5\p@ \@plus\p@ \@minus\p@
2861 \def\@listiii{\leftmargin\leftmarginiii
2862 \labelwidth\leftmarginiii
2863 \advance\labelwidth-\labelsep
2864 %<10pt> \topsep 2\p@ \@plus\p@\@minus\p@
2865 %<11pt> \topsep 2\p@ \@plus\p@\@minus\p@
2866 %<12pt> \topsep 2.5\p@\@plus\p@\@minus\p@
2868 \partopsep \p@ \@plus\z@ \@minus\p@
2870 \def\@listiv {\leftmargin\leftmarginiv
2871 \labelwidth\leftmarginiv
2872 \advance\labelwidth-\labelsep}
2873 \def\@listv {\leftmargin\leftmarginv
2874 \labelwidth\leftmarginv
2875 \advance\labelwidth-\labelsep}
2876 \def\@listvi {\leftmargin\leftmarginvi
2877 \labelwidth\leftmarginvi
2878 \advance\labelwidth-\labelsep}
2887 % \subsubsection{Enumerate}
2889 % The enumerate environment uses four counters: \Lcount{enumi},
2890 % \Lcount{enumii}, \Lcount{enumiii} and \Lcount{enumiv}, where
2891 % \Lcount{enumN} controls the numbering of the Nth level
2894 % \begin{macro}{\theenumi}
2895 % \begin{macro}{\theenumii}
2896 % \begin{macro}{\theenumiii}
2897 % \begin{macro}{\theenumiv}
2898 % The counters are already defined in \file{latex.dtx}, but their
2899 % representation is changed here.
2902 %<*article|report|book>
2903 \renewcommand\theenumi{\@arabic\c@enumi}
2904 \renewcommand\theenumii{\@alph\c@enumii}
2905 \renewcommand\theenumiii{\@roman\c@enumiii}
2906 \renewcommand\theenumiv{\@Alph\c@enumiv}
2913 % \begin{macro}{\labelenumi}
2914 % \begin{macro}{\labelenumii}
2915 % \begin{macro}{\labelenumiii}
2916 % \begin{macro}{\labelenumiv}
2917 % The label for each item is generated by the commands\\
2918 % |\labelenumi| \ldots\ |\labelenumiv|.
2920 \newcommand\labelenumi{\theenumi.}
2921 \newcommand\labelenumii{(\theenumii)}
2922 \newcommand\labelenumiii{\theenumiii.}
2923 \newcommand\labelenumiv{\theenumiv.}
2930 % \begin{macro}{\p@enumii}
2931 % \begin{macro}{\p@enumiii}
2932 % \begin{macro}{\p@enumiv}
2933 % The expansion of |\p@enumN||\theenumN| defines the output of a
2934 % |\ref| command when referencing an item of the Nth level of an
2937 \renewcommand\p@enumii{\theenumi}
2938 \renewcommand\p@enumiii{\theenumi(\theenumii)}
2939 \renewcommand\p@enumiv{\p@enumiii\theenumiii}
2945 % \subsubsection{Itemize}
2947 % \begin{macro}{\labelitemi}
2948 % \begin{macro}{\labelitemii}
2949 % \changes{v1.2k}{1994/05/06}{Inserted \cs{normalfont}}
2950 % \changes{v1.3s}{1996/08/24}{Replaced -{}- with \cs{textendash}}
2951 % \changes{v1.3u}{1996/10/31}{Changed to \cs{textbullet},
2952 % \cs{textasteriskcentered} and \cs{textperiodcentered}}
2953 % \begin{macro}{\labelitemiii}
2954 % \begin{macro}{\labelitemiv}
2955 % Itemization is controlled by four commands: |\labelitemi|,
2956 % |\labelitemii|, |\labelitemiii|, and |\labelitemiv|, which define
2957 % the labels of thevarious itemization levels: the symbols used are
2958 % bullet, bold en-dash, centered asterisk and centred dot.
2961 \newcommand\labelitemi{\textbullet}
2962 \newcommand\labelitemii{\normalfont\bfseries \textendash}
2963 \newcommand\labelitemiii{\textasteriskcentered}
2964 \newcommand\labelitemiv{\textperiodcentered}
2971 % \subsubsection{Description}
2973 % \begin{environment}{description}
2974 % The description environment is defined here -- while the itemize
2975 % and enumerate environments are defined in \file{latex.dtx}.
2978 \newenvironment{description}
2979 {\list{}{\labelwidth\z@ \itemindent-\leftmargin
2980 \let\makelabel\descriptionlabel}}
2985 % \begin{macro}{\descriptionlabel}
2986 % To change the formatting of the label, you must redefine
2987 % |\descriptionlabel|.
2989 % \changes{v1.2k}{1994/05/06}{Inserted \cs{normalfont}}
2990 % \changes{v1.2y}{1995/01/31}{made command short}
2992 \newcommand*\descriptionlabel[1]{\hspace\labelsep
2993 \normalfont\bfseries #1}
2997 % \subsection{Defining new environments}
2999 % \subsubsection{Abstract}
3001 % \begin{environment}{abstract}
3002 % When we are producing a separate titlepage we also put the
3003 % abstract on a page of its own. It will be centred vertically on
3006 % Note that this environment is not defined for books.
3007 % \changes{v1.3e}{1995/06/19}{Added setting of \cs{@endparpenalty}
3008 % to avoid page break after abstract heading.}
3010 % \changes{v1.3m}{1995/10/23}{Added setting of \cs{beginparpenalty} to
3011 % discourage page break before abstract heading.}
3014 \newenvironment{abstract}{%
3017 \@beginparpenalty\@lowpenalty
3019 \bfseries \abstractname
3022 {\par\vfil\null\endtitlepage}
3024 % When we are not making a separate titlepage --the default for the
3025 % article document class-- we have to check if we are in twocolumn
3026 % mode. In that case the abstract is as a |\section*|, otherwise
3027 % the quotation environment is used to typeset the abstract.
3030 \newenvironment{abstract}{%
3032 \section*{\abstractname}%
3036 {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
3040 {\if@twocolumn\else\endquotation\fi}
3046 % \subsubsection{Verse}
3048 % \begin{environment}{verse}
3049 % The verse environment is defined by making clever use of the
3050 % list environment's parameters. The user types |\\| to end a line.
3051 % This is implemented by |\let|'ing |\\| equal |\@centercr|.
3053 % \changes{v1.3j}{1995/08/16}{stop \cs{item} scanning for [ with
3056 \newenvironment{verse}
3058 \list{}{\itemsep \z@
3060 \listparindent\itemindent
3061 \rightmargin \leftmargin
3062 \advance\leftmargin 1.5em}%
3068 % \subsubsection{Quotation}
3070 % \begin{environment}{quotation}
3071 % The quotation environment is also defined by making clever use of
3072 % the list environment's parameters. The lines in the environment
3073 % are set smaller than |\textwidth|. The first line of a paragraph
3074 % inside this environment is indented.
3076 % \changes{v1.3j}{1995/08/16}{stop \cs{item} scanning for [ with
3079 \newenvironment{quotation}
3080 {\list{}{\listparindent 1.5em%
3081 \itemindent \listparindent
3082 \rightmargin \leftmargin
3083 \parsep \z@ \@plus\p@}%
3089 % \subsubsection{Quote}
3091 % \begin{environment}{quote}
3092 % The quote environment is like the quotation environment except
3093 % that paragraphs are not indented.
3095 % \changes{v1.3j}{1995/08/16}{stop \cs{item} scanning for [ with
3098 \newenvironment{quote}
3099 {\list{}{\rightmargin\leftmargin}%
3105 % \subsubsection{Theorem}
3107 % This document class does not define it's own theorem environments,
3108 % the defaults, supplied by \file{latex.dtx} are available.
3110 % \subsubsection{Titlepage}
3112 % \begin{environment}{titlepage}
3113 % In the normal environments, the titlepage environment does nothing
3114 % but start and end a page, and inhibit page numbers. In the report
3115 % style, it also resets the page number to one, and then sets it
3116 % back to one at the end. In compatibility mode, it sets the
3117 % page number to zero. This is incorrect since it results in using
3118 % the page parameters for a right-hand page but it is the way it was.
3119 % In two-column style, it still makes a
3122 % \changes{v1.0g}{1993/12/09}{Moved the setting of
3123 % \cs{@restonecolfalse}}
3124 % \changes{v1.2c}{1994/03/17}{page :!= 0 only in compatibility mode
3126 % \changes{v1.2d}{1994/04/11}{Moved \cs{cleardoublepage} inside
3127 % definition of titlepage environment}
3128 % \changes{v1.3i}{1995/08/08}{New implementation with support for
3129 % twoside and openright option}
3131 % First we do give the definition for compatibility mode.
3134 \newenvironment{titlepage}
3136 %<book> \cleardoublepage
3138 \@restonecoltrue\onecolumn
3140 \@restonecolfalse\newpage
3142 \thispagestyle{empty}%
3143 \setcounter{page}\z@
3145 {\if@restonecol\twocolumn \else \newpage \fi
3149 % And here is the one for native \LaTeXe{}.
3152 \newenvironment{titlepage}
3154 %<book> \cleardoublepage
3156 \@restonecoltrue\onecolumn
3158 \@restonecolfalse\newpage
3160 \thispagestyle{empty}%
3161 \setcounter{page}\@ne
3163 {\if@restonecol\twocolumn \else \newpage \fi
3165 % If we are not in two-side mode the first page after the title page
3166 % should also get page number 1.
3169 \setcounter{page}\@ne
3176 % \subsubsection{Appendix}
3178 % \begin{macro}{\appendix}
3180 % The |\appendix| command is not really an environment, it is a
3181 % macro that makes some changes in the way things are done.
3183 % In the article document class the |\appendix| command must do the
3186 % \item reset the section and subsection counters to zero,
3187 % \item redefine |\thesection| to produce alphabetic appendix
3188 % numbers. This redefinition is done globally to ensure that it
3189 % survives even if |\appendix| is issued within an environment such
3190 % as \texttt{multicols}.
3193 % \changes{1.3z}{1998/09/19}{Redefine \cs{thesection} globally (pr/2862)}
3196 \newcommand\appendix{\par
3197 \setcounter{section}{0}%
3198 \setcounter{subsection}{0}%
3199 \gdef\thesection{\@Alph\c@section}}
3203 % In the report and book document classes the |\appendix| command
3204 % must do the following:
3206 % \item reset the chapter and section counters to zero,
3207 % \item set |\@chapapp| to |\appendixname| (for messages),
3208 % \item redefine the chapter counter to produce appendix numbers,
3209 % \item possibly redefine the |\chapter| command if appendix titles
3210 % and headings are to look different from chapter titles and
3211 % headings. This redefinition is done globally to ensure that it
3212 % survives even if |\appendix| is issued within an environment such
3213 % as \texttt{multicols}.
3216 % \changes{1.3z}{1998/09/19}{Redefine \cs{thechapter} and
3217 % \cs{@chapapp} globally (pr/2862)}
3220 \newcommand\appendix{\par
3221 \setcounter{chapter}{0}%
3222 \setcounter{section}{0}%
3223 \gdef\@chapapp{\appendixname}%
3224 \gdef\thechapter{\@Alph\c@chapter}}
3229 % \subsection{Setting parameters for existing environments}
3231 % \subsubsection{Array and tabular}
3233 % \begin{macro}{\arraycolsep}
3234 % The columns in an array environment are separated by
3237 \setlength\arraycolsep{5\p@}
3241 % \begin{macro}{\tabcolsep}
3242 % The columns in an tabular environment are separated by
3245 \setlength\tabcolsep{6\p@}
3249 % \begin{macro}{\arrayrulewidth}
3250 % The width of rules in the array and tabular environments is given
3251 % by\\ |\arrayrulewidth|.
3253 \setlength\arrayrulewidth{.4\p@}
3257 % \begin{macro}{\doublerulesep}
3258 % The space between adjacent rules in the array and tabular
3259 % environments is given by |\doublerulesep|.
3261 \setlength\doublerulesep{2\p@}
3265 % \subsubsection{Tabbing}
3267 % \begin{macro}{\tabbingsep}
3268 % This controls the space that the |\'| command puts in. (See
3269 % \LaTeX{} manual for an explanation.)
3271 \setlength\tabbingsep{\labelsep}
3275 % \subsubsection{Minipage}
3277 % \begin{macro}{\@minipagerestore}
3278 % The macro |\@minipagerestore| is called upon entry to a minipage
3279 % environment to set up things that are to be handled differently
3280 % inside a minipage environment. In the current styles, it does
3284 % \begin{macro}{\@mpfootins}
3285 % Minipages have their own footnotes; |\skip||\@mpfootins| plays
3286 % same r\^ole for footnotes in a minipage as |\skip||\footins| does
3287 % for ordinary footnotes.
3290 \skip\@mpfootins = \skip\footins
3294 % \subsubsection{Framed boxes}
3296 % \begin{macro}{\fboxsep}
3297 % The space left by |\fbox| and |\framebox| between the box and the
3299 % \begin{macro}{\fboxrule}
3300 % The width of the rules in the box made by |\fbox| and |\framebox|.
3302 \setlength\fboxsep{3\p@}
3303 \setlength\fboxrule{.4\p@}
3308 % \subsubsection{Equation and eqnarray}
3310 % \begin{macro}{\theequation}
3311 % When within chapters, the equation counter will be reset at
3312 % the beginning of a new chapter and the equation number will
3313 % be prefixed by the chapter number.
3314 % \changes{v1.3u}{1996/10/31}{Added test for non-zero chapter number}
3316 % This code must follow the |\chapter| definition or, more exactly,
3317 % the definition of the chapter counter.
3319 %<article>\renewcommand \theequation {\@arabic\c@equation}
3321 \@addtoreset {equation}{chapter}
3322 \renewcommand\theequation
3323 {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
3328 % \begin{macro}{\jot}
3329 % |\jot| is the extra space added between lines of an eqnarray
3330 % environment. The default value is used.
3332 % \setlength\jot{3pt}
3336 % \begin{macro}{\@eqnnum}
3337 % The macro |\@eqnnum| defines how equation numbers are to appear in
3338 % equations. Again the default is used.
3341 % \def\@eqnnum{(\theequation)}
3345 % \subsection{Floating objects}
3347 % The file \file{latex.dtx} only defines a number of tools with
3348 % which floating objects can be defined. This is done in the
3349 % document class. It needs to define the following macros for each
3350 % floating object of type \texttt{TYPE} (e.g., \texttt{TYPE} =
3353 % \begin{description}
3354 % \item[\texttt{\bslash fps@TYPE}]
3355 % The default placement specifier for floats of type
3358 % \item[\texttt{\bslash ftype@TYPE}]
3359 % The type number for floats of type \texttt{TYPE}. Each
3360 % \texttt{TYPE} has associated a unique positive \texttt
3361 % {TYPE} number, which is a power of two. E.g., figures might
3362 % have type number 1, tables type number 2, programs type
3365 % \item[\texttt{\bslash ext@TYPE}]
3366 % The file extension indicating the file on which the contents
3367 % list for float type \texttt{TYPE} is stored. For example,
3368 % |\ext@figure| = `lof'.
3370 % \item[\texttt{\bslash fnum@TYPE}]
3371 % A macro to generate the figure number for a caption. For
3372 % example, |\fnum@TYPE| == `Figure |\thefigure|'.
3374 % \item[\texttt{\bslash @makecaption}{\meta{num}}{\meta{text}}]
3375 % A macro to make a caption, with \meta{num} the value produced
3376 % by |\fnum@...| and \meta{text} the text of the caption. It
3377 % can assume it's in a |\parbox| of the appropriate width.
3378 % This will be used for \emph{all} floating objects.
3382 % The actual environment that implements a floating object such as
3383 % a figure is defined using the macros |\@float| and |\end@float|,
3384 % which are defined in \file{latex.dtx}.
3386 % An environment that implements a single column floating object is
3387 % started with |\@float{|\texttt{TYPE}|}[|\meta{placement}|]| of type
3388 % \texttt{TYPE} with \meta{placement} as the placement specifier.
3389 % The default value of \meta{PLACEMENT} is defined by |\fps@TYPE|.
3391 % The environment is ended by |\end@float|. E.g., |\figure| ==
3392 % |\@float|{figure}, |\endfigure| == |\end@float|.
3394 % \subsubsection{Figure}
3396 % Here is the implementation of the figure environment.
3398 % \begin{macro}{\c@figure}
3399 % First we have to allocate a counter to number the figures.
3401 % In the report and book document classes figures within chapters are
3402 % numbered per chapter.
3403 % \changes{v1.3u}{1996/10/31}{Added test for non-zero chapter number}
3407 \renewcommand \thefigure {\@arabic\c@figure}
3410 \newcounter{figure}[chapter]
3411 \renewcommand \thefigure
3412 {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure}
3417 % \begin{macro}{\fps@figure}
3418 % \begin{macro}{\ftype@figure}
3419 % \begin{macro}{\ext@figure}
3420 % \begin{macro}{\num@figure}
3421 % Here are the parameters for the floating objects of type `figure'.
3422 % \changes{v1.4e}{2001/05/24}{Replaced tilde with \cs{nobreakspace}
3425 \def\fps@figure{tbp}
3426 \def\ftype@figure{1}
3427 \def\ext@figure{lof}
3428 \def\fnum@figure{\figurename\nobreakspace\thefigure}
3435 % \begin{environment}{figure}
3436 % \begin{environment}{figure*}
3437 % And the definition of the actual environment. The form with the
3438 % |*| is used for double column figures.
3440 \newenvironment{figure}
3443 \newenvironment{figure*}
3444 {\@dblfloat{figure}}
3450 % \subsubsection{Table}
3452 % Here is the implementation of the table environment. It is very
3453 % much the same as the figure environment.
3455 % \begin{macro}{\c@table}
3456 % First we have to allocate a counter to number the tables.
3458 % In the report and book document classes tables within chapters are
3459 % numbered per chapter.
3460 % \changes{v1.3u}{1996/10/31}{Added test for non-zero chapter number}
3464 \renewcommand\thetable{\@arabic\c@table}
3467 \newcounter{table}[chapter]
3468 \renewcommand \thetable
3469 {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table}
3474 % \begin{macro}{\fps@table}
3475 % \begin{macro}{\ftype@table}
3476 % \begin{macro}{\ext@table}
3477 % \begin{macro}{\num@table}
3478 % Here are the parameters for the floating objects of type `table'.
3479 % \changes{v1.4e}{2001/05/24}{Replaced tilde with \cs{nobreakspace}
3485 \def\fnum@table{\tablename\nobreakspace\thetable}
3492 % \begin{environment}{table}
3493 % \begin{environment}{table*}
3494 % And the definition of the actual environment. The form with the
3495 % |*| is used for double column tables.
3497 \newenvironment{table}
3500 \newenvironment{table*}
3507 % \subsubsection{Captions}
3509 % \begin{macro}{\@makecaption}
3510 % The |\caption| command calls |\@makecaption| to format the
3511 % caption of floating objects. It gets two arguments,
3512 % \meta{number}, the number of the floating object and \meta{text},
3513 % the text of the caption. Usually \meta{number} contains a string
3514 % such as `Figure 3.2'. The macro can assume it is called inside a
3515 % |\parbox| of right width, with |\normalsize|.
3517 % \begin{macro}{\abovecaptionskip}
3518 % \begin{macro}{\belowcaptionskip}
3519 % These lengths contain the amount of white space to leave above
3520 % and below the caption.
3522 \newlength\abovecaptionskip
3523 \newlength\belowcaptionskip
3524 \setlength\abovecaptionskip{10\p@}
3525 \setlength\belowcaptionskip{0\p@}
3530 % The definition of this macro is |\long| in order to allow more
3531 % then one paragraph in a caption.
3533 \long\def\@makecaption#1#2{%
3534 \vskip\abovecaptionskip
3536 % We want to see if the caption fits on one line on the page,
3537 % therefore we first typeset it in a temporary box.
3538 % \changes{v1.2q}{1994/05/29}{Use \cs{sbox}\cs{@tempboxa} instead of
3539 % \cs{setbox}\cs{@tempboxa}\cs{hbox} to make this colour safe}
3541 \sbox\@tempboxa{#1: #2}%
3543 % We can the measure its width. It that is larger than the current
3544 % |\hsize| we typeset the caption as an ordinary paragraph.
3546 \ifdim \wd\@tempboxa >\hsize
3549 % If the caption fits, we center it. Because this uses an |\hbox|
3550 % directly in vertical mode, it does not execute the |\everypar|
3551 % tokens; the only thing that could be needed here is resetting the
3552 % `minipage flag' so we do this explicitly.
3553 % \changes{v1.2x}{1994/12/09}{Due to a change in the way floats are
3554 % handled we need to set the \cs{if@minipage} switch to false}
3557 \global \@minipagefalse
3558 \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
3560 \vskip\belowcaptionskip}
3564 % \subsection{Font changing}
3566 % Here we supply the declarative font changing commands that were
3567 % common in \LaTeX\ version 2.09 and earlier. These commands work
3568 % in text mode \emph{and} in math mode. They are provided for
3569 % compatibility, but one should start using the |\text...| and
3570 % |\math...| commands instead. These commands are defined using
3571 % |\DeclareTextFontCommand|, a command with three arguments: the
3572 % user command to be defined; \LaTeX\ commands to execute in text
3573 % mode and \LaTeX\ commands to execute in math mode.
3575 % \changes{v1.0g}{1993/12/12}{Distinguished between compatibility and
3576 % `normal' mode for the font changing commands.}
3577 % \changes{v1.0h}{1993/12/18}{These are now defined in the kernel, so
3578 % use \cs{@renewfontswitch}. Compatibility mode defines
3579 % \cs{@renewfontswitch} to do nothing, so we don't need to check
3580 % for compatibility mode any more.}
3581 % \changes{v1.0j}{1993/12/20}{Added \cs{normalfont} back in the
3582 % definitions of \cs{rm} etc. as this should be the default
3584 % \changes{v1.2e}{1994/04/14}{\cs{@renewfontswitch} has become
3585 % \cs{DeclareOldFontCommand}}
3587 % \begin{macro}{\rm}
3588 % \changes{v1.0f}{1993/12/08}{Macro added}
3589 % \begin{macro}{\tt}
3590 % \changes{v1.0f}{1993/12/08}{Macro added}
3591 % \begin{macro}{\sf}
3592 % \changes{v1.0f}{1993/12/08}{Macro added}
3594 % The commands to change the family. When in compatibility mode we
3595 % select the `default' font first, to get \LaTeX2.09 behaviour.
3597 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
3598 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
3599 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
3605 % \begin{macro}{\bf}
3606 % \changes{v1.0f}{1993/12/08}{Macro added}
3607 % The command to change to the bold series. One should use
3608 % |\mdseries| to explicitly switch back to medium series.
3610 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
3614 % \begin{macro}{\sl}
3615 % \changes{v1.0f}{1993/12/08}{Macro added}
3616 % \changes{v1.2g}{1994/04/24}{Added warning if used in math mode}
3617 % \begin{macro}{\it}
3618 % \changes{v1.0f}{1993/12/08}{Macro added}
3619 % \begin{macro}{\sc}
3620 % \changes{v1.0f}{1993/12/08}{Macro added}
3621 % \changes{v1.2g}{1994/04/24}{Added warning if used in math mode}
3623 % And the commands to change the shape of the font. The slanted and
3624 % small caps shapes are not available by default as math alphabets,
3625 % so those changes do nothing in math mode. However, we do warn the
3626 % user that the selection will not have any effect.One should use
3627 % |\upshape| to explicitly change back to the upright shape.
3629 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
3630 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
3631 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
3637 % \begin{macro}{\cal}
3638 % \changes{v1.0g}{1993/12/12}{Macro added}
3639 % \begin{macro}{\mit}
3640 % \changes{v1.0g}{1993/12/12}{Macro added}
3642 % The commands |\cal| and |\mit| should only be used in math mode,
3643 % outside math mode they have no effect. Currently the New Font
3644 % Selection Scheme defines these commands to generate warning
3645 % messages. Therefore we have to define them `by hand'.
3646 % \changes{v1.2w}{1994/12/01}{Now define \cs{cal} and \cs{mit} using
3647 % \cs{DeclareRobustCommand*}}
3648 % \changes{v1.3j}{1995/08/16}{Remove surplus braces}
3650 \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
3651 \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
3656 % \section{Cross Referencing}
3657 % \subsection{Table of Contents, etc.}
3659 % A |\section| command writes a
3660 % |\contentsline{section}{|\meta{title}|}{|\meta{page}|}| command
3661 % on the \file{.toc} file, where \meta{title} contains the
3662 % contents of the entry and \meta{page} is the page number. If
3663 % sections are being numbered, then \meta{title} will be of the
3664 % form |\numberline{|\meta{num}|}{|\meta{heading}|}| where
3665 % \meta{num} is the number produced by |\thesection|. Other
3666 % sectioning commands work similarly.
3668 % A |\caption| command in a `figure' environment writes
3670 % |\contentsline{figure}{\numberline{|\meta{num}|}{|%
3671 % \meta{caption}|}}{|\meta{page}|}|
3673 % on the .\file{lof} file, where \meta{num} is the number produced
3674 % by |\thefigure| and \meta{caption} is the figure caption. It
3675 % works similarly for a `table' environment.
3677 % The command |\contentsline{|\meta{name}|}| expands to
3678 % |\l@|\meta{name}. So, to specify the table of contents, we must
3679 % define |\l@chapter|, |\l@section|, |\l@subsection|, ... ; to
3680 % specify the list of figures, we must define |\l@figure|; and so
3681 % on. Most of these can be defined with the |\@dottedtocline|
3682 % command, which works as follows.
3684 % |\@dottedtocline{|\meta{level}|}{|\meta{indent}|}{|^^A
3685 % \meta{numwidth}|}{|^^A
3686 % \meta{title}|}{|\meta{page}|}|
3688 % \begin{description}
3689 % \item[\meta{level}] An entry is produced only if\meta{ level}
3690 % $<=$ value of the \Lcount{tocdepth} counter. Note,
3691 % |\chapter| is level 0, |\section| is level 1, etc.
3692 % \item[\meta{indent}] The indentation from the outer left margin
3693 % of the start of the contents line.
3694 % \item[\meta{numwidth}] The width of a box in which the section
3695 % number is to go, if \meta{title} includes a |\numberline|
3699 % \begin{macro}{\@pnumwidth}
3700 % \begin{macro}{\@tocrmarg}
3701 % \begin{macro}{\@dotsep}
3702 % This command uses the following three parameters, which are set
3703 % with a |\newcommand| (so em's can be used to make them depend upon
3705 % \begin{description}
3706 % \item[\texttt{\bslash @pnumwidth}] The width of a box in which the
3707 % page number is put.
3708 % \changes{v1.2v}{1994/10/29}{Changed documentation from $!>$ or $!=$ to
3710 % \item[\texttt{\bslash @tocrmarg}] The right margin for multiple
3711 % line entries. One wants |\@tocrmarg| $\ge$ |\@pnumwidth|
3712 % \item[\texttt{\bslash @dotsep}] Separation between dots, in mu
3713 % units. Should be defined as a number like 2 or 1.7
3717 \newcommand\@pnumwidth{1.55em}
3718 \newcommand\@tocrmarg{2.55em}
3719 \newcommand\@dotsep{4.5}
3720 %<article>\setcounter{tocdepth}{3}
3721 %<!article>\setcounter{tocdepth}{2}
3727 % \subsubsection{Table of Contents}
3729 % \begin{macro}{\tableofcontents}
3730 % This macro is used to request that \LaTeX{} produces a table of
3731 % contents. In the report and book document classes the tables of
3732 % contents, figures etc. are always set in single-column style.
3734 % \changes{v1.0g}{1993/12/09}{Moved the setting of
3735 % \cs{@restonecolfalse}}
3736 % \changes{v1.4h}{2007/10/19}{Explain why \cs{@mkboth} is inside the heading
3737 % arg for \cs{tableofcontents} (pr/3285 and pr/3984)}
3739 \newcommand\tableofcontents{%
3742 \@restonecoltrue\onecolumn
3747 % The title is set using the |\chapter*| command, making sure that
3748 % the running head --if one is required-- contains the right
3751 \chapter*{\contentsname
3753 %<article> \section*{\contentsname
3755 % The code for |\@mkboth| is placed inside the heading to avoid any
3756 % influence on vertical spacing after the heading (in some cases). For
3757 % other commands, such as |\listoffigures| below this has been changed from
3758 % the \LaTeX{}2.09 version as it will produce a serious bug if used in
3759 % two-column mode (see, pr/3285). However |\tableofcontents| is always
3760 % typeset in one-column mode in these classes, therefore the somewhat
3761 % inconsistent setting has been retained for compatibility reasons.
3764 \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
3766 % The the actual table of contents is made by calling
3767 % |\@starttoc{toc}|. After that we restore twocolumn mode if
3771 %<!article> \if@restonecol\twocolumn\fi
3776 % \begin{macro}{\l@part}
3777 % Each sectioning command needs an additional macro to format its
3778 % entry in the table of contents, as described above. The macro for
3779 % the entry for parts is defined in a special way.
3781 % First we make sure that if a pagebreak should occur, it occurs
3782 % \emph{before} this entry. Also a little whitespace is added and a
3783 % group begun to keep changes local.
3784 % \changes{v1.0h}{1993/12/18}{Replaced -\cs{@secpenalty} by
3785 % \cs{@secpenalty}. ASAJ.}
3786 % \changes{v1.2i}{1994/04/28}{Don't print a toc line when the tocdepth
3787 % counter is less then -1}
3788 % \changes{v1.3b}{1995/05/23}{Added missing braces around argument
3789 % to \cs{addpenalty}.}
3790 % \changes{v1.3x}{1997/10/10}{Removed setting of \cs{@tempdima} as
3791 % this macro does not use \cs{numberline} to set the toc line.}
3792 % \changes{v1.4a}{1998/10/12}{we should use \cs{@tocrmarg}; see PR/2881.}
3794 \newcommand*\l@part[2]{%
3795 \ifnum \c@tocdepth >-2\relax
3796 %<article> \addpenalty\@secpenalty
3797 %<!article> \addpenalty{-\@highpenalty}%
3798 \addvspace{2.25em \@plus\p@}%
3800 % The macro |\numberline| requires that the width of the box that
3801 % holds the part number is stored in \LaTeX's scratch register
3802 % |\@tempdima|. Therefore we initialize it there even though we do
3803 % not use |\numberline| internally---the value used is quite large
3804 % so that something like |\numberline{VIII}| would still work.
3805 % \changes{v1.4d}{2001/04/21}{Initialize \cs{@tempdima} to some
3806 % sensible value (pr/3327)}
3808 \setlength\@tempdima{3em}%
3811 % We set |\parindent| to 0pt and use |\rightskip| to leave
3812 % enough room for the pagenumbers.\footnote{^^A
3813 % We should really set \cs{rightskip} to \cs{@tocrmarg} instead
3814 % of \cs{@pnumwidth} (no version of {\LaTeX} ever did this),
3815 % otherwise the \cs{rightskip} is too small.
3816 % Unfortunately this can't be changed in {\LaTeXe} as we don't
3817 % want to create different versions of {\LaTeXe} which produce
3818 % different typset output unless this is absolutely necessary;
3819 % instead we suspend it for \LaTeX3.}
3820 % To prevent overfull box messages the |\parfillskip| is set to a
3823 \parindent \z@ \rightskip \@pnumwidth
3824 \parfillskip -\@pnumwidth
3826 % Now we can set the entry, in a large bold font. We make sure to
3827 % leave vertical mode, set the part title and add the pagenumber,
3831 \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
3833 % Prevent a pagebreak immediately after this entry, but use
3834 % |\everypar| to reset the |\if@nobreak| switch. Finally we close
3836 % \changes{v1.3j}{1995/08/16}{Add missing percent}
3839 %<article> \if@compatibility
3840 \global\@nobreaktrue
3841 \everypar{\global\@nobreakfalse\everypar{}}%
3848 % \begin{macro}{\l@chapter}
3849 % This macro formats the entries in the table of contents for
3850 % chapters. It is very similar to |\l@part|
3852 % First we make sure that if a pagebreak should occur, it occurs
3853 % \emph{before} this entry. Also a little whitespace is added and a
3854 % group begun to keep changes local.
3855 % \changes{v1.2i}{1994/04/28}{Don't print a toc line when the tocdepth
3856 % counter is less than 0}
3857 % \changes{v1.3b}{1995/05/23}{Added missing braces around argument
3858 % to \cs{addpenalty}.}
3859 % \changes{v1.4a}{1998/10/12}{we should use \cs{@tocrmarg}; see PR/2881.}
3862 \newcommand*\l@chapter[2]{%
3863 \ifnum \c@tocdepth >\m@ne
3864 \addpenalty{-\@highpenalty}%
3865 \vskip 1.0em \@plus\p@
3868 % The macro |\numberline| requires that the width of the box that
3869 % holds the part number is stored in \LaTeX's scratch register
3870 % |\@tempdima|. Therefore we initialize it there even though we do
3871 % not use |\numberline| internally (the position as well as the
3872 % values seems questionable but can't be changed without producing
3873 % compatibility problems). We begin a group, and change
3874 % some of the paragraph parameters (see also the remark at
3875 % \cs{l@part} regarding \cs{rightskip}).
3877 \setlength\@tempdima{1.5em}%
3879 \parindent \z@ \rightskip \@pnumwidth
3880 \parfillskip -\@pnumwidth
3882 % Then we leave vertical mode and switch to a bold font.
3884 \leavevmode \bfseries
3886 % Because we do not use |\numberline| here, we have do some fine
3887 % tuning `by hand', before we can set the entry. We discourage but
3888 % not disallow a pagebreak immediately after a chapter entry.
3890 \advance\leftskip\@tempdima
3892 #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
3893 \penalty\@highpenalty
3900 % \begin{macro}{\l@section}
3901 % In the article document class the entry in the table of contents
3902 % for sections looks much like the chapter entries for the report
3903 % and book document classes.
3905 % First we make sure that if a pagebreak should occur, it occurs
3906 % \emph{before} this entry. Also a little whitespace is added and a
3907 % group begun to keep changes local.
3908 % \changes{v1.0h}{1993/12/18}{Replaced -\cs{@secpenalty} by
3909 % \cs{@secpenalty}. ASAJ.}
3910 % \changes{v1.2i}{1994/04/28}{Don't print a toc line when the tocdepth
3911 % counter is less than 1.}
3912 % \changes{v1.4a}{1998/10/12}{we should use \cs{@tocrmarg}; see PR/2881.}
3915 \newcommand*\l@section[2]{%
3916 \ifnum \c@tocdepth >\z@
3917 \addpenalty\@secpenalty
3918 \addvspace{1.0em \@plus\p@}%
3921 % The macro |\numberline| requires that the width of the box that
3922 % holds the part number is stored in \LaTeX's scratch register
3923 % |\@tempdima|. Therefore we put it there. We begin a group, and
3924 % change some of the paragraph parameters (see also the remark at
3925 % \cs{l@part} regarding \cs{rightskip}).
3927 \setlength\@tempdima{1.5em}%
3929 \parindent \z@ \rightskip \@pnumwidth
3930 \parfillskip -\@pnumwidth
3932 % Then we leave vertical mode and switch to a bold font.
3934 \leavevmode \bfseries
3936 % Because we do not use |\numberline| here, we have do some fine
3937 % tuning `by hand', before we can set the entry. We discourage but
3938 % not disallow a pagebreak immediately after a chapter entry.
3940 \advance\leftskip\@tempdima
3942 #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
3947 % In the report and book document classes the definition for
3948 % |\l@section| is much simpler.
3951 \newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
3956 % \begin{macro}{\l@subsection}
3957 % \begin{macro}{\l@subsubsection}
3958 % \begin{macro}{\l@paragraph}
3959 % \begin{macro}{\l@subparagraph}
3960 % All lower level entries are defined using the macro
3961 % |\@dottedtocline| (see above).
3964 \newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
3965 \newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
3966 \newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
3967 \newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
3970 \newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
3971 \newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
3972 \newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
3973 \newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
3981 % \subsubsection{List of figures}
3983 % \begin{macro}{\listoffigures}
3984 % This macro is used to request that \LaTeX{} produces a list of
3985 % figures. It is very similar to |\tableofcontents|.
3987 % \changes{v1.0g}{1993/12/09}{Moved the setting of
3988 % \cs{@restonecolfalse}}
3989 % \changes{v1.4c}{2001/01/06}{Moved \cs{@mkboth} out of heading
3992 \newcommand\listoffigures{%
3995 \@restonecoltrue\onecolumn
3999 \chapter*{\listfigurename}%
4001 %<article> \section*{\listfigurename}%
4002 \@mkboth{\MakeUppercase\listfigurename}%
4003 {\MakeUppercase\listfigurename}%
4005 %<report|book> \if@restonecol\twocolumn\fi
4010 % \begin{macro}{\l@figure}
4011 % This macro produces an entry in the list of figures.
4013 \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
4017 % \subsubsection{List of tables}
4019 % \begin{macro}{\listoftables}
4020 % This macro is used to request that \LaTeX{} produces a list of
4021 % tables. It is very similar to |\tableofcontents|.
4023 % \changes{v1.0g}{1993/12/09}{Moved the setting of
4024 % \cs{@restonecolfalse}}
4025 % \changes{v1.4c}{2001/01/06}{Moved \cs{@mkboth} out of heading
4028 \newcommand\listoftables{%
4031 \@restonecoltrue\onecolumn
4035 \chapter*{\listtablename}%
4037 %<article> \section*{\listtablename}%
4039 \MakeUppercase\listtablename}%
4040 {\MakeUppercase\listtablename}%
4042 %<report|book> \if@restonecol\twocolumn\fi
4047 % \begin{macro}{\l@table}
4048 % This macro produces an entry in the list of tables.
4050 \let\l@table\l@figure
4054 % \subsection{Bibliography}
4056 % \begin{macro}{\bibindent}
4057 % The ``open'' bibliography format uses an indentation of
4061 \setlength\bibindent{1.5em}
4065 % \begin{environment}{thebibliography}
4066 % The `thebibliography' environment executes the following
4069 % |\renewcommand{\newblock}{\hskip.11em \@plus.33em \@minus.07em}|\\
4070 % --- Defines the ``closed'' format, where the blocks (major units
4071 % of information) of an entry run together.
4073 % |\sloppy| --- Used because it's rather hard to do line breaks in
4076 % |\sfcode`\.=1000\relax| ---
4077 % Causes a `.' (period) not to produce an end-of-sentence space.
4079 % The implementation of this environment is based on the generic
4080 % list environment. It uses the \Lcount{enumiv} counter internally
4081 % to generate the labels of the list.
4083 % When an empty `thebibliography' environment is found, a warning
4086 % \changes{v1.0i}{1993/12/19}{Corrected definition of thebibliography
4088 % \changes{v1.2z}{1995/05/09}{added a missing percent character}
4089 % \changes{v1.3b}{1995/05/23}{Added missing braces in definition
4090 % of thebibliography environment.}
4091 % \changes{v1.3j}{1995/08/16}{remove surplus spaces}
4092 % \changes{v1.3k}{1995/08/27}{Code for openbib changed}
4093 % \changes{v1.3t}{1996/10/05}{Added setting value of \cs{@clubpenalty}}
4095 \newenvironment{thebibliography}[1]
4097 {\section*{\refname}%
4099 % The |\@mkboth| was moved out of the heading argument since at
4100 % least in report and book (twocolumn option) there are definitions
4101 % for |\chapter| which would swallow it otherwise.
4102 % \changes{v1.4c}{2001/01/06}{Moved \cs{@mkboth} out of heading
4105 \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
4108 {\chapter*{\bibname}%
4109 \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
4111 \list{\@biblabel{\@arabic\c@enumiv}}%
4112 {\settowidth\labelwidth{\@biblabel{#1}}%
4113 \leftmargin\labelwidth
4114 \advance\leftmargin\labelsep
4116 \usecounter{enumiv}%
4117 \let\p@enumiv\@empty
4118 \renewcommand\theenumiv{\@arabic\c@enumiv}}%
4121 % This is setting the normal (non-infinite) value of
4122 % |\clubpenalty| for the whole of this environment,
4123 % so we must reset its stored value also. (Why is there a |%| after
4124 % the second 4000 below?)
4127 \@clubpenalty \clubpenalty
4131 {\@latex@warning{Empty `thebibliography' environment}}%
4136 % \begin{macro}{\newblock}
4137 % The default definition for |\newblock| is to produce a small space.
4138 % \changes{v1.3k}{1995/08/27}{Default changed.}
4140 \newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
4144 % \begin{macro}{\@openbib@code}
4145 % The default definition for |\@openbib@code| is to do nothing.
4146 % It will be changed by the \Lopt{openbib} option.
4147 % \changes{v1.3k}{1995/08/27}{Macro added}
4149 \let\@openbib@code\@empty
4153 % \begin{macro}{\@biblabel}
4154 % The label for a |\bibitem[...]| command is produced by this
4155 % macro. The default from \file{latex.dtx} is used.
4157 % \renewcommand*{\@biblabel}[1]{[#1]\hfill}
4161 % \begin{macro}{\@cite}
4162 % The output of the |\cite| command is produced by this macro. The
4163 % default from \file{latex.dtx} is used.
4165 % \renewcommand*{\@cite}[1]{[#1]}
4169 % \subsection{The index}
4171 % \begin{environment}{theindex}
4172 % The environment `theindex' can be used for indices. It makes an
4173 % index with two columns, with each entry a separate paragraph. At
4174 % the user level the commands |\item|, |\subitem| and |\subsubitem|
4175 % are used to produce index entries of various levels. When a new
4176 % letter of the alphabet is encountered an amount of |\indexspace|
4177 % white space can be added.
4180 % \changes{v1.0g}{1993/12/09}{Moved the setting of
4181 % \cs{@restonecoltrue}}
4183 \newenvironment{theindex}
4189 %<article> \twocolumn[\section*{\indexname}]%
4190 %<!article> \twocolumn[\@makeschapterhead{\indexname}]%
4191 \@mkboth{\MakeUppercase\indexname}%
4192 {\MakeUppercase\indexname}%
4193 \thispagestyle{plain}\parindent\z@
4195 % Parameter changes to |\columnseprule| and |\columnsep| have to be
4196 % done after |\twocolumn| has acted. Otherwise they can affect the
4197 % last page before the index.
4198 % \changes{ v1.4f}{2004/02/16}{Moved setting of \cs{columnsep} and
4199 % \cs{columnseprule} later to avoid affecting the wrong page (pr/3616)}
4201 \parskip\z@ \@plus .3\p@\relax
4206 % When the document continues after the index and it was a one
4207 % column document we have to switch back to one column after the
4210 {\if@restonecol\onecolumn\else\clearpage\fi}
4214 % \begin{macro}{\@idxitem}
4215 % \begin{macro}{\subitem}
4216 % \begin{macro}{\subsubitem}
4217 % These macros are used to format the entries in the index. ^^AA ???
4218 % \changes{v1.3f}{1995/06/23}{Corrected error in definition of
4220 % \changes{v1.3j}{1995/08/16}{use \cs{@idxitem} to save space}
4222 \newcommand\@idxitem{\par\hangindent 40\p@}
4223 \newcommand\subitem{\@idxitem \hspace*{20\p@}}
4224 \newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
4230 % \begin{macro}{\indexspace}
4231 % The amount of white space that is inserted between `letter
4232 % blocks' in the index.
4234 \newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
4238 % \subsection{Footnotes}
4240 % \begin{macro}{\footnoterule}
4241 % Usually, footnotes are separated from the main body of the text
4242 % by a small rule. This rule is drawn by the macro |\footnoterule|.
4243 % We have to make sure that the rule takes no vertical space (see
4244 % \file{plain.tex}) so we compensate for the natural height of the
4245 % rule of 0.4pt by adding the right amount of vertical skip.
4247 % To prevent the rule from colliding with the footnote we first add
4248 % a little negative vertical skip, then we put the rule and make
4249 % sure we end up at the same point where we begun this operation.
4250 % \changes{v1.3a}{1995/05/17}{use \cs{@width}}
4252 \renewcommand\footnoterule{%
4254 \hrule\@width.4\columnwidth
4259 % \begin{macro}{\c@footnote}
4260 % Footnotes are numbered within chapters in the report and book
4263 %<!article>\@addtoreset{footnote}{chapter}
4267 % \begin{macro}{\@makefntext}
4268 % The footnote mechanism of \LaTeX{} calls the macro |\@makefntext|
4269 % to produce the actual footnote. The macro gets the text of the
4270 % footnote as its argument and should use |\@thefnmark| as the mark
4271 % of the footnote. The macro |\@makefntext|is called when
4272 % effectively inside a |\parbox| of width |\columnwidth| (i.e.,
4273 % with |\hsize| = |\columnwidth|).
4275 % An example of what can be achieved is given by the following piece
4278 % \newcommand\@makefntext[1]{%
4280 % \@tempdima = \hsize
4281 % \advance\@tempdima-10pt
4282 % \parshape \@ne 10pt \@tempdima}%
4284 % \parindent 1em\noindent
4285 % \hbox to \z@{\hss\@makefnmark}#1}
4287 % The effect of this definition is that all lines of the footnote
4288 % are indented by 10pt, while the first line of a new paragraph is
4289 % indented by 1em. To change these dimensions, just substitute the
4290 % desired value for `10pt' (in both places) or `1em'. The mark is
4291 % flushright against the footnote.
4293 % In these document classes we use a simpler macro, in which the
4294 % footnote text is set like an ordinary text paragraph, with no
4295 % indentation except on the first line of a paragraph, and the
4296 % first line of the footnote. Thus, all the macro must do is set
4297 % |\parindent| to the appropriate value for succeeding paragraphs
4298 % and put the proper indentation before the mark.
4300 % \changes{v1.1a}{1994/03/13}{Use \cs{@makefnmark} to generate
4303 \newcommand\@makefntext[1]{%
4306 \hb@xt@1.8em{\hss\@makefnmark}#1}
4310 % \begin{macro}{\@makefnmark}
4311 % The footnote markers that are printed in the text to point to the
4312 % footnotes should be produced by the macro |\@makefnmark|. We use
4313 % the default definition for it.
4315 %\renewcommand\@makefnmark{\hbox{\@textsuperscript
4316 % {\normalfont\@thefnmark}}}
4320 % \section{Initialization}
4322 % \subsection{Words}
4324 % This document class is for documents prepared in the English language.
4325 % To prepare a version for another language, various English words must
4326 % be replaced. All the English words that require replacement are
4327 % defined below in command names. These commands may be redefined in
4328 % any class or package that is customising \LaTeX\ for use with
4329 % non-English languages.
4330 % \changes{v1.3h}{1995/07/20}{Split up to save save stack /1742}
4332 % \begin{macro}{\contentsname}
4333 % \begin{macro}{\listfigurename}
4334 % \begin{macro}{\listtablename}
4336 \newcommand\contentsname{Contents}
4337 \newcommand\listfigurename{List of Figures}
4338 \newcommand\listtablename{List of Tables}
4344 % \begin{macro}{\refname}
4345 % \begin{macro}{\bibname}
4346 % \begin{macro}{\indexname}
4348 %<article>\newcommand\refname{References}
4349 %<report|book>\newcommand\bibname{Bibliography}
4350 \newcommand\indexname{Index}
4356 % \begin{macro}{\figurename}
4357 % \begin{macro}{\tablename}
4359 \newcommand\figurename{Figure}
4360 \newcommand\tablename{Table}
4365 % \begin{macro}{\partname}
4366 % \begin{macro}{\chaptername}
4367 % \begin{macro}{\appendixname}
4368 % \begin{macro}{\abstractname}
4370 \newcommand\partname{Part}
4371 %<report|book>\newcommand\chaptername{Chapter}
4372 \newcommand\appendixname{Appendix}
4373 %<!book>\newcommand\abstractname{Abstract}
4382 % \begin{macro}{\today}
4383 % This macro uses the \TeX\ primitives |\month|, |\day| and |\year|
4384 % to provide the date of the \LaTeX-run.
4386 % At |\begin{document}| this definition will be optimised
4387 % so that the names of all the `wrong' months are not stored.
4388 % This optimisation is not done here as that would `freeze'
4389 % |\today| in any special purpose format made by loading the class
4390 % file into the format file.
4391 % \changes{v1.3j}{1995/08/16}{use \cs{edef} to save a lot of space}
4392 % \changes{v1.3w}{1997/10/06}{use \cs{def} again, latex/2620}
4394 \def\today{\ifcase\month\or
4395 January\or February\or March\or April\or May\or June\or
4396 July\or August\or September\or October\or November\or December\fi
4397 \space\number\day, \number\year}
4401 % \subsection{Two column mode}
4403 % \begin{macro}{\columnsep}
4404 % This gives the distance between two columns in two column mode.
4406 \setlength\columnsep{10\p@}
4410 % \begin{macro}{\columnseprule}
4411 % This gives the width of the rule between two columns in two
4412 % column mode. We have no visible rule.
4414 \setlength\columnseprule{0\p@}
4418 % \subsection{The page style}
4419 % We have \pstyle{plain} pages in the document classes article and
4420 % report unless the user specified otherwise. In the `book'
4421 % document class we use the page style \pstyle{headings} by
4422 % default. We use arabic pagenumbers.
4424 %<!book>\pagestyle{plain}
4425 %<book>\pagestyle{headings}
4426 \pagenumbering{arabic}
4429 % \subsection{Single or double sided printing}
4432 % \changes{v1.2v}{1994/11/10}{removed typo}
4433 % When the \Lopt{twoside} option wasn't specified, we don't try to
4434 % make each page as long as all the others.
4441 % When the \Lopt{twocolumn} option was specified we call
4442 % |\twocolumn| to activate this mode. We try to make each column as
4443 % long as the others, but call |sloppy| to make our life easier.
4450 % Normally we call |\onecolumn| to initiate typesetting in one
4456 %</article|report|book>
4459 % \changes{v1.3i}{1995/08/09}{Moved code for generic class options
4460 % leqno and fleqn to kernel file}