The Amsldoc and Amsdtx Document Classes
The Amsldoc and Amsdtx Document Classes
The Amsldoc and Amsdtx Document Classes
American Mathematical Society Michael Downes updated by David M. Jones Version 2.06, 2004/08/06 Contents
1 2 3 4 5 6 Introduction . . . . . . . . . . . . . . . . . . . . . . . Implementation . . . . . . . . . . . . . . . . . . . . . Indexing primitives . . . . . . . . . . . . . . . . . . . amsldoc style modications for sectioning commands amsdtx style modications for sectioning commands Float placement parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 8 10 12
Introduction
This le is the source for two documentclasses, amsldoc (used for the AMSA L TEX users guide) and amsdtx (used for printing AMS .dtx les). The generic book class is used as a base, but the amsdtx class is modied to serve as an article-type class. This aects the form of documentation les mainly in the use of \maketitle and \chapter. Standard starting pieces. (Note: the reason each \ProvidesClass command is placed on a line by itself, with separate begin and end guards for docstripping, is to make automatic update of le date and version slightly easier and more robust.)
\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 cant be used (nor non-LaTeX) [1995/06/01]% LaTeX date must be June 1995 or later 3 *amsldoc 4 \ProvidesClass{amsldoc}[2004/08/06 v2.06] 5 /amsldoc 6 *amsdtx 7 \ProvidesClass{amsdtx}[2004/08/06 v2.06] 8 /amsdtx
1 2
2
9 10
Implementation
Table 1. Features of the amsldoc and amsdtx classes Command Name \cn Purpose To print a user command name: \cn{title}; leading backslash can be optionally included for control symbols: \cn{\%}. The \cn command works properly even in macro arguments (compare to, e.g., \verb\newif). But beware of a fragile control symbol (are there any?) in a moving argument. Control sequence: to print an internal command name, not intended for the end user To print an environment name: \env{table} To print a package name: \pkg{eufrak} To print a class name: \cls{book} To print the name of a class or package option: \opt{twocolumn} To print the name of a BibTEX style \bst{amsalpha} To print a le name or font name: \fn{T1enc.def}, \fn{cmsy10} To print a font name: \fn{cmsy10} To print a counter name: \fn{topnumber} To quote a single character: \qc{\%}; this works properly for special characters, even in macro arguments, unlike e.g., \verb% Convenient forms of \LaTeX, \TeX, \BibTeX, etc. that are easier to type and have a trailing slash to eliminate the following-space problem (without needing dierent markup in dierent contexts)
\cs \env \pkg \cls \opt \bst \fn \fnt \cnt \qc
\latex/ etc.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
\texttt{\urlsetup $\expandafter\strip@prefix\meaning\@tempa$}% }% \def\urlsetup{% \check@mathfonts \textfont\@ne\the\font \textfont\z@\the\font \urlfix +\urlfix\=\urlfix\:\urlfix\-\urlfix\.\urlfix\,\urlfix\;% \urlbreak\&\urlbreak\/\urlbreak\?% }% \def\urlbreak#1{% \mathcode#1="8000 \begingroup \lccode\~=#1 \lowercase{\endgroup \edef~}% {\mathchar\number#1\penalty\hyphenpenalty}% }% \def\urlfix#1{% \mathcode#1=#1\relax }% }
\let\@xp\expandafter
Indexing primitives
Unlike amsdtx, amsldoc doesnt load the doc package, so we need to provide the following logical names. The values are consistent with makeindexs default
3. INDEXING PRIMITIVES
conventions.
41
\newif\ifcodeline@index /amsldoc
\autoindex
When generating a codeline index, this encapsulates the page number in italics.
\newcommand*{\autoindex}[1]{% \index{#1\ifcodeline@index\encapchar usage\fi}% 51 }
49 50
\ntt
To avoid font substitution warnings we make the tt font always print in the normal weight and shape.
52
\newcommand{\ntt}{\normalfont\ttfamily}
\indexcs
Index a control sequence without printing it. Note non-long. The \@nobslash strips o an optional leading backslash before passing the control sequence name to \@indexcs. This means that \indexcs{\cs} and \indexcs{cs} produce the same index entry.
\newcommand*{\indexcs}[1]{% \@xp\@xp\@xp\@indexcs\@xp\@nobslash\string#1\@nil 55 }
53 54
\@indexcs
Given cs as an argument, this writes something like cs@\verb"*+\cs+ to the .idx le (or cs=\verb!*+\cs+ if using doc.sty).
\def\@indexcs#1\@nil{% \autoindex{#1\actualchar 58 \string\verb\quotechar*\verbatimchar 59 \@xp\@bothoftwo\string\ #1\@empty 60 \verbatimchar 61 }% 62 }
56 57
\@bothoftwo
This has the eect of removing spaces before each of the arguments. In particular, it removes the space generated by \string\ above.
63
\def\@bothoftwo#1#2{#1#2}
Some functions to support \cn etc. For most of these commands we dont A really want them to be \long! But in some early releases of L TEX 2 the * form of \newcommand was not yet available. We use the name \bslchar instead of \bslash to avoid potential conict with the doc package \bslash command. Unlike \bslash, \bslchar survives unlimited writing/expansion because it is a chardef.
\chardef\bslchar=\\ % p. 424, TeXbook \newcommand{\addbslash}{\expandafter\@addbslash\string} 76 \def\@addbslash#1{\bslchar\@nobslash#1} 77 \newcommand{\nobslash}{\expandafter\@nobslash\string} 78 \def\@nobslash#1{\ifnum#1=\bslchar\else#1\fi}
74 75
\@boxorbreak
Start up for a \cs or \cn command, adds an \hbox if in math, or an allowbreak penalty if the preceding item is not a space. (In case two such commands are used side-by-side.)
\def\@boxorbreak{% \leavevmode 81 \ifmmode\hbox\else\ifdim\lastskip=\z@\penalty9999 \fi\fi 82 }
79 80
Control sequence. The function \addbslash makes this command also usable for some special control sequences like \% \} \{: instead of writing \cs{%} which doesnt work, you can write \cs{\%}.
\DeclareRobustCommand{\cs}[1]{% \@boxorbreak{% 85 \ntt 86 \addbslash#1\@empty 87 \@xp\@xp\@xp\@indexcs\@xp\@nobslash\string#1\@nil 88 }% 89 }
83 84
Allow distinguishing non-private command names that will be visible to the user from internal (mostly private) control sequences.
90
\let\cn\cs
The following items should not normally appear in math mode so they dont need to call \@boxorbreak. A L TEX documentclass name.
91
\DeclareRobustCommand{\cls}{\category@index{class}}
A L TEX package name.
92
\DeclareRobustCommand{\pkg}{\category@index{package}}
A L TEX option name.
93
\DeclareRobustCommand{\opt}{\category@index{option}}
Environment name.
94 95
File name.
96
\DeclareRobustCommand{\fn}{\category@index{}}
BibTEX style.
97 98 99
3. INDEXING PRIMITIVES
With long command names or le names we sometimes prefer to allow hyphenation in the tt font (in combination with suitable \hyphenation statements for individual documents). To make this work we must turn o the feature of A L TEX that disables the hyphenchar of the tt fonts. The method shown here depends on the assumption that OT1 encoding will be used for the tt fonts. An encoding-independent method would be more awkward: Youd have to explicitly load the relevant fonts, lets say by using \AtBeginDocument, and undo the hyphenchar change individually for each font. Instead we force loading, or possibly reloading (depending on the preload A options used locally for creating the L TEX format le), of the OT1/cmtt fd le, and then clear the macro \OT1+cmtt which contains code to execute whenever a font of this family is rst loaded. The default value is to turn o the hyphenchar, and thats what we dont want. This method is not especially palatable but other methods that dont involve loading the fd le are signicantly less reliable.
100 101
\def\allowtthyphens{\begingroup \fontencoding{OT1}\fontfamily{cmtt}%
Undene the csname that \try@load@fontshape tests to determine whether the fd le needs loading. Then call \try@load@fontshape. Then we can remove the turn o hyphenation code, which as it happens resides in the same csname that was tested.
102 103 104 105 106
We allow some slop at the right margin because we have some long control sequence names and verbatim text to deal with. Also ignore underfull hboxes and vboxes unless they are really bad.
107 108 109 110 111 112
\def\makeindx/{MakeIndex}
\def\xypic/{XY\mbox{-}pic} \newcommand{\Textures}{\textit{Textures}}
Meta macro.
119
\def\<#1>{\textit{$\langle$#1\/$\rangle$}}
6
126
\@listi \def\@listii{% 128 \leftmargin\leftmarginii 129 \labelwidth\leftmarginii \advance\labelwidth-\labelsep 130 \topsep\p@\@plus\p@ \@minus\p@ 131 \parsep\z@skip \itemsep\z@skip 132 } 133 \def\@listiii{% 134 \leftmargin\leftmarginiii 135 \labelwidth\leftmarginiii \advance\labelwidth-\labelsep 136 \topsep\z@skip \parsep\z@skip \itemsep\z@skip 137 }
127
An environment to encapsulate remarks relevant to old versions but not essential for the current version.
\newenvironment{histnote}{% \trivlist\item[\hspace{\labelsep}\bfseries Historical Note:]% 140 }{% 141 \endtrivlist 142 }
138 139
Make glossary commands a no-op for the moment. [mjd,1994/10/03] Provide a \secref command for section references.
*amsldoc \newcommand{\gloss}[1]{} 153 /amsldoc 154 \newcommand*{\secref}[1]{\S\ref{#1}}
151 152
We can write \qc{\%} to quote a single character in situations where \verb"%" would not work, mainly when text is read as a macro argument (e.g., footnotes).
\newcommand{\qc}[1]{}% check for prior definition \edef\qc#1{\noexpand\protect\expandafter\noexpand\csname qc \endcsname 157 \noexpand\protect#1}
155 156
For this function the rst argument is \protect and just needs to be discarded. The method for removing a leading backslash is to turn o \escapechar; this is more forgiving of variations like \qc{$}. If the argument is \ we print a cmtt visible-space character, .
158 159
\arg
\DeclareRobustCommand{\arg}[1]{{\ntt\##1}}
3. INDEXING PRIMITIVES
A We need to emulate the amsthm \qedsymbol for the AMS-L TEX users guide.
*amsldoc \newcommand{\openbox}{\leavevmode 166 \hbox to.77778em{% 167 \hfil\vrule 168 \vbox to.675em{\hrule width.6em\vfil\hrule}% 169 \vrule\hfil}} 170 \newcommand{\qedsymbol}{\openbox} 171 /amsldoc
164 165
amsldoc \def\mail{\texttt}
\def\ncn#1{{\let\index\@gobble\cn{#1}}}
\def\5{\penalty500 }
Environment for error message examples. Use \meaning to allow reading the error message text as an ordinary brace-delimited arg but still be able to print embedded braces; and rst change the backslash catcode to prevent extra spaces after control words.
*amsldoc \newenvironment{error}{% 187 \begingroup\catcode\\=12 \expandafter\endgroup\errora 188 }{% 189 \endtrivlist 190 }
185 186
\errorbullet is just an attempt at a simple graphic device that doesnt require any special fonts.
\newcommand{\errorbullet}{\rule[-.5pt]{2.5pt}{7.5pt}% \rule[-.5pt]{5pt}{2.5pt}\kern-2.5pt% 199 \rule[4.5pt]{2.5pt}{2.5pt}} 200 /amsldoc
197 198
\newcommand{\errexa}{\par\noindent\textit{Example}:\ } \newcommand{\errexpl}{\par\noindent\textit{Explanation}:\ }
The following section deals with book commands (part, chapter, frontmatter, . . . ).
203
Modications of sectioning commands from book.cls, mostly reducing font sizes and vertical spacing.
\renewcommand\frontmatter{\clearpage \@mainmatterfalse\pagenumbering{roman}} 206 \renewcommand\mainmatter{\clearpage 207 \@mainmattertrue\pagenumbering{arabic}} 208 \renewcommand\backmatter{\clearpage \@mainmatterfalse}
204 205
\renewcommand\part{\clearpage \thispagestyle{plain}% 211 \if@twocolumn 212 \onecolumn 213 \@tempswatrue 214 \else 215 \@tempswafalse 216 \fi 217 \hbox{}\vfil 218 \secdef\@part\@spart}
209 210
\def\@part[#1]#2{% \ifnum \c@secnumdepth >-2\relax 221 \refstepcounter{part}% 222 \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% 223 \else 224 \addcontentsline{toc}{part}{#1}% 225 \fi 226 \markboth{}{}% 227 {\centering 228 \interlinepenalty \@M 229 \reset@font 230 \ifnum \c@secnumdepth >-2\relax 231 \Large\bfseries \partname~\thepart 232 \par 233 \vskip 20\p@ 234 \fi 235 \Large \bfseries #2\par}% 236 \@endpart}
219 220
\def\@spart#1{% {\centering 239 \interlinepenalty \@M 240 \reset@font 241 \Large \bfseries #1\par}% 242 \@endpart} 243 \def\@endpart{\vfil\newpage 244 \if@twoside 245 \hbox{}% 246 \thispagestyle{empty}% 247 \newpage 248 \fi 249 \if@tempswa 250 \twocolumn 251 \fi} 252 /amsldoc
237 238
\renewcommand\chapter{\par \@afterindentfalse \secdef\@chapter\@schapter} 255 \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne 256 \if@mainmatter 257 \refstepcounter{chapter}% 258 \typeout{\@chapapp\space\thechapter.}% 259 \addcontentsline{toc}{chapter}% 260 {\protect\numberline{\thechapter}#1}% 261 \else 262 \addcontentsline{toc}{chapter}{#1}\fi 263 \else 264 \addcontentsline{toc}{chapter}{#1} 265 \fi 266 \chaptermark{#1}% 267 \addtocontents{lof}{\protect\addvspace{10\p@}}% 268 \addtocontents{lot}{\protect\addvspace{10\p@}}% 269 \if@twocolumn 270 \@topnewpage[\@makechapterhead{#2}]% 271 \else 272 \@makechapterhead{#2}% 273 \@afterheading 274 \fi}
253 254
\def\@makechapterhead#1{% \vspace{1.5\baselineskip}% 277 {\parindent \z@ \raggedright \reset@font 278 \ifnum \c@secnumdepth >\m@ne 279 \large\bfseries \@chapapp\space\thechapter 280 \par\nobreak 281 \vskip.5\baselineskip\relax 282 \fi 283 #1\par\nobreak 284 \vskip\baselineskip 285 }} 286 \def\@schapter#1{\if@twocolumn 287 \@topnewpage[\@makeschapterhead{#1}]% 288 \else 289 \@makeschapterhead{#1}% 290 \@afterheading 291 \fi} 292 \def\@makeschapterhead#1{% 293 \vspace*{1.5\baselineskip}% 294 {\parindent \z@ \raggedright 295 \reset@font 296 \large \bfseries #1\par\nobreak 297 \vskip\baselineskip 298 }}
275 276
Add Donald Arseneaus \@removefromreset; used to decouple the footnote counter from \chapter, since chapters here do not automatically start on a new page. [bnb, 1999/09/27]
\@removefromreset{FOO}{BAR} : Removes counter FOO from the list of counters \cl@BAR to be reset when counter BAR is stepped. The opposite of \@addtoreset. \def\@removefromreset#1#2{\let\@tempb\@elt \expandafter\let\expandafter\@tempa\csname c@#1\endcsname 301 \def\@elt##1{\expandafter\ifx\csname c@##1\endcsname\@tempa\else 302 \noexpand\@elt{##1}\fi}% 303 \expandafter\edef\csname cl@#2\endcsname{\csname cl@#2\endcsname}%
299 300
10
304 305
\let\@elt\@tempb} \@removefromreset{footnote}{chapter}
11
\@author \end{tabular}\par}% \vskip 1em% {\large \@date}% \end{center}% \par \uppercase\expandafter{\expandafter\toks@\expandafter{\@title}}% \edef\@tempa{\noexpand\markboth{\the\toks@}{\the\toks@}}% \@tempa \vskip 1.5em} /amsdtx
amsdtx \renewcommand{\thesection}{\arabic{section}}
12
Change the style of captions slightly. Also incorporate some caption improvements from Donald Arseneau (comp.text.tex, 11 Oct 1994).
\long\def\@makecaption#1#2{% \addvspace\abovecaptionskip 410 \begingroup 411 \countdef\@parcycles=8 % local count register 412 \@parcycles\z@ 413 \@setpar{\advance\@parcycles\@ne \ifnum\@parcycles>999 414 \@@par\@parcycles\z@\fi 415 \ifhmode \unskip\hskip\parfillskip\penalty-\@M\fi}% 416 \@hangfrom{\textbf{#1.} }\vadjust{\penalty\m@ne}#2% 417 \endgroup 418 \ifhmode\unpenalty\fi\par 419 \ifnum\lastpenalty=\m@ne % only one line in the caption 420 \unpenalty \setbox\@tempboxa\lastbox 421 \nointerlineskip 422 \hbox to\hsize{\hfill\unhbox\@tempboxa\unskip\hfill}% 423 \fi 424 \nobreak\vskip\belowcaptionskip 425 }
408 409
For table captions, assume top captions and so put space below the caption rather than above:
\renewenvironment{table}{% \belowcaptionskip\abovecaptionskip \abovecaptionskip\z@skip 428 \@float{table}% 429 }{% 430 \end@float 431 } 432 \renewenvironment{table*}{% 433 \belowcaptionskip\abovecaptionskip \abovecaptionskip\z@skip 434 \@dblfloat{table}% 435 }{% 436 \end@dblfloat 437 }
426 427
These control the placing of oating objects like tables and gures. The values A here, which are much more tolerant than the L TEX defaults, are more or less copied from amsclass.dtx.
\setcounter{topnumber}{4}\setcounter{bottomnumber}{4} \setcounter{totalnumber}{4}\setcounter{dbltopnumber}{4} 440 \renewcommand{\topfraction}{.97}\renewcommand{\bottomfraction}{.97} 441 \renewcommand{\textfraction}{.03}\renewcommand{\floatpagefraction}{.9} 442 \renewcommand{\dbltopfraction}{.97} 443 \renewcommand{\dblfloatpagefraction}{.9} 444 \setlength{\floatsep}{8pt plus6pt} 445 \setlength{\textfloatsep}{10pt plus8pt} 446 \setlength{\intextsep}{8pt plus6pt} 447 \setlength{\dblfloatsep}{8pt plus6pt} 448 \setlength{\dbltextfloatsep}{10pt plus8pt} 449 \setlength{\@fptop}{0pt}\setlength{\@fpsep}{8pt}% 450 \setlength{\@fpbot}{0pt plus 1fil} 451 \setlength{\@dblfptop}{0pt}\setlength{\@dblfpsep}{8pt}% 452 \setlength{\@dblfpbot}{0pt plus 1fil}
438 439 453
\pagestyle{headings}
13
Make |...| shorthand for verbatim fragments. In the case of the amsldoc class, we avoid requiring an extra package (doc or shortvrb), to reduce the possibility of package les not being found at run time.
*amsldoc \AtBeginDocument{\catcode\|=\active } 456 \def\activevert{\verb|} 457 \expandafter\gdef\expandafter\dospecials\expandafter 458 {\dospecials \do\|}% 459 \expandafter\gdef\expandafter\@sanitize\expandafter 460 {\@sanitize \@makeother\|} 461 \begingroup\catcode\|=\active \gdef|{\protect\activevert{}}\endgroup 462 /amsldoc
454 455
\arrayargpatch
If the column-specs arg of array or tabular contains a vert bar character, and we have made vert bars active, it will cause trouble. The following command, used in the ctab environment, prevents the trouble.
\newcommand{\arrayargpatch}{% \let\@oldarray\@array 465 \edef\@array[##1]##2{\catcode\number\|=\number\catcode\| 466 \catcode\number\@=\number\catcode\@ \relax 467 \let\noexpand\@array\noexpand\@oldarray 468 \noexpand\@array[##1]{##2}}% 469 \catcode\|=12 \catcode\@=12 \relax 470 }
463 464
ctab
Load doc package, reset \AltMacroFont to be the same as \MacroFont (when there are large sections of conditional code I think it looks better not to have it all slanted).
*amsdtx \RequirePackage{doc} 483 \def\AltMacroFont{\MacroFont}
481 482
\SpecialMainEnvIndex
Override doc.stys main environment indexing to get rid of the parens around environment, for compatibility with our \env command.
\def\SpecialMainEnvIndex#1{% \@bsphack 486 \special@index{% 487 #1\actualchar\string\texttt{#1} environment\encapchar main% 488 }% 489 \special@index{% 490 environments:\levelchar#1% 491 \actualchar\string\texttt{#1}% 492 \encapchar main}% 493 \@esphack 494 }
484 485
14
\SpecialEnvIndex
\def\SpecialEnvIndex#1{% \@bsphack 497 \index{#1\actualchar\string\texttt{#1} environment\encapchar usage}% 498 \index{% 499 environments:\levelchar#1% 500 \actualchar\string\texttt{#1}% 501 \encapchar usage}% 502 \@esphack 503 }
495 496
\DescribeOption \def\DescribeOption{% \leavevmode 506 \@bsphack 507 \begingroup 508 \MakePrivateLetters 509 \Describe@Option 510 }
504 505
\Describe@Option \def\Describe@Option#1{% \endgroup 513 \marginpar{\raggedleft\PrintDescribeOption{#1}}% 514 \SpecialOptionIndex{#1}% 515 \@esphack 516 \ignorespaces 517 }
511 512
\PrintDescribeOption
518
\option \def\option{% \let\SpecialMainEnvIndex\SpecialMainOptionIndex 521 \begingroup 522 \catcode\\12 523 \MakePrivateLetters \m@cro@ \iffalse}
519 520
\SpecialMainOptionIndex \def\SpecialMainOptionIndex#1{% \@bsphack 526 \special@index{#1\actualchar\string\texttt{#1} option\encapchar main}% 527 \@esphack 528 }
524 525
\SpecialOptionIndex
529
\def\SpecialOptionIndex{\@category@index{option}}
Ordinary \DocInput doesnt handle standardized le headers unless you enclose them in \iffalse . . . \fi which I dont care to do. So instead heres an alternate version of \DocInput, called \hDocInput.
530 531
\def\hDocInput#1{\MakePercentIgnore \begingroup
15
Dene active @ which should be the rst non-percent, non-equal-sign character when a le header is present. (If a le header is not present, \hDocInput should not be used.)
532 533 534 535 536 537 538 539
\begingroup \lccode\~=\@ \lowercase{\endgroup\long\def ~}##1##{% \catcode\==12 \skipfileheader{##1}}% \catcode\@=\active \catcode\==14 % comment \def\filename{#1}% \@@input#1 \MakePercentComment}
\def\skipfileheader#1#2 {\endgroup \hGetFileInfo#2 version = "??" date = "??"\@nil 540 \begingroup\catcode\==9 \catcode\ =9 \futurelet\0\endgroup 541 } \long\def\hGetFileInfo#1 version = "#2"#3 date = "#4"#5\@nil{% \def\fileversion{#2}\def\filedate{#4}} 544 /amsdtx
542 543
The usual \endinput to ensure that random garbage at the end of the le doesnt get copied by docstrip.
16
583
Index
\endinput
Index
Numbers written in italic refer to the page where the corresponding entry is described; numbers underlined refer to the code line of the denition; numbers in roman refer to the code lines where the entry is used.
Symbols \# . . . . . . . . . . . . . 163 \% . . . . . . . . . . . . . . . 4 \& . . . . . . . . . . 26, 161 \* . . . . . . . . . . . . . 174 \, . . . . . . . . . . . . . . 25 \- . . . . . . . . . . . . . . 25 \. . . . . . . . . . . . . . . 25 .dtx . . . . . . . . . . . . . . 1 .idx . . . . . . . . . . . . . . 3 \: . . . . . . . . . . . . . . 25 \; . . . . . . . . . . . . . . 25 \< . . . . . . . . . . . . . 119 \= . . . 25, 534, 535, 540 \@@input . . . . . . . . 537 \@addbslash . . . . 75, 76 \@afterheading 273, 290 \@afterindentfalse 253 \@array 464, 465, 467, 468 \@author . . . . 344, 356 \@bothoftwo . . . . 59, 63 \@boxorbreak . 4, 79, 84 \@category@index . . . . . . 66, 68, 529 \@chapapp 258, 279, 314 \@chapter . . . 254, 255 \@date . . . . . . . . . . 359 \@dblfloat . . . . . . 434 \@dblfpbot . . . . . . 452 \@dblfpsep . . . . . . 451 \@dblfptop . . . . . . 451 \@elt 299, 301, 302, 304 \@endpart 236, 242, 243 \@evenfoot . . . . . . 307 \@evenhead . . . . . . 308 \@firstofone . . . . . . 16 \@float . . . . . . . . . 428 \@fpbot . . . . . . . . . 450 \@fpsep . . . . . . . . . 449 \@fptop . . . . . . . . . 449 \@hangfrom . . . . . . 416 \@indexcs . 3, 54, 56, 87 \@listI . . . . . . . . . 125 \@listi . . 120, 125, 126 \@listii . . . . . . . . 127 \@listiii . . . . . . . 133 \@mainmatterfalse . . . . . . . 205, 208 \@mainmattertrue . 207 \@makecaption . . . . 408 \@makechapterhead . . . . 270, 272, 275 \@makefnmark . . . . . 325 \@makefntext . . . . . 326 \@makeother . . . . . . 460 \@maketitle . . . 330, 332, 337, 343, 346 \@minus . . . . . 122, 130 \@mkboth . . . . 310, 400 \@nobslash . . . . 3, 54, 76, 77, 78, 87 \@oddfoot . . . . . . . 307 \@oddhead . . . . . . . 309 \@oldarray . . 464, 467 \@parcycles . . . . . . 411, 412, 413, 414 \@part . . . . . . 218, 219 \@plus 122, 123, 130, 380, 385, 390, 402 \@removefromreset . . . . . 9, 299, 305 \@sanitize . . 459, 460 \@schapter . . 254, 286 \@setpar . . . . . . . . 413 \@spart . . . . . 218, 237 \@startsection . . . . . . . 379, 384, 389 \@starttoc . . 143, 375 \@tempboxa . . 420, 422 \@tempswafalse . . . 215 \@tempswatrue . . . . 213 \@thanks . . . . 339, 344 \@thefnmark . . 325, 327 \@title . . 344, 351, 362 \@topnewpage . 270, 287 \@topnum . . . . . . . . 336 \\ . . . . . . . 74, 187, 522 \^ . . . . . . . . . . . . . 551 \_ . . . . . . . . . . . . . 551 \| . . . . . . 455, 458, 460, 461, 465, 469 \~ . . . . . . . . . . 30, 532 Numbers \0 . . . . . . . . . . . . . 540 \5 . . . . . . . . . . . . . 184 A \abovecaptionskip . . . . 409, 427, 433 \activevert . . 456, 461 \actualchar . . . . . . 42, 57, 70, 487, 491, 497, 500, 526 \addbslash . . 4, 75, 86 \addcontentsline . . . . . 222, 224, 259, 262, 264, 399 \addtocontents 267, 268 \addvspace 267, 268, 409 \allowtthyphens . . 100 \AltMacroFont . 13, 483 \AmS . . . . . 109, 112, 114 amsclass.dtx . . . . . . 12 AMSDTX class . . . 2, 4, 6, 8, 10, 11, 12, 14 amsdtx class 1, 1, 1, 2, 10 amsdtx package . . . . . . 2 \amslatex . . . . . . . 112 AMSLDOC class . . 2, 4, 6, 8, 9, 10, 12, 14 amsldoc class . . . . . . . . . 1, 1, 2, 8, 13 amsldoc package . . . . . 2 \amstex . . . . . . . . . 114 amsthm package . . . . . . 7 \arabic . . . . . . . . . 407 \arg . . . . . . . . . . 6, 163 \arrayargpatch 463, 475 article.cls . . . . . . . 10 \AtBeginDocument 5, 455 \autoindex . . 6, 11, 49, 57, 69, 144, 396 B \backmatter . . . . . . 208 \belowcaptionskip . . . . 424, 427, 433 \bfseries . . . . 139, 231, 235, 241, 279, 296, 382, 383, 387, 388, 392 \BibTeX . . . . . . . . 2, 97 \bibtex . . . . . . . . . 115 book class . . . . . . . . . . 1 book.cls . . . . . . . . . . 8 \bottomfraction . . 440 \bslash . . . . . . . 4, 4, 4
Index
17
572, 573, 575, 576, 578, 579, \dospecials . . 574, 577, 580, 581 457, 458 I \if@mainmatter 256, 313 \if@restonecol 376, 405 \if@tempswa . . . . . . 249 \ifcodeline@index . . . . . . . 3, 47, 50 \iffalse . . . . . . . . . 14 \IfFileExists . . . . . 12 \index . . . . . . . . 50, 175, 176, 178, 181, 183, 497, 498 \indexcs . . . . . . . . . 53 \indexname . . . . . . 397, 398, 399, 400 \interlinepenalty . . . . . . . 228, 239 \intextsep . . . . . . 446 \itemsep . 123, 131, 136 K \kern . . . . . . .
\bslchar . . . . . 4, 4, 74, 76, 78, 181, 183 \bst . . . . . . . . . . . 2, 97 C \c@secnumdepth . . . . . . . 220, 230, 255, 278, 312, 318 \category@index . . 64, 91, 92, 93, 95, 96, 97, 98, 99 \centering 227, 238, 473 \chapter . . . . . . . . 1, 9 \chaptermark . 266, 311 \check@mathfonts . . 24 \clearpage . . . 204, 206, 208, 209, 405 \cls . . . . . . . . . . . 2, 91 \cn 2, 2, 4, 4, 7, 90, 178 \cnat . . . . . . . . . . . 182 \cnbang . . . . . . . . . 180 \cnt . . . . . . . . . . . 2, 98 \col@number . . . . . . 329 comp.text.tex . . . . . 12 \contentsname . . . . 374 \countdef . . . . . . . 411 \cs . . . . . . 2, 4, 83, 90 ctab environment . . 471 \CurrentOption . . . . . 9 D \dblfloatpagefraction . . . . . . . . . . . 443 \dblfloatsep . . . . . 447 \dbltextfloatsep . 448 \dbltopfraction . . 442 \DeclareOption . . . . . 9 \DeclareRobustCommand . . . . . . 19, 83, 91, 92, 93, 94, 95, 96, 97, 98, 99, 160, 161, 162, 163, 180, 182 \Describe@Option . . . . . . . . 509, 511 \DescribeOption . . 504 doc package 2, 4, 13, 13 doc.sty . . . . . . . . 3, 13 \DocInput . . . . . 14, 14 docstrip . . . . . . . . . 15 \DoNotIndex 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571,
E \encapchar . . . . . . . . 45, 50, 487, 492, 497, 501, 526 \end@dblfloat . . . . 436 \end@float . . . . . . 430 \endinput . . . . . . . . 15 \endtrivlist . . . . . . . . . 141, 189, 479 \enspace . . . . . . . . 193 \env . . . . . . 2, 13, 94, 95 environments: ctab . . . . . . . . . 471 \errexa . . . . . . . . . 201 \errexpl . . . . . . . . 202 \errora . . . . . 187, 191 \errorbullet 7, 193, 197 \escapechar . . . . 6, 159 \exhyphenpenalty 38, 39 F \fi . . . . . . . . . . . . . 14 \filename . . . . . . . 536 \floatpagefraction 441 \floatsep . . . . . . . 444 \fn . . . . . . . . . . . 2, 96 \fnsymbol . . . . . . . 324 \fnt . . . . . . . . . . . 2, 99 \font . . . . . . . . . . . . 24 \fontencoding . . . . 101 \fontfamily . . . . . . 101 \footnotesize . . . . . 10 \frenchspacing . . . 194 \frontmatter . . . . . 204 G \gloss . . . . . . . . . . 152 H \hbadness . . . . . . . 108 \hbox . . . . . . . 4, 81, 110, 166, 217, 245, 325, 327, 422 \hDocInput . 14, 15, 530 \hfil 167, 169, 308, 309 \hfill . . . . . . . . . . 422 \hfuzz . . . . . . . . . . 107 \hGetFileInfo 539, 542 \hrule . . . . . . . . . . 168 \hspace . . . . . 139, 222 \hss . . . . . . . . 325, 327 \hyphenation . . . . . . . 5 \hyphenpenalty . . . . 31
110, 198
L \labelsep . . . . . . . 129, 135, 139, 193 \labelwidth . . 129, 135 \langle . . . . . . . . . 119 \LARGE . . . . . . . . . . 351 \Large 231, 235, 241, 382 \large . . . . . . . 279, 296, 353, 359, 387 \lastbox . . . . . . . . 420 \lastpenalty . . . . . 419 \lastskip . . . . . . . . 81 \LaTeX . . . . . 2, 111, 112 \latex . . . . . . . . . . 111 \latex/ . . . . . . . . . . . 2 \lccode . . . . . . 30, 532 \leftmargin 121, 128, 134 \leftmargini . . . . . 121 \leftmarginii 128, 129 \leftmarginiii 134, 135 \leftmark . . . . . . . 308 \levelchar 44, 490, 499 \LoadClass . . . . . . . 11 \long . . . . . . . . . . . . . 4 \lower . . . . . . . . . . 110 \lowercase . . . 30, 533 M \m@cro@ . . . . . . . . . 523 \m@ne . . . . 159, 255, 278, 312, 416, 419 \m@th . . . . . . . 325, 327 \MacroFont 13, 483, 518 \mail . . . . . . . . . . . 172 \mainmatter . . . . . . 206 makeindex . . . . . . . . . 2 \makeindex . . . . . . . . 5 \makeindx . . . . . . . 116
18
\MakePercentComment 537 \MakePercentIgnore 530 \MakePrivateLetters . . . . . . . 508, 523 \maketitle 1, 10, 322, 343 \marginpar . . . . . . 513 \markboth . . . . . . . 226, 310, 312, 363 \markright . . . . . . 318 \mathchar . . . . . . . . 31 \mathcode . . . . . 29, 34 \mbox . . . . . . . . . . . 117 \mdash . . . . . . . . . . . 38 \meaning . . . 7, 21, 195 \medskipamount . . . 472 N \ncn . . . . . 178, 181, 183 \ndash . . . . . . . . . . . 39 \NeedsTeXFormat . . . . 1 \newcommand . . . . . . . . 4 \newif . . . . . . . . . . . 47 \nobslash . . . . . . . . 77 \noindent 201, 202, 326 \nointerlineskip . 421 \normalfont . . . . . . . 52 \normalsize 383, 388, 392 \ntt . . . . . . . . . . 52, 65, 85, 94, 158, 163, 181, 183, 194 \null . . . . . . . . . . . 348 \number . . . 31, 465, 466 \numberline . . . . . . 260 O \onecolumn 212, 370, 405 \openbox . . . . 165, 170 \opt . . . . . . . . . . . 2, 93 \option . . . . . . . . . 519 \OT1cmtt+ . . . . . . . . . 5 OT1/cmtt . . . . . . . . . . 5 P \pagenumbering 205, 207 \pagestyle . . . . . . 453 \parsep . . 123, 131, 136 \part . . . . . . . . . . . 209 \partname . . . . . . . 231 \PassOptionsToClass . 9 \pkg . . . . . . . . . . . 2, 92 \PrintDescribeOption . . . . . . . 513, 518 \ProcessOptions . . . 10 \protect . . . . . . . . . . 6 \ProvidesClass . 1, 4, 7 \ps@headings . . . . . 306 Q . . 2, 155, 160, 161, 162 . . . . . . . 161 . . . 160, 183 . . . 162, 181 . . . . 7, 170 . . . . . . . . 37 . . . . 43, 58
Index
R \raggedleft . . . . . . 513 \raggedright . 277, 294 \rangle . . . . . . . . . 119 \ref . . . . . . . . . . . . 154 \refstepcounter 221, 257 \RequirePackage 13, 482 \reset@font 229, 240, 277, 295, 382, 383, 387, 388, 392 \rightmark . . . . . . 309 \rule . . . . 197, 198, 199 S \S . . . . . . . . . . . . . 154 \secdef . . . . . 218, 254 \secref . . . . . . . 6, 154 \sectionmark . . . . . 317 \setbox . . . . . . . . . 420 \setcounter 341, 438, 439 \setlength 444, 445, 446, 447, 448, 449, 450, 451, 452 shortvrb package . . . 13 \skipfileheader 534, 538 \special@index . . . . . . . 486, 489, 526 \SpecialEnvIndex 94, 495 \SpecialMainEnvIndex . . . . . . . 484, 520 \SpecialMainOptionIndex . . . . . . . 520, 524 \SpecialOptionIndex . . . . . . . 514, 529 \strip@prefix . 21, 195 \strut . . . . . . . . . . 518 \subsection . . 374, 384 \subsubsection . . . 389
T \tableofcontents . . . 6 \TeX . . . 2, 113, 114, 115 \tex . . . . . . . . . . . . 113 \textbf . . . . . . . . . 416 \textemdash . . . . . . . 38 \textendash . . . . . . . 39 \textfloatsep . . . . 445 \textfont . . . . . . . . 24 \textfraction . . . . 441 \textit 118, 119, 201, 202 \textquotedblleft . 37 \textquotedblright . 37 \texttt . . . . . . . 21, 70, 172, 487, 491, 497, 500, 526 \Textures . . . . . . . 118 \thanks . . . . . . . . . 342 \thechapter . . . . 11, 258, 260, 279, 314 \thefootnote . . . . . 324 \thepart . . . . 222, 231 \thesection 11, 319, 407 \topfraction . . . . . 440 \topsep 122, 130, 136, 472 \trivlist 139, 192, 473 \try@load@fontshape . . . . . . . 5, 5, 103 \ttfamily . . . . . . . . 52 \typeout . . . . . . . . 258 U .. . .. .. .. .. .. ..
. . . . . . . .
V \vadjust . . . . . . . . 416 \vbadness . . . . . . . 108 \verb . . . . . . 2, 58, 456 \verbatimchar 46, 58, 60 \vfil . . . . 168, 217, 243 \vspace . . . . . 276, 293 X \xypic . . . . . . . . . . 117