summaryrefslogtreecommitdiff
path: root/obsolete/info/latex-help-texinfo/latex.texi
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /obsolete/info/latex-help-texinfo/latex.texi
Initial commit
Diffstat (limited to 'obsolete/info/latex-help-texinfo/latex.texi')
-rw-r--r--obsolete/info/latex-help-texinfo/latex.texi5713
1 files changed, 5713 insertions, 0 deletions
diff --git a/obsolete/info/latex-help-texinfo/latex.texi b/obsolete/info/latex-help-texinfo/latex.texi
new file mode 100644
index 0000000000..b187b6261b
--- /dev/null
+++ b/obsolete/info/latex-help-texinfo/latex.texi
@@ -0,0 +1,5713 @@
+\input texinfo @c -*-texinfo-*-
+
+
+@tex
+\gdef\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em%
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX\kern.125em}}
+@end tex
+
+@comment %**start of header (This is for running Texinfo on a region.)
+@setfilename ../info/latex
+@ifinfo
+@settitle LaTeX help 1.1
+@end ifinfo
+@iftex
+@settitle @LaTeX help 1.1
+@end iftex
+@comment %**end of header (This is for running Texinfo on a region.)
+
+@iftex
+@finalout
+@end iftex
+
+@ifinfo
+This file documents LaTeX, a document preparation system. LaTeX is a
+macro package for TeX.
+
+This is edition 1.1 of the LaTeX documentation, and is for the Texinfo
+that is distributed as part of Version 18 of GNU Emacs. It uses version
+2.90 of the texinfo.tex input file.
+
+This is translated from LATEX.HLP v1.0a in the VMS Help Library. The
+pre-translation version was written by George D. Greenwade of Sam
+Houston State University.
+
+
+Copyright 1988,1994 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+@ignore
+Permission is granted to process this file through TeX and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+@end ignore
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the entire
+resulting derived work is distributed under the terms of a permission
+notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that the sections entitled ``Distribution'' and ``General Public
+License'' may be included in a translation approved by the author instead
+of in the original English.
+@end ifinfo
+
+@setchapternewpage odd
+@titlepage
+@sp 11
+
+@comment A hack to get the LaTeX logo to appear big in the title.
+
+@tex
+\font\tempA = cmr10 scaled \magstep4
+\font\tempB = cmr8 scaled \magstep4
+\centerline{\tempA L\kern-.36em\raise.3ex\hbox{\tempB A}\kern-.15em%
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
+@end tex
+@sp 2
+@center The macro package for @TeX
+@sp 2
+@center by
+@center Leslie Lamport.
+@sp 2
+@center Edition 1.1
+@sp 2
+@center July 1993
+
+@comment Include the Distribution inside the titlepage environment so
+@comment that headings are turned off.
+
+@page
+@vskip 0pt plus 1filll
+
+This is edition 1.1 of the @LaTeX documentation, and is for the Texinfo
+that is distributed as part of Version 18 of GNU Emacs. It uses version
+2.90 of the @file{texinfo.tex} input file.
+
+This is translated from LATEX.HLP v1.0a in the VMS Help Library.
+This pre-translation version was written by George D. Greenwade of
+Sam Houston State University. It has been edited to this form by Paul
+Nothard of Edinburgh University.
+
+The original (latex.texi and latex2.texi) was distributed by
+Stephen Gilmore, stg@dcs.ed.ac.uk, August 26th 1993.
+
+Version 1.1 was made by Piet van Oostrum <piet@cs.ruu.nl> on Dec 14,
+1993 by merging and cleaning up latex.texi and latex2.texi.
+
+@sp 2
+
+This Texinfo file may be copied and distributed in accordance with the
+usual copying permissions of the Free Software Foundation. These
+permissions are given in the General Public License section of the ``GNU
+Emacs Manual''. This software comes with NO WARRANTY.
+
+@sp 2
+
+Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that the sections entitled ``Distribution'' and ``General Public
+License'' may be included in a translation approved by the author
+instead of in the original English.
+@end titlepage
+
+@node Top, License, (dir), (dir)
+
+@menu
+
+* License:: Licensing information.
+* Overview:: What is LaTeX?
+* Commands:: Commands within a LaTeX document.
+* Parameters:: The command line.
+
+also available...
+
+* List of Commands:: An alphabetical list of all LaTex commands.
+* Index:: An alphabetical "Concept Index".
+
+@end menu
+
+@comment ****************************************
+@comment *************** LICENSE ****************
+@comment ****************************************
+
+@comment LEVEL1
+@node License, Overview, Top, Top
+@comment node-name, next, previous, up
+@unnumbered Licensing Information
+
+ The programs currently being distributed that relate to Texinfo
+include two portions of GNU Emacs, plus two other separate programs
+(@code{texindex} and @code{texinfo.tex}). These programs are
+@dfn{free}; this means that everyone is free to use them and free to
+redistribute them on a free basis. The Texinfo related programs are not
+in the public domain; they are copyrighted and there are restrictions on
+their distribution, but these restrictions are designed to permit
+everything that a good cooperating citizen would want to do. What is
+not allowed is to try to prevent others from further sharing any version
+of these programs that they might get from you.
+
+ Specifically, we want to make sure that you have the right to give
+away copies of the programs that relate to Texinfo, that you receive
+source code or else can get it if you want it, that you can change these
+programs or use pieces of them in new free programs, and that you know
+you can do these things.
+
+ To make sure that everyone has such rights, we have to forbid you to
+deprive anyone else of these rights. For example, if you distribute
+copies of the Texinfo related programs, you must give the recipients all
+the rights that you have. You must make sure that they, too, receive or
+can get the source code. And you must tell them their rights.
+
+ Also, for our own protection, we must make certain that everyone finds
+out that there is no warranty for the programs that relate to Texinfo.
+If these programs are modified by someone else and passed on, we want
+their recipients to know that what they have is not what we distributed,
+so that any problems introduced by others will not reflect on our
+reputation.
+
+ The precise conditions of the licensees for the programs currently
+being distributed that relate to Texinfo are found in the General Public
+Licensees that accompany them. The programs that are part of GNU Emacs
+are covered by the GNU Emacs copying terms (@pxref{License, , , emacs,
+The GNU Emacs Manual}),
+and other programs are covered by licensees that are contained in their
+source files.
+
+
+@comment ****************************************
+@comment ************** OVERVIEW ****************
+@comment ****************************************
+
+@comment LEVEL1
+@node Overview, Commands, License, Top
+@comment node-name, next, previous, up
+
+@ifinfo
+@chapter Overview of LaTeX and Local Guide
+
+The LaTeX command typesets a file of text using the TeX program and the
+LaTeX Macro package for TeX. To be more specific, it processes an input
+file containing the text of a document with interspersed commands that
+describe how the text should be formatted. It produces at least three
+files as output:
+@enumerate
+@item
+A "Device Independent", or @file{.dvi} file. This contains commands that
+can be translated into commands for a variety of output devices. You
+can view the output of LaTeX by using a program such as @code{xdvi},
+which actually uses the @file{.dvi} file.
+@item
+A "transcript" or @file{.log} file that contains summary information and
+diagnostic messages for any errors discovered in the input file.
+@item
+An "auxiliary" or @file{.aux} file. This is used by LaTeX itself, for
+things such as sectioning.
+@end enumerate
+
+For a description of what goes on inside TeX, you should consult
+@cite{The TeXbook} by Donald E. Knuth, ISBN 0-201-13448-9, published
+jointly by the American Mathematical Society and Addison-Wesley
+Publishing Company.
+
+For a description of LaTeX, you should consult:
+
+@cite{LaTeX: A Document Preparation System}, by Leslie Lamport, ISBN
+0-201-15790-X, published jointly by the American Mathematical Society
+and Addison-Wesley Publishing Company, 1985.
+
+@cite{LaTeX for Engineers & Scientists}, by David J. Buerger, ISBN
+0-07-008845-4, McGraw-Hill, 1990.
+
+@cite{The LaTeX Cookbook}, by F. Teagle, Informatics Department,
+Rutherford Appelton Laboratory, Chilton, Didcot, Oxon, OX11 0QX, 1991.
+
+@cite{LaTeX for Everyone}, by Jane Hahn, available from PCTeX in
+California, and from the TeX Users Group, 1991.
+
+@cite{LaTeX Line by Line: Tips and Techniques for Document Processing}
+by Antoni Diller, Chichester: John Wiley and Sons, 1992.
+
+@cite{A Guide to LaTeX}, by Helmut Kopka and Patrick Daly,
+Addison-Wesley, 1992.
+
+@end ifinfo
+
+@iftex
+@chapter Overview of @LaTeX and Local Guide
+@cindex Overview of @LaTeX
+@cindex @LaTeX overview
+
+The @LaTeX command typesets a file of text using the @TeX@ program and the
+@LaTeX Macro package for @TeX. To be more specific, it processes an input
+file containing the text of a document with interspersed commands that
+describe how the text should be formatted. It produces at least three
+files as output:
+@enumerate
+@item
+A "Device Independent", or @file{.dvi} file. This contains commands that
+can be translated into commands for a variety of output devices. You
+can view the output of @LaTeX by using a program such as @code{xdvi},
+which actually uses the @file{.dvi} file.
+@item
+A "transcript" or @file{.log} file that contains summary information and
+diagnostic messages for any errors discovered in the input file.
+@item
+An "auxiliary" or @file{.aux} file. This is used by @LaTeX itself, for
+things such as sectioning.
+@end enumerate
+
+For a description of what goes on inside @TeX, you should consult
+@cite{The @TeX book} by Donald E. Knuth, ISBN 0-201-13448-9, published
+jointly by the American Mathematical Society and Addison-Wesley
+Publishing Company.
+
+For a description of @LaTeX, you should consult:
+
+@cite{@LaTeX: A Document Preparation System}, by Leslie Lamport, ISBN
+0-201-15790-X, published jointly by the American Mathematical Society
+and Addison-Wesley Publishing Company, 1985.
+
+@cite{@LaTeX for Engineers & Scientists}, by David J. Buerger, ISBN
+0-07-008845-4, McGraw-Hill, 1990.
+
+@cite{The @LaTeX Cookbook}, by F. Teagle, Informatics Department,
+Rutherford Appelton Laboratory, Chilton, Didcot, Oxon, OX11 0QX, 1991.
+
+@cite{@LaTeX for Everyone}, by Jane Hahn, available from PC@TeX in
+California, and from the @TeX@ Users Group, 1991.
+
+@cite{@LaTeX Line by Line: Tips and Techniques for Document Processing}
+by Antoni Diller, Chichester: John Wiley and Sons, 1992.
+
+@cite{A Guide to @LaTeX}, by Helmut Kopka and Patrick Daly,
+Addison-Wesley, 1992.
+
+@end iftex
+
+
+@comment ****************************************
+@comment ************** COMMANDS ****************
+@comment ****************************************
+
+@comment LEVEL1
+@node Commands, Counters, Overview, Top
+@comment node-name, next, previous, up
+@chapter Commands
+
+@ifinfo
+A LaTeX command begins with the command name, which consists of a
+@code{\} followed by either (a) a string of letters or (b) a single
+non-letter. Arguments contained in square brackets, @code{[]}, are
+optional while arguments contained in braces, @code{@{@}}, are required.
+
+NOTE: LaTeX is case sensitive. Enter all commands in lower case
+unless explicitly directed to do otherwise.
+@end ifinfo
+
+@iftex
+A @LaTeX command begins with the command name, which consists of a
+@code{\} followed by either (a) a string of letters or (b) a single
+non-letter. Arguments contained in square brackets, @code{[]}, are
+optional while arguments contained in braces, @code{@{@}}, are required.
+
+NOTE: @LaTeX is case sensitive. Enter all commands in lower case
+unless explicitly directed to do otherwise.
+@end iftex
+
+@menu
+* Counters:: Information on internal counters.
+* Cross References:: Automatic referencing.
+* Definitions:: Define your own commands etc.
+* Document Styles:: Some of the various styles available.
+* Environments:: Such as enumerate & itemize.
+* Footnotes:: How to produce footnotes.
+* Lengths:: The length commands.
+* Letters:: The letter style.
+* Line & Page Breaking:: How do insert pagebreaks etc.
+* Making Paragraphs:: Paragraph commands.
+* Math Formulae:: How to create mathematical formulae.
+* Modes:: Paragraph, Math or LR modes.
+* Page Styles:: Various styles of page layout.
+* Sectioning:: How to section properly.
+* Spaces & Boxes:: All the associated commands.
+* Special Characters:: Special reserved characters.
+* Splitting the Input:: Dealing with big files by splitting.
+* Starting & Ending:: The formal start & end layouts.
+* Table of Contents:: How to create a table of contents.
+* Terminal Input/Output:: User interaction.
+* Typefaces:: Such as bold, italics etc.
+
+@end menu
+
+
+@comment ***************************************
+@comment **** Command's LEVEL2 Starts Here. ****
+@comment ***************************************
+
+@comment *************************
+@comment ******* Counters ********
+@comment *************************
+
+@comment LEVEL2
+@node Counters, \addtocounter, Commands, Commands
+@comment node-name, next, previous, up
+@section Counters
+@cindex Counters, a list of
+@cindex Variables, a list of... (see also Counters)
+
+@ifinfo
+Everything LaTeX numbers for you has a counter associated with it. The
+name of the counter is the same as the name of the environment or
+command that produces the number, except with no @code{\}. (enumi -
+enumiv are used for the nested enumerate environment.) Below is a list
+of the counters used in LaTeX's standard document styles to control
+numbering.
+@end ifinfo
+
+@iftex
+Everything @LaTeX numbers for you has a counter associated with it. The
+name of the counter is the same as the name of the environment or
+command that produces the number, except with no @code{\}. (enumi -
+enumiv are used for the nested enumerate environment.) Below is a list
+of the counters used in @LaTeX 's standard document styles to control
+numbering.
+@end iftex
+
+@example
+ part paragraph figure enumi
+ chapter subparagraph table enumii
+ section page footnote enumiii
+ subsection equation mpfootnote enumiv
+ subsubsection
+@end example
+
+@menu
+* \addtocounter::
+* \alph::
+* \arabic::
+* \fnsymbol::
+* \newcounter::
+* \roman::
+* \setcounter::
+* \usecounter::
+* \value::
+
+@end menu
+
+@comment *******************
+@comment ** \addtocounter **
+@comment *******************
+
+@comment LEVEL3
+@node \addtocounter, \alph, Counters, Counters
+@comment node-name, next, previous, up
+@subsection \addtocounter
+@cindex Counters, adding to
+
+@code{\addtocounter@{counter@}@{value@}}
+
+The @code{\addtocounter} command increments the @code{counter} by the
+amount specified by the @code{value} argument. The @code{value}
+argument can be negative.
+
+
+@comment ************
+@comment ** \alph ***
+@comment ************
+
+@comment LEVEL3
+@node \alph, \arabic, \addtocounter, Counters
+@comment node-name, next, previous, up
+@subsection \alph
+
+@code{\alph@{counter@}}
+
+This command causes the value of the @code{counter} to be printed in
+alphabetic characters. The @code{\alph} command causes lower case
+alphabetic alphabetic characters, i.e., @code{a, b, c...} while the
+@code{\Alph} command causes upper case alphabetic characters, i.e.,
+@code{A, B, C...}.
+
+
+@comment **************
+@comment ** \arabic ***
+@comment **************
+
+@comment LEVEL3
+@node \arabic, \fnsymbol, \alph, Counters
+@comment node-name, next, previous, up
+@subsection \arabic
+
+@code{\arabic@{counter@}}
+
+The @code{\arabic} command causes the value of the @code{counter} to be
+printed in arabic numbers, i.e., @code{3}.
+
+
+@comment ***************
+@comment ** \fnsymbol **
+@comment ***************
+
+@comment LEVEL3
+@node \fnsymbol, \newcounter, \arabic, Counters
+@comment node-name, next, previous, up
+@subsection \fnsymbol
+
+@code{\fnsymbol@{counter@}}
+
+The @code{\fnsymbol} command causes the value of the @code{counter} to
+be printed in a specific sequence of nine symbols that can be used for
+numbering footnotes.
+
+@iftex
+eg. From 1-9:
+@tex
+$\ast$ $\dagger$ $\ddagger$ $\S$ $\P$ $\parallel$ $\ast \ast$ $\dagger
+\dagger$ $\ddagger \ddagger$
+@end tex
+@end iftex
+
+
+NB. @code{counter} must have a value between 1 and 9 inclusive.
+
+
+@comment *****************
+@comment ** \newcounter **
+@comment *****************
+
+@comment LEVEL3
+@node \newcounter, \roman, \fnsymbol, Counters
+@comment node-name, next, previous, up
+@subsection \newcounter
+@cindex Counters, creating
+
+@code{\newcounter@{foo@}[counter]}
+
+The @code{\newcounter} command defines a new counter named @code{foo}.
+The optional argument @code{[counter]} causes the counter @code{foo} to
+be reset whenever the counter named in the optional argument is
+incremented.
+
+
+@comment ************
+@comment ** \roman **
+@comment ************
+
+@comment LEVEL3
+@node \roman, \setcounter, \newcounter, Counters
+@comment node-name, next, previous, up
+@subsection \roman
+
+@code{\roman@{counter@}}
+
+This command causes the value of the @code{counter} to be printed in
+roman numerals. The @code{\roman} command causes lower case roman
+numerals, i.e., @code{i, ii, iii...}, while the @code{\Roman} command
+causes upper case roman numerals, i.e., @code{I, II, III...}.
+
+
+@comment *****************
+@comment ** \setcounter **
+@comment *****************
+
+@comment LEVEL3
+@node \setcounter, \usecounter, \roman, Counters
+@comment node-name, next, previous, up
+@subsection \setcounter
+@cindex Counters, setting
+
+@code{\setcounter@{counter@}@{value@}}
+
+The @code{\setcounter} command sets the value of the @code{counter} to
+that specified by the @code{value} argument.
+
+
+@comment *****************
+@comment ** \usecounter **
+@comment *****************
+
+@comment LEVEL3
+@node \usecounter, \value, \setcounter, Counters
+@comment node-name, next, previous, up
+@subsection \usecounter
+@cindex Counters, use of
+@cindex Using Counters
+
+@code{\usecounter@{counter@}}
+
+The @code{\usecounter} command is used in the second argument of the
+@code{list} environment to allow the counter specified to be used to
+number the list items.
+
+
+@comment ************
+@comment ** \value **
+@comment ************
+
+@comment LEVEL3
+@node \value, Cross References, \usecounter, Counters
+@comment node-name, next, previous, up
+@subsection \value
+@cindex Counters, use of
+@cindex Using Counters
+
+@code{\value@{counter@}}
+
+@ifinfo
+The @code{\value} command produces the value of the @code{counter} named
+in the mandatory argument. It can be used where LaTeX expects an
+integer or number, such as the second argument of a @code{\setcounter}
+or @code{\addtocounter} command, or in:
+@end ifinfo
+
+@iftex
+The @code{\value} command produces the value of the @code{counter} named
+in the mandatory argument. It can be used where @LaTeX expects an
+integer or number, such as the second argument of a @code{\setcounter}
+or @code{\addtocounter} command, or in:
+@end iftex
+
+@example
+ \hspace@{\value@{foo@}\parindent@}
+@end example
+
+It is useful for doing arithmetic with counters.
+
+@page
+
+@comment *************************
+@comment **** Cross References ***
+@comment *************************
+
+@comment LEVEL2
+@node Cross References, \label, \value, Commands
+@comment node-name, next, previous, up
+@section Cross References
+@cindex Cross referencing
+
+One reason for numbering things like figures and equations is to refer
+the reader to them, as in "See Figure 3 for more details."
+
+@menu
+* \label::
+* \pageref::
+* \ref::
+@end menu
+
+@comment *************************
+@comment **** \label *************
+@comment *************************
+
+@comment LEVEL3
+@node \label, \pageref, Cross References, Cross References
+@comment node-name, next, previous, up
+@subsection \label
+@cindex Cross referencing
+
+@code{\label@{key@}}
+
+A @code{\label} command appearing in ordinary text assigns to the
+@code{key} the number of the current sectional unit; one appearing
+inside a numbered environment assigns that number to the @code{key}.
+
+A @code{key} can consist of any sequence of letters, digits, or
+punctuation characters. Upper and lowercase letters are different.
+
+
+@comment *************************
+@comment **** \pageref ***********
+@comment *************************
+
+@comment LEVEL3
+@node \pageref, \ref, \label, Cross References
+@comment node-name, next, previous, up
+@subsection \pageref
+@cindex Cross referencing
+
+@code{\pageref@{key@}}
+
+The @code{\pageref} command produces the page number of the place in the
+text where the corresponding @code{\label} command appears. ie. where
+@code{\label@{key@}} appears.
+
+
+@comment *************************
+@comment **** \ref ***************
+@comment *************************
+
+@comment LEVEL3
+@node \ref, Definitions, \pageref, Cross References
+@comment node-name, next, previous, up
+@subsection \ref
+@cindex Cross referencing
+
+@code{\ref@{key@}}
+
+The @code{\ref} command produces the number of the sectional unit,
+equation number, ... of the corresponding @code{\label} command.
+
+@page
+
+@comment *************************
+@comment **** Definitions ********
+@comment *************************
+
+@comment LEVEL2
+@node Definitions, \newcommand, \ref, Commands
+@comment node-name, next, previous, up
+@section Definitions
+
+@menu
+* \newcommand::
+* \newenvironment::
+* \newtheorem::
+* \newfont::
+@end menu
+
+
+@comment *************************
+@comment **** \newcommand ********
+@comment *************************
+
+@comment LEVEL3
+@node \newcommand, \newenvironment, Definitions, Definitions
+@comment node-name, next, previous, up
+@subsection \newcommand
+@cindex Commands, defining new ones
+@cindex Defining a new command
+
+@example
+ \newcommand@{cmd@}[args]@{def@}
+ \renewcommand@{cmd@}[args]@{def@}
+@end example
+
+These commands define (or redefine) a command.
+
+@table @code
+@item cmd
+A command name beginning with a @code{\}. For @code{\newcommand} it
+must not be already defined and must not begin with @code{\end}; for
+@code{\renewcommand} it must already be defined.
+
+@item args
+An integer from 1 to 9 denoting the number of arguments of the command
+being defined. The default is for the command to have no arguments.
+
+@item def
+The text to be substituted for every occurrence of @code{cmd}; a
+parameter of the form @code{#n} in @code{cmd} is replaced by the text of
+the nth argument when this substitution takes place.
+
+@end table
+
+
+@comment *************************
+@comment **** \newenvironment ****
+@comment *************************
+
+@comment LEVEL3
+@node \newenvironment, \newtheorem, \newcommand, Definitions
+@comment node-name, next, previous, up
+@subsection \newenvironment
+@cindex Environments, defining
+@cindex Defining new environments
+
+@example
+ \newenvironment@{nam@}[args]@{begdef@}@{enddef@}
+ \renewenvironment@{nam@}[args]@{begdef@}@{enddef@}
+@end example
+
+These commands define or redefine an environment.
+
+@table @code
+@item nam
+The name of the environment. For @code{\newenvironment} there must be
+no currently defined environment by that name, and the command
+@code{\nam} must be undefined. For @code{\renewenvironment} the
+environment must already be defined.
+
+@item args
+An integer from 1 to 9 denoting the number of arguments of
+the newly-defined environment. The default is no arguments.
+
+@item begdef
+The text substituted for every occurrence of @code{\begin@{nam@}}; a
+parameter of the form @code{#n} in @code{cmd} is replaced by the text of
+the nth argument when this substitution takes place.
+
+@item enddef
+The text substituted for every occurrence of @code{\end@{nam@}}. It may
+not contain any argument parameters.
+
+@end table
+
+
+@comment *************************
+@comment **** \newtheorem ********
+@comment *************************
+
+@comment LEVEL3
+@node \newtheorem, \newfont, \newenvironment, Definitions
+@comment node-name, next, previous, up
+@subsection \newtheorem
+@cindex Theorems, defining
+@cindex Defining new theorems
+
+@example
+ \newtheorem@{env_name@}@{caption@}[within]
+ \newtheorem@{env_name@}[numbered_like]@{caption@}
+@end example
+
+This command defines a theorem-like environment.
+
+@table @code
+@item env_name
+The name of the environment to be defined. A string of letters. It must
+not be the name of an existing environment or counter.
+
+@item caption
+The text printed at the beginning of the environment, right before the
+number. This may simply say "Theorem", for example.
+
+@item within
+The name of an already defined counter, usually of a sectional unit.
+Provides a means of resetting the new theorem counter @strong{within}
+the sectional unit.
+
+@item numbered_like
+The name of an already defined theorem-like environment.
+
+@end table
+
+The @code{\newtheorem} command may have at most one optional argument.
+
+
+@comment *************************
+@comment **** \newfont ***********
+@comment *************************
+
+@comment LEVEL3
+@node \newfont, Document Styles, \newtheorem, Definitions
+@comment node-name, next, previous, up
+@subsection \newfont
+@cindex Fonts, new commands for
+@cindex Defining new fonts
+
+@code{\newfont@{cmd@}@{font_name@}}
+
+Defines the command name @code{cmd}, which must not be currently
+defined, to be a declaration that selects the font named
+@code{font_name} to be the current font.
+
+@page
+
+@comment *************************
+@comment **** Document Styles ****
+@comment *************************
+
+@comment LEVEL2
+@node Document Styles, \flushbottom, \newfont, Commands
+@comment node-name, next, previous, up
+@section Document Styles
+@cindex Document Styles
+@cindex Styles of document
+@cindex article style
+@cindex report style
+@cindex book style
+@cindex letter style
+
+@ifinfo
+Valid LaTeX document styles include:
+@end ifinfo
+
+@iftex
+Valid @LaTeX document styles include:
+@end iftex
+
+@itemize @bullet
+@item
+article
+@item
+report
+@item
+letter
+@item
+book
+@end itemize
+
+Other document styles are often available. @xref{Overview}, for details.
+They are selected with the following command:
+
+@code{\documentstyle [options] @{style@}}
+
+The options for the different styles are:
+
+@enumerate
+@item
+@code{article} - 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno, acm
+@item
+@code{report} - 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno, acm
+@item
+@code{letter} - 11pt, 12pt, fleqn, leqno, acm
+@item
+@code{book} - 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno
+@end enumerate
+
+If you specify more than one option, they must be separated by a comma.
+
+@menu
+* \flushbottom::
+* \onecolumn::
+* \raggedbottom::
+* \twocolumn::
+@end menu
+
+
+@comment *************************
+@comment **** \flushbottom *******
+@comment *************************
+
+@comment LEVEL3
+@node \flushbottom, \onecolumn, Document Styles, Document Styles
+@comment node-name, next, previous, up
+@subsection \flushbottom
+
+The @code{\flushbottom} declaration makes all text pages the same
+height, adding extra vertical space when necessary to fill out the page.
+
+This is the standard for the book style.
+
+
+@comment *************************
+@comment **** \onecolumn *********
+@comment *************************
+
+@comment LEVEL3
+@node \onecolumn, \raggedbottom, \flushbottom, Document Styles
+@comment node-name, next, previous, up
+@subsection \onecolumn
+
+The @code{\onecolumn} declaration starts a new page and produces
+single-column output.
+
+
+@comment *************************
+@comment **** \raggedbottom ******
+@comment *************************
+
+@comment LEVEL3
+@node \raggedbottom, \twocolumn, \onecolumn, Document Styles
+@comment node-name, next, previous, up
+@subsection \raggedbottom
+
+The @code{\raggedbottom} declaration makes all pages the height of the
+text on that page. No extra vertical space is added.
+
+@comment *************************
+@comment **** \twocolumn *********
+@comment *************************
+
+@comment LEVEL3
+@node \twocolumn, Environments, \raggedbottom, Document Styles
+@comment node-name, next, previous, up
+@subsection \twocolumn
+@cindex Multicolumn text
+
+The @code{\twocolumn} declaration starts a new page and produces
+two-column output.
+
+@page
+
+@comment *************************
+@comment **** Environments *******
+@comment *************************
+
+@comment LEVEL2
+@node Environments, array, \twocolumn, Commands
+@comment node-name, next, previous, up
+@section Environments
+@cindex Environments
+
+@ifinfo
+LaTeX provides a number of different paragraph-making environments.
+Each environment begins and ends in the same manner.
+@end ifinfo
+
+@iftex
+@LaTeX provides a number of different paragraph-making environments.
+Each environment begins and ends in the same manner.
+@end iftex
+
+@example
+ \begin@{environment-name@}
+ .
+ .
+ .
+ \end@{environment-name@}
+@end example
+
+@menu
+* array::
+* center::
+* description::
+* enumerate::
+* eqnarray::
+* equation::
+* figure::
+* flushleft::
+* flushright::
+* itemize::
+* list::
+* minipage::
+* picture::
+* quotation::
+* quote::
+* tabbing::
+* table::
+* tabular::
+* thebibliography::
+* theorem::
+* titlepage::
+* verbatim::
+* verse::
+@end menu
+
+
+@comment *************************
+@comment **** array **************
+@comment *************************
+
+@comment LEVEL3
+@node array, center, Environments, Environments
+@comment node-name, next, previous, up
+@subsection array
+@cindex Arrays
+
+@example
+\begin@{array@}@{col1col2...coln@}
+column 1 entry & column 2 entry ... & column n entry \\
+ .
+ .
+ .
+\end@{array@}
+@end example
+
+Math arrays are produced with the array environment. It has a single
+mandatory argument describing the number of columns and the alignment
+within them. Each column, @code{coln}, is specified by a single letter
+that tells how items in that row should be formatted.
+
+@itemize @bullet
+@item
+@code{c} - for centred
+@item
+@code{l} - for flushleft
+@item
+@code{r} - for flushright
+@end itemize
+
+@ifinfo
+Column entries must be separated by an @code{&}. Column entries may
+include other LaTeX commands. Each row of the array must be terminated
+with the string @code{\\}.
+@end ifinfo
+
+@iftex
+Column entries must be separated by an @code{&}. Column entries may
+include other @LaTeX commands. Each row of the array must be terminated
+with the string @code{\\}.
+@end iftex
+
+@comment *************************
+@comment **** center *************
+@comment *************************
+
+@comment LEVEL3
+@node center, \centering, array, Environments
+@comment node-name, next, previous, up
+@subsection center
+@cindex Centering text
+@cindex Formatting text
+
+@example
+ \begin@{center@}
+ Text on line 1 \\
+ Text on line 2 \\
+ .
+ .
+ .
+ \end@{center@}
+@end example
+
+The @code{center} environment allows you to create a paragraph consisting of
+lines that are centred within the left and right margins on the current
+page. Each line must be terminated with the string @code{\\}.
+
+@menu
+* \centering::
+@end menu
+
+
+@comment *****************
+@comment ** \centering ***
+@comment *****************
+
+@comment LEVEL4
+@node \centering, description, center, center
+@comment node-name, next, previous, up
+@subsubsection \centering
+@cindex Centering text
+@cindex Formatting Text
+
+This declaration corresponds to the @code{center} environment. This
+declaration can be used inside an environment such as @code{quote} or in
+a @code{parbox}. The text of a figure or table can be centered on the
+page by putting a @code{\centering} command at the beginning of the
+figure or table environment.
+
+@ifinfo
+Unlike the @code{center} environment, the @code{\centering} command does
+not start a new paragraph; it simply changes how LaTeX formats paragraph
+units. To affect a paragraph unit's format, the scope of the
+declaration must contain the blank line or @code{\end} command (of an
+environment like quote) that ends the paragraph unit.
+@end ifinfo
+
+@iftex
+Unlike the @code{center} environment, the @code{\centering} command does
+not start a new paragraph; it simply changes how @LaTeX formats paragraph
+units. To affect a paragraph unit's format, the scope of the
+declaration must contain the blank line or @code{\end} command (of an
+environment like quote) that ends the paragraph unit.
+@end iftex
+
+
+@comment *************************
+@comment **** description ********
+@comment *************************
+
+@comment LEVEL3
+@node description, enumerate, \centering, Environments
+@comment node-name, next, previous, up
+@subsection description
+@cindex description Environments
+@cindex Environments
+
+@example
+ \begin@{description@}
+ \item [label] First item
+ \item [label] Second item
+ .
+ .
+ .
+ \end@{description@}
+@end example
+
+The @code{description} environment is used to make labelled lists. The
+@code{label} is bold face and flushed right.
+
+
+@comment *************************
+@comment **** enumerate **********
+@comment *************************
+
+@comment LEVEL3
+@node enumerate, eqnarray, description, Environments
+@comment node-name, next, previous, up
+@subsection enumerate
+@cindex enumerate Environment
+@cindex Environments
+@cindex Lists of items
+
+@example
+ \begin@{enumerate@}
+ \item First item
+ \item Second item
+ .
+ .
+ .
+ \end@{enumerate@}
+@end example
+
+The @code{enumerate} environment produces a numbered list. Enumerations
+can be nested within one another, up to four levels deep. They can also
+be nested within other paragraph-making environments.
+
+Each item of an enumerated list begins with an @code{\item} command.
+There must be at least one @code{\item} command within the environment.
+
+
+@comment *************************
+@comment **** eqnarray ***********
+@comment *************************
+
+@comment LEVEL3
+@node eqnarray, equation, enumerate, Environments
+@comment node-name, next, previous, up
+@subsection eqnarray
+@cindex eqnarray Environment
+@cindex Environments
+
+@example
+ \begin@{eqnarray@}
+ math formula 1 \\
+ math formula 2 \\
+ .
+ .
+ .
+ \end@{eqnarray@}
+@end example
+
+The @code{eqnarray} environment is used to display a sequence of
+equations or inequalities. It is very much like a three-column
+@code{array} environment, with consecutive rows separated by @code{\\}
+and consecutive items within a row separated by an @code{&}. An
+equation number is placed on every line unless that line has a
+@code{\nonumber} command.
+
+
+@comment *************************
+@comment **** equation ***********
+@comment *************************
+
+@comment LEVEL3
+@node equation, figure, eqnarray, Environments
+@comment node-name, next, previous, up
+@subsection equation
+@cindex equation Environment
+@cindex Environments
+
+@example
+ \begin@{equation@}
+ math formula
+ \end@{equation@}
+@end example
+
+The @code{equation} environment centres your equation on the page and places
+the equation number in the right margin.
+
+@comment *************************
+@comment **** figure *************
+@comment *************************
+
+@comment LEVEL3
+@node figure, flushleft, equation, Environments
+@comment node-name, next, previous, up
+@subsection figure
+@cindex figure Environment
+@cindex Environments
+@cindex Inserting figures
+
+@example
+ \begin@{figure@}[placement]
+
+ body of the figure
+
+ \caption@{figure title@}
+ \end@{figure@}
+@end example
+
+Figures are objects that are not part of the normal text, and are
+usually "floated" to a convenient place, like the top of a page.
+Figures will not be split between two pages.
+
+@ifinfo
+The optional argument @code{[placement]} determines where LaTeX will try
+to place your figure. There are four places where LaTeX can possibly
+put a float:
+@end ifinfo
+
+@iftex
+The optional argument @code{[placement]} determines where @LaTeX will try
+to place your figure. There are four places where @LaTeX can possibly
+put a float:
+@end iftex
+
+@enumerate
+@item
+@code{h} (Here) - at the position in the text where the figure
+environment appears.
+@item
+@code{t} (Top) - at the top of a text page.
+@item
+@code{b} (Bottom) - at the bottom of a text page.
+@item
+@code{p} (Page of floats) - on a separate float page, which is a page
+containing no text, only floats.
+@end enumerate
+
+The standard report and article styles use the default placement
+@code{tbp}.
+
+@ifinfo
+The body of the figure is made up of whatever text, LaTeX commands, etc.
+you wish. The @code{\caption} command allows you to title your figure.
+@end ifinfo
+
+@iftex
+The body of the figure is made up of whatever text, @LaTeX commands, etc.
+you wish. The @code{\caption} command allows you to title your figure.
+@end iftex
+
+
+@comment *************************
+@comment **** flushleft **********
+@comment *************************
+
+@comment LEVEL3
+@node flushleft, \raggedright, figure, Environments
+@comment node-name, next, previous, up
+@subsection flushleft
+@cindex Environments
+
+@example
+ \begin@{flushleft@}
+ Text on line 1 \\
+ Text on line 2 \\
+ .
+ .
+ .
+ \end@{flushleft@}
+@end example
+
+The @code{flushleft} environment allows you to create a paragraph
+consisting of lines that are flushed left, to the left-hand margin.
+Each line must be terminated with the string @code{\\}.
+
+@menu
+* \raggedright::
+@end menu
+
+@comment *****************
+@comment * \raggedright **
+@comment *****************
+
+@comment LEVEL4
+@node \raggedright, flushright, flushleft, flushleft
+@comment node-name, next, previous, up
+@subsubsection \raggedright
+@cindex Environments
+
+This declaration corresponds to the @code{flushleft} environment. This
+declaration can be used inside an environment such as @code{quote} or in
+a @code{parbox}.
+
+@ifinfo
+Unlike the @code{flushleft} environment, the @code{\raggedright} command
+does not start a new paragraph; it simply changes how LaTeX formats
+paragraph units. To affect a paragraph unit's format, the scope of the
+declaration must contain the blank line or @code{\end} command (of an
+environment like quote) that ends the paragraph unit.
+@end ifinfo
+
+@iftex
+Unlike the @code{flushleft} environment, the @code{\raggedright} command
+does not start a new paragraph; it simply changes how @LaTeX formats
+paragraph units. To affect a paragraph unit's format, the scope of the
+declaration must contain the blank line or @code{\end} command (of an
+environment like quote) that ends the paragraph unit.
+@end iftex
+
+
+@comment *************************
+@comment **** flushright *********
+@comment *************************
+
+@comment LEVEL3
+@node flushright, \raggedleft, \raggedright, Environments
+@comment node-name, next, previous, up
+@subsection flushright
+
+@example
+ \begin@{flushright@}
+ Text on line 1 \\
+ Text on line 2 \\
+ .
+ .
+ .
+ \end@{flushright@}
+@end example
+
+The @code{flushright} environment allows you to create a paragraph
+consisting of lines that are flushed right, to the right-hand margin.
+Each line must be terminated with the string @code{\\}.
+
+@menu
+* \raggedleft::
+@end menu
+
+@comment *****************
+@comment * \raggedleft ***
+@comment *****************
+
+@comment LEVEL4
+@node \raggedleft, itemize, flushright, flushright
+@comment node-name, next, previous, up
+@subsubsection \raggedleft
+
+This declaration corresponds to the @code{flushright} environment. This
+declaration can be used inside an environment such as @code{quote} or in
+a @code{parbox}.
+
+@ifinfo
+Unlike the @code{flushright} environment, the @code{\raggedleft} command
+does not start a new paragraph; it simply changes how LaTeX formats
+paragraph units. To affect a paragraph unit's format, the scope of the
+declaration must contain the blank line or @code{\end} command (of an
+environment like quote) that ends the paragraph unit.
+@end ifinfo
+
+@iftex
+Unlike the @code{flushright} environment, the @code{\raggedleft} command
+does not start a new paragraph; it simply changes how @LaTeX formats
+paragraph units. To affect a paragraph unit's format, the scope of the
+declaration must contain the blank line or @code{\end} command (of an
+environment like quote) that ends the paragraph unit.
+@end iftex
+
+@comment *************************
+@comment **** itemize ************
+@comment *************************
+
+@comment LEVEL3
+@node itemize, list, \raggedleft, Environments
+@comment node-name, next, previous, up
+@subsection itemize
+@cindex itemize Environment
+@cindex Lists of items
+@cindex Environments
+
+@example
+ \begin@{itemize@}
+ \item First item
+ \item Second item
+ .
+ .
+ .
+ \end@{itemize@}
+@end example
+
+The @code{itemize} environment produces a "bulleted" list. Itemizations
+can be nested within one another, up to four levels deep. They can also
+be nested within other paragraph-making environments.
+
+Each item of an @code{itemized} list begins with an @code{\item} command.
+There must be at least one @code{\item} command within the environment.
+
+
+@comment *************************
+@comment **** list ***************
+@comment *************************
+
+@comment LEVEL3
+@node list, minipage, itemize, Environments
+@comment node-name, next, previous, up
+@subsection list
+@cindex Environments
+@cindex list Environment
+@cindex Lists of items
+
+@example
+ \begin@{list@}@{label@}@{spacing@}
+ \item First item
+ \item Second item
+ .
+ .
+ .
+ \end@{list@}
+@end example
+
+@ifinfo
+The @code{@{label@}} argument specifies how items should be labelled.
+This argument is a piece of text that is inserted in a box to form the
+label. This argument can and usually does contain other LaTeX commands.
+@end ifinfo
+
+@iftex
+The @code{@{label@}} argument specifies how items should be labelled.
+This argument is a piece of text that is inserted in a box to form the
+label. This argument can and usually does contain other @LaTeX commands.
+@end iftex
+
+The @code{@{spacing@}} argument contains commands to change the spacing
+parameters for the list. This argument will most often be null, i.e.,
+@code{@{@}}. This will select all default spacing which should suffice
+for most cases.
+
+
+@comment *************************
+@comment **** minipage ***********
+@comment *************************
+
+@comment LEVEL3
+@node minipage, picture, list, Environments
+@comment node-name, next, previous, up
+@subsection minipage
+@cindex minipage Environment
+@cindex Environments
+
+@example
+ \begin@{minipage@}[position]@{width@}
+ text
+ \end@{minipage@}
+@end example
+
+The @code{minipage} environment is similar to a @code{\parbox} command.
+It takes the same optional @code{position} argument and mandatory
+@code{width} argument. You may use other paragraph-making environments
+inside a minipage.
+
+Footnotes in a @code{minipage} environment are handled in a way that is
+particularly useful for putting footnotes in figures or tables. A
+@code{\footnote} or @code{\footnotetext} command puts the footnote at
+the bottom of the minipage instead of at the bottom of the page, and it
+uses the @code{mpfootnote} counter instead of the ordinary
+@code{footnote} counter.
+
+NOTE: Don't put one minipage inside another if you are using footnotes;
+they may wind up at the bottom of the wrong minipage.
+
+
+@comment *************************
+@comment **** picture ************
+@comment *************************
+
+@comment LEVEL3
+@node picture, \circle, minipage, Environments
+@comment node-name, next, previous, up
+@subsection picture
+@cindex Environments
+@cindex picture Environment
+@cindex Creating pictures
+
+@example
+ \begin@{picture@}(width,height)(x offset,y offset)
+ .
+ picture commands
+ .
+ \end@{picture@}
+@end example
+
+@ifinfo
+The @code{picture} environment allows you to create just about any kind
+of picture you want containing text, lines, arrows and circles. You
+tell LaTeX where to put things in the picture by specifying their
+coordinates. A coordinate is a number that may have a decimal point and
+a minus sign - a number like @code{5}, @code{2.3} or @code{-3.1416}. A
+coordinate specifies a length in multiples of the unit length
+@code{\unitlength}, so if @code{\unitlength} has been set to @code{1cm},
+then the coordinate 2.54 specifies a length of 2.54 centimeters. You
+can change the value of @code{\unitlength} anywhere you want, using the
+@code{\setlength} command, but strange things will happen if you try
+changing it inside the picture environment.
+@end ifinfo
+
+@iftex
+The @code{picture} environment allows you to create just about any kind
+of picture you want containing text, lines, arrows and circles. You
+tell @LaTeX where to put things in the picture by specifying their
+coordinates. A coordinate is a number that may have a decimal point and
+a minus sign - a number like @code{5}, @code{2.3} or @code{-3.1416}. A
+coordinate specifies a length in multiples of the unit length
+@code{\unitlength}, so if @code{\unitlength} has been set to @code{1cm},
+then the coordinate 2.54 specifies a length of 2.54 centimeters. You
+can change the value of @code{\unitlength} anywhere you want, using the
+@code{\setlength} command, but strange things will happen if you try
+changing it inside the picture environment.
+@end iftex
+
+A position is a pair of coordinates, such as @code{(2.4,-5)}, specifying
+the point with x-coordinate @code{2.4} and y-coordinate @code{-5}.
+Coordinates are specified in the usual way with respect to an origin,
+which is normally at the lower-left corner of the picture. Note that
+when a position appears as an argument, it is not enclosed in braces;
+the parentheses serve to delimit the argument.
+
+The @code{picture} environment has one mandatory argument, which is a
+@code{position}. It specifies the size of the picture. The environment
+produces a rectangular box with width and height determined by this
+argument's x- and y-coordinates.
+
+The @code{picture} environment also has an optional @code{position}
+argument, following the @code{size} argument, that can change the
+origin. (Unlike ordinary optional arguments, this argument is not
+contained in square brackets.) The optional argument gives the
+coordinates of the point at the lower-left corner of the picture
+(thereby determining the origin). For example, if @code{\unitlength}
+has been set to @code{1mm}, the command...
+@example
+ \begin@{picture@}(100,200)(10,20)
+@end example
+...produces a picture of width 100 millimeters and height 200
+millimeters, whose lower-left corner is the point (10,20) and whose
+upper-right corner is therefore the point (110,220). When you first
+draw a picture, you will omit the optional argument, leaving the origin
+at the lower-left corner. If you then want to modify your picture by
+shifting everything, you just add the appropriate optional argument.
+
+@ifinfo
+The environment's mandatory argument determines the nominal size of the
+picture. This need bear no relation to how large the picture really is;
+LaTeX will happily allow you to put things outside the picture, or even
+off the page. The picture's nominal size is used by TeX in determining
+how much room to leave for it.
+@end ifinfo
+
+@iftex
+The environment's mandatory argument determines the nominal size of the
+picture. This need bear no relation to how large the picture really is;
+@LaTeX will happily allow you to put things outside the picture, or even
+off the page. The picture's nominal size is used by TeX in determining
+how much room to leave for it.
+@end iftex
+
+Everything that appears in a picture is drawn by the @code{\put}
+command. The command...
+@example
+ \put (11.3,-.3)@{...@}
+@end example
+...puts the object specified by @code{...} in the picture, with its
+reference point at coordinates (11.3,-.3). The reference points for
+various objects will be described below.
+
+The @code{\put} command creates an @code{LR box}. You can put anything
+in the text argument of the @code{\put} command that you'd put into the
+argument of an @code{\mbox} and related commands. When you do this, the
+reference point will be the lower left corner of the box.
+
+@menu
+* \circle::
+* \dashbox::
+* \frame::
+* \framebox (picture)::
+* \line::
+* \linethickness::
+* \makebox (picture)::
+* \multiput::
+* \oval::
+* \put::
+* \shortstack::
+* \vector::
+@end menu
+
+
+@comment *****************
+@comment *** \circle *****
+@comment *****************
+
+@comment LEVEL4
+@node \circle, \dashbox, picture, picture
+@comment node-name, next, previous, up
+@subsubsection \circle
+
+@code{\circle[*]@{diameter@}}
+
+@ifinfo
+The @code{\circle} command produces a circle of the specified diameter.
+If the @code{*}-form of the command is used, LaTeX draws a solid circle.
+@end ifinfo
+
+@iftex
+The @code{\circle} command produces a circle of the specified diameter.
+If the @code{*}-form of the command is used, @LaTeX draws a solid circle.
+@end iftex
+
+@comment *****************
+@comment *** \dashbox ****
+@comment *****************
+
+@comment LEVEL4
+@node \dashbox, \frame, \circle, picture
+@comment node-name, next, previous, up
+@subsubsection \dashbox
+
+@code{\dashbox@{dash_length@}(width,height)@{...@}}
+
+The @code{\dashbox} has an extra argument which specifies the width of
+each dash. A dashed box looks best when the @code{width} and
+@code{height} are multiples of the @code{dash_length}.
+
+
+@comment *****************
+@comment *** \frame ******
+@comment *****************
+
+@comment LEVEL4
+@node \frame, \framebox (picture), \dashbox, picture
+@comment node-name, next, previous, up
+@subsubsection \frame
+
+@code{\frame@{...@}}
+
+The @code{\frame} command puts a rectangular frame around the object
+specified in the argument. The reference point is the bottom left
+corner of the frame. No extra space is put between the frame and the
+object.
+
+
+@comment **************************
+@comment *** \framebox (picture) **
+@comment **************************
+
+@comment LEVEL4
+@node \framebox (picture), \line, \frame, picture
+@comment node-name, next, previous, up
+@subsubsection \framebox
+
+@code{\framebox(width,height)[position]@{...@}}
+
+The @code{\framebox} command is exactly the same as the @code{\makebox}
+command, except that it puts a frame around the outside of the box that
+it creates.
+
+The @code{framebox} command produces a rule of thickness
+@code{\fboxrule}, and leaves a space @code{\fboxsep} between the rule
+and the contents of the box.
+
+@comment *****************
+@comment *** \line *******
+@comment *****************
+
+@comment LEVEL4
+@node \line, \linethickness, \framebox (picture), picture
+@comment node-name, next, previous, up
+@subsubsection \line
+
+@code{\line(x slope,y slope)@{length@}}
+
+The @code{\line} command draws a line of the specified @code{length} and
+@code{slope}.
+
+
+@comment ******************
+@comment * \linethickness *
+@comment ******************
+
+@comment LEVEL4
+@node \linethickness, \makebox (picture), \line, picture
+@comment node-name, next, previous, up
+@subsubsection \linethickness
+
+@code{\linethickness@{dimension@}}
+
+Declares the thickness of horizontal and vertical lines in a picture
+environment to be @code{dimension}, which must be a positive length. It
+does not affect the thickness of slanted lines and circles, or the
+quarter circles drawn by @code{\oval} to form the corners of an oval.
+
+
+@comment *************************
+@comment *** \makebox (picture) **
+@comment *************************
+
+@comment LEVEL4
+@node \makebox (picture), \multiput, \linethickness, picture
+@comment node-name, next, previous, up
+@subsubsection \makebox
+
+@code{\makebox(width,height)[position]@{...@}}
+
+The @code{\makebox} command for the picture environment is similar to
+the normal @code{\makebox} command except that you must specify a
+@code{width} and @code{height} in multiples of @code{\unitlength}.
+
+The optional argument, @code{[position]}, specifies the quadrant that
+your text appears in. You may select up to two of the following:
+
+@itemize @bullet
+@item
+@code{t} - Moves the item to the top of the rectangle
+@item
+@code{b} - Moves the item to the bottom
+@item
+@code{l} - Moves the item to the left
+@item
+@code{r} - Moves the item to the right
+@end itemize
+
+@xref{\makebox}.
+
+@comment *****************
+@comment *** \multiput ***
+@comment *****************
+
+@comment LEVEL4
+@node \multiput, \oval, \makebox (picture), picture
+@comment node-name, next, previous, up
+@subsubsection \multiput
+
+@code{\multiput(x coord,y coord)(delta x,delta y)@{number of copies@}@{object@}}
+
+The @code{\multiput} command can be used when you are putting the same
+object in a regular pattern across a picture.
+
+
+@comment *****************
+@comment *** \oval *****
+@comment *****************
+
+@comment LEVEL4
+@node \oval, \put, \multiput, picture
+@comment node-name, next, previous, up
+@subsubsection \oval
+
+@code{\oval(width,height)[portion]}
+
+The @code{\oval} command produces a rectangle with rounded corners. The
+optional argument, @code{[portion]}, allows you to select part of the
+oval.
+
+@itemize @bullet
+@item
+@code{t} - Selects the top portion
+@item
+@code{b} - Selects the bottom portion
+@item
+@code{r} - Selects the right portion
+@item
+@code{l} - Selects the left portion
+@end itemize
+
+
+@comment *****************
+@comment *** \put ********
+@comment *****************
+
+@comment LEVEL4
+@node \put, \shortstack, \oval, picture
+@comment node-name, next, previous, up
+@subsubsection \put
+
+@code{\put(x coord,y coord)@{ ... @}}
+
+The @code{\put} command places the item specified by the mandatory
+argument at the given coordinates.
+
+
+@comment *****************
+@comment *** \shortstack *
+@comment *****************
+
+@comment LEVEL4
+@node \shortstack, \vector, \put, picture
+@comment node-name, next, previous, up
+@subsubsection \shortstack
+
+@code{\shortstack[position]@{... \\ ... \\ ...@}}
+
+The @code{\shortstack} command produces a stack of objects. The valid
+positions are:
+
+@itemize @bullet
+@item
+@code{r} - Moves the objects to the right of the stack
+@item
+@code{l} - Moves the objects to the left of the stack
+@item
+@code{c} - Moves the objects to the center of the stack (default)
+@end itemize
+
+
+@comment *****************
+@comment *** \vector *****
+@comment *****************
+
+@comment LEVEL4
+@node \vector, quotation, \shortstack, picture
+@comment node-name, next, previous, up
+@subsubsection \vector
+
+@code{\vector(x slope,y slope)@{length@}}
+
+The @code{\vector} command draws a line with an arrow of the specified
+length and slope. The @code{x} and @code{y} values must lie between -4
+and +4, inclusive.
+
+
+@comment *************************
+@comment **** quotation **********
+@comment *************************
+
+@comment LEVEL3
+@node quotation, quote, \vector, Environments
+@comment node-name, next, previous, up
+@subsection quotation
+@cindex Environments
+@cindex quotation Environment
+
+@example
+ \begin@{quotation@}
+ text
+ \end@{quotation@}
+@end example
+
+The margins of the @code{quotation} environment are indented on the left
+and the right. The text is justified at both margins and there is
+paragraph indentation. Leaving a blank line between text produces a new
+paragraph.
+
+
+@comment *************************
+@comment **** quote **************
+@comment *************************
+
+@comment LEVEL3
+@node quote, tabbing, quotation, Environments
+@comment node-name, next, previous, up
+@subsection quote
+@cindex Environments
+@cindex \quote Environment
+
+@example
+ \begin@{quote@}
+ text
+ \end@{quote@}
+@end example
+
+The margins of the @code{quote} environment are indented on the left and
+the right. The text is justified at both margins. Leaving a blank line
+between text produces a new paragraph.
+
+
+@comment *************************
+@comment **** tabbing ************
+@comment *************************
+
+@comment LEVEL3
+@node tabbing, \=, quote, Environments
+@comment node-name, next, previous, up
+@subsection tabbing
+@cindex Environments
+@cindex tabbing Environment
+
+@example
+ \begin@{tabbing@}
+ text \= more text \= still more text \= last text \\
+ second row \> \> more \\
+ .
+ .
+ .
+ \end@{tabbing@}
+@end example
+
+The @code{tabbing} environment provides a way to align text in columns.
+It works by setting tab stops and tabbing to them much the way you do
+with an ordinary typewriter.
+
+@menu
+* \= ::
+* \> ::
+* \< ::
+* \+ ::
+* \- (tabbing) ::
+* \A ::
+* \` ::
+* \kill ::
+@end menu
+
+
+@comment *****************
+@comment *** \= ********
+@comment *****************
+
+@comment LEVEL4
+@node \=, \>, tabbing, tabbing
+@comment node-name, next, previous, up
+@subsubsection \=
+
+The @code{\=} command sets the tab stops.
+
+
+@comment *****************
+@comment *** \> ********
+@comment *****************
+
+@comment LEVEL4
+@node \>, \<, \=, tabbing
+@comment node-name, next, previous, up
+@subsubsection \>
+
+@ifinfo
+The @code{\>} command causes LaTeX to advance to the next tab stop.
+@end ifinfo
+
+@iftex
+The @code{\>} command causes @LaTeX to advance to the next tab stop.
+@end iftex
+
+@comment *****************
+@comment *** \< ********
+@comment *****************
+
+@comment LEVEL4
+@node \<, \+, \>, tabbing
+@comment node-name, next, previous, up
+@subsubsection \<
+
+The @code{\<} command allows you to put something to the left of the
+local margin without changing the margin.
+
+
+@comment *****************
+@comment *** \+ ********
+@comment *****************
+
+@comment LEVEL4
+@node \+, \- (tabbing), \<, tabbing
+@comment node-name, next, previous, up
+@subsubsection \+
+
+The @code{\+} command moves the left margin of the next and all the
+following commands one tab stop to the right.
+
+
+@comment *********************
+@comment *** \- (tabbing) ***
+@comment *********************
+
+@comment LEVEL4
+@node \- (tabbing), \A, \+, tabbing
+@comment node-name, next, previous, up
+@subsubsection \-
+
+The @code{\-} command moves the left margin of the next and all the
+following commands one tab stop to the left.
+
+
+@comment *****************
+@comment *** \' ********
+@comment *****************
+
+@comment LEVEL4
+@node \A, \`, \- (tabbing), tabbing
+@comment node-name, next, previous, up
+@subsubsection \'
+
+The @code{\'} command moves everything that you have typed so far in the
+current column, everything starting from the most recent @code{\>},
+@code{\<}, @code{\'}, @code{\\}, or @code{\kill} command, to the right
+of the previous column, flush against the current column's tab stop.
+
+
+@comment *****************
+@comment *** \` ********
+@comment *****************
+
+@comment LEVEL4
+@node \`, \kill, \A, tabbing
+@comment node-name, next, previous, up
+@subsubsection \`
+
+The @code{\`} command allows you to put text flushed right against any
+tab stop, including tab stop 0. However, it can't move text to the
+right of the last column because there's no tab stop there. The
+@code{\`} command moves all the text that follows it, up to the
+@code{\\} or @code{\end@{tabbing@}} command that ends the line, to the
+right margin of the tabbing environment. There must be no @code{\>} or
+@code{\'} command between the @code{\`} and the command that ends the
+line.
+
+
+@comment *****************
+@comment *** \kill *****
+@comment *****************
+
+@comment LEVEL4
+@node \kill, table, \`, tabbing
+@comment node-name, next, previous, up
+@subsubsection \kill
+
+The @code{\kill} command allows you to set tab stops without producing
+text. It works just like the @code{\\} except that it throws away the
+current line instead of producing output for it. The effect of any
+@code{\=}, @code{\+} or @code{\-} commands in that line remain in
+effect.
+
+
+
+@comment *************************
+@comment **** table **************
+@comment *************************
+
+@comment LEVEL3
+@node table, tabular, \kill, Environments
+@comment node-name, next, previous, up
+@subsection table
+@cindex Environments
+@cindex table Environment
+
+@example
+ \begin@{table@}[placement]
+
+ body of the table
+
+ \caption@{table title@}
+ \end@{table@}
+@end example
+
+Tables are objects that are not part of the normal text, and are
+usually "floated" to a convenient place, like the top of a page.
+Tables will not be split between two pages.
+
+@ifinfo
+The optional argument @code{[placement]} determines where LaTeX will try
+to place your table. There are four places where LaTeX can possibly put
+a float:
+@end ifinfo
+
+@iftex
+The optional argument @code{[placement]} determines where @LaTeX will try
+to place your table. There are four places where @LaTeX can possibly put
+a float:
+@end iftex
+
+
+@itemize @bullet
+@item
+@code{h} : Here - at the position in the text where the table
+environment appears.
+@item
+@code{t} : Top - at the top of a text page.
+@item
+@code{b} : Bottom - at the bottom of a text page.
+@item
+@code{p} : Page of floats - on a separate float page, which is a page
+containing no text, only floats.
+@end itemize
+
+The standard @code{report} and @code{article} styles use the default
+placement @code{[tbp]}.
+
+@ifinfo
+The body of the table is made up of whatever text, LaTeX commands, etc.,
+you wish. The @code{\caption} command allows you to title your table.
+@end ifinfo
+
+@iftex
+The body of the table is made up of whatever text, LaTeX commands, etc.,
+you wish. The @code{\caption} command allows you to title your table.
+@end iftex
+
+
+@comment *************************
+@comment **** tabular ************
+@comment *************************
+
+@comment LEVEL3
+@node tabular, \cline, table, Environments
+@comment node-name, next, previous, up
+@subsection tabular
+@cindex Environment
+@cindex tabular Environment
+
+@example
+ \begin@{tabular@}[pos]@{cols@}
+ column 1 entry & column 2 entry ... & column n entry \\
+ .
+ .
+ .
+ \end@{tabular@}
+
+ or
+
+ \begin@{tabular*@}@{width@}[pos]@{cols@}
+ column 1 entry & column 2 entry ... & column n entry \\
+ .
+ .
+ .
+ \end@{tabular*@}
+@end example
+
+These environments produce a box consisting of a sequence of rows of
+items, aligned vertically in columns. The mandatory and optional
+arguments consist of:
+
+@table @code
+@item width
+Specifies the width of the @code{tabular*} environment. There must be
+rubber space between columns that can stretch to fill out the specified
+width.
+@item pos
+Specifies the vertical position; default is alignment on the center of
+the environment.
+
+@itemize @bullet
+@item
+@code{t} - align on top row
+@item
+@code{b} - align on bottom row
+@end itemize
+
+@item cols
+Specifies the column formatting. It consists of a sequence of the
+following specifiers, corresponding to the sequence of columns and
+intercolumn material.
+
+@itemize @bullet
+
+@item
+@code{l} - A column of left-aligned items.
+@item
+@code{r} - A column of right-aligned items.
+@item
+@code{c} - A column of centred items.
+@item
+@code{|} - A vertical line the full height and depth of the environment.
+@item
+@code{@@@{text@}} - This inserts text in every row. An @@-expression
+suppresses the intercolumn space normally inserted between columns; any
+desired space between the inserted text and the adjacent items must be
+included in text. An @code{\extracolsep@{wd@}} command in an
+@@-expression causes an extra space of width @code{wd} to appear to the
+left of all subsequent columns, until countermanded by another
+@code{\extracolsep} command. Unlike ordinary intercolumn space, this
+extra space is not suppressed by an @@-expression. An
+@code{\extracolsep} command can be used only in an @@-expression in the
+@code{cols} argument.
+@item
+@code{p@{wd@}} - Produces a column with each item typeset in a parbox of
+width @code{wd}, as if it were the argument of a @code{\parbox[t]@{wd@}}
+command. However, a @code{\\} may not appear in the item, except in the
+following situations:
+@enumerate
+@item
+inside an environment like @code{minipage}, @code{array}, or @code{tabular}.
+@item
+inside an explicit @code{\parbox}.
+@item
+in the scope of a @code{\centering}, @code{\raggedright}, or @code{\raggedleft}
+declaration. The latter declarations must appear inside braces or an
+environment when used in a @code{p-column} element.
+@end enumerate
+@item
+@code{*@{num@}@{cols@}} - Equivalent to @code{num} copies of
+@code{cols}, where @code{num} is any positive integer and @code{cols} is
+any list of column-specifiers, which may contain another
+@code{*-expression}.
+
+@end itemize
+
+@end table
+
+@menu
+* \cline::
+* \hline::
+* \multicolumn::
+* \vline::
+@end menu
+
+
+@comment *****************
+@comment *** \cline ****
+@comment *****************
+
+@comment LEVEL4
+@node \cline, \hline, tabular, tabular
+@comment node-name, next, previous, up
+@subsubsection \cline
+
+@code{\cline@{i-j@}}
+
+The @code{\cline} command draws horizontal lines across the columns
+specified, beginning in column @code{i} and ending in column @code{j},
+which are identified in the mandatory argument.
+
+@comment *****************
+@comment *** \hline ****
+@comment *****************
+
+@comment LEVEL4
+@node \hline, \multicolumn, \cline, tabular
+@comment node-name, next, previous, up
+@subsubsection \hline
+
+The @code{\hline} command will draw a horizontal line the width of the
+table. It's most commonly used to draw a line at the top, bottom, and
+between the rows of the table.
+
+@comment *****************
+@comment ** \multicolumn *
+@comment *****************
+
+@comment LEVEL4
+@node \multicolumn, \vline, \hline, tabular
+@comment node-name, next, previous, up
+@subsubsection \multicolumn
+
+@code{\multicolumn@{cols@}@{pos@}@{text@}}
+
+The @code{\multicolumn} is used to make an entry that spans several
+columns. The first mandatory argument, @code{cols}, specifies the
+number of columns to span. The second mandatory argument, @code{pos},
+specifies the formatting of the entry; @code{c} for centred, @code{l}
+for flushleft, @code{r} for flushright. The third mandatory argument,
+@code{text}, specifies what text is to make up the entry.
+
+@comment *****************
+@comment *** \vline ****
+@comment *****************
+@comment LEVEL4
+@node \vline, thebibliography, \multicolumn, tabular
+@comment node-name, next, previous, up
+@subsubsection \vline
+
+The @code{\vline} command will draw a vertical line extending the full
+height and depth of its row. An @code{\hfill} command can be used to
+move the line to the edge of the column. It can also be used in an
+@@-expression.
+
+
+@comment *************************
+@comment **** thebibliography ****
+@comment *************************
+
+@comment LEVEL3
+@node thebibliography, \bibitem, \vline, Environments
+@comment node-name, next, previous, up
+@subsection thebibliography
+@cindex Environments
+@cindex thebibliography Environment
+@cindex Bibliography, creating
+
+@example
+ \begin@{thebibliography@}@{widest-label@}
+ \bibitem[label]@{cite_key@}
+ .
+ .
+ .
+ \end@{thebibliography@}
+@end example
+
+The @code{thebibliography} environment produces a bibliography or
+reference list. In the @code{article} style, this reference list is
+labelled "References"; in the @code{report} style, it is labelled
+"Bibliography".
+
+@itemize @bullet
+@item
+@code{widest-label}: Text that, when printed, is approximately as wide
+as the widest item label produces by the @code{\bibitem} commands.
+@end itemize
+
+@menu
+* \bibitem::
+* \cite::
+* \nocite::
+@end menu
+
+
+@comment *****************
+@comment *** \bibitem ****
+@comment *****************
+@comment LEVEL4
+@node \bibitem, \cite, thebibliography, thebibliography
+@comment node-name, next, previous, up
+@subsubsection \bibitem
+
+@code{\bibitem[label]@{cite_key@}}
+
+The @code{\bibitem} command generates an entry labelled by @code{label}.
+If the @code{label} argument is missing, a number is generated as the
+@code{label}, using the @code{enumi} counter. The @code{cite_key} is
+any sequence of letters, numbers, and punctuation symbols not containing
+a comma. This command writes an entry on the @file{.aux} file
+containing @code{cite_key} and the item's @code{label}. When this
+@file{.aux} file is read by the @code{\begin@{document@}} command, the
+item's @code{label} is associated with @code{cite_key}, causing the
+reference to @code{cite_key} by a @code{\cite} command to produce the
+associated @code{label}.
+
+
+@comment *****************
+@comment *** \cite *******
+@comment *****************
+@comment LEVEL4
+@node \cite, \nocite, \bibitem, thebibliography
+@comment node-name, next, previous, up
+@subsubsection \cite
+
+@code{\cite[text]@{key_list@}}
+
+The @code{key_list} argument is a list of citation keys. This command
+generates an in-text citation to the references associated with the keys
+in @code{key_list} by entries on the @file{.aux} file read by the
+@code{\begin@{document@}} command.
+
+
+@comment *****************
+@comment *** \nocite *****
+@comment *****************
+@comment LEVEL4
+@node \nocite, theorem, \cite, thebibliography
+@comment node-name, next, previous, up
+@subsubsection \nocite
+
+@code{\nocite@{key_list@}}
+
+The @code{\nocite} command produces no text, but writes @code{key_list},
+which is a list of one or more citation keys, on the @file{.aux} file.
+
+
+@comment *************************
+@comment **** theorem ************
+@comment *************************
+
+@comment LEVEL3
+@node theorem, titlepage, \nocite, Environments
+@comment node-name, next, previous, up
+@subsection theorem
+@cindex Environments
+@cindex theorem Environment
+
+@example
+ \begin@{theorem@}
+ theorem text
+ \end@{theorem@}
+@end example
+
+The @code{theorem} environment produces "Theorem x" in boldface followed
+by your theorem text.
+
+
+@comment *************************
+@comment **** titlepage **********
+@comment *************************
+
+@comment LEVEL3
+@node titlepage, verbatim, theorem, Environments
+@comment node-name, next, previous, up
+@subsection titlepage
+@cindex Environments
+@cindex titlepage Environment
+@cindex Making a title page
+@cindex Title pages, creating
+
+@example
+ \begin@{titlepage@}
+ text
+ \end@{titlepage@}
+@end example
+
+The @code{titlepage} environment creates a title page, i.e. a page with no
+printed page number or heading. It also causes the following page to be
+numbered page one. Formatting the title page is left to you. The
+@code{\today} command comes in handy for title pages.
+
+
+
+@comment *************************
+@comment **** verbatim ***********
+@comment *************************
+
+@comment LEVEL3
+@node verbatim, \verb, titlepage, Environments
+@comment node-name, next, previous, up
+@subsection verbatim
+@cindex Environment
+@cindex verbatim Environment
+
+@example
+ \begin@{verbatim@}
+ text
+ \end@{verbatim@}
+@end example
+
+@ifinfo
+The @code{verbatim} environment is a paragraph-making environment that
+gets LaTeX to print exactly what you type in. It turns LaTeX into a
+typewriter with carriage returns and blanks having the same effect that
+they would on a typewriter.
+@end ifinfo
+
+@iftex
+The @code{verbatim} environment is a paragraph-making environment that
+gets @LaTeX to print exactly what you type in. It turns @LaTeX into a
+typewriter with carriage returns and blanks having the same effect that
+they would on a typewriter.
+@end iftex
+
+@menu
+* \verb::
+@end menu
+
+@comment *****************
+@comment *** \verb *******
+@comment *****************
+@comment LEVEL4
+@node \verb, verse, verbatim, verbatim
+@comment node-name, next, previous, up
+@subsubsection \verb
+@cindex verbatim Environment
+
+@code{\verb char literal_text char \verb*char literal_text char}
+
+Typesets @code{literal_text} exactly as typed, including special
+characters and spaces, using a typewriter (@code{\tt}) type style.
+There may be no space between @code{\verb} or @code{\verb*} and
+@code{char} (space is shown here only for clarity). The @code{*-form}
+differs only in that spaces are printed.
+
+
+@comment *************************
+@comment **** verse **************
+@comment *************************
+
+@comment LEVEL3
+@node verse, Footnotes, \verb, Environments
+@comment node-name, next, previous, up
+@subsection verse
+@cindex Environments
+@cindex verse Environment
+@cindex Poetry, an environment for
+
+@example
+ \begin@{verse@}
+ text
+ \end@{verse@}
+@end example
+
+The @code{verse} environment is designed for poetry, though you may find
+other uses for it.
+
+
+@page
+
+@comment ************************************
+@comment **** LEVEL2 Starts Here again. ****
+@comment ************************************
+
+
+@comment *************************
+@comment **** Footnotes **********
+@comment *************************
+
+@comment LEVEL2
+@node Footnotes, \footnote, verse, Commands
+@comment node-name, next, previous, up
+@section Footnotes
+@cindex Footnotes, creating
+
+@code{Footnotes} can be produced in one of two ways. They can be
+produced with one command, the @code{\footnote} command. They can also
+be produced with two commands, the @code{\footnotemark} and the
+@code{\footnotetext} commands. See the specific command for information
+on why you would use one over the other.
+
+@menu
+* \footnote::
+* \footnotemark::
+* \footnotetext::
+@end menu
+
+
+@comment **********************
+@comment **** \footnote *******
+@comment **********************
+
+@comment LEVEL3
+@node \footnote, \footnotemark, Footnotes, Footnotes
+@comment node-name, next, previous, up
+@subsection \footnote
+
+@code{\footnote[number]@{text@}}
+
+The @code{\footnote} command places the numbered footnote @code{text} at
+the bottom of the current page. The optional argument, @code{number},
+is used to change the default footnote number. This command can only be
+used in outer paragraph mode.
+
+
+@comment **********************
+@comment **** \footnotemark ***
+@comment **********************
+
+@comment LEVEL3
+@node \footnotemark, \footnotetext, \footnote, Footnotes
+@comment node-name, next, previous, up
+@subsection \footnotemark
+
+The @code{\footnotemark} command puts the footnote @code{number} in the
+text. This command can be used in inner paragraph mode. The text of
+the footnote is supplied by the @code{\footnotetext} command.
+
+
+@comment **********************
+@comment **** \footnotetext ***
+@comment **********************
+
+@comment LEVEL3
+@node \footnotetext, Lengths, \footnotemark, Footnotes
+@comment node-name, next, previous, up
+@subsection \footnotetext
+
+@code{\footnotetext[number]@{text@}}
+
+The @code{\footnotetext} command produces the @code{text} to be placed
+at the bottom of the page. This command can come anywhere after the
+@code{\footnotemark} command. The @code{\footnotetext} command must
+appear in outer paragraph mode.
+
+The optional argument, @code{number}, is used to change the default
+footnote number.
+
+@page
+
+@comment *************************
+@comment ******* Lengths *********
+@comment *************************
+
+@comment LEVEL2
+@node Lengths, \newlength, \footnotetext, Commands
+@comment node-name, next, previous, up
+@section Lengths
+@cindex Lengths, defining and using
+
+@ifinfo
+A @code{length} is a measure of distance. Many LaTeX commands take a
+length as an argument.
+@end ifinfo
+
+@iftex
+A @code{length} is a measure of distance. Many @LaTeX commands take a
+length as an argument.
+@end iftex
+
+@menu
+* \newlength::
+* \setlength::
+* \addtolength::
+* \settowidth::
+@end menu
+
+
+@comment **********************
+@comment **** \newlength ******
+@comment **********************
+
+@comment LEVEL3
+@node \newlength, \setlength, Lengths, Lengths
+@comment node-name, next, previous, up
+@subsection \newlength
+@cindex Lengths, defining and using
+
+@code{\newlength@{\gnat@}}
+
+The @code{\newlength} command defines the mandatory argument,
+@code{\gnat}, as a @code{length} command with a value of @code{0in}. An
+error occurs if a @code{\gnat} command already exists.
+
+
+@comment **********************
+@comment **** \setlength ******
+@comment **********************
+
+@comment LEVEL3
+@node \setlength, \addtolength, \newlength, Lengths
+@comment node-name, next, previous, up
+@subsection \setlength
+@cindex Lengths, defining and using
+
+@code{\setlength@{\gnat@}@{length@}}
+
+@ifinfo
+The @code{\setlength} command is used to set the value of a
+@code{length} command. The @code{length} argument can be expressed in
+any terms of length LaTeX understands, i.e., inches (@code{in}),
+millimeters (@code{mm}), points (@code{pt}), etc.
+@end ifinfo
+
+@iftex
+The @code{\setlength} command is used to set the value of a
+@code{length} command. The @code{length} argument can be expressed in
+any terms of length @LaTeX understands, i.e., inches (@code{in}),
+millimeters (@code{mm}), points (@code{pt}), etc.
+@end iftex
+
+
+@comment **********************
+@comment **** \addtolength ****
+@comment **********************
+
+@comment LEVEL3
+@node \addtolength, \settowidth, \setlength, Lengths
+@comment node-name, next, previous, up
+@subsection \addtolength
+@cindex Lengths, defining and using
+
+@code{\addtolength@{\gnat@}@{length@}}
+
+The @code{\addtolength} command increments a "length command" by the
+amount specified in the @code{length} argument. It can be a negative
+amount.
+
+@comment **********************
+@comment **** \settowidth *****
+@comment **********************
+
+@comment LEVEL3
+@node \settowidth, Letters, \addtolength, Lengths
+@comment node-name, next, previous, up
+@subsection \settowidth
+@cindex Lengths, defining and using
+
+@code{\settowidth@{\gnat@}@{text@}}
+
+The @code{\settowidth} command sets the value of a @code{length} command
+equal to the width of the @code{text} argument.
+
+@page
+
+@comment *************************
+@comment ******* Letters *********
+@comment *************************
+
+@comment LEVEL2
+@node Letters, \opening, \settowidth, Commands
+@comment node-name, next, previous, up
+@section Letters
+@cindex Letters
+@cindex Creating Letters
+
+@ifinfo
+You can use LaTeX to typeset letters, both personal and business. The
+@code{letter} document style is designed to make a number of letters at
+once, although you can make just one if you so desire.
+@end ifinfo
+
+@iftex
+You can use @LaTeX to typeset letters, both personal and business. The
+@code{letter} document style is designed to make a number of letters at
+once, although you can make just one if you so desire.
+@end iftex
+
+Your @file{.tex} source file has the same minimum commands as the other
+document styles, i.e., you must have the following commands as a
+minimum:
+@example
+ \documentstyle@{letter@}
+ \begin@{document@}
+ ... letters ...
+ \end@{document@}
+@end example
+
+Each letter is a @code{letter} environment, whose argument is the name
+and address of the recipient. For example, you might have:
+@example
+ \begin@{letter@}@{Mr. Joe Smith\\ 2345 Princess St.
+ \\ Edinburgh, EH1 1AA@}
+ ...
+ \end@{letter@}
+@end example
+
+@ifinfo
+The letter itself begins with the @code{\opening} command. The text of
+the letter follows. It is typed as ordinary LaTeX input. Commands that
+make no sense in a letter, like @code{\chapter}, don't work. The letter
+closes with a @code{\closing} command.
+@end ifinfo
+
+@iftex
+The letter itself begins with the @code{\opening} command. The text of
+the letter follows. It is typed as ordinary @LaTeX input. Commands that
+make no sense in a letter, like @code{\chapter}, don't work. The letter
+closes with a @code{\closing} command.
+@end iftex
+
+After the @code{closing}, you can have additional material. The
+@code{\cc} command produces the usual "cc: ...". There's also a similar
+@code{\encl} command for a list of enclosures.
+
+@menu
+* \opening::
+* \closing::
+* Declarations::
+@end menu
+
+
+@comment ******************
+@comment ** \opening ******
+@comment ******************
+
+@comment LEVEL3
+@node \opening, \closing, Letters, Letters
+@comment node-name, next, previous, up
+@subsection \opening
+@cindex Letters
+
+@code{\opening@{text@}}
+
+The letter begins with the @code{\opening} command. The mandatory
+argument, @code{text}, is whatever text you wish to start your letter,
+i.e.,
+@example
+ \opening@{Dear Joe,@}
+@end example
+
+
+@comment ******************
+@comment ** \closing ******
+@comment ******************
+
+@comment LEVEL3
+@node \closing, Declarations, \opening, Letters
+@comment node-name, next, previous, up
+@subsection \closing
+@cindex Letters
+
+@code{\closing@{text@}}
+
+The letter closes with a @code{\closing} command, i.e.,
+@example
+ \closing@{Best Regards,@}
+@end example
+
+
+@comment ******************
+@comment ** Declarations **
+@comment ******************
+
+@comment LEVEL3
+@node Declarations, \address, \closing, Letters
+@comment node-name, next, previous, up
+@subsection Declarations
+@cindex Letters
+
+The following commands are declarations which take a single argument.
+
+@menu
+* \address::
+* \signature::
+* \location::
+* \telephone::
+@end menu
+
+@comment **************
+@comment ** \address **
+@comment **************
+
+@comment LEVEL4
+@node \address, \signature, Declarations, Declarations
+@comment node-name, next, previous, up
+@subsection \address
+@cindex Letters
+
+@code{\address@{Return address@}}
+
+The return address, as it should appear on the letter and the envelope.
+Separate lines of the address should be separated by @code{\\} commands.
+If you do not make an @code{\address} declaration, then the letter will
+be formatted for copying onto your organisation's standard letterhead.
+(@xref{Overview}, for details on your local implementation). If you
+give an @code{\address} declaration, then the letter will be formatted
+as a personal letter.
+
+
+@comment **************
+@comment * \signature *
+@comment **************
+
+@comment LEVEL4
+@node \signature, \location, \address, Declarations
+@comment node-name, next, previous, up
+@subsection \signature
+@cindex Letters
+
+@code{\signature@{Your name@}}
+
+Your name, as it should appear at the end of the letter underneath the
+space for your signature. Items that should go on separate lines should
+be separated by @code{\\} commands.
+
+
+@comment **************
+@comment * \location **
+@comment **************
+
+@comment LEVEL4
+@node \location, \telephone, \signature, Declarations
+@comment node-name, next, previous, up
+@subsection \location
+@cindex Letters
+
+@code{\location@{address@}}
+
+This modifies your organisation's standard address. This only appears
+if the @code{firstpage} pagestyle is selected.
+
+@comment **************
+@comment * \telephone *
+@comment **************
+
+@comment LEVEL4
+@node \telephone, Line & Page Breaking, \location, Declarations
+@comment node-name, next, previous, up
+@subsection \telephone
+@cindex Letters
+
+@code{\telephone@{number@}}
+
+This is your telephone number. This only appears if the
+@code{firstpage} pagestyle is selected.
+
+
+@page
+
+@comment *************************
+@comment * Line & Page Breaking **
+@comment *************************
+
+@comment LEVEL2
+@node Line & Page Breaking, \\, \telephone, Commands
+@comment node-name, next, previous, up
+@section Line & Page Breaking
+@cindex Page Breaking
+@cindex Line Breaking
+@cindex Page Formatting
+
+@ifinfo
+The first thing LaTeX does when processing ordinary text is to translate
+your input file into a string of glyphs and spaces. To produce a
+printed document, this string must be broken into lines, and these lines
+must be broken into pages. In some environments, you do the line
+breaking yourself with the @code{\\} command, but LaTeX usually does it
+for you.
+@end ifinfo
+
+@iftex
+The first thing @LaTeX does when processing ordinary text is to
+translate your input file into a string of glyphs and spaces. To
+produce a printed document, this string must be broken into lines, and
+these lines must be broken into pages. In some environments, you do the
+line breaking yourself with the @code{\\} command, but @LaTeX usually
+does it for you.
+@end iftex
+
+@menu
+* \\::
+* \- (hyphenation)::
+* \cleardoublepage::
+* \clearpage::
+* \hyphenation::
+* \linebreak::
+* \newline::
+* \newpage::
+* \nolinebreak::
+* \nopagebreak::
+* \pagebreak::
+@end menu
+
+
+@comment ******************
+@comment ****** \\ ********
+@comment ******************
+
+@comment LEVEL3
+@node \\, \- (hyphenation), Line & Page Breaking, Line & Page Breaking
+@comment node-name, next, previous, up
+@subsection \\
+@cindex Newline
+
+@code{\\[*][extra-space]}
+
+@ifinfo
+The @code{\\} command tells LaTeX to start a new line. It has an
+optional argument, @code{extra-space}, that specifies how much extra
+vertical space is to be inserted before the next line. This can be a
+negative amount.
+
+The @code{\\*} command is the same as the ordinary @code{\\} command
+except that it tells LaTeX not to start a new page after the line.
+@end ifinfo
+
+@iftex
+The @code{\\} command tells @LaTeX to start a new line. It has an
+optional argument, @code{extra-space}, that specifies how much extra
+vertical space is to be inserted before the next line. This can be a
+negative amount.
+
+The @code{\\*} command is the same as the ordinary @code{\\} command
+except that it tells @LaTeX not to start a new page after the line.
+@end iftex
+
+
+@comment **********************
+@comment ** \- (hyphenation) **
+@comment **********************
+
+@comment LEVEL3
+@node \- (hyphenation), \cleardoublepage, \\, Line & Page Breaking
+@comment node-name, next, previous, up
+@subsection \-
+@cindex Hyphenation
+
+@ifinfo
+The @code{\-} command tells LaTeX that it may hyphenate the word at that
+point. LaTeX is very good at hyphenating, and it will usually find all
+correct hyphenation points. The @code{\-} command is used for the
+exceptional cases.
+@end ifinfo
+
+@iftex
+The @code{\-} command tells @LaTeX that it may hyphenate the word at that
+point. @LaTeX is very good at hyphenating, and it will usually find all
+correct hyphenation points. The @code{\-} command is used for the
+exceptional cases.
+@end iftex
+
+@comment ********************
+@comment * \cleardoublepage *
+@comment ********************
+
+@comment LEVEL3
+@node \cleardoublepage, \clearpage, \- (hyphenation), Line & Page Breaking
+@comment node-name, next, previous, up
+@subsection \cleardoublepage
+@cindex Flushing a page
+
+The @code{\cleardoublepage} command ends the current page and causes all
+figures and tables that have so far appeared in the input to be printed.
+In a two-sided printing style, it also makes the next page a right-hand
+(odd-numbered) page, producing a blank page if necessary.
+
+
+@comment ******************
+@comment ** \clearpage ****
+@comment ******************
+
+@comment LEVEL3
+@node \clearpage, \hyphenation, \cleardoublepage, Line & Page Breaking
+@comment node-name, next, previous, up
+@subsection \clearpage
+@cindex Flushing a page
+
+The @code{\clearpage} command ends the current page and causes all
+figures and tables that have so far appeared in the input to be printed.
+
+
+@comment ******************
+@comment ** \hyphenation **
+@comment ******************
+
+@comment LEVEL3
+@node \hyphenation, \linebreak, \clearpage, Line & Page Breaking
+@comment node-name, next, previous, up
+@subsection \hyphenation
+@code{\hyphenation@{words@}}
+@cindex Hyphenation
+
+The @code{\hyphenation} command declares allowed hyphenation points,
+where @code{words} is a list of words, separated by spaces, in which
+each hyphenation point is indicated by a @code{-} character.
+
+
+@comment ******************
+@comment ** \linebreak ****
+@comment ******************
+
+@comment LEVEL3
+@node \linebreak, \newline, \hyphenation, Line & Page Breaking
+@comment node-name, next, previous, up
+@subsection \linebreak
+@cindex Line Breaks
+
+@code{\linebreak[number]}
+
+@ifinfo
+The @code{\linebreak} command tells LaTeX to break the current line at
+the point of the command. With the optional argument, @code{number},
+you can convert the @code{\linebreak} command from a demand to a
+request. The number must be a number from 0 to 4. The higher the
+number, the more insistent the request is.
+
+The @code{\linebreak} command causes LaTeX to stretch the line so it
+extends to the right margin.
+@end ifinfo
+
+@iftex
+The @code{\linebreak} command tells @LaTeX to break the current line at
+the point of the command. With the optional argument, @code{number},
+you can convert the @code{\linebreak} command from a demand to a
+request. The number must be a number from 0 to 4. The higher the
+number, the more insistent the request is.
+
+The @code{\linebreak} command causes @LaTeX to stretch the line so it
+extends to the right margin.
+@end iftex
+
+@comment ******************
+@comment ** \newline ******
+@comment ******************
+
+@comment LEVEL3
+@node \newline, \newpage, \linebreak, Line & Page Breaking
+@comment node-name, next, previous, up
+@subsection \newline
+@cindex Newline
+
+The @code{\newline} command breaks the line right where it is. The
+@code{\newline} command can be used only in paragraph mode.
+
+
+@comment ******************
+@comment ** \newpage ******
+@comment ******************
+
+@comment LEVEL3
+@node \newpage, \nolinebreak, \newline, Line & Page Breaking
+@comment node-name, next, previous, up
+@subsection \newpage
+@cindex New Page
+
+The @code{\newpage} command ends the current page.
+
+
+@comment ******************
+@comment * \nolinebreak ***
+@comment ******************
+
+@comment LEVEL3
+@node \nolinebreak, \nopagebreak, \newpage, Line & Page Breaking
+@comment node-name, next, previous, up
+@subsection \nolinebreak
+
+@code{\nolinebreak[number]}
+
+@ifinfo
+The @code{\nolinebreak} command prevents LaTeX from breaking the current
+line at the point of the command. With the optional argument,
+@code{number}, you can convert the @code{\nolinebreak} command from a
+demand to a request. The number must be a number from 0 to 4. The
+higher the number, the more insistent the request is.
+@end ifinfo
+
+@iftex
+The @code{\nolinebreak} command prevents @LaTeX from breaking the current
+line at the point of the command. With the optional argument,
+@code{number}, you can convert the @code{\nolinebreak} command from a
+demand to a request. The number must be a number from 0 to 4. The
+higher the number, the more insistent the request is.
+@end iftex
+
+@comment ******************
+@comment ** \nopagebreak **
+@comment ******************
+
+@comment LEVEL3
+@node \nopagebreak, \pagebreak, \nolinebreak, Line & Page Breaking
+@comment node-name, next, previous, up
+@subsection \nopagebreak
+
+@code{\nopagebreak[number]}
+
+@ifinfo
+The @code{\nopagebreak} command prevents LaTeX from breaking the current
+page at the point of the command. With the optional argument,
+@code{number}, you can convert the @code{\nopagebreak} command from a
+demand to a request. The number must be a number from 0 to 4. The
+higher the number, the more insistent the request is.
+@end ifinfo
+
+@iftex
+The @code{\nopagebreak} command prevents @LaTeX from breaking the current
+page at the point of the command. With the optional argument,
+@code{number}, you can convert the @code{\nopagebreak} command from a
+demand to a request. The number must be a number from 0 to 4. The
+higher the number, the more insistent the request is.
+@end iftex
+
+@comment ******************
+@comment ** \pagebreak ****
+@comment ******************
+
+@comment LEVEL3
+@node \pagebreak, Making Paragraphs, \nopagebreak, Line & Page Breaking
+@comment node-name, next, previous, up
+@subsection \pagebreak
+@cindex Page breaking
+
+@code{\pagebreak[number]}
+
+@ifinfo
+The @code{\pagebreak} command tells LaTeX to break the current page at
+the point of the command. With the optional argument, @code{number},
+you can convert the @code{\pagebreak} command from a demand to a
+request. The number must be a number from 0 to 4. The higher the
+number, the more insistent the request is.
+@end ifinfo
+
+@iftex
+The @code{\pagebreak} command tells @LaTeX to break the current page at
+the point of the command. With the optional argument, @code{number},
+you can convert the @code{\pagebreak} command from a demand to a
+request. The number must be a number from 0 to 4. The higher the
+number, the more insistent the request is.
+@end iftex
+
+
+@page
+
+@comment *************************
+@comment *** Making Paragraphs ***
+@comment *************************
+
+@comment LEVEL2
+@node Making Paragraphs, \indent, \pagebreak, Commands
+@comment node-name, next, previous, up
+@section Making Paragraphs
+@cindex Making Paragraphs
+@cindex Paragraphs
+
+A paragraph is ended by one or more completely blank lines -- lines not
+containing even an @code{%}. A blank line should not appear where a new
+paragraph cannot be started, such as in math mode or in the argument of
+a sectioning command.
+
+@menu
+* \indent::
+* \noindent::
+* \par::
+@end menu
+
+@comment ******************
+@comment ** \indent *******
+@comment ******************
+
+@comment LEVEL3
+@node \indent, \noindent, Making Paragraphs, Making Paragraphs
+@comment node-name, next, previous, up
+@subsection \indent
+@cindex Paragraphs
+
+@code{\indent}
+
+This produces a horizontal space whose width equals the width of the
+paragraph indentation. It is used to add paragraph indentation where it
+would otherwise be suppressed.
+
+@comment ******************
+@comment ** \noindent *****
+@comment ******************
+
+@comment LEVEL3
+@node \noindent, \par, \indent, Making Paragraphs
+@comment node-name, next, previous, up
+@subsection \noindent
+@cindex Paragraphs
+
+@code{\noindent}
+
+When used at the beginning of the paragraph, it suppresses the paragraph
+indentation. It has no effect when used in the middle of a paragraph.
+
+
+@comment ******************
+@comment ** \par **********
+@comment ******************
+
+@comment LEVEL3
+@node \par, Math Formulae, \noindent, Making Paragraphs
+@comment node-name, next, previous, up
+@subsection \par
+@cindex Paragraphs
+
+Equivalent to a blank line; often used to make command or environment
+definitions easier to read.
+
+
+@page
+
+@comment *************************
+@comment **** Math Formulae ******
+@comment *************************
+
+@comment LEVEL2
+@node Math Formulae, Subscripts & Superscripts, \par, Commands
+@comment node-name, next, previous, up
+@section Math Formulae
+@cindex Math Formulae
+@cindex Formulae, maths
+@cindex Math mode
+
+@ifinfo
+There are three environments that put LaTeX in math mode:
+@end ifinfo
+@iftex
+There are three environments that put @LaTeX in math mode:
+@end iftex
+@table @code
+@item math
+For Formulae that appear right in the text.
+@item displaymath
+For Formulae that appear on their own line.
+@item equation
+The same as the displaymath environment except that it adds an equation
+number in the right margin.
+@end table
+
+The @code{math} environment can be used in both paragraph and LR mode,
+but the @code{displaymath} and @code{equation} environments can be used
+only in paragraph mode. The @code{math} and @code{displaymath}
+environments are used so often that they have the following short forms:
+@example
+ \(...\) instead of \begin@{math@}...\end@{math@}
+
+ \[...\] instead of \begin@{displaymath@}...\end@{displaymath@}
+@end example
+
+In fact, the @code{math} environment is so common that it has an even
+shorter form:
+@example
+ $ ... $ instead of \(...\)
+@end example
+
+@menu
+* Subscripts & Superscripts::
+* Math Symbols::
+* Spacing in Math Mode::
+* Math Miscellany::
+@end menu
+
+@comment *****************************
+@comment * Subscripts & Superscripts *
+@comment *****************************
+
+@comment LEVEL3
+@node Subscripts & Superscripts, Math Symbols, Math Formulae, Math Formulae
+@comment node-name, next, previous, up
+@subsection Subscripts & Superscripts
+@cindex Math mode
+@cindex Superscript
+@cindex Subscript
+
+@ifinfo
+To get an expression @code{exp} to appear as a subscript, you just type
+@code{_@{exp@}}. To get @code{exp} to appear as a superscript, you type
+@code{^@{exp@}}. LaTeX handles superscripted superscripts and all of
+that stuff in the natural way. It even does the right thing when
+something has both a subscript and a superscript.
+@end ifinfo
+
+@iftex
+To get an expression @code{exp} to appear as a subscript, you just type
+@code{_@{exp@}}. To get @code{exp} to appear as a superscript, you type
+@code{^@{exp@}}. @LaTeX handles superscripted superscripts and all of
+that stuff in the natural way. It even does the right thing when
+something has both a subscript and a superscript.
+@end iftex
+
+
+@comment ******************
+@comment ** Math Symbols **
+@comment ******************
+
+@comment LEVEL3
+@node Math Symbols, Spacing in Math Mode, Subscripts & Superscripts, Math Formulae
+@comment node-name, next, previous, up
+@subsection Math Symbols
+@cindex Math mode
+@cindex Maths symbols
+@cindex Symbols
+
+@ifinfo
+LaTeX provides almost any mathematical symbol you're likely to need. The
+commands for generating them can be used only in math mode. For
+example, if you include @code{$\pi$} in your source, you will get the
+symbol "pi" in your output.
+@end ifinfo
+
+@iftex
+@LaTeX provides almost any mathematical symbol you're likely to need. The
+commands for generating them can be used only in math mode. For
+example, if you include @code{$\pi$} in your source, you will get the
+symbol
+@tex
+$\pi$
+@end tex
+in your output.
+@end iftex
+
+@comment ************************
+@comment * Spacing in Math Mode *
+@comment ************************
+
+@comment LEVEL3
+@node Spacing in Math Mode, Math Miscellany, Math Symbols, Math Formulae
+@comment node-name, next, previous, up
+@subsection Spacing in Math Mode
+@cindex Spacing, within Math mode
+@cindex Math mode, spacing
+
+@ifinfo
+In a @code{math} environment, LaTeX ignores the spaces you type and puts
+in the spacing that it thinks is best. LaTeX formats mathematics the
+way it's done in mathematics texts. If you want different spacing,
+LaTeX provides the following four commands for use in math mode:
+@end ifinfo
+@iftex
+In a @code{math} environment, @LaTeX ignores the spaces you type and puts
+in the spacing that it thinks is best. @LaTeX formats mathematics the
+way it's done in mathematics texts. If you want different spacing,
+@LaTeX provides the following four commands for use in math mode:
+@end iftex
+@enumerate
+@item
+@code{\;} - a thick space
+@item
+@code{\:} - a medium space
+@item
+@code{\,} - a thin space
+@item
+@code{\!} - a negative thin space
+@end enumerate
+
+
+@comment *******************
+@comment * Math Miscellany *
+@comment *******************
+
+@comment LEVEL3
+@node Math Miscellany, Modes, Spacing in Math Mode, Math Formulae
+@comment node-name, next, previous, up
+@subsection Math Miscellany
+@cindex Maths Miscellany
+@cindex Math mode
+
+@table @code
+
+@item \cdots
+The @code{\cdots} command produces a horizontal ellipsis where the dots
+are raised to the center of the line.
+
+@iftex
+eg.
+@tex
+$\cdots$
+@end tex
+@end iftex
+
+@item \ddots
+The @code{\ddots} command produces a diagonal ellipsis.
+
+@iftex
+eg.
+@tex
+$\ddots$
+@end tex
+@end iftex
+
+@item \frac
+@code{\frac@{num@}@{den@}}
+The @code{\frac} command produces the fraction @code{num} divided by @code{den}.
+
+@iftex
+eg.
+@tex
+${1}\over{4}$
+@end tex
+@end iftex
+
+@item \ldots
+The @code{\ldots} command produces an ellipsis. This command works in
+any mode, not just math mode.
+
+@iftex
+eg.
+@tex
+$\ldots$
+@end tex
+@end iftex
+
+@item \overbrace
+@code{\overbrace@{text@}}
+The @code{\overbrace} command generates a brace over text.
+
+@iftex
+eg.
+@tex
+$\overbrace{x+\cdots+x}^{k \rm\;times}$
+@end tex
+@end iftex
+
+@item \overline
+@code{\overline@{text@}}
+The @code{\overline} command causes the argument text to be overlined.
+
+@iftex
+eg.
+@tex
+$\overline{x}$
+@end tex
+@end iftex
+
+@item \sqrt
+@code{\sqrt[root]@{arg@}}
+The @code{\sqrt} command produces the square root of its argument. The
+optional argument, @code{root}, determines what root to produce, i.e.,
+the cube root of @code{x+y} would be typed as @code{$\sqrt[3]@{x+y@}$}.
+
+@iftex
+eg.
+@tex
+$\sqrt{x-1}$
+@end tex
+@end iftex
+
+@item \underbrace
+@code{\underbrace@{text@}}
+The @code{\underbrace} command generates text with a brace underneath.
+
+@iftex
+eg.
+@tex
+$\underbrace{x+y+z}_{>\,0}$
+@end tex
+@end iftex
+
+@item \underline
+@code{\underline@{text@}}
+The @code{\underline} command causes the argument text to be underlined.
+This command can also be used in paragraph and LR modes.
+
+@iftex
+eg.
+@tex
+$\underline{z}$
+@end tex
+@end iftex
+
+@item \vdots
+The @code{\vdots} command produces a vertical ellipsis.
+
+@iftex
+eg.
+@tex
+$\vdots$
+@end tex
+@end iftex
+
+@end table
+
+
+@page
+
+@comment *************************
+@comment ******* Modes ***********
+@comment *************************
+
+@comment LEVEL2
+@node Modes, Page Styles, Math Miscellany, Commands
+@comment node-name, next, previous, up
+@section Modes
+@cindex Modes
+@cindex Paragraph mode
+@cindex Math mode
+@cindex Left-to-right mode
+@cindex LR mode
+
+@ifinfo
+When LaTeX is processing your input text, it is always in one of three
+modes:
+@end ifinfo
+
+@iftex
+When @LaTeX is processing your input text, it is always in one of three
+modes:
+@end iftex
+
+@itemize @bullet
+@item
+Paragraph mode
+@item
+Math mode
+@item
+Left-to-right mode, called LR mode for short
+@end itemize
+
+
+@ifinfo
+LaTeX changes mode only when it goes up or down a staircase to a
+different level, though not all level changes produce mode changes.
+Mode changes occur only when entering or leaving an environment, or when
+LaTeX is processing the argument of certain text-producing commands.
+
+"Paragraph mode" is the most common; it's the one LaTeX is in when
+processing ordinary text. In that mode, LaTeX breaks your text into
+lines and breaks the lines into pages. LaTeX is in "math mode" when
+it's generating a mathematical formula. In "LR mode", as in paragraph
+mode, LaTeX considers the output that it produces to be a string of
+words with spaces between them. However, unlike paragraph mode, LaTeX
+keeps going from left to right; it never starts a new line in LR mode.
+Even if you put a hundred words into an @code{\mbox}, LaTeX would keep
+typesetting them from left to right inside a single box, and then
+complain because the resulting box was too wide to fit on the line.
+
+LaTeX is in LR mode when it starts making a box with an @code{\mbox}
+command. You can get it to enter a different mode inside the box - for
+example, you can make it enter math mode to put a formula in the box.
+There are also several text-producing commands and environments for
+making a box that put LaTeX in paragraph mode. The box make by one of
+these commands or environments will be called a @code{parbox}. When
+LaTeX is in paragraph mode while making a box, it is said to be in
+"inner paragraph mode". Its normal paragraph mode, which it starts out
+in, is called "outer paragraph mode".
+@end ifinfo
+
+@iftex
+@LaTeX changes mode only when it goes up or down a staircase to a
+different level, though not all level changes produce mode changes.
+Mode changes occur only when entering or leaving an environment, or when
+@LaTeX is processing the argument of certain text-producing commands.
+
+"Paragraph mode" is the most common; it's the one @LaTeX is in when
+processing ordinary text. In that mode, @LaTeX breaks your text into
+lines and breaks the lines into pages. @LaTeX is in "math mode" when
+it's generating a mathematical formula. In "LR mode", as in paragraph
+mode, @LaTeX considers the output that it produces to be a string of
+words with spaces between them. However, unlike paragraph mode, @LaTeX
+keeps going from left to right; it never starts a new line in LR mode.
+Even if you put a hundred words into an @code{\mbox}, @LaTeX would keep
+typesetting them from left to right inside a single box, and then
+complain because the resulting box was too wide to fit on the line.
+
+@LaTeX is in LR mode when it starts making a box with an @code{\mbox}
+command. You can get it to enter a different mode inside the box - for
+example, you can make it enter math mode to put a formula in the box.
+There are also several text-producing commands and environments for
+making a box that put @LaTeX in paragraph mode. The box make by one of
+these commands or environments will be called a @code{parbox}. When
+@LaTeX is in paragraph mode while making a box, it is said to be in
+"inner paragraph mode". Its normal paragraph mode, which it starts out
+in, is called "outer paragraph mode".
+@end iftex
+
+@page
+
+@comment *************************
+@comment ***** Page Styles *******
+@comment *************************
+
+@comment LEVEL2
+@node Page Styles, \maketitle, Modes, Commands
+@comment node-name, next, previous, up
+@section Page Styles
+@cindex Styles, pages
+@cindex Page styles
+
+The @code{\documentstyle} command determines the size and position of
+the page's head and foot. The page style determines what goes in them.
+
+@menu
+* \maketitle::
+* \pagenumbering::
+* \pagestyle::
+* \thispagestyle::
+@end menu
+
+
+@comment ******************
+@comment ** \maketitle ****
+@comment ******************
+
+@comment LEVEL3
+@node \maketitle, \author, Page Styles, Page Styles
+@comment node-name, next, previous, up
+@subsection \maketitle
+@cindex Title making
+@cindex \maketitle Style
+
+@code{\maketitle}
+
+The @code{\maketitle} command generates a title on a separate title page
+- except in the @code{article} style, where the title normally goes at
+the top of the first page. Information used to produce the title is
+obtained from the following declarations:
+
+@xref{Page Styles} for the commands to give the information.
+
+@menu
+* \author::
+* \date::
+* \thanks::
+* \title::
+@end menu
+
+
+@comment ***********
+@comment * \author *
+@comment ***********
+
+@comment LEVEL4
+@node \author, \date, \maketitle, \maketitle
+@comment node-name, next, previous, up
+@subsection \author
+@cindex Author, for titlepage
+
+@code{\author@{names@}}
+
+The @code{\author} command declares the author(s), where @code{names} is
+a list of authors separated by @code{\and} commands. Use @code{\\} to
+separate lines within a single author's entry -- for example, to give
+the author's institution or address.
+
+NOTE: The @code{milstd} and @code{book-form} styles have re-defined the
+@code{\maketitle} command. The @code{\title} declaration is the only
+command of those shown below that has any meaning.
+
+
+@comment ***********
+@comment ** \date **
+@comment ***********
+
+@comment LEVEL4
+@node \date, \thanks, \author, \maketitle
+@comment node-name, next, previous, up
+@subsection \date
+@cindex Date, for titlepage
+
+@code{\date@{text@}}
+
+The @code{\date} command declares text to be the document's date. With
+no @code{\date} command, the current date is used.
+
+
+@comment ***********
+@comment * \thanks *
+@comment ***********
+
+@comment LEVEL4
+@node \thanks, \title, \date, \maketitle
+@comment node-name, next, previous, up
+@subsection \thanks
+@cindex Thanks, for titlepage
+
+@code{\thanks@{text@}}
+
+The @code{\thanks} command produces a @code{footnote} to the title.
+
+
+@comment ***********
+@comment * \title **
+@comment ***********
+
+@comment LEVEL4
+@node \title, \pagenumbering, \thanks, \maketitle
+@comment node-name, next, previous, up
+@subsection \title
+@cindex Title, for titlepage
+
+@code{\title@{text@}}
+
+@ifinfo
+The @code{\title} command declares @code{text} to be the title. Use
+@code{\\} to tell LaTeX where to start a new line in a long title.
+@end ifinfo
+
+@iftex
+The @code{\title} command declares @code{text} to be the title. Use
+@code{\\} to tell @LaTeX where to start a new line in a long title.
+@end iftex
+
+
+@comment ******************
+@comment * \pagenumbering *
+@comment ******************
+
+@comment LEVEL3
+@node \pagenumbering, \pagestyle, \title, Page Styles
+@comment node-name, next, previous, up
+@subsection \pagenumbering
+@cindex Pagenumbering
+@cindex Page Styles
+
+@code{\pagenumbering@{num_style@}}
+
+Specifies the style of page numbers. Possible values of @code{num_style} are:
+
+@itemize @bullet
+@item
+@code{arabic} - Arabic numerals
+@item
+@code{roman} - Lowercase roman numerals
+@item
+@code{Roman} - Uppercase roman numerals
+@item
+@code{alph} - Lowercase letters
+@item
+@code{Alph} - Uppercase letters
+@end itemize
+
+
+@comment ******************
+@comment ** \pagestyle ****
+@comment ******************
+
+@comment LEVEL3
+@node \pagestyle, \mark, \pagenumbering, Page Styles
+@comment node-name, next, previous, up
+@subsection \pagestyle
+@code{\pagestyle@{option@}}
+@cindex Page Styles
+@cindex Page Styles, changing
+
+The @code{\pagestyle} command changes the style from the current page on
+throughout the remainder of your document.
+
+The valid options are:
+
+@itemize @bullet
+@item
+@code{plain} - Just a plain page number.
+@item
+@code{empty} - Produces empty heads and feet - no page numbers.
+@item
+@code{headings} - Puts running headings on each page. The document
+style specifies what goes in the headings.
+@item
+@code{myheadings} - You specify what is to go in the heading with the
+@code{\markboth} or the @code{\markright} commands.
+@end itemize
+
+@menu
+* \mark::
+@end menu
+
+
+@comment ***********
+@comment ** \mark **
+@comment ***********
+
+@comment LEVEL4
+@node \mark, \thispagestyle, \pagestyle, \pagestyle
+@comment node-name, next, previous, up
+@subsection \mark
+
+@example
+\markboth@{left head@}@{right head@}
+\markright@{right head@}
+@end example
+
+@ifinfo
+The @code{\markboth} and @code{\markright} commands are used in
+conjunction with the page style @code{myheadings} for setting either
+both or just the right heading. In addition to their use with the
+@code{myheadings} page style, you can use them to override the normal
+headings in the @code{headings} style, since LaTeX uses these same
+commands to generate those heads. You should note that a "left-hand
+heading" is generated by the last @code{\markboth} command before the
+end of the page, while a "right-hand heading" is generated by the first
+@code{\markboth} or @code{\markright} that comes on the page if there is
+one, otherwise by the last one before the page.
+@end ifinfo
+
+@iftex
+The @code{\markboth} and @code{\markright} commands are used in
+conjunction with the page style @code{myheadings} for setting either
+both or just the right heading. In addition to their use with the
+@code{myheadings} page style, you can use them to override the normal
+headings in the @code{headings} style, since @LaTeX uses these same
+commands to generate those heads. You should note that a "left-hand
+heading" is generated by the last @code{\markboth} command before the
+end of the page, while a "right-hand heading" is generated by the first
+@code{\markboth} or @code{\markright} that comes on the page if there is
+one, otherwise by the last one before the page.
+@end iftex
+
+@comment ******************
+@comment * \thispagestyle *
+@comment ******************
+
+@comment LEVEL3
+@node \thispagestyle, Sectioning, \mark, Page Styles
+@comment node-name, next, previous, up
+@subsection \thispagestyle
+
+@code{\thispagestyle@{option@}}
+
+The @code{\thispagestyle} command works in the same manner as the
+@code{\pagestyle} command except that it changes the style for the
+current page only.
+
+
+@page
+
+@comment *************************
+@comment ***** Sectioning ********
+@comment *************************
+
+@comment LEVEL2
+@node Sectioning, \appendix, \thispagestyle, Commands
+@comment node-name, next, previous, up
+@section Sectioning
+@cindex Sectioning
+@cindex chapter, Sectioning
+@cindex subsubsection, Sectioning
+@cindex subsection, Sectioning
+@cindex paragraph, Sectioning
+@cindex subparagraph, Sectioning
+@cindex subsubparagraph, Sectioning
+@cindex subsubsubparagraph, Sectioning
+
+Sectioning commands provide the means to structure your text into units.
+
+@itemize @bullet
+@item
+@code{\part}
+@item
+@code{\chapter} (report style only)
+@item
+@code{\section}
+@item
+@code{\subsection}
+@item
+@code{\subsubsection}
+@item
+@code{\paragraph}
+@item
+@code{\subparagraph}
+@item
+@code{\subsubparagraph} (milstd and book-form styles only)
+@item
+@code{\subsubsubparagraph} (milstd and book-form styles only)
+@end itemize
+
+All sectioning commands take the same general form, i.e.,
+
+@code{\chapter[optional]@{title@}}
+
+In addition to providing the heading in the text, the mandatory argument
+of the sectioning command can appear in two other places:
+
+@enumerate
+@item
+The table of contents
+@item
+The running head at the top of the page
+@end enumerate
+
+You may not want the same thing to appear in these other two places as
+appears in the text heading. To handle this situation, the sectioning
+commands have an @code{optional} argument that provides the text for
+these other two purposes.
+
+The "sectioning commands" have @code{*-forms} that print a @code{title},
+but do not include a number and do not make an entry in the table of
+contents. For example, the @code{*-form} of the @code{\subsection}
+command could look like:
+
+@code{\subsection*@{Example subsection@}}
+
+@menu
+* \appendix::
+@end menu
+
+
+@comment ***************
+@comment ** \appendix **
+@comment ***************
+
+@comment LEVEL3
+@node \appendix, Spaces & Boxes, Sectioning, Sectioning
+@comment node-name, next, previous, up
+@subsection \appendix
+@cindex Appendix, creating
+
+@code{\appendix}
+
+The @code{\appendix} command changes the way sectional units are
+numbered. The @code{\appendix} command generates no text and does not
+affect the numbering or parts.
+
+
+@page
+
+@comment *************************
+@comment **** Spaces & Boxes *****
+@comment *************************
+
+@comment LEVEL2
+@node Spaces & Boxes, \addvspace, \appendix, Commands
+@comment node-name, next, previous, up
+@section Spaces & Boxes
+@cindex Spaces & Boxes
+
+@menu
+* \addvspace::
+* \bigskip::
+* \dotfill::
+* \fbox::
+* \framebox::
+* \hfill::
+* \hrulefill::
+* \hspace::
+* \makebox::
+* \mbox::
+* \medskip::
+* \newsavebox::
+* \parbox::
+* \raisebox::
+* \rule::
+* \savebox::
+* \smallskip::
+* \usebox::
+* \vfill::
+* \vspace::
+@end menu
+
+
+@comment ****************
+@comment ** \addvspace **
+@comment ****************
+
+@comment LEVEL3
+@node \addvspace, \bigskip, Spaces & Boxes, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \addvspace
+@cindex Spaces & Boxes
+
+@code{\addvspace@{length@}}
+
+The @code{\addvspace} command normally adds a vertical space of height
+length. However, if vertical space has already been added to the same
+point in the output by a previous @code{\addvspace} command, then this
+command will not add more space than needed to make the natural length
+of the total vertical space equal to @code{length}.
+
+
+@comment ***************
+@comment ** \bigskip ***
+@comment ***************
+
+@comment LEVEL3
+@node \bigskip, \dotfill, \addvspace, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \bigskip
+@cindex Spaces & Boxes
+
+The @code{\bigskip} command is equivalent to
+@code{\vspace@{bigskipamount@}} where @code{bigskipamount} is determined
+by the document style.
+
+
+@comment ***************
+@comment ** \dotfill ***
+@comment ***************
+
+@comment LEVEL3
+@node \dotfill, \fbox, \bigskip, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \dotfill
+@cindex Spaces & Boxes
+
+The @code{\dotfill} command produces a "rubber length" that produces dots
+instead of just spaces.
+
+
+@comment ***************
+@comment ** \fbox ******
+@comment ***************
+
+@comment LEVEL3
+@node \fbox, \framebox, \dotfill, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \fbox
+@cindex Spaces & Boxes
+
+@code{\fbox@{text@}}
+
+The @code{\fbox} command is exactly the same as the @code{\mbox}
+command, except that it puts a frame around the outside of the box that
+it creates.
+
+
+@comment ***************
+@comment ** \framebox **
+@comment ***************
+
+@comment LEVEL3
+@node \framebox, \hfill, \fbox, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \framebox
+@cindex Spaces & Boxes
+
+@code{\framebox[width][position]@{text@}}
+
+The @code{\framebox} command is exactly the same as the @code{\makebox}
+command, except that it puts a frame around the outside of the box that
+it creates.
+
+The framebox command produces a rule of thickness @code{\fboxrule}, and
+leaves a space @code{\fboxsep} between the rule and the contents of the
+box.
+
+
+@comment ***************
+@comment ** \hfill *****
+@comment ***************
+
+@comment LEVEL3
+@node \hfill, \hrulefill, \framebox, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \hfill
+@cindex Spaces & Boxes
+
+The @code{\hfill} fill command produces a "rubber length" which can
+stretch or shrink horizontally. It will be filled with spaces.
+
+
+@comment ****************
+@comment ** \hrulefill **
+@comment ****************
+
+@comment LEVEL3
+@node \hrulefill, \hspace, \hfill, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \hrulespace
+@cindex Spaces & Boxes
+
+The @code{\hrulefill} fill command produces a "rubber length" which can
+stretch or shrink horizontally. It will be filled with a horizontal
+rule.
+
+
+@comment ***************
+@comment ** \hspace ****
+@comment ***************
+
+@comment LEVEL3
+@node \hspace, \makebox, \hrulefill, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \hspace
+@cindex Spaces & Boxes
+
+@code{\hspace[*]@{length@}}
+
+@ifinfo
+The @code{\hspace} command adds horizontal space. The length of the
+space can be expressed in any terms that LaTeX understands, i.e.,
+points, inches, etc. You can add negative as well as positive space
+with an @code{\hspace} command. Adding negative space is like
+backspacing.
+
+LaTeX removes horizontal space that comes at the end of a line. If you
+don't want LaTeX to remove this space, include the optional @code{*}
+argument. Then the space is never removed.
+@end ifinfo
+
+@iftex
+The @code{\hspace} command adds horizontal space. The length of the
+space can be expressed in any terms that @LaTeX understands, i.e.,
+points, inches, etc. You can add negative as well as positive space
+with an @code{\hspace} command. Adding negative space is like
+backspacing.
+
+@LaTeX removes horizontal space that comes at the end of a line. If you
+don't want @LaTeX to remove this space, include the optional @code{*}
+argument. Then the space is never removed.
+@end iftex
+
+
+@comment **************
+@comment ** \makebox **
+@comment **************
+
+@comment LEVEL3
+@node \makebox, \mbox, \hspace, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \makebox
+@cindex Spaces & Boxes
+
+@code{\makebox[width][position]@{text@}}
+
+The @code{\makebox} command creates a box just wide enough to contain
+the @code{text} specified. The width of the box is specified by the
+optional @code{width} argument. The position of the text within the box
+is determined by the optional @code{position} argument.
+
+@itemize @bullet
+@item
+@code{c} - centered (default)
+@item
+@code{l} - flushleft
+@item
+@code{r} - flushright
+@end itemize
+
+@xref{\makebox (picture)}.
+
+@comment ***************
+@comment ** \mbox ******
+@comment ***************
+
+@comment LEVEL3
+@node \mbox, \medskip, \makebox, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \mbox
+@cindex Spaces & Boxes
+
+@code{\mbox@{text@}}
+
+The @code{\mbox} command creates a box just wide enough to hold the text
+created by its argument.
+
+
+@comment ***************
+@comment ** \medskip ***
+@comment ***************
+
+@comment LEVEL3
+@node \medskip, \newsavebox, \mbox, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \medskip
+@cindex Spaces & Boxes
+
+The @code{\medskip} command is equivalent to
+@code{\vspace@{medskipamount@}} where @code{medskipamount} is determined
+by the document style.
+
+
+@comment ****************
+@comment ** \newsavebox *
+@comment ****************
+
+@comment LEVEL3
+@node \newsavebox, \parbox, \medskip, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \newsavebox
+@cindex Spaces & Boxes
+
+@code{\newsavebox@{cmd@}}
+
+Declares @code{cmd}, which must be a command name that is not already
+defined, to be a bin for saving boxes.
+
+
+@comment ***************
+@comment ** \parbox ****
+@comment ***************
+
+@comment LEVEL3
+@node \parbox, \raisebox, \newsavebox, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \parbox
+@cindex Spaces & Boxes
+
+@code{\parbox[position]@{width@}@{text@}}
+
+A @code{parbox} is a box whose contents are created in @code{paragraph}
+mode. The @code{\parbox} has two mandatory arguments:
+
+@itemize @bullet
+@item
+@code{width} - specifies the width of the parbox, and
+@item
+@code{text} - the text that goes inside the parbox.
+@end itemize
+
+@ifinfo
+LaTeX will position a @code{parbox} so its center lines up with the
+center of the text line. An optional first argument, @code{position},
+allows you to line up either the top or bottom line in the parbox.
+@end ifinfo
+
+@iftex
+@LaTeX will position a @code{parbox} so its center lines up with the center of
+the text line. An optional first argument, @code{position}, allows you
+to line up either the top or bottom line in the parbox.
+@end iftex
+
+A @code{\parbox} command is used for a parbox containing a small piece
+of text, with nothing fancy inside. In particular, you shouldn't use
+any of the paragraph-making environments inside a @code{\parbox}
+argument. For larger pieces of text, including ones containing a
+paragraph-making environment, you should use a @code{minipage}
+environment.
+
+
+@comment ***************
+@comment ** \raisebox **
+@comment ***************
+
+@comment LEVEL3
+@node \raisebox, \rule, \parbox, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \raisebox
+@cindex Spaces & Boxes
+
+@code{\raisebox@{distance@}[extend-above][extend-below]@{text@}}
+
+The @code{\raisebox} command is used to raise or lower text. The first
+mandatory argument specifies how high the text is to be raised (or
+lowered if it is a negative amount). The text itself is processed in
+@code{LR mode}.
+
+@ifinfo
+Sometimes it's useful to make LaTeX think something has a different size
+than it really does - or a different size than LaTeX would normally
+think it has. The @code{\raisebox} command lets you tell LaTeX how tall
+it is.
+
+The first optional argument, @code{extend-above}, makes LaTeX think that
+the text extends above the line by the amount specified. The second
+optional argument, @code{extend-below}, makes LaTeX think that the text
+extends below the line by the amount specified.
+@end ifinfo
+
+@iftex
+Sometimes it's useful to make @LaTeX think something has a different
+size than it really does - or a different size than @LaTeX would
+normally think it has. The @code{\raisebox} command lets you tell
+@LaTeX how tall it is.
+
+The first optional argument, @code{extend-above}, makes @LaTeX think
+that the text extends above the line by the amount specified. The
+second optional argument, @code{extend-below}, makes @LaTeX think that
+the text extends below the line by the amount specified.
+@end iftex
+
+
+@comment ***************
+@comment ** \rule ******
+@comment ***************
+
+@comment LEVEL3
+@node \rule, \savebox, \raisebox, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \rule
+@cindex Spaces & Boxes
+
+@code{\rule[raise-height]@{width@}@{thickness@}}
+
+The @code{\rule} command is used to produce horizontal lines. The
+arguments are defined as follows:
+
+@itemize @bullet
+@item
+@code{raise-height} - specifies how high to raise the rule (optional)
+@item
+@code{width} - specifies the length of the rule (mandatory)
+@item
+@code{thickness} - specifies the thickness of the rule (mandatory)
+@end itemize
+
+
+@comment ***************
+@comment ** \savebox ***
+@comment ***************
+
+@comment LEVEL3
+@node \savebox, \smallskip, \rule, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \savebox
+@cindex Spaces & Boxes
+
+@example
+ \sbox@{cmd@}[text]
+ \savebox@{cmd@}[width][pos]@{text@}
+@end example
+
+These commands typeset @code{text} in a box just as for @code{\mbox} or
+@code{\makebox}. However, instead of printing the resulting box, they
+save it in bin @code{cmd}, which must have been declared with
+@code{\newsavebox}.
+
+
+@comment ****************
+@comment ** \smallskip **
+@comment ****************
+
+@comment LEVEL3
+@node \smallskip, \usebox, \savebox, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \smallskip
+@cindex Spaces & Boxes
+
+@code{\smallskip}
+
+The @code{\smallskip} command is equivalent to
+@code{\vspace@{smallskipamount@}} where @code{smallskipamount} is
+determined by the document style.
+
+
+@comment ***************
+@comment ** \usebox ****
+@comment ***************
+
+@comment LEVEL3
+@node \usebox, \vfill, \smallskip, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \usebox
+@cindex Spaces & Boxes
+
+@code{\usebox@{cmd@}}
+
+Prints the box most recently saved in bin @code{cmd} by a
+@code{\savebox} command.
+
+
+@comment ***************
+@comment ** \vfill *****
+@comment ***************
+
+@comment LEVEL3
+@node \vfill, \vspace, \usebox, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \vfill
+@cindex Spaces & Boxes
+
+The @code{\vfill} fill command produces a rubber length which can
+stretch or shrink vertically.
+
+
+@comment ***************
+@comment ** \vspace ****
+@comment ***************
+
+@comment LEVEL3
+@node \vspace, Special Characters, \vfill, Spaces & Boxes
+@comment node-name, next, previous, up
+@subsection \vspace
+@cindex Spaces & Boxes
+
+@code{\vspace[*]@{length@}}
+
+@ifinfo
+The @code{\vspace} command adds vertical space. The length of the space
+can be expressed in any terms that LaTeX understands, i.e., points,
+inches, etc. You can add negative as well as positive space with an
+@code{\vspace} command.
+
+LaTeX removes vertical space that comes at the end of a page. If you
+don't want LaTeX to remove this space, include the optional @code{*}
+argument. Then the space is never removed.
+@end ifinfo
+
+@iftex
+The @code{\vspace} command adds vertical space. The length of the space
+can be expressed in any terms that @LaTeX understands, i.e., points,
+inches, etc. You can add negative as well as positive space with an
+@code{\vspace} command.
+
+@LaTeX removes vertical space that comes at the end of a page. If you
+don't want @LaTeX to remove this space, include the optional @code{*}
+argument. Then the space is never removed.
+@end iftex
+
+
+@page
+
+@comment *************************
+@comment ** Special Characters ***
+@comment *************************
+
+@comment LEVEL2
+@node Special Characters, Splitting the Input, \vspace, Commands
+@comment node-name, next, previous, up
+@section Special Characters
+@cindex Special Characters
+@cindex Characters, special
+
+@ifinfo
+The following characters play a special role in LaTeX and are called
+"special printing characters", or simply "special characters".
+@end ifinfo
+
+@iftex
+The following characters play a special role in @LaTeX and are called
+"special printing characters", or simply "special characters".
+@end iftex
+
+@example
+ # $ % & ~ _ ^ \ @{ @}
+@end example
+Whenever you put one of these special characters into your file, you are
+doing something special. If you simply want the character to be printed
+just as any other letter, include a @code{\} in front of the character.
+For example, @code{\$} will produce @code{$} in your output.
+
+The exception to the rule is the @code{\} itself because @code{\\} has
+its own special meaning. A @code{\} is produced by typing
+@code{$\backslash$} in your file.
+
+
+@page
+
+@comment *************************
+@comment ** Splitting the Input **
+@comment *************************
+
+@comment LEVEL2
+@node Splitting the Input, \include, Special Characters, Commands
+@comment node-name, next, previous, up
+@section Splitting the Input
+@cindex Splitting the input file
+@cindex Input file, splitting
+
+@ifinfo
+A large document requires a lot of input. Rather than putting the whole
+input in a single large file, it's more efficient to split it into
+several smaller ones. Regardless of how many separate files you use,
+there is one that is the root file; it is the one whose name you type
+when you run LaTeX.
+@end ifinfo
+
+@iftex
+A large document requires a lot of input. Rather than putting the whole
+input in a single large file, it's more efficient to split it into
+several smaller ones. Regardless of how many separate files you use,
+there is one that is the root file; it is the one whose name you type
+when you run @LaTeX.
+@end iftex
+
+@menu
+* \include::
+* \includeonly::
+* \input::
+@end menu
+
+
+@comment ***************
+@comment ** \include ***
+@comment ***************
+
+@comment LEVEL3
+@node \include, \includeonly, Splitting the Input, Splitting the Input
+@comment node-name, next, previous, up
+@subsection \include
+
+@code{\include@{file@}}
+
+The @code{\include} command is used in conjunction with the
+@code{\includeonly} command for selective inclusion of files. The
+@code{file} argument is the first name of a file, denoting
+@file{file.tex}. If @code{file} is one the file names in the file list
+of the @code{\includeonly} command or if there is no @code{\includeonly}
+command, the @code{\include} command is equivalent to
+@example
+\clearpage \input@{file@} \clearpage
+@end example
+except that if the file @file{file.tex} does not exist, then a warning
+message rather than an error is produced. If the file is not in the
+file list, the @code{\include} command is equivalent to @code{\clearpage}.
+
+The @code{\include} command may not appear in the preamble or in a file
+read by another @code{\include} command.
+
+
+@comment *******************
+@comment ** \includeonly ***
+@comment *******************
+
+@comment LEVEL3
+@node \includeonly, \input, \include, Splitting the Input
+@comment node-name, next, previous, up
+@subsection \includeonly
+
+@code{\includeonly@{file_list@}}
+
+The @code{\includeonly} command controls which files will be read in by
+an @code{\include} command. It can only appear in the preamble.
+
+@comment ***************
+@comment ** \input *****
+@comment ***************
+
+@comment LEVEL3
+@node \input, Starting & Ending, \includeonly, Splitting the Input
+@comment node-name, next, previous, up
+@subsection \input
+
+@code{\input@{file@}}
+
+The @code{\input} command causes the indicated @code{file} to be read and
+processed, exactly as if its contents had been inserted in the current
+file at that point. The file name may be a complete file name with
+extension or just a first name, in which case the file @file{file.tex}
+is used.
+
+
+@page
+
+@comment *************************
+@comment *** Starting & Ending ***
+@comment *************************
+
+@comment LEVEL2
+@node Starting & Ending, Table of Contents, \input, Commands
+@comment node-name, next, previous, up
+@section Starting & Ending
+@cindex Starting & Ending
+@cindex Ending & Starting
+
+Your input file must contain the following commands as a minimum...
+
+@example
+ \documentstyle@{style@}
+ \begin@{document@}
+ ... your text goes here ...
+ \end@{document@}
+@end example
+@ifinfo
+...where the @code{style} selected is one the valid styles for LaTeX.
+@xref{Document Styles}, and also @pxref{Overview}, for details of the
+various document styles available locally.
+
+You may include other LaTeX commands between the @code{\documentstyle}
+and the @code{\begin@{document@}} commands.
+@end ifinfo
+
+@iftex
+...where the @code{style} selected is one the valid styles for @LaTeX.
+@xref{Document Styles}, and also @pxref{Overview}, for details of the
+various document styles available locally.
+
+You may include other @LaTeX commands between the @code{\documentstyle}
+and the @code{\begin@{document@}} commands.
+@end iftex
+
+
+@page
+
+@comment *************************
+@comment *** Table of Contents ***
+@comment *************************
+
+@comment LEVEL2
+@node Table of Contents, \addcontentsline, Starting & Ending, Commands
+@comment node-name, next, previous, up
+@section Table of Contents
+@cindex Table of Contents, creating
+
+@ifinfo
+A table of contents is produced with the @code{\tableofcontents}
+command. You put the command right where you want the table of contents
+to go; LaTeX does the rest for you. It produces a heading, but it does
+not automatically start a new page. If you want a new page after the
+table of contents, include a @code{\newpage} command after the
+@code{\tableofcontents} command.
+@end ifinfo
+
+@iftex
+A table of contents is produced with the @code{\tableofcontents}
+command. You put the command right where you want the table of contents
+to go; @LaTeX does the rest for you. It produces a heading, but it does
+not automatically start a new page. If you want a new page after the
+table of contents, include a @code{\newpage} command after the
+@code{\tableofcontents} command.
+@end iftex
+
+There are similar commands @code{\listoffigures} and
+@code{\listoftables} for producing a list of figures and a list of
+tables, respectively. Everything works exactly the same as for the
+table of contents.
+
+NOTE: If you want any of these items to be generated, you cannot
+have the @code{\nofiles} command in your document.
+
+@menu
+* \addcontentsline::
+* \addtocontents::
+@end menu
+
+
+@comment ********************
+@comment * \addcontentsline *
+@comment ********************
+
+@comment LEVEL3
+@node \addcontentsline, \addtocontents, Table of Contents, Table of Contents
+@comment node-name, next, previous, up
+@subsection \addcontentsline
+
+@code{\addcontentsline@{file@}@{sec_unit@}@{entry@}}
+
+The @code{\addcontentsline} command adds an entry to the specified list
+or table where...
+
+@itemize @bullet
+@item
+@code{file} is the extension of the file on which information is to be
+written: @code{toc} (table of contents), @code{lof} (list of figures),
+or @code{lot} (list of tables).
+@item
+@code{sec_unit} controls the formatting of the entry. It should be one
+of the following, depending upon the value of the file argument:
+@enumerate
+@item
+@code{toc} - the name of the sectional unit, such as part or subsection.
+@item
+@code{lof} - figure
+@item
+@code{lot} - table
+@end enumerate
+@item
+@code{entry} is the text of the entry.
+@end itemize
+
+
+@comment ******************
+@comment * \addtocontents *
+@comment ******************
+
+@comment LEVEL3
+@node \addtocontents, Terminal Input/Output, \addcontentsline, Table of Contents
+@comment node-name, next, previous, up
+@subsection \addtocontents
+
+@code{\addtocontents@{file@}@{text@}}
+
+The @code{\addtocontents} command adds text (or formatting commands) directly
+to the file that generates the table of contents or list of figures or
+tables.
+
+@itemize @bullet
+@item
+@code{file} is the extension of the file on which information is to be
+written: @code{toc} (table of contents), @code{lof} (list of figures),
+or @code{lot} (list of tables).
+@item
+@code{text} is the information to be written.
+@end itemize
+
+
+@page
+
+@comment *************************
+@comment * Terminal Input/Output *
+@comment *************************
+
+@comment LEVEL2
+@node Terminal Input/Output, \typeout, \addtocontents, Commands
+@comment node-name, next, previous, up
+@section Terminal Input/Output
+@cindex Input/Output
+@cindex Terminal Input/Output
+
+@menu
+* \typeout::
+* \typein::
+@end menu
+
+
+@comment **************
+@comment * \typeout ***
+@comment **************
+
+@comment LEVEL3
+@node \typeout, \typein, Terminal Input/Output, Terminal Input/Output
+@comment node-name, next, previous, up
+@subsection \typeout
+
+@code{\typeout@{msg@}}
+
+Prints @code{msg} on the terminal and in the @code{log} file. Commands
+in @code{msg} that are defined with @code{\newcommand} or
+@code{\renewcommand} are replaced by their definitions before being
+printed.
+
+@ifinfo
+LaTeX's usual rules for treating multiple spaces as a single space and
+ignoring spaces after a command name apply to @code{msg}. A
+@code{\space} command in @code{msg} causes a single space to be printed.
+@end ifinfo
+
+@iftex
+@LaTeX's usual rules for treating multiple spaces as
+a single space and ignoring spaces after a command name apply to
+@code{msg}. A @code{\space} command in @code{msg} causes a single space
+to be printed.
+@end iftex
+
+
+@comment **************
+@comment * \typein ****
+@comment **************
+
+@comment LEVEL3
+@node \typein, Typefaces, \typeout, Terminal Input/Output
+@comment node-name, next, previous, up
+@subsection \typein
+
+@code{\typein[cmd]@{msg@}}
+
+@ifinfo
+Prints @code{msg} on the terminal and causes LaTeX to stop and wait for
+you to type a line of input, ending with return. If the @code{cmd}
+argument is missing, the typed input is processed as if it had been
+included in the input file in place of the @code{\typein} command. If
+the @code{cmd} argument is present, it must be a command name. This
+command name is then defined or redefined to be the typed input.
+@end ifinfo
+
+@iftex
+Prints @code{msg} on the terminal and causes @LaTeX to stop and wait for
+you to type a line of input, ending with return. If the @code{cmd}
+argument is missing, the typed input is processed as if it had been
+included in the input file in place of the @code{\typein} command. If
+the @code{cmd} argument is present, it must be a command name. This
+command name is then defined or redefined to be the typed input.
+@end iftex
+
+
+@page
+
+@comment *************************
+@comment ***** Typefaces *********
+@comment *************************
+
+@comment LEVEL2
+@node Typefaces, Styles, \typein, Commands
+@comment node-name, next, previous, up
+@section Typefaces
+@cindex Typefaces
+@cindex Fonts
+
+The @code{typeface} is specified by giving the "size" and "style". A
+typeface is also called a "font".
+
+@menu
+* Styles::
+* Sizes::
+@end menu
+
+
+@comment **************
+@comment ** Styles ****
+@comment **************
+
+@comment LEVEL3
+@node Styles, Sizes, Typefaces, Typefaces
+@comment node-name, next, previous, up
+@subsection \Styles
+@cindex Font Styles
+@cindex Typeface Styles
+@cindex Styles of text
+
+@ifinfo
+The following type style commands are supported by LaTeX.
+@end ifinfo
+
+@iftex
+The following type style commands are supported by @LaTeX.
+@end iftex
+
+@table @code
+@item \rm
+Roman.
+@item \it
+Italics.
+@item \em
+Emphasis (toggles between \it and \rm).
+@item \bf
+Boldface.
+@item \sl
+Slanted.
+@item \sf
+Sans serif.
+@item \sc
+Small caps.
+@item \tt
+Typewriter.
+@end table
+
+
+@comment **************
+@comment ** Sizes *****
+@comment **************
+
+@comment LEVEL3
+@node Sizes, Parameters, Styles, Typefaces
+@comment node-name, next, previous, up
+@subsection Sizes
+@cindex Font Sizes
+@cindex Typeface Sizes
+@cindex Sizes of text
+
+@ifinfo
+The following type size commands are supported by LaTeX.
+@end ifinfo
+
+@iftex
+The following type size commands are supported by @LaTeX.
+@end iftex
+
+@table @code
+@item \tiny
+
+@item \scriptsize
+
+@item \footnotesize
+
+@item \small
+
+@item \normalsize
+(default)
+
+@item \large
+
+@item \Large
+(capital "l")
+
+@item \LARGE
+(all caps)
+
+@item \huge
+
+@item \Huge
+(capital "h")
+@end table
+
+
+@page
+@comment ****************************************
+@comment ************* PARAMETERS ***************
+@comment ****************************************
+
+@comment LEVEL1
+@node Parameters, List of Commands, Sizes, Top
+@comment node-name, next, previous, up
+@chapter Parameters
+
+@ifinfo
+The input file specification indicates the file to be formatted; TeX
+uses @file{.tex} as a default file extension. If you omit the input file
+entirely, TeX accepts input from the terminal. You specify command
+options by supplying a string as a parameter to the command. eg.
+
+@code{latex "\scrollmode\input foo.tex"}
+
+...will process @file{foo.tex} without pausing after every error.
+
+Output files are always created in the current directory. When you fail
+to specify an input file name, TeX bases the output names on the file
+specification associated with the logical name TEX_OUTPUT, typically
+@code{texput.log}.
+@end ifinfo
+
+@iftex
+The input file specification indicates the file to be formatted; @TeX@
+uses @file{.tex} as a default file extension. If you omit the input file
+entirely, @TeX@ accepts input from the terminal. You specify command
+options by supplying a string as a parameter to the command. eg.
+
+@code{latex "\scrollmode\input foo.tex"}
+
+...will process @file{foo.tex} without pausing after every error.
+
+Output files are always created in the current directory. When you fail
+to specify an input file name, @TeX@ bases the output names on the file
+specification associated with the logical name TEX_OUTPUT, typically
+@code{texput.log}.
+@end iftex
+
+@page
+@comment *************************
+@comment *** List of Commands ****
+@comment *************************
+
+@comment LEVEL2
+@node List of Commands, Index, Parameters, Top
+@comment node-name, next, previous, up
+@section Alphabetical List of Commands
+
+
+@menu
+* _{exp} (subscript)::
+* ^{exp} (superscript)::
+* \\::
+* \- (hyphenation)::
+* \;::
+* \COLON::
+* \COMMA::
+* \!::
+* \=::
+* \>::
+* \<::
+* \+::
+* \- (tabbing)::
+* \A::
+* \`::
+* \addcontentsline::
+* \addtocontents::
+* \addtocounter::
+* \address::
+* \addtolength::
+* \addvspace::
+* \alph::
+* \appendix::
+* \arabic::
+* array::
+* \author::
+* \bf::
+* \bibitem::
+* \bigskip::
+* \cdots::
+* center::
+* \centering::
+* \circle::
+* \cite::
+* \cleardoublepage::
+* \clearpage::
+* \cline::
+* \closing::
+* \dashbox::
+* \date::
+* \ddots::
+* description::
+* \dotfill::
+* \em::
+* enumerate::
+* eqnarray::
+* equation::
+* figure::
+* \fbox::
+* \flushbottom::
+* flushleft::
+* flushright::
+* \fnsymbol::
+* \footnote::
+* \footnotemark::
+* \footnotesize::
+* \footnotetext::
+* \frac::
+* \frame::
+* \framebox::
+* \hfill::
+* \hline::
+* \hrulefill::
+* \hspace::
+* \huge::
+* \Huge (capital "h")::
+* \hyphenation::
+* \include::
+* \includeonly::
+* \indent::
+* \input::
+* \it::
+* itemize::
+* \kill::
+* \label::
+* \large::
+* \Large (capital "l")::
+* \LARGE (all caps)::
+* \ldots::
+* \line::
+* \linebreak::
+* \linethickness::
+* list::
+* \location::
+* \makebox::
+* \maketitle::
+* \mark::
+* \mbox::
+* \medskip::
+* minipage::
+* \multicolumn::
+* \multiput::
+* \newcommand::
+* \newcounter::
+* \newenvironment::
+* \newfont::
+* \newlength::
+* \newline::
+* \newpage::
+* \newsavebox::
+* \newtheorem::
+* \nocite::
+* \noindent::
+* \nolinebreak::
+* \normalsize::
+* \nopagebreak::
+* \onecolumn::
+* \opening::
+* \oval::
+* \overbrace::
+* \overline::
+* \pagebreak::
+* \pagenumbering::
+* \pageref::
+* \pagestyle::
+* \par::
+* \parbox::
+* picture::
+* \put::
+* quotation::
+* quote::
+* \raggedbottom::
+* \raggedleft::
+* \raggedright::
+* \raisebox::
+* \ref::
+* \rm::
+* \roman::
+* \rule::
+* \savebox::
+* \sc::
+* \scriptsize::
+* \setcounter::
+* \setlength::
+* \settowidth::
+* \sf::
+* \shortstack::
+* \signature::
+* \sl::
+* \small::
+* \smallskip::
+* \sqrt::
+* tabbing::
+* table::
+* tabular::
+* \telephone::
+* \thanks::
+* thebibliography::
+* theorem::
+* \thispagestyle::
+* \tiny::
+* \title::
+* titlepage::
+* \tt::
+* \twocolumn::
+* \typeout::
+* \typein::
+* \underbrace::
+* \underline::
+* \usebox::
+* \usecounter::
+* \value::
+* \vdots::
+* \vector::
+* \verb::
+* verbatim::
+* verse::
+* \vfill::
+* \vline::
+* \vspace::
+@end menu
+
+
+@comment ************************
+@comment ** _{exp} (subscript) **
+@comment ************************
+
+@comment LEVEL3 - commands
+@node _{exp} (subscript), ^{exp} (superscript), , List of Commands
+@comment node-name, next, previous, up
+@subsection _@{exp@} (subscript)
+
+To get an expression @code{exp} to appear as a subscript, you just type
+@code{_@{exp@}}. Use in math mode.
+
+@xref{Math Formulae}.
+
+@xref{Subscripts & Superscripts}.
+
+
+@comment ***************************
+@comment ** ^{exp} (superscript) **
+@comment ***************************
+
+@comment LEVEL3 - commands
+@node ^{exp} (superscript), \;, _{exp} (subscript), List of Commands
+@comment node-name, next, previous, up
+@subsection ^@{exp@} (superscript)
+
+To get an expression @code{exp} to appear as a superscript, you just
+type @code{^@{exp@}}. Use in math mode.
+
+@xref{Math Formulae}.
+
+@xref{Subscripts & Superscripts}.
+
+
+@comment ********
+@comment ** \; **
+@comment ********
+
+@comment LEVEL3 - commands
+@node \;, \COLON, ^{exp} (superscript), List of Commands
+@comment node-name, next, previous, up
+@subsection \;
+
+Include a thick space in math mode.
+
+@xref{Math Formulae}.
+
+@xref{Spacing in Math Mode}.
+
+
+@comment ************
+@comment ** \COLON **
+@comment ************
+
+@comment LEVEL3 - commands
+@node \COLON, \COMMA, \;, List of Commands
+@comment node-name, next, previous, up
+@subsection \:
+
+Include a medium space in math mode.
+
+@xref{Math Formulae}.
+
+@xref{Spacing in Math Mode}.
+
+
+@comment ************
+@comment ** \COMMA **
+@comment ************
+
+@comment LEVEL3 - commands
+@node \COMMA, \!, \COLON, List of Commands
+@comment node-name, next, previous, up
+@subsection \,
+
+Include a thin space in math mode.
+
+@xref{Math Formulae}.
+
+@xref{Spacing in Math Mode}.
+
+
+@comment ********
+@comment ** \! **
+@comment ********
+
+@comment LEVEL3 - commands
+@node \!, \bf, \COMMA, List of Commands
+@comment node-name, next, previous, up
+@subsection \!
+
+Include a negative thin space in math mode.
+
+@xref{Math Formulae}.
+
+@xref{Spacing in Math Mode}.
+
+
+@comment **********
+@comment ** \bf ***
+@comment **********
+
+@comment LEVEL3 - commands
+@node \bf, \cdots, \!, List of Commands
+@comment node-name, next, previous, up
+@subsection \bf
+
+Boldface typeface.
+
+@xref{Typefaces}.
+
+@xref{Styles}.
+
+
+@comment *************
+@comment ** \cdots ***
+@comment *************
+
+@comment LEVEL3 - commands
+@node \cdots, \ddots, \bf, List of Commands
+@comment node-name, next, previous, up
+@subsection \cdots
+
+The @code{\cdots} command produces a horizontal ellipsis where the dots
+are raised to the center of the line.
+
+@xref{Math Formulae}.
+
+@xref{Math Miscellany}.
+
+
+@comment *************
+@comment ** \ddots ***
+@comment *************
+
+@comment LEVEL3 - commands
+@node \ddots, \em, \cdots, List of Commands
+@comment node-name, next, previous, up
+@subsection \ddots
+
+The @code{\ddots} command produces a diagonal ellipsis.
+
+@xref{Math Formulae}.
+
+@xref{Math Miscellany}.
+
+
+
+@comment **********
+@comment ** \em ***
+@comment **********
+
+@comment LEVEL3 - commands
+@node \em, \footnotesize, \ddots, List of Commands
+@comment node-name, next, previous, up
+@subsection \em
+
+Emphasis (toggles between @code{\it} and @code{\rm}).
+
+@xref{Typefaces}.
+
+@xref{Styles}.
+
+
+
+@comment *******************
+@comment ** \footnotesize **
+@comment *******************
+
+@comment LEVEL3 - commands
+@node \footnotesize, \frac, \em, List of Commands
+@comment node-name, next, previous, up
+@subsection \footnotesize
+
+Third smallest of 10 typefaces available. This is the default size for
+footnotes.
+
+@xref{Typefaces}.
+
+@xref{Sizes}.
+
+
+
+@comment ************
+@comment ** \frac ***
+@comment ************
+
+@comment LEVEL3 - commands
+@node \frac, \huge, \footnotesize, List of Commands
+@comment node-name, next, previous, up
+@subsection \frac
+
+@code{\frac@{num@}@{den@}}
+
+The @code{\frac} command produces the fraction @code{num} divided by
+@code{den}.
+
+@xref{Math Formulae}.
+
+@xref{Math Miscellany}.
+
+
+@comment ************
+@comment ** \huge ***
+@comment ************
+
+@comment LEVEL3 - commands
+@node \huge, \Huge (capital "h"), \frac, List of Commands
+@comment node-name, next, previous, up
+@subsection \huge
+
+Second largest of 10 typefaces available.
+
+@xref{Typefaces}.
+
+@xref{Sizes}.
+
+
+@comment *************************
+@comment ** \Huge (capital "h") **
+@comment *************************
+
+@comment LEVEL3 - commands
+@node \Huge (capital "h"), \it, \huge, List of Commands
+@comment node-name, next, previous, up
+@subsection \Huge
+
+Largest of 10 typefaces available. All fonts may not be available in
+this size.
+
+@xref{Typefaces}.
+
+@xref{Sizes}.
+
+
+
+
+@comment **********
+@comment ** \it ***
+@comment **********
+
+@comment LEVEL3 - commands
+@node \it, \large, \Huge (capital "h"), List of Commands
+@comment node-name, next, previous, up
+@subsection \it
+
+Italics typeface.
+
+@xref{Typefaces}.
+
+@xref{Styles}.
+
+
+
+@comment *************
+@comment ** \large ***
+@comment *************
+
+@comment LEVEL3 - commands
+@node \large, \Large (capital "l"), \it, List of Commands
+@comment node-name, next, previous, up
+@subsection \large
+
+Slightly larger than default typeface size.
+
+@xref{Typefaces}.
+
+@xref{Sizes}.
+
+
+@comment **************************
+@comment ** \Large (capital "l") **
+@comment **************************
+
+@comment LEVEL3 - commands
+@node \Large (capital "l"), \LARGE (all caps), \large, List of Commands
+@comment node-name, next, previous, up
+@subsection \Large
+
+Fourth largest of typefaces available. Is generally the default for
+titles.
+
+@xref{Typefaces}.
+
+@xref{Sizes}.
+
+
+@comment ***********************
+@comment ** \LARGE (all caps) **
+@comment ***********************
+
+@comment LEVEL3 - commands
+@node \LARGE (all caps), \ldots, \Large (capital "l"), List of Commands
+@comment node-name, next, previous, up
+@subsection \LARGE
+
+Third largest of typefaces available.
+
+@xref{Typefaces}.
+
+@xref{Sizes}.
+
+
+@comment *************
+@comment ** \ldots ***
+@comment *************
+
+@comment LEVEL3 - commands
+@node \ldots, \normalsize, \LARGE (all caps), List of Commands
+@comment node-name, next, previous, up
+@subsection \ldots
+
+The @code{\ldots} command produces an ellipsis. This command works in
+any mode, not just math mode.
+
+@xref{Math Formulae}.
+
+@xref{Math Miscellany}.
+
+
+
+@comment *****************
+@comment ** \normalsize **
+@comment *****************
+
+@comment LEVEL3 - commands
+@node \normalsize, \overbrace, \ldots, List of Commands
+@comment node-name, next, previous, up
+@subsection \normalsize
+
+The size of @code{\normalsize} is defined by as 10pt unless the 11pt or
+12pt document style option is used.
+
+@xref{Typefaces}.
+
+@xref{Sizes}.
+
+
+
+@comment ****************
+@comment ** \overbrace **
+@comment ****************
+
+@comment LEVEL3 - commands
+@node \overbrace, \overline, \normalsize, List of Commands
+@comment node-name, next, previous, up
+@subsection \overbrace
+
+@code{\overbrace@{text@}}
+
+The @code{\overbrace} command generates a brace over text.
+
+@xref{Math Formulae}.
+
+@xref{Math Miscellany}.
+
+
+@comment ***************
+@comment ** \overline **
+@comment ***************
+
+@comment LEVEL3 - commands
+@node \overline, \rm, \overbrace, List of Commands
+@comment node-name, next, previous, up
+@subsection \overline
+
+@code{\overline@{text@}}
+
+The @code{\overline} command causes the argument text to be overlined.
+
+@xref{Math Formulae}.
+
+@xref{Math Miscellany}.
+
+
+
+
+@comment **********
+@comment ** \rm ***
+@comment **********
+
+@comment LEVEL3 - commands
+@node \rm, \sc, \overline, List of Commands
+@comment node-name, next, previous, up
+@subsection \rm
+
+Roman typeface (default).
+
+@xref{Typefaces}.
+
+@xref{Styles}.
+
+
+
+@comment **********
+@comment ** \sc ***
+@comment **********
+
+@comment LEVEL3 - commands
+@node \sc, \scriptsize, \rm, List of Commands
+@comment node-name, next, previous, up
+@subsection \sc
+
+Small caps typeface.
+
+@xref{Typefaces}.
+
+@xref{Styles}.
+
+
+@comment *****************
+@comment ** \scriptsize **
+@comment *****************
+
+@comment LEVEL3 - commands
+@node \scriptsize, \sf, \sc, List of Commands
+@comment node-name, next, previous, up
+@subsection \scriptsize
+
+Second smallest of 10 typefaces available.
+
+@xref{Typefaces}.
+
+@xref{Sizes}.
+
+
+
+@comment **********
+@comment ** \sf ***
+@comment **********
+
+@comment LEVEL3 - commands
+@node \sf, \sl, \scriptsize, List of Commands
+@comment node-name, next, previous, up
+@subsection \sf
+
+Sans serif typeface.
+
+@xref{Typefaces}.
+
+@xref{Styles}.
+
+
+
+@comment **********
+@comment ** \sl ***
+@comment **********
+
+@comment LEVEL3 - commands
+@node \sl, \small, \sf, List of Commands
+@comment node-name, next, previous, up
+@subsection \sl
+
+Slanted typeface.
+
+@xref{Typefaces}.
+
+@xref{Styles}.
+
+
+@comment *************
+@comment ** \small ***
+@comment *************
+
+@comment LEVEL3 - commands
+@node \small, \sqrt, \sl, List of Commands
+@comment node-name, next, previous, up
+@subsection \small
+
+Slightly smaller than default typeface size.
+
+@xref{Typefaces}.
+
+@xref{Sizes}.
+
+
+
+@comment ************
+@comment ** \sqrt ***
+@comment ************
+
+@comment LEVEL3 - commands
+@node \sqrt, \tiny, \small, List of Commands
+@comment node-name, next, previous, up
+@subsection \sqrt
+
+@code{\sqrt[root]@{arg@}}
+
+The @code{\sqrt} command produces the square root of its argument. The
+optional argument, @code{root}, determines what root to produce, i.e.
+the cube root of @code{x+y} would be typed as @code{$\sqrt[3]@{x+y@}$}.
+
+@xref{Math Formulae}.
+
+@xref{Math Miscellany}.
+
+
+
+
+@comment ************
+@comment ** \tiny ***
+@comment ************
+
+@comment LEVEL3 - commands
+@node \tiny, \tt, \sqrt, List of Commands
+@comment node-name, next, previous, up
+@subsection \tiny
+
+Smallest of 10 typefaces available. All fonts may not be available in
+this size.
+
+@xref{Typefaces}.
+
+@xref{Sizes}.
+
+
+
+@comment **********
+@comment ** \tt ***
+@comment **********
+
+@comment LEVEL3 - commands
+@node \tt, \underbrace, \tiny, List of Commands
+@comment node-name, next, previous, up
+@subsection \tt
+
+Typewriter typeface.
+
+@xref{Typefaces}.
+
+@xref{Styles}.
+
+
+
+@comment *****************
+@comment ** \underbrace **
+@comment *****************
+
+@comment LEVEL3 - commands
+@node \underbrace, \underline, \tt, List of Commands
+@comment node-name, next, previous, up
+@subsection \underbrace
+
+@code{\underbrace@{text@}}
+
+The @code{\underbrace} command generates text with a brace underneath.
+
+@xref{Math Formulae}.
+
+@xref{Math Miscellany}.
+
+
+@comment ****************
+@comment ** \underline **
+@comment ****************
+
+@comment LEVEL3 - commands
+@node \underline, \vdots, \underbrace, List of Commands
+@comment node-name, next, previous, up
+@subsection \underline
+
+@code{\underline@{text@}}
+
+The @code{\underline} command causes the argument text to be underlined.
+This command can also be used in paragraph and LR modes.
+
+@xref{Math Formulae}.
+
+@xref{Math Miscellany}.
+
+
+@comment *************
+@comment ** \vdots ***
+@comment *************
+
+@comment LEVEL3 - commands
+@node \vdots, , \underline, List of Commands
+@comment node-name, next, previous, up
+@subsection \vdots
+
+The @code{\vdots} command produces a vertical ellipsis.
+
+@xref{Math Formulae}.
+
+@xref{Math Miscellany}.
+
+
+@comment *************
+@comment ** \vector **
+@comment *************
+
+
+
+
+
+@page
+
+@comment ***************************
+@comment ******** INDEX *********
+@comment ***************************
+
+@comment LEVEL1
+@node Index, , List of Commands, Top
+@comment node-name, next, previous, up
+@unnumbered Index
+
+@printindex cp
+
+@contents
+
+@bye