summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.texi
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-05-23 00:23:51 +0000
committerKarl Berry <karl@freefriends.org>2009-05-23 00:23:51 +0000
commita683c3d7e9fac38ec713f23fb6b9d2c7143aea82 (patch)
tree424ab223921f85fd3f167a4ccd0e2d37d05c2927 /Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.texi
parent5beb5368a684995153c8566797ba054f21c666af (diff)
move english latex doc out of texmf-doc
git-svn-id: svn://tug.org/texlive/trunk@13412 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.texi')
-rw-r--r--Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.texi6474
1 files changed, 6474 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.texi b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.texi
new file mode 100644
index 00000000000..f9c7070c6a7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.texi
@@ -0,0 +1,6474 @@
+\input texinfo
+@c $Id: latex2e.texi 234 2008-06-10 18:27:54Z karl $
+@comment %**start of header (This is for running Texinfo on a region.)
+@setfilename latex2e.info
+@set UPDATED June 2008
+@set VERSION 2.0
+@settitle @LaTeX{}2e reference manual @value{VERSION}
+@comment %**end of header (This is for running Texinfo on a region.)
+
+@c xx merge http://ctan.org/tex-archive/info/latex-info/
+@c xx latex 2.09 should be pretty much complete now, but
+@c new stuff in latex2e is surely missing.
+
+@copying
+This document is version @value{VERSION} (@value{UPDATED}) of an
+unofficial reference manual for @LaTeX{}, a document preparation
+system. @LaTeX{} is a macro package for @TeX{}.
+
+This was originally translated from @file{LATEX.HLP} v1.0a in the VMS
+Help Library. The pre-translation version was written by
+George@tie{}D. Greenwade of Sam Houston State University. The
+@LaTeX{}@tie{}2.09 version was written by Stephen Gilmore. The
+@LaTeX{}2e version was adapted from this by Torsten Martinsen. Karl
+Berry made further updates and additions, and gratefully acknowledges
+using @cite{Hypertext Help with @LaTeX{}}, by Sheldon Green, and the
+@cite{@LaTeX{} Command Summary} (for @LaTeX{} 2.09) by L.@tie{}Botway
+and C.@tie{}Biemesderfer (published by the @TeX{} Users Group as
+@cite{@TeX{}niques} number 10), as reference material (text was not
+directly copied).
+
+Copyright @copyright{} 2007, 2008 Karl Berry.@*
+Copyright @copyright{} 1988, 1994, 2007 Stephen Gilmore.@*
+Copyright @copyright{} 1994, 1995, 1996 Torsten Martinsen.
+
+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.
+@end copying
+
+@dircategory TeX
+@direntry
+* LaTeX2e: (latex2e). Unofficial LaTeX reference manual.
+@end direntry
+
+@tex
+\global\hbadness=4444 % don't complain much
+@end tex
+
+@titlepage
+@title @LaTeX{}: Structured documents for @TeX{}
+@subtitle unofficial @LaTeX{} reference manual
+@subtitle version @value{VERSION}, @value{UPDATED}
+@author
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+
+@shortcontents
+@contents
+
+@node Top
+@top @LaTeX{}2e
+
+This document is version @value{VERSION} (@value{UPDATED}) of an
+unofficial reference manual for @LaTeX{}, a document preparation
+system. It is intended to cover @LaTeX{}2e, which has been the
+standard version of @LaTeX{} for many years.
+
+@cindex Knuth, Donald E.
+@cindex Lamport, Leslie
+@cindex @LaTeX{} Project team
+@LaTeX{} is implemented as a macro package for Donald@tie{}E. Knuth's
+@TeX{} typesetting program. @LaTeX{} was originally created by Leslie
+Lamport; it is now maintained by a group of volunteers
+(@url{http://latex-project.org}). The official documentation written
+by the @LaTeX{} project is available there. Again, the present
+document is unofficial and has not been reviewed by the @LaTeX{}
+maintainers.
+
+@menu
+* Overview:: What is @LaTeX{}?
+* Starting & ending:: The standard beginning and end of a document.
+* Document classes:: Some of the various classes available.
+* Typefaces:: And fonts, such as bold, italics etc.
+* Layout:: Controlling the page layout.
+* Sectioning:: How to section properly.
+* Cross references:: Automatic referencing.
+* Environments:: Such as enumerate & itemize.
+* Line breaking:: Influencing line breaks.
+* Page breaking:: Influencing page breaks.
+* Footnotes:: How to produce footnotes.
+* Definitions:: Define your own commands etc.
+* Counters:: Internal counters used by @LaTeX{}.
+* Lengths:: The length commands.
+* Making paragraphs:: Paragraph commands.
+* Math formulas:: How to create mathematical formulas.
+* Modes:: Paragraph, Math or LR modes.
+* Page Styles:: Various styles of page layout.
+* Spaces:: Horizontal and vertical space.
+* Boxes:: Making boxes.
+* Special insertions:: Inserting reserved and special characters.
+* Splitting the input:: Dealing with big files by splitting.
+* Front/back matter:: Tables of contents, glossaries, indexes.
+* Letters:: The letter class.
+* Terminal Input/Output:: User interaction.
+* Command Line:: System-independent command-line behavior.
+* Document templates:: Starter templates for various document classes.
+* Command Index:: Alphabetical list of @LaTeX{} commands.
+* Concept Index:: General index.
+@end menu
+
+
+@node Overview
+@chapter Overview of @LaTeX{}
+
+@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 main output file, which is one of:
+
+@enumerate
+@item
+If invoked as @command{latex}, a ``Device Independent'' (@file{.dvi})
+file. This contains commands that can be translated into commands for
+a variety of output devices. You can view such @file{.dvi} output of
+@LaTeX{} by using a program such as @command{xdvi} (display directly)
+or @command{dvips} (convert to PostScript).
+
+@item
+If invoked as @command{pdflatex}, a ``Portable Document Format''
+(@file{.pdf}) file. Typically, this is a self-contained file, with
+all fonts and images embedded. This can be very useful, but it does
+make the output much larger than the @file{.dvi} produced from the
+same document.
+@end enumerate
+
+There are other less-common variants of @LaTeX{} (and @TeX{}) as well,
+which can produce HTML, XML, and other things.
+
+@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
+
+A @LaTeX{} command begins with the command name, which consists of a
+@code{\} followed by either (a)@tie{}a string of letters or (b)@tie{}a
+single non-letter. Arguments contained in square brackets, @code{[]},
+are optional while arguments contained in braces, @code{@{@}}, are
+required.
+
+@LaTeX{} is case sensitive. Enter all commands in lower case unless
+explicitly directed to do otherwise.
+
+
+@node Starting & ending
+@chapter Starting & ending
+
+@cindex starting & ending
+@cindex ending & starting
+
+A minimal input file looks like the following:
+
+@example
+\documentclass@{@var{class}@}
+\begin@{document@}
+@var{your text}
+\end@{document@}
+@end example
+
+@noindent
+where the @var{class} is a valid document class for @LaTeX{}.
+@xref{Document classes}, for details of the various document classes
+available locally.
+
+@cindex preamble, defined
+You may include other @LaTeX{} commands between the @code{\documentclass}
+and the @code{\begin@{document@}} commands (this area is called the
+@dfn{preamble}).
+
+
+@node Document classes
+@chapter Document classes
+
+@cindex document classes
+@cindex classes of documents
+@findex \documentclass
+
+The class of a given document is defined with the command:
+
+@example
+\documentclass[@var{options}]@{@var{class}@}
+@end example
+
+@noindent
+The @code{\documentclass} command must be the first command in a
+@LaTeX{} source file.
+
+@findex article @r{class}
+@findex report @r{class}
+@findex book @r{class}
+@findex letter @r{class}
+@findex slides @r{class}
+Built-in @LaTeX{} document @var{class} names are (many other document
+classes are available as add-ons; @pxref{Overview}):
+
+@example
+article report book letter slides
+@end example
+
+@c xx briefly describe each one
+
+Standard @var{options} are described below.
+
+@menu
+* Document class options:: Global options.
+@end menu
+
+
+@node Document class options
+@section Document class options
+
+@cindex document class options
+@cindex options, document class
+@cindex class options
+@cindex global options
+
+You can specify so-called @dfn{global options} or @dfn{class options}
+to the @code{\documentclass} command by enclosing them in square
+brackets as usual. To specify more than one @var{option}, separate
+them with a comma:
+
+@example
+\documentclass[@var{option1},@var{option2},...]@{@var{class}@}
+@end example
+
+Here is the list of the standard class options.
+
+@findex 10pt @r{option}
+@findex 11pt @r{option}
+@findex 12pt @r{option}
+All of the standard classes except @code{slides} accept the following
+options for selecting the typeface size (default is @code{10pt}):
+
+@example
+10pt 11pt 12pt
+@end example
+
+@findex a4paper @r{option}
+@findex a5paper @r{option}
+@findex b5paper @r{option}
+@findex executivepaper @r{option}
+@findex legalpaper @r{option}
+@findex letterpaper @r{option}
+All of the standard classes accept these options for selecting the paper
+size (default is @code{letterpaper}):
+
+@example
+a4paper a5paper b5paper executivepaper legalpaper letterpaper
+@end example
+
+@findex draft @r{option}
+@findex final @r{option}
+@findex fleqn @r{option}
+@findex landscape @r{option}
+@findex leqno @r{option}
+@findex openbib @r{option}
+@findex titlepage @r{option}
+@findex notitlepage @r{option}
+Miscellaneous other options:
+
+@table @code
+@item draft, final
+@cindex black boxes, omitting
+mark/do not mark overfull boxes with a big black box; default is @code{final}.
+@item fleqn
+Put displayed formulas flush left; default is centered.
+@item landscape
+Selects landscape format; default is portrait.
+@item leqno
+Put equation numbers on the left side of equations; default is the right side.
+@item openbib
+Use ``open'' bibliography format.
+@item titlepage, notitlepage
+Specifies whether the title page is separate; default depends on the class.
+@end table
+
+These options are not available with the slides class:
+
+@findex onecolumn @r{option}
+@findex twocolumn @r{option}
+@findex oneside @r{option}
+@findex twoside @r{option}
+@findex openright @r{option}
+@findex openany @r{option}
+@table @code
+@item onecolumn
+@itemx twocolumn
+Typeset in one or two columns; default is @code{onecolumn}.
+
+@item oneside
+@itemx twoside
+@findex \evensidemargin
+@findex \oddsidemargin
+Selects one- or two-sided layout; default is @code{oneside}, except
+for the @code{book} class.
+
+The @code{\evensidemargin} (@code{\oddsidemargin} parameter determines
+the distance on even (odd) numbered pages between the left side of the
+page and the text's left margin. The defaults vary with the paper
+size and whether one- or two-side layout is selected. For one-sided
+printing the text is centered, for two-sided, @code{\oddsidemargin} is
+40% of the difference between @code{\paperwidth} and @code{\textwidth}
+with @code{\evensidemargin} the remainder.
+
+@item openright
+@itemx openany
+Determines if a chapter should start on a
+right-hand page; default is @code{openright} for book.
+@end table
+
+The @code{slides} class offers the option @code{clock} for printing
+the time at the bottom of each note.
+
+
+@cindex packages, loading
+@cindex loading additional packages
+@findex \usepackage
+Additional packages are loaded like this:
+
+@example
+\usepackage[@var{options}]@{@var{pkg}@}
+@end example
+
+To specify more than one @var{pkg}, you can separate them with a
+comma, or use multiple @code{\usepackage} commands.
+
+@cindex global options
+@cindex options, global
+Any options given in the @code{\documentclass} command that are unknown
+by the selected document class are passed on to the packages loaded with
+@code{\usepackage}.
+
+
+@node Typefaces
+@chapter Typefaces
+
+@cindex typefaces
+@cindex fonts
+
+Two important aspects of selecting a @dfn{font} are specifying a size
+and a style. The @LaTeX{} commands for doing this are described here.
+
+@menu
+* Font styles:: Select roman, italics etc.
+* Font sizes:: Select point size.
+* Low-level font commands:: Select encoding, family, series, shape.
+@end menu
+
+
+@node Font styles
+@section Font styles
+
+@cindex font styles
+@cindex typeface styles
+@cindex styles of text
+
+The following type style commands are supported by @LaTeX{}.
+
+These commands are used like @code{\textit@{italic text@}}. The
+corresponding command in parenthesis is the ``declaration form'', which
+takes no arguments. The scope of the declaration form lasts until the
+next type style command or the end of the current group.
+
+The declaration forms are cumulative; i.e., you can say either
+@code{\sffamily\bfseries} or @code{\bfseries\sffamily} to get bold
+sans serif.
+
+You can also use the environment form of the declaration forms; for instance,
+@code{\begin@{ttfamily@}...\end@{ttfamily@}}.
+
+@table @code
+@item \textrm (\rmfamily)
+@findex \textrm
+@findex \rmfamily
+Roman.
+
+@item \textit (\itshape)
+@findex \textit
+@findex \itshape
+Italics.
+
+@item \emph
+@findex \emph
+@cindex emphasis
+Emphasis (switches between @code{\textit} and @code{\textrm}).
+
+@item \textmd (\mdseries)
+@findex \textmd
+@findex \mdseries
+Medium weight (default).
+
+@item \textbf (\bfseries)
+@findex \textbf
+@findex \bfseries
+Boldface.
+@item \textup (\upshape)
+@findex \textup
+@findex \upshape
+Upright (default). The opposite of slanted.
+@item \textsl (\slshape)
+@findex \textsl
+@findex \slshape
+Slanted.
+@item \textsf (\sffamily)
+@findex \textsf
+@findex \sffamily
+Sans serif.
+@item \textsc (\scshape)
+@findex \textsc
+@findex \scshape
+Small caps.
+@item \texttt (\ttfamily)
+@findex \texttt
+@findex \ttfamily
+Typewriter.
+@item \textnormal (\normalfont)
+@findex \textnormal
+@findex \normalfont
+Main document font.
+@item \mathrm
+@findex \mathrm
+Roman, for use in math mode.
+@item \mathbf
+@findex \mathbf
+Boldface, for use in math mode.
+@item \mathsf
+@findex \mathsf
+Sans serif, for use in math mode.
+@item \mathtt
+@findex \mathtt
+Typewriter, for use in math mode.
+
+@item \mathit
+@itemx (\mit)
+Italics, for use in math mode.
+
+@item \mathnormal
+@findex \mathnormal
+For use in math mode, e.g. inside another type style declaration.
+@item \mathcal
+@findex \mathcal
+`Calligraphic' letters, for use in math mode.
+@end table
+
+In addition, the command
+@code{\mathversion@{bold@}}
+@findex \mathversion
+can be used for switching to bold letters and symbols in
+formulas. @code{\mathversion@{normal@}} restores the default.
+
+@LaTeX{} also provides these commands, which unconditionally switch to
+the given style, that is, are @emph{not} cumulative. They are used
+differently than the above commands, too: @code{@{\@var{cmd} ...@}}
+instead of @code{\@var{cmd}@{...@}}. These are two very different
+things.
+
+@ftable @code
+@item \bf
+@cindex bold font
+Switch to @b{bold face}.
+
+@item \cal
+@cindex script letters for math
+@cindex calligraphic letters for math
+Switch to calligraphic letters for math.
+
+@item \em
+@cindex emphasis
+Emphasis (italics within roman, roman within italics).
+
+@item \it
+@cindex italic font
+Italics.
+
+@item \rm
+@cindex roman font
+Roman.
+
+@item \sc
+@cindex small caps font
+Small caps.
+
+@item \sf
+@cindex sans serif font
+Sans serif.
+
+@item \sl
+@cindex slanted font
+@cindex oblique font
+Slanted (oblique).
+
+@item \tt
+@cindex typewriter font
+@cindex monospace font
+@cindex fixed-width font
+Typewriter (monospace, fixed-width).
+
+@end ftable
+
+
+@node Font sizes
+@section Font sizes
+@cindex font sizes
+@cindex typeface sizes
+@cindex sizes of text
+
+The following standard type size commands are supported by @LaTeX{}.
+The table shows the command name and the corresponding actual font
+size used (in points) with the @samp{10pt}, @samp{11pt}, and
+@samp{12pt} document size options, respectively (@pxref{Document class
+options}).
+
+@findex \tiny
+@findex \scriptsize
+@findex \footnotesize
+@findex \small
+@findex \normalsize
+@findex \large
+@findex \Large
+@findex \LARGE
+@findex \huge
+@findex \Huge
+
+@multitable {@code{\normalsize} (default)} {24.88} {24.88} {24.88}
+@headitem Command @tab @code{10pt} @tab @code{11pt} @tab @code{12pt}
+@item @code{\tiny}
+@tab 5 @tab 6 @tab 6
+@item @code{\scriptsize}
+@tab 7 @tab 8 @tab 8
+@item @code{\footnotesize}
+@tab 8 @tab 9 @tab 10
+@item @code{\small}
+@tab 9 @tab 10 @tab 10.95
+@item @code{\normalsize} (default)
+@tab 10 @tab 10.95 @tab 12
+@item @code{\large}
+@tab 12 @tab 12 @tab 14.4
+@item @code{\Large}
+@tab 14.4 @tab 14.4 @tab 17.28
+@item @code{\LARGE}
+@tab 17.28 @tab 17.28 @tab 20.74
+@item @code{\huge}
+@tab 20.74 @tab 20.74 @tab 24.88
+@item @code{\Huge}
+@tab 24.88 @tab 24.88 @tab 24.88
+@end multitable
+
+The commands as listed here are ``declaration forms''. The scope of
+the declaration form lasts until the next type style command or the
+end of the current group. You can also use the environment form of
+these commands; for instance, @code{\begin@{tiny@}...\end@{tiny@}}.
+
+
+@node Low-level font commands
+@section Low-level font commands
+@cindex low-level font commands
+@cindex font commands, low-level
+
+These commands are primarily intended for writers of macros and
+packages. The commands listed here are only a subset of the available
+ones.
+
+@table @code
+@item \fontencoding@{enc@}
+@findex \fontencoding
+Select font encoding. Valid encodings include @code{OT1} and @code{T1}.
+
+@item \fontfamily@{family@}
+@findex \fontfamily
+Select font family. Valid families include:
+
+@itemize @bullet
+@item @code{cmr} for Computer Modern Roman
+@item @code{cmss} for Computer Modern Sans Serif
+@item @code{cmtt} for Computer Modern Typewriter
+@end itemize
+
+and numerous others.
+
+@item \fontseries@{series@}
+@findex \fontseries
+Select font series. Valid series include:
+
+@itemize @bullet
+@item @code{m} Medium (normal)
+@item @code{b} Bold
+@item @code{c} Condensed
+@item @code{bc} Bold condensed
+@item @code{bx} Bold extended
+@end itemize
+
+and various other combinations.
+
+@item \fontshape@{shape@}
+@findex \fontshape
+Select font shape. Valid shapes are:
+
+@itemize @bullet
+@item @code{n} Upright (normal)
+@item @code{it} Italic
+@item @code{sl} Slanted (oblique)
+@item @code{sc} Small caps
+@item @code{ui} Upright italics
+@item @code{ol} Outline
+@end itemize
+
+The two last shapes are not available for most font families.
+
+@item \fontsize@{size@}@{skip@}
+@findex \fontsize
+@findex \baselineskip
+Set font size. The first parameter is the font size to switch to and
+the second is the line spacing to use; this is stored in a parameter
+named @code{\baselineskip}. The unit of both parameters defaults to
+pt. The default @code{\baselineskip} for the Computer Modern typeface
+is 1.2 times the @code{\fontsize}.
+
+@findex \baselinestretch
+@cindex @code{setspace} package
+The line spacing is also multiplied by the value of the
+@code{\baselinestretch} parameter when the type size changes; the
+default is 1. However, the best way to ``double space'' a document,
+if you should be unlucky enough to have to produce such, is to use the
+@code{setspace} package; see
+@url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace}.
+
+@item \selectfont
+@findex \selectfont
+The changes made by calling the four font commands described above do
+not come into effect until @code{\selectfont} is called.
+
+@item \usefont@{enc@}@{family@}@{series@}@{shape@}
+@findex \usefont
+The same as invoking @code{\fontencoding}, @code{\fontfamily},
+@code{\fontseries} and @code{\fontshape} with the given parameters,
+followed by @code{\selectfont}.
+@end table
+
+
+@node Layout
+@chapter Layout
+@cindex layout commands
+
+Miscellaneous commands for controlling the general layout of the page.
+
+@menu
+* \onecolumn:: Use one-column layout.
+* \twocolumn:: Use two-column layout.
+* \flushbottom:: Make all text pages the same height.
+* \raggedbottom:: Allow text pages of differing height.
+* Page layout parameters:: \headheight \footskip.
+@end menu
+
+
+@node \onecolumn
+@section @code{\onecolumn}
+@findex \onecolumn
+@cindex one-column output
+
+The @code{\onecolumn} declaration starts a new page and produces
+single-column output. This is the default.
+
+
+@node \twocolumn
+@section @code{\twocolumn}
+@findex \twocolumn
+@cindex multicolumn text
+@cindex two-column output
+
+Synopsis:
+
+@example
+\twocolumn[@var{text1col}]
+@end example
+
+The @code{\twocolumn} declaration starts a new page and produces
+two-column output. If the optional @var{text1col} argument is present,
+it is typeset in one-column mode before the two-column typesetting
+starts.
+
+These parameters control typesetting in two-column output:
+
+@ftable @code
+@item \columnsep
+The distance between columns (35pt by default).
+
+@item \columnseprule
+The width of the rule between columns; the default is 0pt, so there is no rule.
+
+@item \columnwidth
+The width of the current column; this is equal to @code{\textwidth} in
+single-column text.
+
+@end ftable
+
+These parameters control float behavior in two-column output:
+
+@ftable @code
+@item \dbltopfraction
+Maximum fraction at the top of a two-column page that may be occupied
+by floats. Default @samp{.7}, can be usefully redefined to (say)
+@samp{.9} to avoid going to float pages so soon.
+
+@item \dblfloatpagefraction
+The minimum fraction of a float page that must be occupied by floats,
+for a two-column float page. Default @samp{.5}.
+
+@item \dblfloatsep
+Distance between floats at the top or bottom of a two-column float
+page. Default @samp{12pt plus2pt minus2pt} for @samp{10pt} and
+@samp{11pt} documents, @samp{14pt plus2pt minus4pt} for @samp{12pt}.
+
+@item \dbltextfloatsep
+Distance between a multi-column float at the top or bottom of a page
+and the main text. Default @samp{20pt plus2pt minus4pt}.
+
+@end ftable
+
+
+@node \flushbottom
+@section @code{\flushbottom}
+
+@findex \flushbottom
+
+The @code{\flushbottom} declaration makes all text pages the same
+height, adding extra vertical space where necessary to fill out the
+page.
+
+This is the default if @code{twocolumn} mode is selected
+(@pxref{Document class options}).
+
+
+@node \raggedbottom
+@section @code{\raggedbottom}
+@findex \raggedbottom
+@cindex stretch, omitting vertical
+
+The @code{\raggedbottom} declaration makes all pages the natural
+height of the material on that page. No rubber lengths will be
+stretched.
+
+
+@node Page layout parameters
+@section Page layout parameters
+
+@cindex page layout parameters
+@cindex parameters, page layout
+@cindex layout, page parameters for
+@cindex header, parameters for
+@cindex footer, parameters for
+@cindex running header and footer
+
+@ftable @code
+@item \headheight
+Height of the box that contains the running head. Default is
+@samp{30pt}, except in the @code{book} class, where it varies with the
+type size.
+
+@item \headsep
+Vertical distance between the bottom of the header line and the top of
+the main text. Default is @samp{25pt}, except in the @code{book}
+class, where it varies with the type size.
+
+@item \footskip
+Distance from the baseline of the last line of text to the baseline of
+the page footer. Default is @samp{30pt}, except in the @code{book}
+class, where it varies with the type size.
+
+@item \linewidth
+Width of the current line; the default varies with the font size,
+paper width, two-column mode, etc. For an @code{article} document in
+@samp{10pt}, it's set to @samp{345pt}; in two-column mode, that
+becomes @samp{229.5pt}.
+
+@item \textheight
+The normal vertical height of the page body; the default varies with
+the font size, document class, etc. For an @code{article} or
+@code{report} document in @samp{10pt}, it's set to
+@samp{43\baselineskip}; for @code{book}, it's @samp{41\baselineskip}.
+For @samp{11pt}, it's @samp{38\baselineskip} and for @samp{12pt},
+@samp{36\baselineskip}.
+
+@item \textwidth
+The normal horizontal width of the page body; the default varies as
+usual. For an @code{article} or @code{report} document, it's
+@samp{345pt} at @samp{10pt}, @samp{360pt} at @samp{11pt}, and
+@samp{390pt} at @samp{12pt}. For a @code{book} document, it's
+@samp{4.5in} at @samp{10pt}, and @samp{5in} at @samp{11pt} or @samp{12pt}.
+
+@item \topmargin
+Space between the top of the @TeX{} page (one inch from the top of the
+paper, by default) and the top of the header. The default is computed
+based on many other parameters: @code{\paperheight @minus{} 2in @minus{}
+\headheight @minus{} \headsep @minus{} \textheight @minus{} \footskip}, and
+then divided by two.
+
+@item \topskip
+Minimum distance between the top of the page body and the baseline of
+the first line of text. For the standard clases, the default is the
+same as the font size, e.g., @samp{10pt} at @samp{10pt}.
+
+@end ftable
+
+
+@node Sectioning
+@chapter Sectioning
+@cindex sectioning
+
+Sectioning commands provide the means to structure your text into units:
+
+@ftable @code
+@item \part
+@item \chapter
+(report and book class only)
+@item \section
+@item \subsection
+@item \subsubsection
+@item \paragraph
+@item \subparagraph
+@end ftable
+
+All sectioning commands take the same general form, e.g.,
+
+@example
+\chapter[@var{toctitle}]@{@var{title}@}
+@end example
+
+In addition to providing the heading @var{title} in the main text, the
+section title 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 text in these places as in the main text.
+To handle this, the sectioning commands have an optional argument
+@var{toctitle} that, when given, specifies the text for these other
+places.
+
+@cindex *-form of sectioning commands
+Also, all sectioning commands have @code{*}-forms that print
+@var{title} as usual, but do not include a number and do not make an
+entry in the table of contents. For instance:
+
+@example
+\section*@{Preamble@}
+@end example
+
+@findex \appendix
+@cindex appendix, creating
+The @code{\appendix} command changes the way following sectional units
+are numbered. The @code{\appendix} command itself generates no text
+and does not affect the numbering of parts. The normal use of this
+command is something like
+
+@example
+\chapter@{A Chapter@}
+@dots{}
+\appendix
+\chapter@{The First Appendix@}
+@end example
+
+
+@node Cross references
+@chapter Cross references
+@cindex cross references
+
+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:: Assign a symbolic name to a piece of text.
+* \pageref:: Refer to a page number.
+* \ref:: Refer to a section, figure or similar.
+@end menu
+
+
+@node \label
+@section @code{\label}
+@findex \label
+
+Synopsis:
+
+@example
+\label@{@var{key}@}
+@end example
+
+A @code{\label} command appearing in ordinary text assigns to
+@var{key} the number of the current sectional unit; one appearing
+inside a numbered environment assigns that number to @var{key}.
+
+A @var{key} name can consist of any sequence of letters, digits, or
+punctuation characters. Upper and lowercase letters are distinguished.
+
+To avoid accidentally creating two labels with the same name, it is
+common to use labels consisting of a prefix and a suffix separated by
+a colon or period. Some conventionally-used prefixes:
+
+@table @code
+@item ch
+for chapters
+@item sec
+for lower-level sectioning commands
+@item fig
+for figures
+@item tab
+for tables
+@item eq
+for equations
+@end table
+
+Thus, a label for a figure would look like @code{fig:snark} or
+@code{fig.snark}.
+
+
+@node \pageref
+@section @code{\pageref@{@var{key}@}}
+@findex \pageref
+@cindex cross referencing with page number
+@cindex page number, cross referencing
+
+Synopsis:
+
+@example
+\pageref@{@var{key}@}
+@end example
+
+The @code{\pageref}@{@var{key}@} command produces the page number of
+the place in the text where the corresponding
+@code{\label}@{@var{key}@} command appears.
+
+
+@node \ref
+@section @code{\ref@{@var{key}@}}
+@findex \ref
+@cindex cross referencing, symbolic
+@cindex section number, cross referencing
+@cindex equation number, cross referencing
+@cindex figure number, cross referencing
+@cindex footnote number, cross referencing
+
+Synopsis:
+
+@example
+\ref@{@var{key}@}
+@end example
+
+The @code{\ref} command produces the number of the sectional unit,
+equation, footnote, figure, @dots{}, of the corresponding
+@code{\label} command (@pxref{\label}). It does not produce any text,
+such as the word `Section' or `Figure', just the bare number itself.
+
+
+@node Environments
+@chapter Environments
+@cindex environments
+
+@findex \begin
+@findex \end
+
+@LaTeX{} provides many environments for marking off certain text.
+Each environment begins and ends in the same manner:
+
+@example
+\begin@{@var{envname}@}
+...
+\end@{@var{envname}@}
+@end example
+
+@menu
+* abstract:: Produce an abstract.
+* array:: Math arrays.
+* center:: Centred lines.
+* description:: Labelled lists.
+* displaymath:: Formulas that appear on their own line.
+* document:: Enclose the whole document.
+* enumerate:: Numbered lists.
+* eqnarray:: Sequences of aligned equations.
+* equation:: Displayed equation.
+* figure:: Floating figures.
+* flushleft:: Flushed left lines.
+* flushright:: Flushed right lines.
+* itemize:: Bulleted lists.
+* letter:: Letters.
+* list:: Generic list environment.
+* math:: In-line math.
+* minipage:: Miniature page.
+* picture:: Picture with text, arrows, lines and circles.
+* quotation:: Indented environment with paragraph indentation.
+* quote:: Indented environment with no paragraph indentation.
+* tabbing:: Align text arbitrarily.
+* table:: Floating tables.
+* tabular:: Align text in columns.
+* thebibliography:: Bibliography or reference list.
+* theorem:: Theorems, lemmas, etc.
+* titlepage:: For hand crafted title pages.
+* verbatim:: Simulating typed input.
+* verse:: For poetry and other things.
+@end menu
+
+
+@node abstract
+@section @code{abstract}
+
+@findex abstract @r{environment}
+@cindex abstracts
+
+Synopsis:
+@example
+\begin@{abstract@}
+...
+\end@{abstract@}
+@end example
+
+Environment for producing an abstract, possibly of multiple paragraphs.
+
+
+@node array
+@section @code{array}
+@findex array @r{environment}
+@cindex arrays, math
+
+Synopsis:
+
+@example
+\begin@{array@}@{@var{template}@}
+@var{col1 text}&@var{col1 text}&@var{coln}@}\\
+...
+\end@{array@}
+@end example
+
+Math arrays are produced with the @code{array} environment, normally
+within an @code{equation} environment (@pxref{equation}). It has a
+single mandatory @var{template} argument describing the number of
+columns and the alignment within them. Each column @var{col} is
+specified by a single letter that tells how items in that row should
+be formatted, as follows:
+
+@table @code
+@item c
+centered
+@item l
+flush left
+@item r
+flush right
+@end table
+
+@findex \\ (for @code{array})
+Column entries are separated by @code{&}. Column entries may include
+other @LaTeX{} commands. Each row of the array is terminated with
+@code{\\}.
+
+@findex @@@{...@}
+In the template, the construct @code{@@@{@var{text}@}} puts @var{text}
+between columns in each row.
+
+Here's an example:
+
+@example
+\begin@{equation@}
+ \begin@{array@}@{lrc@}
+ left1 & right1 & centered1 \\
+ left2 & right2 & centered2 \\
+ \end@{array@}
+\end@{equation@}
+@end example
+
+@findex \arraycolsep
+The @code{\arraycolsep} parameter defines half the width of the space
+separating columns; the default is @samp{5pt}. @xref{tabular}, for other
+parameters which affect formatting in @code{array} environments,
+namely @code{\arrayrulewidth} and @code{\arraystretch}.
+
+The @code{array} environment can only be used in math mode.
+
+
+@node center
+@section @code{center}
+
+@findex center @r{environment}
+@cindex centering text, environment for
+
+Synopsis:
+
+@example
+\begin@{center@}
+@var{line1} \\
+@var{line2} \\
+\end@{center@}
+@end example
+
+@findex \\ (for @code{center})
+The @code{center} environment allows you to create a paragraph
+consisting of lines that are centered within the left and right
+margins on the current page. Each line is terminated with the
+string @code{\\}.
+
+@menu
+* \centering:: Declaration form of the @code{center} environment.
+@end menu
+
+
+@node \centering
+@subsection @code{\centering}
+
+@findex \centering
+@cindex centering text, declaration for
+
+The @code{\centering} declaration corresponds to the @code{center}
+environment. This declaration can be used inside an environment such
+as @code{quote} or in a @code{parbox}. Thus, 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.
+
+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 such as quote) that ends the paragraph unit.
+
+Here's an example:
+
+@example
+\begin@{quote@}
+\centering
+first line \\
+second line \\
+\end@{quote@}
+@end example
+
+
+@node description
+@section @code{description}
+
+@findex description @r{environment}
+@cindex labelled lists, creating
+@cindex description lists, creating
+
+Synopsis:
+
+@example
+\begin@{description@}
+\item [@var{label1}] @var{item1}
+\item [@var{label2}] @var{item2}
+...
+\end@{description@}
+@end example
+
+@findex \item
+The @code{description} environment is used to make labelled lists. Each
+@var{label} is typeset in bold, flush right. The @var{item} text may
+contain multiple paragraphs.
+
+@cindex bold typewriter, avoiding
+@cindex typewriter labels in lists
+Another variation: since the bold style is applied to the labels, if
+you typeset a label in typewriter using @code{\texttt}, you'll get
+bold typewriter: @code{\item[\texttt@{bold and typewriter@}]}. This
+may be too bold, among other issues. To get just typewriter, use
+@code{\tt}, which resets all other style variations: @code{\item[@{\tt
+plain typewriter@}]}.
+
+For details about list spacing, see @ref{itemize}.
+
+
+@node displaymath
+@section @code{displaymath}
+
+@findex displaymath @r{environment}
+
+Synopsis:
+@example
+\begin@{displaymath@}
+@var{math}
+\end@{displaymath@}
+@end example
+
+@noindent or
+
+@example
+\[@var{math}\]
+@end example
+
+The @code{displaymath} environment (@code{\[...\]} is a synonym)
+typesets the @var{math} text on its own line, centered by default.
+The global @code{fleqn} option makes equations flush left; see
+@ref{Document class options}.
+
+No equation number is added to @code{displaymath} text; to get an
+equation number, use the @code{equation} environment (@pxref{equation}).
+
+
+@node document
+@section @code{document}
+
+@findex document @r{environment}
+
+The @code{document} environment encloses the body of a document.
+It is required in every @LaTeX{} document. @xref{Starting & ending}.
+
+
+@node enumerate
+@section @code{enumerate}
+
+@findex enumerate @r{environment}
+@cindex lists of items, numbered
+
+Synopsis:
+
+@example
+\begin@{enumerate@}
+\item @var{item1}
+\item @var{item2}
+...
+\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, such as
+@code{itemize} (@pxref{itemize}) and @code{description}
+(@pxref{description}).
+
+@findex \item
+Each item of an enumerated list begins with an @code{\item} command.
+There must be at least one @code{\item} command within the environment.
+
+By default, the numbering at each level is done like this:
+
+@enumerate
+@item 1., 2., @dots{}
+@item (a), (b), @dots{}
+@item i., ii., @dots{}
+@item A., B., @dots{}
+@end enumerate
+
+@findex \enumi
+@findex \enumii
+@findex \enumiii
+@findex \enumiv
+The @code{enumerate} environment uses the counters @code{\enumi}
+through @code{\enumiv} counters (@pxref{Counters}). If the optional
+argument to @code{\item} is given, the counter is not incremented for
+that item.
+
+@findex \labelenumi
+@findex \labelenumii
+@findex \labelenumiii
+@findex \labelenumiv
+The @code{enumerate} environment uses the commands @code{\labelenumi}
+through @code{\labelenumiv} to produce the default label. So, you can
+use @code{\renewcommand} to change the labels (@pxref{\newcommand &
+\renewcommand}). For instance, to have the first level use uppercase
+letters:
+
+@findex \Alph @r{example}
+@example
+\renewcommand@{\labelenumi@}@{\Alph@{enumi@}@}
+@end example
+
+
+
+@node eqnarray
+@section @code{eqnarray}
+
+@findex eqnarray @r{environment}
+@cindex equations, aligning
+@cindex aligning Equations
+
+@example
+\begin@{eqnarray@} @r{(or @code{eqnarray*})}
+@var{formula1} \\
+@var{formula2} \\
+...
+\end@{eqnarray@}
+@end example
+
+@findex \\ (for @code{eqnarray})
+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{&}.
+
+@findex \\* (for @code{eqnarray})
+@code{\\*} can also be used to separate equations, with its normal
+meaning of not allowing a page break at that line.
+
+@findex \nonumber
+@cindex equation numbers, omitting
+An equation number is placed on every line unless that line has a
+@code{\nonumber} command. Alternatively, The @code{*}-form of the
+environment (@code{\begin@{eqnarray*@} ... \end@{eqnarray*@}}) will
+omit equation numbering entirely, while otherwise being the same as
+@code{eqnarray}.
+
+@findex \lefteqn
+The command @code{\lefteqn} is used for splitting long formulas across
+lines. It typesets its argument in display style flush left in a box of
+zero width.
+
+
+@node equation
+@section @code{equation}
+
+@findex equation @r{environment}
+@cindex equations, environment for
+@cindex formulas, environment for
+
+Synopsis:
+
+@example
+\begin@{equation@}
+@var{math}
+\end@{equation@}
+@end example
+
+The @code{equation} environment starts a @code{displaymath}
+environment (@pxref{displaymath}), e.g., centering the @var{math} text
+on the page, and also places an equation number in the right margin.
+
+
+@node figure
+@section @code{figure}
+@findex figure
+@cindex inserting figures
+@cindex figures, inserting
+
+@example
+\begin@{figure@}[@var{placement}]
+@var{figbody}
+\label@{@var{label@}}
+\caption[@var{loftitle}]@{@var{text}@}
+\end@{figure@}
+@end example
+
+Figures are objects that are not part of the normal text, and are
+instead ``floated'' to a convenient place, such as the top of a page.
+Figures will not be split between two pages.
+
+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:
+
+@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 classes use the default placement
+@code{tbp}.
+
+The body of the figure is made up of whatever text, @LaTeX{} commands, etc.
+you wish.
+
+@findex \caption
+The @code{\caption} command specifies caption @var{text} for the
+figure. The caption is numbered by default. If @var{loftitle} is
+present, it is used in the list of figures instead of @var{text}
+(@pxref{Tables of contents}).
+
+@c xx float-placement, float-caption sections?
+@ftable @code
+@findex \bottomfraction
+The maximum fraction of the page allowed to be occuped by floats at
+the bottom; default @samp{.3}.
+
+@item \floatpagefraction
+The minimum fraction of a float page that must be occupied by floats;
+default @samp{.5}.
+
+@item \floatsep
+Space between floats at the top or bottom of a page; default
+@samp{12pt plus2pt minus2pt}.
+
+@item \intextsep
+Space above and below a float in the middle of the main text; default
+@samp{12pt plus2pt minus2pt} for @samp{10pt} and @samp{11pt} styles,
+@samp{14pt plus4pt minus4pt} for @samp{12pt}.
+
+@item \textfloatsep
+Space between the last (first) float at the top (bottom) of a page;
+default @samp{20pt plus2pt minus4pt}.
+
+@item \textfraction
+Minimum fraction of a page that must be text; if floats take up too
+much space to preserve this much text, floats will be moved to a
+different page. The default is @samp{.2}.
+
+@item \topfraction
+Maximum fraction at the top of a page that may be occupied before
+floats; default is @samp{.7}.
+
+@end ftable
+
+
+@node flushleft
+@section @code{flushleft}
+@findex flushleft @r{environment}
+@cindex left-justifying text, environment for
+@cindex ragged right text, environment for
+
+@example
+\begin@{flushleft@}
+@var{line1} \\
+@var{line2} \\
+...
+\end@{flushleft@}
+@end example
+
+@findex \\ @r{for @code{flushleft}}
+The @code{flushleft} environment allows you to create a paragraph
+consisting of lines that are flush to the left-hand margin and ragged
+right Each line must be terminated with the string @code{\\}.
+
+@menu
+* \raggedright:: Declaration form of the @code{flushleft} environment.
+@end menu
+
+
+@node \raggedright
+@subsection @code{\raggedright}
+@findex \raggedright
+@cindex ragged right text
+@cindex left-justifying text
+@cindex justification, ragged right
+
+The @code{\raggedright} declaration corresponds to the
+@code{flushleft} environment. This declaration can be used inside an
+environment such as @code{quote} or in a @code{parbox}.
+
+Unlike the @code{flushleft} environment, the @code{\raggedright}
+command does not start a new paragraph; it only 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 that ends the paragraph unit.
+
+
+@node flushright
+@section @code{flushright}
+@findex flushright @r{environment}
+@cindex ragged left text, environment for
+@cindex right-justifying text, environment for
+
+@example
+\begin@{flushright@}
+@var{line1} \\
+@var{line2} \\
+...
+\end@{flushright@}
+@end example
+
+@findex \\ (for @code{flushright})
+The @code{flushright} environment allows you to create a paragraph
+consisting of lines that are flush to the right-hand margin and ragged
+left. Each line must be terminated with the string @code{\\}.
+
+@menu
+* \raggedleft:: Declaration form of the @code{flushright} environment.
+@end menu
+
+
+@node \raggedleft
+@subsection @code{\raggedleft}
+@findex \raggedleft
+@cindex ragged left text
+@cindex justification, ragged left
+@cindex right-justifying text
+
+The @code{\raggedleft} declaration corresponds to the
+@code{flushright} environment. This declaration can be used inside an
+environment such as @code{quote} or in a @code{parbox}.
+
+Unlike the @code{flushright} environment, the @code{\raggedleft}
+command does not start a new paragraph; it only 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 that ends the paragraph unit.
+
+
+@node itemize
+@section @code{itemize}
+@findex itemize @r{environment}
+@findex \item
+@cindex lists of items
+@cindex unordered lists
+@cindex bulleted lists
+
+Synopsis:
+
+@example
+\begin@{itemize@}
+\item @var{item1}
+\item @var{item2}
+...
+\end@{itemize@}
+@end example
+
+The @code{itemize} environment produces an ``unordered'', ``bulleted''
+list. Itemizations can be nested within one another, up to four
+levels deep. They can also be nested within other paragraph-making
+environments, such as @code{enumerate} (@pxref{enumerate}).
+
+Each item of an @code{itemize} list begins with an @code{\item} command.
+There must be at least one @code{\item} command within the environment.
+
+By default, the marks at each level look like this:
+
+@enumerate
+@item @bullet{}
+@item @b{-@w{-}} (bold en-dash)
+@item *
+@iftex
+@item @math{\cdot} (centered dot)
+@end iftex
+@ifnottex
+@item . (centered dot, rendered here as a period)
+@end ifnottex
+@end enumerate
+
+@findex \labelitemi
+@findex \labelitemii
+@findex \labelitemiii
+@findex \labelitemiv
+The @code{itemize} environment uses the commands @code{\labelitemi}
+through @code{\labelitemiv} to produce the default label. So, you can
+use @code{\renewcommand} to change the labels. For instance, to have
+the first level use diamonds:
+
+@example
+\renewcommand@{\labelitemi@}@{$\diamond$@}
+@end example
+
+@findex \leftmargin
+@findex \leftmargini
+@findex \leftmarginii
+@findex \leftmarginiii
+@findex \leftmarginiv
+@findex \leftmarginv
+@findex \leftmarginvi
+The @code{\leftmargini} through @code{\leftmarginvi} parameters define
+the distance between the left margin of the enclosing environment and
+the left margin of the list. By convention, @code{\leftmargin} is set
+to the appropriate @code{\leftmargin@var{N}} when a new level of
+nesting is entered.
+
+The defaults vary from @samp{.5em} (highest levels of nesting) to
+@samp{2.5em} (first level), and are a bit reduced in two-column mode.
+This example greatly reduces the margin space for outermost lists:
+
+@example
+\setlength@{\leftmargini@}@{1.25em@} % default 2.5em
+@end example
+
+@c xx should be in its own generic section
+Some parameters that affect list formatting:
+
+@ftable @code
+@item \itemindent
+Extra indentation before each item in a list; default zero.
+
+@item \labelsep
+Space between the label and text of an item; default @samp{.5em}.
+
+@item \labelwidth
+Width of the label; default @samp{2em}, or @samp{1.5em} in two-column mode.
+
+@item \listparindent
+Extra indentation added to second and subsequent paragraphs within a
+list item; default @samp{0pt}.
+
+@item \rightmargin
+Horizontal distance between the right margin of the list and the
+enclosing environment; default @samp{0pt}, except in the @code{quote},
+@code{quotation}, and @code{verse} environments, where it is set equal
+to @code{\leftmargin}.
+
+@end ftable
+
+Parameters affecting vertical spacing between list items (rather
+loose, by default).
+
+@ftable @code
+@item \itemsep
+Vertical space between items. The default is @code{2pt plus1pt
+minus1pt} for @code{10pt} documents, @code{3pt plus2pt minus1pt} for
+@code{11pt}, and @code{4.5pt plus2pt minus1pt} for @code{12pt}.
+
+@item \parsep
+Extra vertical space between paragraphs within a list item. Defaults
+are the same as @code{\itemsep}.
+
+@item \topsep
+Vertical space between the first item and the preceding paragraph.
+The default is @code{4pt plus2pt minus2pt} for @code{10pt} documents,
+@code{6pt plus2pt minus2pt} for @code{11pt}, and @code{9pt plus3pt
+minus5pt} for @code{12pt}.
+
+@item \partopsep
+Extra space added to @code{\topsep} when the list environment starts a
+paragraph. The default is @code{2pt plus1pt minus1pt} for @code{10pt}
+documents, @code{3pt plus1pt minus1pt} for @code{11pt}, and @code{3pt
+plus2pt minus2pt} for @code{12pt}.
+
+@item \topsep
+Extra vertical space added before an initial and after a final list
+item. Its value is changed with list level and font size changes; for
+instance, within a first-level list at @samp{10pt}, it is @samp{4pt
+plus2pt minus2pt}.
+
+@end ftable
+
+@findex \parskip @r{example}
+Especially for lists with short items, it may be desirable to elide
+space between items. Here is an example defining an @code{itemize*}
+environment with no extra spacing between items, or between paragraphs
+within a single item (@code{\parskip} is not list-specific,
+@pxref{\parskip}):
+
+@example
+\newenvironment@{itemize*@}%
+ @{\begin@{itemize@}%
+ \setlength@{\itemsep@}@{0pt@}%
+ \setlength@{\parsep@}@{0pt@}@}%
+ \setlength@{\parskip@}@{0pt@}@}%
+ @{\end@{itemize@}@}
+@end example
+
+
+@node letter
+@section @code{letter} environment: writing letters
+@findex letter
+
+This environment is used for creating letters. @xref{Letters}.
+
+
+@node list
+@section @code{list}
+@findex list
+@cindex lists of items, generic
+
+The @code{list} environment is a generic environment which is used for
+defining many of the more specific environments. It is seldom used in
+documents, but often in macros.
+
+@example
+\begin@{list@}@{@var{labeling}@}@{@var{spacing}@}
+\item @var{item1}
+\item @var{item2}
+...
+\end@{list@}
+@end example
+
+The mandatory @var{labeling} argument specifies how items should be
+labelled (unless the optional argument is supplied to @code{\item}).
+This argument is a piece of text that is inserted in a box to form the
+label. It can and usually does contain other @LaTeX{} commands.
+
+The mandatory @var{spacing} argument contains commands to change the
+spacing parameters for the list. This argument will most often be
+empty, i.e., @code{@{@}}, which leaves the default spacing.
+
+
+@node math
+@section @code{math}
+
+@findex math @r{environment}
+@cindex in-line formulas
+
+Synopsis:
+
+@example
+\begin@{math@}
+@var{math}
+\end@{math@}
+@end example
+
+The @code{math} environment inserts the given @var{math} within the
+running text. @code{\(...\))} and @code{$...$} are synonyms.
+@xref{Math formulas}.
+
+
+@node minipage
+@section @code{minipage}
+
+@findex minipage @r{environment}
+@cindex minipage, creating a
+
+@example
+\begin@{minipage@}[@var{position}]@{@var{width}@}
+@var{text}
+\end@{minipage@}
+@end example
+
+The @code{minipage} environment typesets its body @var{text} in a
+block that will not be broken across pages (similar to the
+@code{\parbox} command, @pxref{\parbox}). You may use other
+paragraph-making environments inside a minipage (unlike @code{\parbox}).
+
+@c (xxref positions)
+It takes an optional @var{position} argument for placing @var{text},
+and a mandatory @var{width} argument for specifying the line width.
+
+@cindex indentation of paragraphs, in minipage
+@cindex paragraph indentation, in minipage
+@findex \parindent
+By default, paragraphs are not indented in the @code{minipage}
+environment. You can restore indentation with a command such as
+@code{\setlength@{\parindent@}@{1pc@}} command.
+
+@cindex footnotes in figures
+@cindex figures, footnotes in
+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 (@pxref{Counters}).
+
+However, don't put one minipage inside another if you are using
+footnotes; they may wind up at the bottom of the wrong minipage.
+
+
+@node picture
+@section @code{picture}
+
+@findex picture
+@cindex creating pictures
+@cindex pictures, creating
+
+@example
+\begin@{picture@}(width,height)(x offset,y offset)
+@dots{} @var{picture commands} @dots{}
+\end@{picture@}
+@end example
+
+@findex \unitlength
+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{0.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 should only change the value of @code{\unitlength},
+using the @code{\setlength} command, outside of a @code{picture}
+environment.
+
+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.
+
+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 @LaTeX{} in determining
+how much room to leave for it.
+
+Everything that appears in a picture is drawn by the @code{\put}
+command. The command
+
+@example
+\put (11.3,-.3)@{...@}
+@end example
+
+@noindent puts the object specified by @code{...} in the
+picture, with its reference point at coordinates @math{(11.3,-.3)}.
+The reference points for various objects will be described below.
+
+@findex lR box
+The @code{\put} command creates an @dfn{LR box}. You can put anything
+that can go in an @code{\mbox} (@pxref{\mbox}) in the text argument of
+the @code{\put} command. When you do this, the reference point will
+be the lower left corner of the box.
+
+The @code{picture} commands are described in the following sections.
+
+@menu
+* \circle:: Draw a circle.
+* \makebox (picture):: Draw a box of the specified size.
+* \framebox (picture):: Draw a box with a frame around it.
+* \dashbox:: Draw a dashed box.
+* \frame:: Draw a frame around an object.
+* \line:: Draw a straight line.
+* \linethickness:: Set the line thickness.
+* \thicklines:: A heavier line thickness.
+* \thinlines:: The default line thickness.
+* \multiput:: Draw multiple instances of an object.
+* \oval:: Draw an ellipse.
+* \put:: Place an object at a specified place.
+* \shortstack:: Make a pile of objects.
+* \vector:: Draw a line with an arrow.
+@end menu
+
+
+@node \circle
+@subsection @code{\circle}
+@findex \circle
+
+@example
+\circle[*]@{@var{diameter}@}
+@end example
+
+The @code{\circle} command produces a circle with a diameter as close
+to the specified one as possible. The @code{*}-form of the command
+draws a solid circle.
+
+Circles up to 40 pt can be drawn.
+
+
+@node \makebox (picture)
+@subsection @code{\makebox}
+@findex \makebox (picture)
+
+@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}.
+
+
+@node \framebox (picture)
+@subsection @code{\framebox}
+@findex \framebox
+
+Synopsis:
+
+@example
+\framebox(@var{width},@var{height})[@var{pos}]@{...@}
+@end example
+
+The @code{\framebox} command is like @code{\makebox} (see previous
+section), except that it puts a frame around the outside of the box
+that it creates.
+
+@findex \fboxrule
+@findex \fboxsep
+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.
+
+
+@node \dashbox
+@subsection @code{\dashbox}
+
+@findex \dashbox
+
+Draws a box with a dashed line. Synopsis:
+
+@example
+\dashbox@{@var{dlen}@}(@var{rwidth},@var{rheight})[@var{pos}]@{@var{text}@}
+@end example
+
+@code{\dashbox} creates a dashed rectangle around @var{text} in a
+@code{picture} environment. Dashes are @var{dlen} units long, and the
+rectangle has overall width @var{rwidth} and height @var{rheight}.
+The @var{text} is positioned at optional @var{pos}. @c xxref positions.
+
+A dashed box looks best when the @code{rwidth} and @code{rheight} are
+multiples of the @code{dlen}.
+
+
+@node \frame
+@subsection @code{\frame}
+@findex \frame
+
+Synopsis:
+
+@example
+\frame@{@var{text}@}
+@end example
+
+The @code{\frame} command puts a rectangular frame around @var{text}.
+The reference point is the bottom left corner of the frame. No extra
+space is put between the frame and the object.
+
+
+@node \line
+@subsection @code{\line}
+@findex \line
+
+Synopsis:
+
+@example
+\line(@var{xslope},@var{yslope})@{@var{length}@}
+@end example
+
+The @code{\line} command draws a line with the given @var{length} and
+slope @var{xslope}/@var{yslope}.
+
+Standard @LaTeX{} can only draw lines with @math{@var{slope} = x/y},
+where @math{x} and @math{y} have integer values from @minus{}6
+through@tie{}6. For lines of any slope, not to mention other shapes,
+see the @code{curve2e} and many many other packages on CTAN.
+
+
+@node \linethickness
+@subsection @code{\linethickness}
+@findex \linethickness
+
+The @code{\linethickness@{@var{dim}@}} command declares the thickness
+of horizontal and vertical lines in a picture environment to be
+@var{dim}, which must be a positive length.
+
+@code{\linethickness} does not affect the thickness of slanted lines,
+circles, or the quarter circles drawn by @code{\oval}.
+
+
+@node \thicklines
+@subsection @code{\thicklines}
+@findex \thicklines
+
+The @code{\thicklines} command is an alternate line thickness for
+horizontal and vertical lines in a picture environment;
+cf.@tie{}@ref{\linethickness} and @ref{\thinlines}.
+
+
+@node \thinlines
+@subsection @code{\thinlines}
+@findex \thinlines
+
+The @code{\thinlines} command is the default line thickness for
+horizontal and vertical lines in a picture environment;
+cf.@tie{}@ref{\linethickness} and @ref{\thicklines}.
+
+
+@node \multiput
+@subsection @code{\multiput}
+@findex \multiput
+
+Synopsis:
+@example
+\multiput(@var{x},@var{y})(@var{delta_x},@var{delta_y})@{@var{n}@}@{@var{obj}@}
+@end example
+
+The @code{\multiput} command copies the object @var{obj} in a regular
+pattern across a picture. @var{obj} is first placed at position
+@math{(x,y)}, then at @math{(x+\delta x,y+\delta y)}, and so on,
+@var{n} times.
+
+
+@node \oval
+@subsection @code{\oval}
+@findex \oval
+
+Synopsis:
+
+@example
+\oval(@var{width},@var{height})[@var{portion}]
+@end example
+
+The @code{\oval} command produces a rectangle with rounded corners.
+The optional argument @var{portion} allows you to select part of the
+oval via the following:
+
+@table @code
+@item t
+selects the top portion;
+@item b
+selects the bottom portion;
+@item r
+selects the right portion;
+@item l
+selects the left portion.
+@end table
+
+The ``corners'' of the oval are made with quarter circles with a
+maximum radius of 20@dmn{pt}, so large ``ovals'' will look more like
+boxes with rounded corners.
+
+
+@node \put
+@subsection @code{\put}
+
+@findex \put
+
+@code{\put(x coord,y coord)@{ ... @}}
+
+The @code{\put} command places the item specified by the mandatory
+argument at the given coordinates.
+
+
+@node \shortstack
+@subsection @code{\shortstack}
+@findex \shortstack
+
+Synopsis:
+
+@example
+\shortstack[@var{position}]@{...\\...\\...@}
+@end example
+
+The @code{\shortstack} command produces a stack of objects. The valid
+positions are:
+
+@table @code
+@item r
+Move the objects to the right of the stack.
+@item l
+Move the objects to the left of the stack
+@item c
+Move the objects to the centre of the stack (default)
+@end table
+
+@findex \\ @r{(for @code{\shortstack} objects)}
+Objects are separated with @code{\\}.
+
+
+@node \vector
+@subsection @code{\vector}
+@findex \vector
+
+Synopsis:
+
+@example
+\vector(@var{x-slope},@var{y-slope})@{@var{length}@}
+@end example
+
+The @code{\vector} command draws a line with an arrow of the specified
+length and slope. The @math{x} and @math{y} values must lie between
+@minus{}4 and +4, inclusive.
+
+
+@node quotation
+@section @code{quotation}
+
+@findex quotation
+@cindex quoted text with paragraph indentation, displaying
+@cindex displaying quoted text with paragraph indentation
+@cindex paragraph indentations in quoted text
+
+Synopsis:
+
+@example
+\begin@{quotation@}
+@var{text}
+\end@{quotation@}
+@end example
+
+The margins of the @code{quotation} environment are indented on both
+the left and the right. The text is justified at both margins.
+Leaving a blank line between text produces a new paragraph.
+
+Unlike the @code{quote} environment, each paragraph is indented
+normally.
+
+
+@node quote
+@section @code{quote}
+
+@findex quote
+@cindex quoted text without paragraph indentation, displaying
+@cindex displaying quoted text without paragraph indentation
+@cindex paragraph indentations in quoted text, omitting
+
+Snyopsis:
+
+@example
+\begin@{quote@}
+@var{text}
+\end@{quote@}
+@end example
+
+The margins of the @code{quote} environment are indented on both the
+left and the right. The text is justified at both margins. Leaving a
+blank line between text produces a new paragraph.
+
+Unlike the @code{quotation} environment, paragraphs are not indented.
+
+
+@node tabbing
+@section @code{tabbing}
+
+@findex tabbing @r{environment}
+@cindex tab stops, using
+@cindex lining text up in columns using tab stops
+@cindex alignment via tabbing
+
+Synopsis:
+
+@example
+\begin@{tabbing@}
+@var{row1col1} \= @var{row1col2} \= @var{row1col3} \= @var{row1col4} \\
+@var{row2col1} \> \> @var{row2col3} \\
+...
+\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 as
+was done on an ordinary typewriter. It is best suited for cases where
+the width of each column is constant and known in advance.
+
+This environment can be broken across pages, unlike the @code{tabular}
+environment.
+
+The following commands can be used inside a @code{tabbing} enviroment:
+
+@ftable @code
+@item \\ @r{tabbing}
+End a line.
+
+@item \= @r{(tabbing)}
+Sets a tab stop at the current position.
+
+@item \> @r{(tabbing)}
+@findex \>
+Advances to the next tab stop.
+
+@item \<
+Put following text to the left of the local margin (without changing
+the margin). Can only be used at the start of the line.
+
+@item \+
+Moves the left margin of the next and all the
+following commands one tab stop to the right, beginning tabbed line if
+necessary.
+
+@item \-
+Moves the left margin of the next and all the
+following commands one tab stop to the left, beginning tabbed line if
+necessary.
+
+@item \' @r{(tabbing)}
+Moves everything that you have typed so far in the
+current column, i.e. everything 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.
+
+@item \` @r{(tabbing)}
+Allows you to put text flush right against any tab stop, including tab
+stop@tie{}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.
+
+@item \a @r{(tabbing)}
+@findex \a' @r{(acute accent in tabbing)}
+@findex \a` @r{(grave accent in tabbing)}
+@findex \a= @r{(macron accent in tabbing)}
+In a @code{tabbing} environment, the commands @code{\=}, @code{\'} and
+@code{\`} do not produce accents as usual (@pxref{Accents}). Instead,
+the commands @code{\a=}, @code{\a'} and @code{\a`} are used.
+
+@item \kill
+Sets tab stops without producing text. Works just like @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.
+
+@item \poptabs
+@findex \poptabs
+Restores the tab stop positions saved by the last @code{\pushtabs}.
+
+@item \pushtabs
+Saves all current tab stop positions. Useful for temporarily changing
+tab stop positions in the middle of a @code{tabbing} environment.
+
+@item \tabbingsep
+Distance to left of tab stop moved by @code{\'}.
+
+@end ftable
+
+This example typesets a Pascal function in a traditional format:
+
+@example
+\begin@{tabbing@}
+function \= fact(n : integer) : integer;\\
+ \> begin \= \+ \\
+ \> if \= n $>$ 1 then \+ \\
+ fact := n * fact(n-1) \- \\
+ else \+ \\
+ fact := 1; \-\- \\
+ end;\\
+\end@{tabbing@}
+@end example
+
+
+@node table
+@section @code{table}
+
+@findex table
+@cindex tables, creating
+@cindex creating tables
+
+Synopsis:
+
+@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.
+
+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:
+
+@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} classes use the default
+placement @code{[tbp]}.
+
+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.
+
+
+@node tabular
+@section @code{tabular}
+@findex tabular @r{environment}
+@cindex lines in tables
+@cindex lining text up in tables
+
+Synopsis:
+
+@example
+\begin@{tabular@}[pos]@{cols@}
+column 1 entry & column 2 entry ... & column n entry \\
+...
+\end@{tabular@}
+@end example
+
+ or
+
+@example
+\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.
+
+@findex \\ @r{for @code{tabular}}
+@code{\\} must be used to specify the end of each row of the table,
+except for the last, where it is optional---unless an @code{\hline}
+command (to put a rule below the table) follows.
+
+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 centre 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 @code{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
+
+Parameters that control formatting:
+@c xx defaults, own node (xref from array)?
+
+@ftable @code
+@item \arrayrulewidth
+Thickness of the rule created by @code{|}, @code{\hline}, and
+@code{\vline} in the @code{tabular} and @code{array} environments; the
+default is @samp{.4pt}.
+
+@item \arraystretch
+Scaling of spacing between rows in the @code{tabular} and @code{array}
+environments; default is @samp{1},for no scaling.
+
+@item \doublerulesep
+Horizontal distance between the vertical rules produced by @code{||}
+in the @code{tabular} and @code{array} environments; default is @samp{2pt}.
+
+@item \tabcolsep
+Half the width of the space between columns; default is @samp{6pt}.
+
+@end ftable
+
+These commands can be used inside a @code{tabular} environment:
+
+@menu
+* \multicolumn:: Make an item spanning several columns.
+* \cline:: Draw a horizontal line spanning some columns.
+* \hline:: Draw a horizontal line spanning all columns.
+* \vline:: Draw a vertical line.
+@end menu
+
+
+@node \multicolumn
+@subsection @code{\multicolumn}
+@findex \multicolumn
+
+Synopsis:
+@example
+\multicolumn@{@var{cols}@}@{@var{pos}@}@{@var{text}@}
+@end example
+
+The @code{\multicolumn} command makes an entry that spans several
+columns. The first mandatory argument, @var{cols}, specifies the
+number of columns to span. The second mandatory argument, @var{pos},
+specifies the formatting of the entry; @code{c} for centered, @code{l}
+for flushleft, @code{r} for flushright. The third mandatory argument,
+@var{text}, specifies what text to put in the entry.
+
+Here's an example showing two columns separated by an en-dash;
+@code{\multicolumn} is used for the heading:
+
+@example
+\begin@{tabular@}@{r@@@{--@}l@}
+\multicolumn@{2@}@{c@}@{\bf Unicode@}\cr
+ 0x80&0x7FF \cr
+ 0x800&0xFFFF \cr
+0x10000&0x1FFFF \cr
+\end@{tabular@}
+@end example
+
+
+@node \cline
+@subsection @code{\cline}
+@findex \cline
+
+Synopsis:
+
+@example
+\cline@{@var{i}-@var{j}@}
+@end example
+
+The @code{\cline} command draws horizontal lines across the columns
+specified, beginning in column @var{i} and ending in column @var{j},
+which are specified in the mandatory argument.
+
+
+@node \hline
+@subsection @code{\hline}
+@findex \hline
+
+The @code{\hline} command draws a horizontal line the width of the
+enclosing @code{tabular} or @code{array} environment. It's most
+commonly used to draw a line at the top, bottom, and between the rows
+of a table.
+
+
+@node \vline
+@subsection @code{\vline}
+@findex \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.
+
+
+@node thebibliography
+@section @code{thebibliography}
+
+@findex thebibliography
+@cindex bibliography, creating (manually)
+
+Synopsis:
+
+@example
+\begin@{thebibliography@}@{@var{widest-label}@}
+\bibitem[@var{label}]@{@var{cite_key@}}
+...
+\end@{thebibliography@}
+@end example
+
+The @code{thebibliography} environment produces a bibliography or
+reference list.
+
+In the @code{article} class, this reference list is labelled
+``References''; in the @code{report} class, it is labelled
+``Bibliography''. You can change the label (in the standard classes)
+by redefining the command @code{\refname}. For instance, this
+eliminates it entirely:
+
+@example
+\renewcommand@{\refname@}@{@}
+@end example
+
+The mandatory @var{widest-label} argument is text that, when typeset,
+is as wide as the widest item label produced by the @code{\bibitem}
+commands. It is typically given as @code{9} for bibliographies with
+less than 10 references, @code{99} for ones with less than 100, etc.
+
+@menu
+* \bibitem:: Specify a bibliography item.
+* \cite:: Refer to a bibliography item.
+* \nocite:: Include an item in the bibliography.
+* Using BibTeX:: Automatic generation of bibliographies.
+@end menu
+
+
+@node \bibitem
+@subsection @code{\bibitem}
+
+@findex \bibitem
+
+Synopsis:
+@example
+\bibitem[@var{label}]@{@var{cite_key}@}
+@end example
+
+The @code{\bibitem} command generates an entry labelled by
+@var{label}. If the @var{label} argument is missing, a number is
+automatically generated using the @code{enumi} counter. The
+@var{cite_key} is any sequence of letters, numbers, and punctuation
+symbols not containing a comma.
+
+This command writes an entry to the @file{.aux} file containing the
+item's @var{cite_key} and label. When the @file{.aux} file is read by
+the @code{\begin@{document@}} command, the item's @code{label} is
+associated with @code{cite_key}, causing references to @var{cite_key}
+with a @code{\cite} command (see next section) to produce the
+associated label.
+
+
+@node \cite
+@subsection @code{\cite}
+
+@findex \cite
+
+Synopsis:
+
+@example
+\cite[@var{subcite}]@{@var{keys}
+@end example
+
+The @var{keys} argument is a list of one or more citation keys,
+separated by commas. This command generates an in-text citation to
+the references associated with @var{keys} by entries in the
+@file{.aux} file.
+
+The text of the optional @var{subcite} argument appears after the
+citation. For example, @code{\cite[p.~314]@{knuth@}} might produce
+`[Knuth, p.@tie{}314]'.
+
+
+@node \nocite
+@subsection @code{\nocite}
+@findex \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.
+
+
+@node Using BibTeX
+@subsection Using Bib@TeX{}
+
+@cindex using Bib@TeX{}
+@cindex bib@TeX{}, using
+@cindex bibliography, creating (automatically)
+@findex \bibliographystyle
+@findex \bibliography
+
+If you use the Bib@TeX{} program by Oren Patashnik (highly
+recommended if you need a bibliography of more than a couple of
+titles) to maintain your bibliography, you don't use the
+@code{thebibliography} environment (@pxref{thebibliography}). Instead,
+you include the lines
+
+@example
+\bibliographystyle@{@var{bibstyle}@}
+\bibliography@{@var{bibfile1},@var{bibfile2}@}
+@end example
+
+The @code{\bibliographystyle} command does not produce any output of
+its own. Rather, it defines the style in which the bibliography will
+be produced: @var{bibstyle} refers to a file
+@var{bibstyle}@file{.bst}, which defines how your citations will look.
+The standard @var{style} names distributed with Bib@TeX{} are:
+
+@table @code
+@item alpha
+Sorted alphabetically. Labels are formed from name of author and year of
+publication.
+@item plain
+Sorted alphabetically. Labels are numeric.
+@item unsrt
+Like @code{plain}, but entries are in order of citation.
+@item abbrv
+Like @code{plain}, but more compact labels.
+@end table
+
+In addition, numerous other Bib@TeX{} style files exist tailored to
+the demands of various publications. See
+@url{http://www.ctan.org/tex-archive/biblio/bibtex/contrib}.
+
+The @code{\bibliography} command is what actually produces the
+bibliography. The argument to @code{\bibliography} refers to files
+named @file{@var{bibfile}.bib}, which should contain your database in
+Bib@TeX{} format. Only the entries referred to via @code{\cite} and
+@code{\nocite} will be listed in the bibliography.
+
+
+@node theorem
+@section @code{theorem}
+
+@findex theorem @r{environment}
+@cindex theorems, typesetting
+
+Synopsis:
+
+@example
+\begin@{theorem@}
+@var{theorem-text}
+\end@{theorem@}
+@end example
+
+The @code{theorem} environment produces ``Theorem @var{n}'' in
+boldface followed by @var{theorem-text}, where the numbering
+possibilities for @var{n} are described under @code{\newtheorem}
+(@pxref{\newtheorem}).
+
+
+@node titlepage
+@section @code{titlepage}
+
+@findex titlepage @r{environment}
+@cindex making a title page
+@cindex title pages, creating
+
+Synopsis:
+
+@example
+\begin@{titlepage@}
+@var{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 may be useful on title pages
+(@pxref{\today}).
+
+You can use the @code{\maketitle} command (@pxref{\maketitle}) to
+produce a standard title page without a @code{titlepage} environment.
+
+
+@node verbatim
+@section @code{verbatim}
+
+@findex verbatim @r{environment}
+@cindex verbatim text
+@cindex simulating typed text
+@cindex typed text, simulating
+@cindex code, typesetting
+@cindex computer programs, typesetting
+
+Synopsis:
+
+@example
+\begin@{verbatim@}
+@var{literal-text}
+\end@{verbatim@}
+@end example
+
+The @code{verbatim} environment is a paragraph-making environment in
+which @LaTeX{} produces exactly what you type in; for instance the
+@code{\} character produces a printed @samp{\}. It turns @LaTeX{}
+into a typewriter with carriage returns and blanks having the same
+effect that they would on a typewriter.
+
+The @code{verbatim} uses a monospaced typewriter-like font (@code{\tt}).
+
+@menu
+* \verb:: The macro form of the @code{verbatim} environment.
+@end menu
+
+@node \verb
+@subsection @code{\verb}
+
+@findex \verb
+@cindex verbatim text, inline
+
+Synopsis:
+
+@example
+\verb@var{char}@var{literal-text}@var{char}
+\verb*@var{char}@var{literal-text}@var{char}
+@end example
+
+The @code{\verb} command typesets @var{literal-text} as it is input,
+including special characters and spaces, using the typewriter
+(@code{\tt}) font. No spaces are allowed between @code{\verb} or
+@code{\verb*} and the delimiter @var{char}, which begins and ends the
+verbatim text. The delimiter must not appear in @var{literal-text}.
+
+@cindex visible space
+The @code{*}-form differs only in that spaces are printed with a
+``visible space'' character.
+@tex
+(Namely, {\tt\char`\ }.)
+@end tex
+
+
+@node verse
+@section @code{verse}
+
+@findex verse @r{environment}
+@cindex poetry, an environment for
+
+Synopsis:
+
+@example
+\begin@{verse@}
+@var{line1} \\
+@var{line2} \\
+...
+\end@{verse@}
+@end example
+
+The @code{verse} environment is designed for poetry, though you may find
+other uses for it.
+
+@findex \\ @r{for @code{verse}}
+The margins are indented on the left and the right, paragraphs are not
+indented, and the text is not justified. Separate the lines of each
+stanza with @code{\\}, and use one or more blank lines to separate the
+stanzas.
+
+
+@node Footnotes
+@chapter Footnotes
+@cindex footnotes, creating
+
+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.
+
+@menu
+* \footnote:: Insert a footnote.
+* \footnotemark:: Insert footnote mark only.
+* \footnotetext:: Insert footnote text only.
+* Footnote parameters:: Parameters for footnote formatting.
+@end menu
+
+
+@node \footnote
+@section @code{\footnote}
+@findex \footnote
+
+Synopsis:
+
+@example
+\footnote[@var{number}]@{@var{text}@}
+@end example
+
+The @code{\footnote} command places the numbered footnote @var{text}
+at the bottom of the current page. The optional argument @var{number}
+changes the default footnote number.
+
+This command can only be used in outer paragraph mode; i.e., you
+cannot use it in sectioning commands like @code{\chapter}, in figures,
+tables or in a @code{tabular} environment. (See following sections.)
+@c xx mention packages that fix this
+
+
+@node \footnotemark
+@section @code{\footnotemark}
+@findex \footnotemark
+
+With no optional argument, the @code{\footnotemark} command puts the
+current footnote number in the text. This command can be used in
+inner paragraph mode. You give the text of the footnote separately,
+with the @code{\footnotetext} command.
+
+This command can be used to produce several consecutive footnote
+markers referring to the same footnote with
+
+@example
+\footnotemark[\value@{footnote@}]
+@end example
+
+after the first @code{\footnote} command.
+
+
+@node \footnotetext
+@section @code{\footnotetext}
+@findex \footnotetext
+
+Synopsis:
+
+@example
+\footnotetext[@var{number}]@{@var{text}@}
+@end example
+
+The @code{\footnotetext} command places @var{text} at the bottom of
+the page as a footnote. This command can come anywhere after the
+@code{\footnotemark} command. The @code{\footnotetext} command must
+appear in outer paragraph mode.
+
+The optional argument @var{number} changes the default footnote number.
+
+
+@node Footnote parameters
+@section Footnote parameters
+
+@cindex footnote parameters
+
+@ftable @code
+@item \footnoterule
+Produces the rule separating the main text on a page from the page's
+footnotes. Default dimensions: @code{0.4pt} thick (or wide), and
+@code{0.4\columnwidth} long in the standard document classes (except
+slides, where it does not appear).
+
+@item \footnotesep
+The height of the strut placed at the beginning of the footnote. By
+default, this is set to the normal strut for @code{\footnotesize}
+fonts (@pxref{Font sizes}), therefore there is no extra space between
+footnotes. This is @samp{6.65pt} for @samp{10pt}, @samp{7.7pt} for
+@samp{11pt}, and @samp{8.4pt} for @samp{12pt}.
+
+@end ftable
+
+
+@node Definitions
+@chapter Definitions
+@cindex definitions
+
+@LaTeX{} has support for making new commands of many different kinds.
+
+@c xx everything in this chapter needs examples.
+
+@menu
+* \newcommand & \renewcommand:: (Re)define a new command.
+* \newcounter:: Define a new counter.
+* \newlength:: Define a new length.
+* \newsavebox:: Define a new box.
+* \newenvironment & \renewenvironment:: Define a new environment.
+* \newtheorem:: Define a new theorem-like environment.
+* \newfont:: Define a new font name.
+* \protect:: Using tricky commands.
+@end menu
+
+
+@node \newcommand & \renewcommand
+@section @code{\newcommand} & @code{\renewcommand}
+@findex \newcommand
+@cindex commands, defining new ones
+@cindex defining a new command
+@cindex new commands, defining
+
+@code{\newcommand} and @code{\renewcommand} define and redefine a
+command, respectively. Synopses:
+
+@example
+ \newcommand@{@var{cmd}@}[@var{nargs}]@{@var{defn}@}
+\renewcommand@{@var{cmd}@}[@var{nargs}]@{@var{defn}@}
+ \newcommand@{@var{cmd}@}[@var{nargs}][@var{default}]@{@var{defn}@}
+\renewcommand@{@var{cmd}@}[@var{nargs}][@var{default}]@{@var{defn}@}
+@end example
+
+
+@table @var
+@item cmd
+The command name beginning with @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 nargs
+An optional integer from 1 to 9 specifying the number of arguments
+that the command will take. The default is for the command to have no
+arguments.
+
+@item default
+If this optional parameter is present, it means that the command's
+first argument is optional. When the new command is called, the
+default value of the optional argument (i.e., if it is not specified
+in the call) is the string @samp{def}.
+
+@item defn
+The text to be substituted for every occurrence of @code{cmd}; a
+construct of the form @code{#@var{n}} in @var{defn} is replaced by the
+text of the @var{n}th argument.
+
+@end table
+
+
+@node \newcounter
+@section @code{\newcounter}
+@findex \newcounter
+@cindex counters, defining new
+
+Synopsis:
+
+@example
+\newcounter@{@var{cnt}@}[@var{countername}]
+@end example
+
+The @code{\newcounter} command defines a new counter named @var{cnt}.
+The new counter is initialized to zero.
+
+Given the optional argument @code{[@var{countername}]}, @var{cnt}
+will be reset whenever @var{countername} is incremented.
+
+@xref{Counters}, for more information about counters.
+
+
+@node \newlength
+@section @code{\newlength}
+@findex \newlength
+@cindex lengths, defining new
+
+Synopsis:
+
+@example
+\newlength@{\@var{arg}@}
+@end example
+
+The @code{\newlength} command defines the mandatory argument as a
+@code{length} command with a value of @code{0in}. The argument must
+be a control sequence, as in @code{\newlength@{\foo@}}. An error
+occurs if @code{\foo} is already defined.
+
+@xref{Lengths}, for how to set the new length to a nonzero value, and
+for more information about lengths in general.
+
+
+@node \newsavebox
+@section @code{\newsavebox}
+@findex \newsavebox
+
+Synopsis:
+
+@example
+\newsavebox@{@var{cmd}@}
+@end example
+
+Defines @code{\@var{cmd}}, which must be a command name not already
+defined, to refer to a new bin for storing boxes.
+
+
+@node \newenvironment & \renewenvironment
+@section @code{\newenvironment} & @code{\renewenvironment}
+@findex \newenvironment
+@findex \renewenvironment
+@cindex environments, defining
+@cindex defining new environments
+@cindex redefining environments
+
+Synopses:
+
+@example
+ \newenvironment@{@var{env}@}[@var{nargs}]@{@var{begdef}@}@{@var{enddef}@}
+ \newenvironment@{@var{env}@}[@var{nargs}][@var{default}]@{@var{begdef}@}@{@var{enddef}@}
+\renewenvironment@{@var{env}@}[@var{nargs}]@{@var{begdef}@}@{@var{enddef}@}
+@end example
+
+These commands define or redefine an environment @var{env}, that is,
+@code{\begin@{@var{env}@} @dots{} \end@{@var{env}@}}.
+
+@table @var
+@item env
+The name of the environment. For @code{\newenvironment}, @var{env}
+must not be an existing environment, and the command @code{\@var{env}}
+must be undefined. For @code{\renewenvironment}, @var{env} must be
+the name of an existing environment.
+
+@item nargs
+An integer from 1 to 9 denoting the number of arguments of
+the newly-defined environment. The default is no arguments.
+
+@item default
+If this is specified, the first argument is optional, and @var{default}
+gives the default value for that argument.
+
+@item begdef
+The text expanded at every occurrence of @code{\begin@{@var{env}@}}; a
+construct of the form @code{#@var{n}} in @var{begdef} is replaced by
+the text of the @var{n}th argument.
+
+@item enddef
+The text expanded at every occurrence of @code{\end@{@var{env}@}}. It
+may not contain any argument parameters.
+
+@end table
+
+
+@node \newtheorem
+@section @code{\newtheorem}
+@findex \newtheorem
+@cindex theorems, defining
+@cindex defining new theorems
+
+@example
+\newtheorem@{@var{newenv}@}@{@var{label}@}[@var{within}]
+\newtheorem@{@var{newenv}@}[@var{numbered_like}]@{@var{label}@}
+@end example
+
+This command defines a theorem-like environment. Arguments:
+
+@table @var
+@item newenv
+The name of the environment to be defined; must not be the name of an
+existing environment or otherwise defined.
+
+@item label
+The text printed at the beginning of the environment, before the
+number. For example, @samp{Theorem}.
+
+@item numbered_like
+(Optional.) The name of an already defined theorem-like environment;
+the new environment will be numbered just like @var{numbered_like}.
+
+@item within
+(Optional.) The name of an already defined counter, a sectional unit.
+The new theorem counter will be reset at the same time as the
+@var{within} counter.
+
+@end table
+
+At most one of @var{numbered_like} and @var{within} can be specified,
+not both.
+
+
+@node \newfont
+@section @code{\newfont}
+@findex \newfont
+@cindex fonts, new commands for
+@cindex defining new fonts
+
+Synopsis:
+
+@example
+\newfont@{@var{cmd}@}@{@var{fontname}@}
+@end example
+
+Defines a control sequence @code{\@var{cmd}}, which must not already
+be defined, to make @var{fontname} be the current font. The file
+looked for on the system is named @file{@var{fontname}.tfm}.
+
+This is a low-level command for setting up to use an individual font.
+More commonly, fonts are defined in families through @file{.fd} files.
+
+
+@node \protect
+@section @code{\protect}
+@findex \protect
+
+@cindex fragile commands
+@cindex moving arguments
+Footnotes, line breaks, any command that has an optional argument, and
+many more are so-called @dfn{fragile} commands. When a fragile
+command is used in certain contexts, called @dfn{moving arguments}, it
+must be preceded by @code{\protect}. In addition, any fragile
+commands within the arguments must have their own @code{\protect}.
+
+Some examples of moving arguments are @code{\caption}
+(@pxref{figure}), @code{\thanks} (@pxref{\maketitle}), and
+@-expressions in @code{tabular} and @code{array} environments
+(@pxref{tabular}).
+
+@cindex robust commands
+Commands which are not fragile are called @dfn{robust}. They must not
+be preceded by @code{\protect}.
+
+See also:
+
+@smallexample
+@exdent @url{http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/fragile.html}
+@exdent @url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=protect}
+@end smallexample
+
+@c xx really need examples.
+
+
+@node Counters
+@chapter Counters
+@cindex counters, a list of
+@cindex variables, a list of
+
+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{\}.
+(@code{enumi}--@code{enumiv} are used for the nested enumerate
+environment.) Below is a list of the counters used in @LaTeX{}'s
+standard document classes to control numbering.
+
+@example
+part paragraph figure enumi
+chapter subparagraph table enumii
+section page footnote enumiii
+subsection equation mpfootnote enumiv
+subsubsection
+@end example
+
+@menu
+* \alph \Alph \arabic \roman \Roman \fnsymbol:: Print value of a counter.
+* \usecounter:: Use a specified counter in a list environment.
+* \value:: Use the value of a counter in an expression.
+* \setcounter:: Set the value of a counter.
+* \addtocounter:: Add a quantity to a counter.
+* \refstepcounter:: Add to counter, resetting subsidiary counters.
+* \stepcounter:: Add to counter, resetting subsidiary counters.
+* \day \month \year:: Numeric date values.
+@end menu
+
+
+@node \alph \Alph \arabic \roman \Roman \fnsymbol
+@section @code{\alph \Alph \arabic \roman \Roman \fnsymbol}: Printing counters
+
+All of these commands take a single counter as an argument, for
+instance, @code{\alph@{enumi@}}.
+
+@ftable @code
+@item \alph
+prints @var{counter} using lowercase letters: `a', `b', @enddots{}
+
+@item \Alph
+uses uppercase letters: `A', `B', @enddots{}
+
+@item \arabic
+uses Arabic numbers: `1', `2', @enddots{}
+
+@item \roman
+uses lowercase roman numerals: `i', `ii', @enddots{}
+
+@item \roman
+uses uppercase roman numerals: `I', `II', @enddots{}
+
+@item \fnsymbol
+prints the value of @var{counter} in a specific sequence of nine
+symbols (conventionally used for labeling footnotes). The value of
+@var{counter} must be between@tie{}1 and@tie{}9, inclusive.
+
+@tex
+Here are the symbols:
+$\ast$ $\dagger$ $\ddagger$ $\S$ $\P$ $\parallel$
+$\ast\ast$ $\dagger\dagger$ $\ddagger\ddagger$
+@end tex
+@ifnottex
+The symbols mostly aren't supported in Info, but here are the names:
+@display
+asterix(*) dagger ddagger section-sign paragraph-sign parallel
+double-asterix(**) double-dagger double-ddagger
+@end display
+@end ifnottex
+
+@end ftable
+
+
+@node \usecounter
+@section @code{\usecounter@{@var{counter}@}}
+@findex \usecounter
+@cindex list items, specifying counter
+@cindex numbered items, specifying counter
+
+Synopsis:
+
+@example
+\usecounter@{@var{counter}@}
+@end example
+
+The @code{\usecounter} command is used in the second argument of the
+@code{list} environment to specify @var{counter} to be used to number
+the list items.
+
+
+@node \value
+@section @code{\value@{@var{counter}@}}
+@findex \value
+@cindex counters, getting value of
+
+Synopsis:
+
+@example
+\value@{@var{counter}@}
+@end example
+
+The @code{\value} command produces the value of @var{counter}. It can
+be used anywhere @LaTeX{} expects a number, for example:
+
+@example
+\setcounter@{myctr@}@{3@}
+\addtocounter@{myctr@}@{1@}
+\hspace@{\value@{myctr@}\parindent@}
+@end example
+
+
+@node \setcounter
+@section @code{\setcounter@{@var{counter}@}@{@var{value}@}}
+@findex \setcounter
+@cindex counters, setting
+@cindex setting counters
+
+Synopsis:
+
+@example
+\setcounter@{@var{\counter}@}@{@var{value}@}
+@end example
+
+The @code{\setcounter} command sets the value of @var{\counter} to the
+@var{value} argument.
+
+
+@node \addtocounter
+@section @code{\addtocounter@{@var{counter}@}@{@var{value}@}}
+@findex \addtocounter
+
+The @code{\addtocounter} command increments @var{counter} by the
+amount specified by the @var{value} argument, which may be negative.
+
+
+@node \refstepcounter
+@section @code{\refstepcounter@{@var{counter}@}}
+@findex \refstepcounter
+
+The @code{\refstepcounter} command works in the same way as
+@code{\stepcounter} @xref{\stepcounter}, except it also defines the
+current @code{\ref} value to be the result of @code{\thecounter}.
+
+
+@node \stepcounter
+@section @code{\stepcounter@{@var{counter}@}}
+@findex \stepcounter
+
+The @code{\stepcounter} command adds one to @var{counter} and
+resets all subsidiary counters.
+
+
+@node \day \month \year
+@section @code{\day \month \year}: Predefined counters
+@findex \day
+@findex \month
+@findex \year
+
+@LaTeX{} defines counters for the day of the month (@code{\day},
+1--31), month of the year (@code{\month}, 1--12), and year
+(@code{\year}, Common Era). When @TeX{} starts up, they are
+set to the current values on the system where @TeX{} is running. They
+are not updated as the job progresses.
+
+The related command @code{\today} produces a string representing the
+current day (@pxref{\today}).
+
+
+@node Lengths
+@chapter Lengths
+@cindex lengths, defining and using
+
+A @code{length} is a measure of distance. Many @LaTeX{} commands take a
+length as an argument.
+
+@menu
+* \setlength:: Set the value of a length.
+* \addtolength:: Add a quantity to a length.
+* \settodepth:: Set a length to the depth of something.
+* \settoheight:: Set a length to the height of something.
+* \settowidth:: Set a length to the width of something.
+* Predefined lengths:: Lengths that are, like, predefined.
+@end menu
+
+
+@node \setlength
+@section @code{\setlength@{\@var{len}@}@{@var{value}@}}
+@findex \setlength
+@cindex lengths, setting
+
+The @code{\setlength} sets the value of @var{\len} to the @var{value}
+argument, which can be expressed in any units that @LaTeX{}
+understands, i.e., inches (@code{in}), millimeters (@code{mm}), points
+(@code{pt}), big points (@code{bp}, etc.
+
+
+@node \addtolength
+@section \addtolength@{@var{\len}@}@{@var{amount}@}
+@findex \addtolength
+@cindex lengths, adding to
+
+The @code{\addtolength} command increments a ``length command''
+@var{\len} by the amount specified in the @var{amount} argument, which
+may be negative.
+
+
+@node \settodepth
+@section @code{\settodepth}
+@findex \settodepth
+
+@code{\settodepth@{\gnat@}@{text@}}
+
+The @code{\settodepth} command sets the value of a @code{length} command
+equal to the depth of the @code{text} argument.
+
+
+@node \settoheight
+@section @code{\settoheight}
+@findex \settoheight
+
+@code{\settoheight@{\gnat@}@{text@}}
+
+The @code{\settoheight} command sets the value of a @code{length} command
+equal to the height of the @code{text} argument.
+
+
+
+@node \settowidth
+@section @code{\settowidth@{\@var{len}@}@{@var{text}@}}
+@findex \settowidth
+
+The @code{\settowidth} command sets the value of the command @var{\len}
+to the width of the @var{text} argument.
+
+
+
+@node Predefined lengths
+@section Predefined lengths
+@cindex lengths, predefined
+@cindex predefined lengths
+
+@code{\width}
+@findex \width
+
+@code{\height}
+@findex \height
+
+@code{\depth}
+@findex \depth
+
+@code{\totalheight}
+@findex \totalheight
+
+These length parameters can be used in the arguments of the box-making
+commands (@pxref{Boxes}). They specify the natural width etc. of the
+text in the box. @code{\totalheight} equals @code{\height} +
+@code{\depth}. To make a box with the text stretched to double the
+natural size, e.g., say
+
+@code{\makebox[2\width]@{Get a stretcher@}}
+
+
+@node Line breaking
+@chapter Line breaking
+@cindex line breaking
+@cindex breaking lines
+
+The first thing @LaTeX{} does when processing ordinary text is to
+translate your input file into a sequence of glyphs and spaces. To
+produce a printed document, this sequence must be broken into lines
+(and these lines must be broken into pages).
+
+@LaTeX{} usually does the line (and page) breaking for you, but in
+some environments, you do the line breaking yourself with the
+@code{\\} command, and you can always manually force breaks.
+
+@menu
+* \\:: Start a new line.
+* \obeycr & \restorecr:: Make each input line start a new output line.
+* \newline:: Break the line
+* \- (hyphenation):: Insert explicit hyphenation.
+* \fussy:: Be fussy about line breaking.
+* \hyphenation:: Tell @LaTeX{} how to hyphenate a word.
+* \linebreak & \nolinebreak:: Forcing & avoiding line breaks.
+* \sloppy:: Be sloppy about line breaking.
+@end menu
+
+
+@node \\
+@section @code{\\}[*][@var{morespace}]
+@findex \\ @r{force line break}
+@cindex new line, starting
+@cindex line break, forcing
+
+The @code{\\} command tells @LaTeX{} to start a new line. It has an
+optional argument, @var{morespace}, 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.
+
+
+@node \obeycr & \restorecr
+@section @code{\obeycr} & @code{\restorecr}
+@findex \obeycr
+@findex \restorecr
+@cindex new line, output as input
+
+The @code{\obeycr} command makes a return in the input file
+(@samp{^^M}, internally) the same as @code{\\} (followed by
+@code{\relax}). So each new line in the input will also be a new line
+in the output.
+
+@code{\restorecr} restores normal line-breaking behavior.
+
+
+@node \newline
+@section @code{\newline}
+@findex \newline
+@cindex new line, starting (paragraph mode)
+
+The @code{\newline} command breaks the line at the present point, with
+no stretching of the text before it. It can only be used in paragraph
+mode.
+
+
+@node \- (hyphenation)
+@section @code{\-} (discretionary hyphen)
+@findex \- @r{(hyphenation)}
+@cindex hyphenation, forcing
+
+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 most of the correct hyphenation points, and almost never use an
+incorrect one. The @code{\-} command is used for the exceptional
+cases.
+
+When you insert @code{\-} commands in a word, the word will only be
+hyphenated at those points and not at any of the hyphenation points
+that @LaTeX{} might otherwise have chosen.
+
+
+
+@node \fussy
+@section @code{\fussy}
+@findex \fussy
+
+The declaration @code{\fussy} (which is the default) makes @TeX{}
+picky about line breaking. This usually avoids too much space between
+words, at the cost of an occasional overfull box.
+
+This command cancels the effect of a previous @code{\sloppy} command
+(@pxref{\sloppy}.
+
+
+@node \sloppy
+@section @code{\sloppy}
+
+The declaration @code{\sloppy} makes @TeX{} less fussy about line
+breaking. This will avoid overfull boxes, at the cost of loose
+interword spacing.
+
+Lasts until a @code{\fussy} command is issued (@pxref{\fussy}).
+
+
+@node \hyphenation
+@section @code{\hyphenation}
+@findex \hyphenation
+@cindex hyphenation, defining
+
+Synopsis:
+
+@example
+\hyphenation@{@var{word-one} @var{word-two}@}
+@end example
+
+The @code{\hyphenation} command declares allowed hyphenation points
+with a @code{-} character in the given words. The words are separated
+by spaces. @TeX{} will only hyphenate if the word matches exactly, no
+inflections are tried. Multiple @code{\hyphenation} commands
+accumulate. Some examples (the default @TeX{} hyphenation patterns
+misses the hyphenations in these words):
+
+@example
+\hyphenation@{ap-pen-dix col-umns data-base data-bases@}
+@end example
+
+
+@node \linebreak & \nolinebreak
+@section @code{\linebreak} & @code{\nolinebreak}
+@findex \linebreak
+@findex \nolinebreak
+@cindex line breaks, forcing
+@cindex line breaks, preventing
+
+Synopses:
+
+@example
+\linebreak[@var{priority}]
+\nolinebreak[@var{priority}]
+@end example
+
+By default, the @code{\linebreak} (@code{\nolinebreak}) command forces
+(prevents) a line break at the current position. For
+@code{\linebreak}, the spaces in the line are stretched out so that it
+extends to the right margin as usual.
+
+With the optional argument @var{priority}, you can convert the command
+from a demand to a request. The @var{priority} must be a number from
+0 to@tie{}4. The higher the number, the more insistent the request.
+
+
+@node Page breaking
+@chapter Page breaking
+@cindex page breaking
+@cindex breaking pages
+
+@LaTeX{} starts new pages asynchronously, when enough material has
+accumulated to fill up a page. Usually this happens automatically,
+but sometimes you may want to influence the breaks.
+
+@menu
+* \cleardoublepage:: Start a new right-hand page.
+* \clearpage:: Start a new page.
+* \newpage:: Start a new page.
+* \enlargethispage:: Enlarge the current page a bit.
+* \pagebreak & \nopagebreak:: Forcing & avoiding page breaks.
+@end menu
+
+
+@node \cleardoublepage
+@section @code{\cleardoublepage}
+
+@findex \cleardoublepage
+@cindex starting on a right-hand 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.
+
+
+@node \clearpage
+@section @code{\clearpage}
+@findex \clearpage
+@cindex flushing floats and starting a page
+@cindex starting a new page and clearing floats
+
+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.
+
+
+@node \newpage
+@section @code{\newpage}
+@findex \newpage
+@cindex new page, starting
+@cindex starting a new page
+
+The @code{\newpage} command ends the current page, but does not clear
+floats (see @code{\clearpage} above).
+
+
+@node \enlargethispage
+@section @code{\enlargethispage}
+@findex \enlargethispage
+@cindex enlarge current page
+
+@code{\enlargethispage@{size@}}
+
+@code{\enlargethispage*@{size@}}
+
+Enlarge the @code{\textheight} for the current page by the specified
+amount; e.g. @code{\enlargethispage@{\baselineskip@}} will allow one
+additional line.
+
+The starred form tries to squeeze the material together on the page as
+much as possible. This is normally used together with an explicit
+@code{\pagebreak}.
+
+
+@node \pagebreak & \nopagebreak
+@section @code{\pagebreak} & @code{\nopagebreak}
+@findex \pagebreak
+@findex \nopagebreak
+@cindex page break, forcing
+@cindex page break, preventing
+
+Synopses:
+
+@example
+\pagebreak[@var{priority}]
+\nopagebreak[@var{priority}]
+@end example
+
+By default, the @code{\pagebreak} (@code{\nopagebreak}) command forces
+(prevents) a page break at the current position. For
+@code{\linebreak}, the vertical space on the page is stretched out
+where possible so that it extends to the normal bottom margin.
+
+With the optional argument @var{priority}, you can convert the
+@code{\pagebreak} command from a demand to a request. The number must
+be a number from 0 to@tie{}4. The higher the number, the more
+insistent the request is.
+
+
+@node Making paragraphs
+@chapter Making paragraphs
+@cindex making paragraphs
+@cindex paragraphs
+
+A paragraph is ended by one or more completely blank lines---lines not
+containing even a @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:: Indent this paragraph.
+* \noindent:: Do not indent this paragraph.
+* \parskip:: Space added before paragraphs.
+* Marginal notes:: Putting remarks in the margin.
+@end menu
+
+
+@node \indent
+@section @code{\indent}
+@findex \indent
+@findex \parindent
+@cindex indent, forcing
+
+@code{\indent} produces a horizontal space whose width equals the
+width of the @code{\parindent} length, the normal paragraph
+indentation. It is used to add paragraph indentation where it would
+otherwise be suppressed.
+
+The default value for @code{\parindent} is @code{1em} in two-column
+mode, otherwise @code{15pt} for @code{10pt} documents, @code{17pt} for
+@code{11pt}, and @code{1.5em} for @code{12pt}.
+
+
+@node \noindent
+@section @code{\noindent}
+@findex \noindent
+@cindex indent, suppressing
+
+When used at the beginning of the paragraph, @code{\noindent}
+suppresses any paragraph indentation. It has no effect when used in
+the middle of a paragraph.
+
+
+@node \parskip
+@section @code{\parskip}
+@findex \parskip
+@cindex vertical space before paragraphs
+
+@code{\parskip} is a rubber length defining extra vertical space added
+before each paragraph. The default is @code{0pt plus1pt}.
+
+
+@node Marginal notes
+@section Marginal notes
+@cindex marginal notes
+@cindex notes in the margin
+@cindex remarks in the margin
+@findex \marginpar
+
+Synopsis:
+
+@example
+\marginpar[@var{left}]@{@var{right}@}
+@end example
+
+The @code{\marginpar} command creates a note in the margin. The first
+line of the note will have the same baseline as the line in the text
+where the @code{\marginpar} occurs.
+
+When you only specify the mandatory argument @var{right}, the text
+will be placed
+
+@itemize @bullet
+@item
+in the right margin for one-sided layout;
+@item
+in the outside margin for two-sided layout;
+@item
+in the nearest margin for two-column layout.
+@end itemize
+
+@findex \reversemarginpar
+@findex \normalmarginpar
+The command @code{\reversemarginpar} places subsequent marginal notes
+in the opposite (inside) margin. @code{\normalmarginpar} places them
+in the default position.
+
+When you specify both arguments, @var{left} is used for the left
+margin, and @var{right} is used for the right margin.
+
+The first word will normally not be hyphenated; you can enable
+hyphenation there by beginning the node with @code{\hspace@{0pt@}}.
+
+These parameters affect the formatting of the note:
+
+@ftable @code
+@item \marginparpush
+Minimum vertical space between notes; default @samp{7pt} for
+@samp{12pt} documents, @samp{5pt} else.
+
+@item \marginparsep
+Horizontal space between the main text and the note; default
+@samp{11pt} for @samp{10pt} documents, @samp{10pt} else.
+
+@item \marginparwidth
+Width of the note itself; default for a one-sided @samp{10pt} document
+is @samp{90pt}, @samp{83pt} for @samp{11pt}, and @samp{68pt} for
+@samp{12pt}; @samp{17pt} more in each case for a two-sided document.
+In two column mode, the default is @samp{48pt}.
+
+@end ftable
+
+
+@node Math formulas
+@chapter Math formulas
+@cindex math formulas
+@cindex formulas, math
+@cindex math mode, entering
+
+@findex math @r{environment}
+@findex displaymath @r{environment}
+@findex equation @r{environment}
+There are three environments that put @LaTeX{} in math mode:
+
+@table @code
+@item math
+For formulas that appear right in the text.
+@item displaymath
+For formulas 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
+
+@findex \(
+@findex \)
+@findex \[
+@findex \]
+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
+\(...\) @r{instead of} \begin@{math@}...\end@{math@}
+\[...\] @r{instead of} \begin@{displaymath@}...\end@{displaymath@}
+@end example
+
+@findex $
+In fact, the @code{math} environment is so common that it has an even
+shorter form:
+
+@example
+$ ... $ @r{instead of} \(...\)
+@end example
+
+@findex \boldmath
+@findex \unboldmath
+The @code{\boldmath} command changes math letters and symbols to be in
+a bold font. It is used @emph{outside} of math mode. Conversely, the
+@code{\unboldmath} command changes math glyphs to be in a normal font;
+it too is used @emph{outside} of math mode.
+
+@c xx own section? Math fonts?
+@findex \displaystyle
+The @code{\displaystyle} declaration forces the size and style of the
+formula to be that of @code{displaymath}, e.g., with limits above and
+below summations. For example
+@example
+$\displaystyle \sum_@{n=0@}^\infty x_n $
+@end example
+
+@c xx see also \cal, \mathcal
+
+@menu
+* Subscripts & Superscripts:: Also known as exponent or index.
+* Math symbols:: Various mathematical squiggles.
+* Math functions:: Math function names like sin and exp.
+* Math accents:: Accents in math.
+* Spacing in math mode:: Thick, medium, thin and negative spaces.
+* Math Miscellany:: Stuff that doesn't fit anywhere else.
+@end menu
+
+
+@node Subscripts & Superscripts
+@section Subscripts & Superscripts
+@cindex superscript
+@cindex subscript
+@cindex exponent
+@findex _
+@findex ^
+
+To get an expression @i{exp} to appear as a subscript, you just type
+@code{_@{}@i{exp}@code{@}}. To get @i{exp} to appear as a
+superscript, you type @code{^@{}@i{exp}@code{@}}. @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.
+
+
+@node Math symbols
+@section Math symbols
+@cindex math symbols
+@cindex symbols, math
+@cindex greek letters
+
+@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 pi symbol (@math{\pi}) in your output.
+
+@ftable @code
+@item \|
+@math{\|}
+
+@item \aleph
+@math{\aleph}
+
+@item \alpha
+@math{\alpha}
+
+@item \amalg
+@math{\amalg} (binary operation)
+
+@item \angle
+@math{\angle}
+
+@item \approx
+@math{\approx} (relation)
+
+@item \ast
+@math{\ast} (binary operation)
+
+@item \asymp
+@math{\asymp} (relation)
+
+@item \backslash
+\ (delimiter)
+
+@item \beta
+@math{\beta}
+
+@item \bigcap
+@math{\bigcap}
+
+@item \bigcirc
+@math{\bigcirc} (binary operation)
+
+@item \bigcup
+@math{\bigcup}
+
+@item \bigodot
+@math{\bigodot}
+
+@item \bigoplus
+@math{\bigoplus}
+
+@item \bigotimes
+@math{\bigotimes}
+
+@item \bigtriangledown
+@math{\bigtriangledown} (binary operation)
+
+@item \bigtriangleup
+@math{\bigtriangleup} (binary operation)
+
+@item \bigsqcup
+@math{\bigsqcup}
+
+@item \biguplus
+@math{\biguplus}
+
+@item \bigcap
+@math{\bigvee}
+
+@item \bigwedge
+@math{\bigwedge}
+
+@item \bot
+@math{\bot}
+
+@item \bowtie
+@math{\bowtie} (relation)
+
+@item \Box
+(square open box symbol) @c xx not in plain
+
+@item \bullet
+@cindex bullet symbol
+@math{\bullet} (binary operation)
+
+@item \cap
+@math{\cap} (binary operation)
+
+@item \cdot
+@math{\cdot} (binary operation)
+
+@item \chi
+@math{\chi}
+
+@item \circ
+@math{\circ} (binary operation)
+
+@item \clubsuit
+@math{\clubsuit}
+
+@item \cong
+@math{\cong} (relation)
+
+@item \coprod
+@math{\coprod}
+
+@item \cup
+@math{\cup} (binary operation)
+
+@item \dagger
+@math{\dagger} (binary operation)
+
+@item \dashv
+@math{\dashv} (relation)
+
+@item \ddagger
+@math{\dagger} (binary operation)
+
+@item \Delta
+@math{\Delta}
+
+@item \delta
+@math{\delta}
+
+@item \Diamond
+bigger @math{\diamond} @c xx not in plain
+
+@item \diamond
+@math{\diamond} (binary operation)
+
+@item \diamondsuit
+@math{\diamondsuit}
+
+@item \div
+@math{\div} (binary operation)
+
+@item \doteq
+@math{\doteq} (relation)
+
+@item \downarrow
+@math{\downarrow} (delimiter)
+
+@item \Downarrow
+@math{\Downarrow} (delimiter)
+
+@item \ell
+@math{\ell}
+
+@item \emptyset
+@math{\emptyset}
+
+@item \epsilon
+@math{\epsilon}
+
+@item \equiv
+@math{\equiv} (relation)
+
+@item \eta
+@math{\eta}
+
+@item \exists
+@math{\exists}
+
+@item \flat
+@math{\flat}
+
+@item \forall
+@math{\forall}
+
+@item \frown
+@math{\frown} (relation)
+
+@item \Gamma
+@math{\Gamma}
+
+@item \gamma
+@math{\gamma}
+
+@item \ge
+@math{\ge}
+
+@item \geq
+@math{\geq} (relation)
+
+@item \gets
+@math{\gets}
+
+@item \gg
+@math{\gg} (relation)
+
+@item \hbar
+@math{\hbar}
+
+@item \heartsuit
+@math{\heartsuit}
+
+@item \hookleftarrow
+@math{\hookleftarrow}
+
+@item \hookrightarrow
+@math{\hookrightarrow}
+
+@item \iff
+@math{\iff}
+
+@item \Im
+@math{\Im}
+
+@item \in
+@math{\in} (relation)
+
+@item \infty
+@math{\infty}
+
+@item \int
+@math{\int}
+
+@item \iota
+@math{\iota}
+
+@item \Join
+condensed bowtie symbol (relation) @c xx not in plain
+
+@item \kappa
+@math{\kappa}
+
+@item \Lambda
+@math{\Lambda}
+
+@item \lambda
+@math{\lambda}
+
+@item \land
+@math{\land}
+
+@item \langle
+@math{\langle} (delimiter)
+
+@item \lbrace
+@math{\lbrace} (delimiter)
+
+@item \lbrack
+@math{\lbrack} (delimiter)
+
+@item \lceil
+@math{\lceil} (delimiter)
+
+@item \le
+@math{\le}
+
+@item \leadsto
+@c xx missing from plain
+
+@item \Leftarrow
+@math{\Leftarrow}
+
+@item \leftarrow
+@math{\leftarrow}
+
+@item \leftharpoondown
+@math{\leftharpoondown}
+
+@item \leftharpoonup
+@math{\leftharpoonup}
+
+@item \Leftrightarrow
+@math{\Leftrightarrow}
+
+@item \leftrightarrow
+@math{\leftrightarrow}
+
+@item \leq
+@math{\leq} (relation)
+
+@item \lfloor
+@math{\lfloor} (delimiter)
+
+@item \lhd
+(left-pointing arrow head) @c xx not in plain
+
+@item \ll
+@math{\ll} (relation)
+
+@item \lnot
+@math{\lnot}
+
+@item \longleftarrow
+@math{\longleftarrow}
+
+@item \longleftrightarrow
+@math{\longleftrightarrow}
+
+@item \longmapsto
+@math{\longmapsto}
+
+@item \longrightarrow
+@math{\longrightarrow}
+
+@item \lor
+@math{\lor}
+
+@item \mapsto
+@math{\mapsto}
+
+@item \mho
+@c xx not in plain
+
+@item \mid
+@math{\mid} (relation)
+
+@item \models
+@math{\models} (relation)
+
+@item \mp
+@math{\mp} (binary operation)
+
+@item \mu
+@math{\mu}
+
+@item \nabla
+@math{\nabla}
+
+@item \natural
+@math{\natural}
+
+@item \ne
+@math{\ne}
+
+@item \nearrow
+@math{\nearrow}
+
+@item \neg
+@math{\neg}
+
+@item \neq
+@math{\neq} (relation)
+
+@item \ni
+@math{\ni} (relation)
+
+@item \not
+Overstrike a following operator with a /, as in @math{\not=}.
+
+@item \notin
+@math{\ni}
+
+@item \nu
+@math{\nu}
+
+@item \nwarrow
+@math{\nwarrow}
+
+@item \odot
+@math{\odot} (binary operation)
+
+@item \oint
+@math{\oint}
+
+@item \Omega
+@math{\Omega}
+
+@item \omega
+@math{\omega}
+
+@item \ominus
+@math{\ominus} (binary operation)
+
+@item \oplus
+@math{\oplus} (binary operation)
+
+@item \oslash
+@math{\oslash} (binary operation)
+
+@item \otimes
+@math{\otimes} (binary operation)
+
+@item \owns
+@math{\owns}
+
+@item \parallel
+@math{\parallel} (relation)
+
+@item \partial
+@math{\partial}
+
+@item \perp
+@math{\perp} (relation)
+
+@item \phi
+@math{\phi}
+
+@item \Pi
+@math{\Pi}
+
+@item \pi
+@math{\pi}
+
+@item \pm
+@math{\pm} (binary operation)
+
+@item \prec
+@math{\prec} (relation)
+
+@item \preceq
+@math{\preceq} (relation)
+
+@item \prime
+@math{\prime}
+
+@item \prod
+@math{\prod}
+
+@item \propto
+@math{\propto} (relation)
+
+@item \Psi
+@math{\Psi}
+
+@item \psi
+@math{\psi}
+
+@item \rangle
+@math{\rangle} (delimiter)
+
+@item \rbrace
+@math{\rbrace} (delimiter)
+
+@item \rbrack
+@math{\rbrack} (delimiter)
+
+@item \rceil
+@math{\rceil} (delimiter)
+
+@item \Re
+@math{\Re}
+
+@item \rfloor
+@math{\rfloor}
+
+@item \rhd
+(binary operation) @c xx not in plain @math{\rhd}
+
+@item \rho
+@math{\rho}
+
+@item \Rightarrow
+@math{\Rightarrow}
+
+@item \rightarrow
+@math{\rightarrow}
+
+@item \rightharpoondown
+@math{\rightharpoondown}
+
+@item \rightharpoonup
+@math{\rightharpoonup}
+
+@item \rightleftharpoons
+@math{\rightleftharpoons}
+
+@item \searrow
+@math{\searrow}
+
+@item \setminus
+@math{\setminus} (binary operation)
+
+@item \sharp
+@math{\sharp}
+
+@item \Sigma
+@math{\Sigma}
+
+@item \sigma
+@math{\sigma}
+
+@item \sim
+@math{\sim} (relation)
+
+@item \simeq
+@math{\simeq} (relation)
+
+@item \smallint
+@math{\smallint}
+
+@item \smile
+@math{\smile} (relation)
+
+@item \spadesuit
+@math{\spadesuit}
+
+@item \sqcap
+@math{\sqcap} (binary operation)
+
+@item \sqcup
+@math{\sqcup} (binary operation)
+
+@item \sqsubset
+(relation) @c not in plain (@math{\sqsubset})
+
+@item \sqsubseteq
+@math{\sqsubseteq} (relation)
+
+@item \sqsupset
+(relation) @c not in plain (@math{\sqsupset})
+
+@item \sqsupseteq
+@math{\sqsupseteq} (relation)
+
+@item \star
+@math{\star} (binary operation)
+
+@item \subset
+@math{\subset} (relation)
+
+@item \subseteq
+@math{\subseteq} (relation)
+
+@item \succ
+@math{\succ} (relation)
+
+@item \succeq
+@math{\succeq} (relation)
+
+@item \sum
+@math{\sum}
+
+@item \supset
+@math{\supset} (relation)
+
+@item \supseteq
+@math{\supseteq} (relation)
+
+@item \surd
+@math{\surd}
+
+@item \swarrow
+@math{\swarrow}
+
+@item \tau
+@math{\tau}
+
+@item \theta
+@math{\theta}
+
+@item \times
+@math{\times} (binary operation)
+
+@item \to
+@math{\to}
+
+@item \top
+@math{\top}
+
+@item \triangle
+@math{\triangle}
+
+@item \triangleleft
+@math{\triangleleft} (binary operation)
+
+@item \triangleright
+@math{\triangleright} (binary operation)
+
+@item \unlhd
+left-pointing arrowhead with line under (binary operation) @c not in plain
+
+@item \unrhd
+right-pointing arrowhead with line under (binary operation) @c not in plain
+
+@item \Uparrow
+@math{\Uparrow} (delimiter)
+
+@item \uparrow
+@math{\uparrow} (delimiter)
+
+@item \Updownarrow
+@math{\Updownarrow} (delimiter)
+
+@item \updownarrow
+@math{\updownarrow} (delimiter)
+
+@item \uplus
+@math{\uplus} (binary operation)
+
+@item \Upsilon
+@math{\Upsilon}
+
+@item \upsilon
+@math{\upsilon}
+
+@item \varepsilon
+@math{\varepsilon}
+
+@item \varphi
+@math{\varphi}
+
+@item \varpi
+@math{\varpi}
+
+@item \varrho
+@math{\varrho}
+
+@item \varsigma
+@math{\varsigma}
+
+@item \vartheta
+@math{\vartheta}
+
+@item \vdash
+@math{\vdash} (relation)
+
+@item \vee
+@math{\vee} (binary operation)
+
+@item \Vert
+@math{\Vert} (delimiter)
+
+@item \vert
+@math{\vert} (delimiter)
+
+@item \wedge
+@math{\wedge} (binary operation)
+
+@item \wp
+@math{\wp}
+
+@item \wr
+@math{\wr} (binary operation)
+
+@item \Xi
+@math{\Xi}
+
+@item \xi
+@math{\xi}
+
+@item \zeta
+@math{\zeta}
+
+@end ftable
+
+
+@node Math functions
+@section Math functions
+@cindex math functions
+@cindex functions, math
+
+These commands produce roman function names in math mode with proper
+spacing.
+
+@ftable @code
+@item \arccos
+@math{\arccos}
+
+@item \arcsin
+@math{\arcsin}
+
+@item \arctan
+@math{\arctan}
+
+@item \arg
+@math{\arg}
+
+@item \bmod
+Binary modulo operator (@math{x \bmod y})
+
+@item \cos
+@math{\cos}
+
+@item \cosh
+@math{\cosh}
+
+@item \cot
+@math{\cos}
+
+@item \coth
+@math{\cosh}
+
+@item \csc
+@math{\csc}
+
+@item \deg
+@math{\deg}
+
+@item \det
+@math{\deg}
+
+@item \dim
+@math{\dim}
+
+@item \exp
+@math{\exp}
+
+@item \gcd
+@math{\gcd}
+
+@item \hom
+@math{\hom}
+
+@item \inf
+@math{\inf}
+
+@item \ker
+@math{\ker}
+
+@item \lg
+@math{\lg}
+
+@item \lim
+@math{\lim}
+
+@item \liminf
+@math{\liminf}
+
+@item \limsup
+@math{\limsup}
+
+@item \ln
+@math{\ln}
+
+@item \log
+@math{\log}
+
+@item \max
+@math{\max}
+
+@item \min
+@math{\min}
+
+@item \pmod
+parenthesized modulus, as in (@math{\pmod 2^n - 1})
+
+@item \Pr
+@math{\Pr}
+
+@item \sec
+@math{\sec}
+
+@item \sin
+@math{\sin}
+
+@item \sinh
+@math{\sinh}
+
+@item \sup
+@math{\sup}
+
+@item \tan
+@math{\tan}
+
+@item \tanh
+@math{\tanh}
+
+@end ftable
+
+
+@node Math accents
+@section Math accents
+@cindex math accents
+@cindex accents, mathematical
+
+@LaTeX{} provides a variety of commands for producing accented letters
+in math. These are different from accents in normal text
+(@pxref{Accents}).
+
+@ftable @code
+@item \acute
+@cindex acute accent, math
+Math acute accent: @math{\acute{x}}.
+
+@item \breve
+@cindex breve accent, math
+Math breve accent: @math{\breve{x}}.
+
+@item \check
+@cindex check accent, math
+@cindex h@'a@v{c}ek accent, math
+Math h@'a@v{c}ek (check) accent: @math{\check{x}}.
+
+@item \ddot
+@cindex double dot accent, math
+Math dieresis accent: @math{\ddot{x}}.
+
+@item \dot
+@cindex overdot accent, math
+@cindex dot over accent, math
+Math dot accent: @math{\dot{x}}.
+
+@item \grave
+@cindex grave accent, math
+Math grave accent: @math{\grave{x}}.
+
+@item \hat
+@cindex hat accent, math
+@cindex circumflex accent, math
+Math hat (circumflex) accent: @math{\hat{x}}.
+
+@item \imath
+@cindex dotless i, math
+Math dotless i.
+
+@item \jmath
+@cindex dotless j, math
+Math dotless j.
+
+@item \tilde
+@cindex tilde accent, math
+Math tilde accent: @math{\tilde{x}}.
+
+@item \vec
+@cindex vector symbol, math
+Math vector symbol: @math{\vec{x}}.
+
+@item \widehat
+@cindex wide hat accent, math
+Math wide hat accent: @math{\widehat{x+y}}.
+
+@item \widehat
+@cindex wide tile accent, math
+Math wide tilde accent: @math{\widetilde{x+y}}.
+
+@end ftable
+
+
+@node Spacing in math mode
+@section Spacing in math mode
+@cindex spacing within math mode
+@cindex math mode, spacing
+
+In a @code{math} environment, @LaTeX{} ignores the spaces you type and
+puts in the spacing according to the normal rules for mathematics
+texts. If you want different spacing, @LaTeX{} provides the following
+commands for use in math mode:
+
+@table @code
+@item \;
+@findex \;
+A thick space (@math{5\over18\,}quad).
+@item \:
+@itemx \>
+@findex \:
+@findex \>
+Both of these produce a medium space (@math{2\over9\,}quad).
+@item \,
+@findex \,
+A thin space (@math{1\over6\,}quad); not restricted to math mode.
+@item \!
+A negative thin space (@math{-{1\over6}\,}quad).
+@end table
+
+
+@node Math Miscellany
+@section Math Miscellany
+@cindex math Miscellany
+
+@ftable @code
+
+@item \*
+@cindex discretionary multiplication
+@cindex multiplication symbol, discretionary line break
+A ``discretionary'' multiplication symbol, at which a line break is
+allowed.
+
+@item \cdots
+A horizontal ellipsis with the dots raised to the center of the line.
+@tex
+As in: `$\cdots$'.
+@end tex
+
+@item \ddots
+A diagonal ellipsis: @math{\ddots}.
+
+@item \frac@{num@}@{den@}
+@findex \frac
+Produces the fraction @code{num} divided by @code{den}.
+
+@iftex
+eg.
+@tex
+${1}\over{4}$
+@end tex
+@end iftex
+
+@item \left @var{delim1} ... \right @var{delim2}
+@findex \right
+@cindex null delimiter
+The two delimiters need not match; @samp{.} acts as a null delimiter,
+producing no output. The delimiters are sized according to the math
+in between. Example: @code{\left( \sum_i=1^10 a_i \right]}.
+
+@item \overbrace@{@var{text}@}
+Generates a brace over @var{text}.
+For example, @math{\overbrace{x+\cdots+x}^{k \rm\;times}}.
+
+@item \overline@{@var{text}@}
+Generates a horizontal line over @var{tex}.
+For exampe, @math{\overline{x+y}}.
+
+@item \sqrt[@var{root}]@{arg@}
+Produces the representation of the square root of @var{arg}. The
+optional argument @var{root} determines what root to produce. For
+example, the cube root of @code{x+y} would be typed as
+@code{$\sqrt[3]@{x+y@}$}.
+@tex
+In @TeX{}, the result looks like this:
+$\root 3 \of x+y$.
+@end tex
+
+@item \stackrel@{@var{text}@}@{@var{relation}@}
+Puts @var{text} above @var{relation}. For example,
+@code{\stackrel@{f@}@{\longrightarrow@}}.
+@tex
+In @TeX{}, the result looks like this:
+$\buildrel f \over \longrightarrow$.
+@end tex
+
+@item \underbrace@{math@}
+Generates @var{math} with a brace underneath.
+@tex
+In @TeX{}, the result looks like this:
+$\underbrace{x+y+z}_{>\,0}$.
+@end tex
+
+@item \underline@{text@}
+Causes @var{text}, which may be either math mode or not, to be
+underlined.
+@tex
+In @TeX{}, the result looks like this:
+$\underline{z}$
+@end tex
+
+@item \vdots
+@findex \vdots
+Produces a vertical ellipsis.
+@tex
+In @TeX{}, the result looks like this:
+$\vdots$.
+@end tex
+
+@end ftable
+
+
+@node Modes
+@chapter Modes
+@cindex modes
+@cindex paragraph mode
+@cindex math mode
+@cindex left-to-right mode
+@cindex lR mode
+
+
+When @LaTeX{} is processing your input text, it is always in one of three
+modes:
+
+@itemize @bullet
+@item
+Paragraph mode
+@item
+Math mode
+@item
+Left-to-right mode, called LR mode for short
+@end itemize
+
+@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''.
+
+
+@node Page Styles
+@chapter Page Styles
+@cindex styles, page
+@cindex page styles
+
+The @code{\documentclass} command determines the size and position of
+the page's head and foot. The page style determines what goes in them.
+
+@menu
+* \maketitle:: Generate a title page.
+* \pagenumbering:: Set the style used for page numbers.
+* \pagestyle:: Change the headings/footings style.
+* \thispagestyle:: Change the headings/footings style for this page.
+@end menu
+
+
+@node \maketitle
+@section @code{\maketitle}
+@cindex titles, making
+@findex \maketitle
+
+The @code{\maketitle} command generates a title on a separate title
+page---except in the @code{article} class, where the title is placed
+at the top of the first page. Information used to produce the title
+is obtained from the following declarations:
+
+@ftable @code
+@item \author@{@var{name} \and @var{name2}@}
+@cindex author, for titlepage
+@findex \\ @r{for @code{\author}}
+@findex \and @r{for @code{\author}}
+The @code{\author} command declares the document author(s), where the
+argument 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.
+
+@item \date@{@var{text}@}
+@cindex date, for titlepage
+The @code{\date} command declares @var{text} to be the document's
+date. With no @code{\date} command, the current date (@pxref{\today})
+is used.
+
+@item \thanks@{@var{text}@}
+@cindex thanks, for titlepage
+@cindex credit footnote
+The @code{\thanks} command produces a @code{\footnote} to the title,
+usually used for credit acknowledgements.
+
+@item \title@{@var{text}@}
+@cindex title, for titlepage
+@findex \\ @r{for @code{\title}}
+The @code{\title} command declares @var{text} to be the title of the
+document. Use @code{\\} to force a line break, as usual.
+
+@end ftable
+
+
+@node \pagenumbering
+@section @code{\pagenumbering}
+@findex \pagenumbering
+@cindex page numbering style
+
+Synopsis:
+
+@example
+\pagenumbering@{@var{style}@}
+@end example
+
+Specifies the style of page numbers, according to @var{style}:
+
+@table @code
+@item arabic
+arabic numerals
+@item roman
+lowercase Roman numerals
+@item Roman
+uppercase Roman numerals
+@item alph
+lowercase letters
+@item Alph
+uppercase letters
+@end table
+
+
+@node \pagestyle
+@section @code{\pagestyle}
+@findex \pagestyle
+@cindex header style
+@cindex footer style
+@cindex running header and footer style
+
+Synopsis:
+
+@example
+\pagestyle@{@var{style}@}
+@end example
+
+The @code{\pagestyle} command specifies how the headers and footers
+are typeset from the current page onwards. Values for @var{style}:
+
+@table @code
+@item plain
+Just a plain page number.
+
+@item empty
+Empty headers and footers, e.g., no page numbers.
+
+@item headings
+Put running headers on each page. The document style specifies what
+goes in the headers.
+
+@item myheadings
+Custom headers, specified via the @code{\markboth} or the
+@code{\markright} commands.
+
+@end table
+
+Here are the descriptions of @code{\markboth} and @code{\markright}:
+
+@ftable @code
+@item \markboth@{@var{left}@}@{@var{right}@}
+Sets both the left and the right heading. A ``left-hand heading''
+(@var{left}) is generated by the last @code{\markboth} command before
+the end of the page, while a ``right-hand heading'' (@var{right} 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.
+
+@item \markright@{@var{right}@}
+Sets the right heading, leaving the left heading unchanged.
+
+@end ftable
+
+
+@node \thispagestyle
+@section @code{\thispagestyle@{@var{style}@}}
+@findex \thispagestyle
+
+The @code{\thispagestyle} command works in the same manner as the
+@code{\pagestyle} command (see previous section) except that it
+changes to @var{style} for the current page only.
+
+
+@node Spaces
+@chapter Spaces
+@cindex spaces
+
+@LaTeX{} has many ways to produce white (or filled) space.
+
+Another space-producing command is @code{\,} to produce a ``thin''
+space (usually 1/6@dmn{quad}). It can be used in text mode, but is
+more often useful in math mode (@pxref{Spacing in math mode}).
+
+@menu
+Horizontal space
+* \hspace:: Fixed horizontal space.
+* \SPACE:: Normal interword space.
+* \AT:: Ending a sentence.
+* \thinspace:: One-sixth of an em.
+* \/:: Per-character italic correction.
+* \hfill:: Stretchable horizontal space.
+* \hrulefill:: Stretchable horizontal rule.
+* \dotfill:: Stretchable horizontal dots.
+
+Vertical space
+* \addvspace:: Add arbitrary vertical space if needed.
+* \bigskip \medskip \smallskip:: Fixed vertical spaces.
+* \vfill:: Infinitely stretchable vertical space.
+* \vspace:: Add arbitrary vertical space.
+@end menu
+
+
+@node \hspace
+@section @code{\hspace}
+@findex \hspace
+
+Synopsis:
+
+@example
+\hspace[*]@{@var{length}@}
+@end example
+
+The @code{\hspace} command adds horizontal space. The @var{length}
+argument can be expressed in any terms that @LaTeX{} understands:
+points, inches, etc. It is a rubber length. You can add both
+negative and positive space with an @code{\hspace} command; adding
+negative space is like backspacing.
+
+@LaTeX{} normally removes horizontal space that comes at the beginning
+or end of a line. To preserve this space, use the optional @code{*}
+form.
+
+
+@node \hfill
+@section @code{\hfill}
+
+@findex \hfill
+The @code{\hfill} fill command produces a ``rubber length'' which has
+no natural space but can stretch or shrink horizontally as far as
+needed.
+
+@findex \fill
+The @code{\fill} parameter is the rubber length itself (technically,
+the glue value @samp{0pt plus1fill}); thus, @code{\hspace\fill} is
+equivalent to @code{\hfill}.
+
+
+@node \SPACE
+@section @code{\SPACE}
+@findex \SPACE
+@findex \TAB
+@findex \NEWLINE
+
+The @code{\ } (space) command produces a normal interword space. It's
+useful after punctuation which shouldn't end a sentence. For example
+@code{Knuth's article in Proc.\ Amer.\ Math\. Soc.\ is fundamental}.
+It is also often used after control sequences, as in @code{\TeX\ is a
+nice system.}
+
+In normal circumstances, @code{\}@key{tab} and @code{\}@key{newline}
+are equivalent to @code{\ }.
+
+
+@node \AT
+@section @code{\@@}
+@findex \@@
+
+The @code{\@@} command makes the following punctuation character end a
+sentence even if it normally would not. This is typically used after
+a capital letter. Here are side-by-side examples with and without
+@code{\@@}:
+
+@example
+@dots{} in C\@@. Pascal, though @dots{}
+@dots{} in C. Pascal, though @dots{}
+@end example
+
+@noindent produces
+
+@c Texinfo does it differently, but the result is the same.
+@quotation
+@dots{} in C@. Pascal, though @dots{}
+@dots{} in C. Pascal, though @dots{}
+@end quotation
+
+
+@node \thinspace
+@section @code{\thinspace}
+@findex \thinspace
+
+@code{\thinspace} produces an unbreakable and unstretchable space that
+is 1/6 of an em. This is the proper space to use in nested quotes, as
+in '@dmn{''}.
+
+
+@node \/
+@section @code{\/}
+@findex \/
+
+The @code{\/} command produces an @dfn{italic correction}. This is a
+small space defined by the font designer for a given character,
+to avoid the character colliding with whatever follows. The italic
+@i{f} character typically has a large italic correction value.
+
+If the following character is a period or comma, it's not necessary to
+insert an italic correction, since those punctuation symbols have a
+very small height. However, with semicolons or colons, as well as
+normal letters, it can help. Compare
+@tex
+{\it f\/: f\/;}
+@end tex
+@ifnottex
+@i{f: f;} (in the @TeX{} output, the `f's are nicely separated)
+@end ifnottex
+with @i{f: f;}.
+
+Despite the name, roman characters can also have an italic
+correction. Compare
+@tex
+pdf\/\TeX{}
+@end tex
+@ifnottex
+pdf@TeX{} (in the @TeX{} output, there is a small space after the `f')
+@end ifnottex
+with pdf@TeX{}.
+
+
+@node \hrulefill
+@section @code{\hrulefill}
+@findex \hrulefill
+
+The @code{\hrulefill} fill command produces a ``rubber length'' which can
+stretch or shrink horizontally. It will be filled with a horizontal
+rule.
+
+
+@node \dotfill
+@section @code{\dotfill}
+
+@findex \dotfill
+
+The @code{\dotfill} command produces a ``rubber length'' that fills
+with dots instead of just white space.
+
+
+@c xx undone
+@node \addvspace
+@section @code{\addvspace}
+@findex \addvspace
+@cindex vertical space
+@cindex space, inserting vertical
+
+@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}.
+
+
+@node \bigskip \medskip \smallskip
+@section @code{\bigskip \medskip \smallskip}
+
+These commands produce a given amount of space.
+
+@table @code
+@item \bigskip
+@findex \bigskip
+@findex \bigskipamount
+The same as @code{\vspace@{bigskipamount@}}, ordinarily about one line
+space (with stretch and shrink).
+
+@item \medskip
+@findex \medskip
+@findex \medskipamount
+The same as @code{\vspace@{medskipamount@}}, ordinarily
+about half of a line space (with stretch and shrink).
+
+@item \smallskip
+@findex \smallskip
+@findex \smallskipamount
+The same as @code{\vspace@{smallskipamount@}}, ordinarily about a
+quarter of a line space (with stretch and shrink).
+
+@end table
+
+The @code{\...amount} parameters are determined by the document class.
+
+
+@node \vfill
+@section @code{\vfill}
+@findex \vfill
+
+The @code{\vfill} fill command produces a rubber length (glue) which
+can stretch or shrink vertically as far as needed. It's equivalent to
+@code{\vspace@{\fill@}} (@pxref{\hfill}).
+
+
+@node \vspace
+@section @code{\vspace[*]@{@var{length}@}}
+@findex \vspace
+
+Synopsis:
+
+@example
+\vspace[*]@{@var{length}@}
+@end example
+
+The @code{\vspace} command adds the vertical space @var{length}, i.e.,
+a rubber length. @var{length} can be negative or positive.
+
+Ordinarily, @LaTeX{} removes vertical space added by @code{\vspace} at
+the top or bottom of a page. With the optional @code{*} argument, the
+space is not removed.
+
+
+@node Boxes
+@chapter Boxes
+
+@cindex boxes
+
+All the predefined length parameters (@pxref{Predefined lengths}) can be
+used in the arguments of the box-making commands.
+
+@menu
+* \mbox:: Horizontal boxes.
+* \fbox and \framebox:: Put a frame around a box.
+* lrbox:: An environment like \sbox.
+* \makebox:: Box, adjustable position.
+* \parbox:: Box with text in paragraph mode.
+* \raisebox:: Raise or lower text.
+* \savebox:: Like \makebox, but save the text for later use.
+* \sbox:: Like \mbox, but save the text for later use.
+* \usebox:: Print saved text.
+@end menu
+
+
+@node \mbox
+@section @code{\mbox@{@var{text@}}}
+@findex \mbox
+
+@cindex hyphenation, preventing
+The @code{\mbox} command creates a box just wide enough to hold the
+text created by its argument. The @var{text} is not broken into
+lines, so it can be used to prevent hyphenation.
+
+
+@node \fbox and \framebox
+@section @code{\fbox} and @code{\framebox}
+
+@findex \fbox
+@findex \framebox
+
+Synopses:
+
+@example
+\fbox@{@var{text}@}
+\framebox[@var{width}][@var{position}]@{@var{text}@}
+@end example
+
+The @code{\fbox} and @code{\framebox} commands are like @code{\mbox},
+except that they put a frame around the outside of the box being created.
+
+In addition, the @code{\framebox} command allows for explicit
+specification of the box width with the optional @var{width} argument
+(a dimension), and positioning with the optional @var{position}
+argument. @c xxref
+
+@findex \fboxrule
+@findex \fboxsep
+Both commands produce a rule of thickness @code{\fboxrule} (default
+@samp{.4pt}), and leave a space of @code{\fboxsep} (default
+@samp{3pt}) between the rule and the contents of the box.
+
+@xref{\framebox (picture)}, for the @code{\framebox} command in the
+@code{picture} environment.
+
+
+@node lrbox
+@section @code{lrbox}
+@findex lrbox
+
+@code{\begin@{lrbox@}@{cmd@} text \end@{lrbox@}}
+
+This is the environment form of @code{\sbox}.
+
+The text inside the environment is saved in the box @code{cmd}, which
+must have been declared with @code{\newsavebox}.
+
+
+
+@node \makebox
+@section @code{\makebox}
+@findex \makebox
+
+Synopsis:
+
+@example
+\makebox[@var{width}][@var{position}]@{@var{text}@}
+@end example
+
+The @code{\makebox} command creates a box just wide enough to contain
+the @var{text} specified. The width of the box is specified by the
+optional @var{width} argument. The position of the text within the box
+is determined by the optional @var{position} argument, which may take
+the following values:
+
+@table @code
+@item c
+Centered (default).
+@item l
+Flush left.
+@item r
+Flush right.
+@item s
+Stretch (justify) across entire @var{width}; @var{text} must contain
+stretchable space for this to work.
+@end table
+
+@code{\makebox} is also used within the picture environment
+@pxref{\makebox (picture)}.
+
+
+@node \parbox
+@section @code{\parbox}
+@findex \parbox
+
+Synopsis:
+
+@example
+\parbox[@var{position}][@var{height}][@var{inner-pos}]@{@var{width}@}@{@var{text}@}
+@end example
+
+The @code{\parbox} command produces a box whose contents are created
+in @code{paragraph} mode. It should be used to make a box small
+pieces of text, with nothing fancy inside. In particular, you
+shouldn't use any 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 (@pxref{minipage}).
+
+@code{\parbox} has two mandatory arguments:
+
+@table @var
+@item width
+the width of the parbox;
+@item text
+the text that goes inside the parbox.
+@end table
+
+The optional @var{position} argument allows you to align either the
+top or bottom line in the parbox with the baseline of the surrounding
+text (default is top).
+
+The optional @var{height} argument overrides the natural height of the box.
+
+The @var{inner-pos} argument controls the placement of the text inside
+the box, as follows; if it is not specified, @var{position} is used.
+
+@table @code
+@item t
+text is placed at the top of the box.
+@item c
+text is centered in the box.
+@item b
+text is placed at the bottom of the box.
+@item s
+stretch vertically; the text must contain vertically stretchable space
+for this to work.
+@end table
+
+
+@node \raisebox
+@section @code{\raisebox}
+@findex \raisebox
+
+Synopsis:
+
+@example
+\raisebox@{distance@}[@var{height}][@var{depth}]@{text@}
+@end example
+
+The @code{\raisebox} command raises or lowers @var{text}. The first
+mandatory argument specifies how high @var{text} is to be raised (or
+lowered if it is a negative amount). @var{text} itself is processed
+in LR mode.
+
+The optional arguments @var{height} and @var{depth} are dimensions.
+If they are specified, @LaTeX{} treats @var{text} as extending a
+certain distance above the baseline (height) or below (depth),
+ignoring its natural height and depth.
+
+
+@node \savebox
+@section @code{\savebox}
+@findex \savebox
+
+Synopsis:
+
+@example
+\savebox@{@var{\boxcmd}@}[@var{width}][@var{pos}]@{@var{text}@}
+@end example
+
+This command typeset @var{text} in a box just as with @code{\makebox}
+(@pxref{\makebox}), except that instead of printing the resulting box,
+it saves it in the box labeled @var{\boxcmd}, which must have been
+declared with @code{\newsavebox} (@pxref{\newsavebox}).
+
+
+@node \sbox
+@section @code{\sbox@{@var{\boxcmd}@}@{@var{text}@}}
+@findex \sbox
+
+Synopsis:
+
+@example
+\sbox@{@var{\boxcmd}@}@{@var{text}@}
+@end example
+
+@code{\sbox} types @var{text} in a box just as with @code{\mbox}
+(@pxref{\mbox}) except that instead of the resulting box being
+included in the normal output, it is saved in the box labeled
+@var{\boxcmd}. @var{\boxcmd} must have been previously declared with
+@code{\newsavebox} (@pxref{\newsavebox}).
+
+
+@node \usebox
+@section @code{\usebox@{@var{\boxcmd}}
+@findex \usebox
+
+Synopsis:
+
+@example
+\usebox@{@var{\boxcmd}@}
+@end example
+
+@code{\usebox} producesthe box most recently saved in the bin
+@var{\boxcmd} by a @code{\savebox} command (@pxref{\savebox}).
+
+
+@node Special insertions
+@chapter Special insertions
+
+@LaTeX{} provides commands for inserting characters that have a
+special meaning do not correspond to simple characters you can type.
+
+@menu
+* Reserved characters:: Inserting # $ % & ~ _ ^ \ @{ @}
+* Text symbols:: Inserting other non-letter symbols in text.
+* Accents:: Inserting accents.
+* Non-English characters:: Inserting other non-English characters.
+* \rule:: Inserting lines and rectangles.
+* \today:: Inserting today's date.
+@end menu
+
+
+@node Reserved characters
+@section Reserved characters
+@cindex reserved characters
+@cindex characters, reserved
+
+The following characters play a special role in @LaTeX{} and are called
+``reserved characters'' or ``special characters''.
+
+@example
+# $ % & ~ _ ^ \ @{ @}
+@end example
+
+@findex \#
+@findex \$
+@findex \%
+@findex \&
+@findex \_
+@findex \@{
+@findex \@}
+Whenever you write one of these characters into your file, @LaTeX{}
+will do something special. If you simply want the character to be
+printed as itself, include a @code{\} in front of the character. For
+example, @code{\$} will produce @code{$} in your output.
+
+@findex \backslash
+One exception to this rule is @code{\} itself, because @code{\\} has
+its own special (context-dependent) meaning. A roman \ is produced by
+typing @code{$\backslash$} in your file, and a typewriter @code{\} is
+produced by using @samp{\} in a verbatim command (@pxref{verbatim}).
+
+@findex \~
+@findex \^
+Also, @code{\~} and @code{\^} place tilde and circumflex accents over
+the following letter, as in @~{o} and @^{o} (@pxref{Accents}); to get
+a standalone @code{~} or @code{^}, you can again use a verbatim
+command.
+
+@findex \symbol
+@cindex accessing any character of a font
+
+Finally, you can access any character of the current font once you
+know its number by using the @code{\symbol} command. For example, the
+visible space character used in the @code{\verb*} command has the code
+decimal 32, so it can be typed as @code{\symbol@{32@}}.
+
+You can also specify octal numbers with @code{'} or hexadecimal numbers
+with @code{"}, so the previous example could also be written as
+@code{\symbol@{'40@}} or @code{\symbol@{"20@}}.
+
+
+@node Text symbols
+@section Text symbols
+
+@cindex text symbols
+@LaTeX{} provides commands to generate a number of non-letter symbols
+in running text.
+
+@ftable @code
+
+@item \copyright
+@cindex copyright symbol
+The copyright symbol, @copyright{}.
+
+@item \dag
+@cindex dagger, in text
+The dagger symbol (in text).
+
+@item \ddag
+@cindex double dagger, in text
+The double dagger symbol (in text).
+
+@item \LaTeX
+@cindex @LaTeX{} logo
+@cindex logo, @LaTeX{}
+The @LaTeX{} logo.
+
+@item \ldots
+@cindex ellipsis
+An ellipsis (three dots at the baseline): `@dots{}'. This
+command also works in math mode.
+
+@item \lq
+@cindex left quote
+@cindex opening quote
+Left (opening) quote: `.
+
+@item \P
+@cindex paragraph sign
+@cindex pilcrow
+Paragraph sign (pilcrow).
+
+@item \pounds
+@cindex pounds symbol
+@cindex sterling symbol
+English pounds sterling.
+
+@item \rq
+@cindex right quote
+@cindex closing quote
+Right (closing) quote: '.
+
+@item \S
+@cindex section symbol
+Section symbol.
+
+@item \TeX
+@cindex @TeX{} logo
+@cindex logo, @TeX{}
+The @TeX{} logo.
+
+@end ftable
+
+
+@node Accents
+@section Accents
+
+@cindex accents
+@cindex characters, accented
+@cindex letters, accented
+
+@LaTeX{} has wide support for many of the world's scripts and
+languages, through the @code{babel} package and related support. This
+section does not attempt to cover all that support. It merely the
+core @LaTeX{} commands for creating accented characters.
+
+@table @code
+@item \"
+@findex \" @r{(umlaut accent)}
+@cindex umlaut accent
+Produces an umlaut, as in @"{o}.
+
+@item \'
+@findex \' @r{(acute accent)}
+@cindex acute accent
+Produces an acute accent, as in @'{o}. In the @code{tabbing}
+environment, pushes current column to the right of the previous column
+(@pxref{tabbing}).
+
+@item \.
+@findex \. @r{(dot-over accent)}
+@cindex dot accent
+@cindex dot-over accent
+Produces a dot accent over the following, as in @dotaccent{o}.
+
+@item \=
+@findex \= @r{(macron accent)}
+@cindex macron accent
+@cindex overbar accent
+@cindex bar-over accent
+Produces a macron (overbar) accent over the following, as in @={o}.
+
+@item \^
+@findex \^ @r{(circumflex accent)}
+@cindex circumflex accent
+@cindex hat accent
+Produces a circumflex (hat) accent over the following, as in @^{o}.
+
+@item \`
+@findex \` @r{(grave accent)}
+@cindex grave accent
+Produces a grave accent over the following, as in @`{o}. In the
+@code{tabbing} environment, move following text to the right margin
+(@pxref{tabbing}).
+
+@item \~
+@findex \~ @r{(tilde accent)}
+@cindex tilde accent
+Produces a tilde accent over the following, as in @~{n}.
+
+@item \b
+@findex \b @r{(bar-under accent)}
+@cindex bar-under accent
+Produces a bar accent under the following, as in @ubaraccent{o}.
+
+@item \bar
+@findex \bar @r{(macron, bar-over accent)}
+@cindex bar-over accent
+@cindex macron accent
+Produces a macron accent over the following, as in @={o}.
+
+@item \c
+@findex \c @r{(cedilla accent)}
+@cindex cedilla accent
+Produces a cedilla accent under the following, as in @c{c}.
+
+@item \d
+@findex \d @r{(dot-under accent)}
+@cindex dot-under accent
+Produces a dot accent under the following, as in @udotaccent{o}.
+
+@item \H
+@findex \H @r{(Hungarian umlaut accent)}
+@cindex hungarian umlaut accent
+Produces a long Hungarian umlaut accent over the following, as in @H{o}.
+
+@item \i
+@findex \i @r{(dotless i)}
+@cindex dotless i
+Produces a dotless i, as in `@dotless{i}'.
+
+@item \j
+@findex \j @r{(dotless j)}
+@cindex dotless j
+Produces a dotless j, as in `@dotless{j}'.
+
+@item \t
+@findex \t @r{(tie-after accent)}
+@cindex tie-after accent
+Produces a tie-after accent, as in `@tieaccent{oo}'.
+
+@item \u
+@findex \u @r{(breve accent)}
+@cindex breve accent
+Produces a breve accent, as in `@u{o}'.
+
+@item \v
+@findex \v @r{(breve accent)}
+@cindex hacek accent
+@cindex check accent
+Produces a h@'a@v{c}ek (check) accent, as in `@v{o}'.
+
+@end table
+
+
+@node Non-English characters
+@section Non-English characters
+
+@cindex special characters
+@cindex non-English characters
+@cindex characters, non-English
+@cindex letters, non-English
+
+Here are the basic @LaTeX{} commands for inserting characters commonly
+used in languages other than English.
+
+@table @code
+
+@item \aa
+@itemx \AA
+@findex \aa (@aa{})
+@findex \AA (@AA{})
+@cindex aring
+@aa{} and @AA{}.
+
+@item \ae
+@itemx \AE
+@findex \ae (@ae{})
+@findex \AE (@AE{})
+@cindex ae ligature
+@ae{} and @AE{}.
+
+@item \l
+@itemx \L
+@findex \l (@l{})
+@findex \L (@L{})
+@cindex polish l
+@l{} and @L{}.
+
+@item \o
+@itemx \O
+@findex \o (@o{})
+@findex \O (@O{})
+@cindex oslash
+@o{} and @O{}.
+
+@item \oe
+@itemx \OE
+@findex \oe (@oe{})
+@findex \OE (@OE{})
+@cindex oe ligature
+@oe{} and @OE{}.
+
+@item \ss
+@findex \ss (@ss{})
+@cindex es-zet German letter
+@cindex sharp S letters
+@ss{}.
+
+@end table
+
+
+@node \rule
+@section @code{\rule}
+@findex \rule
+
+Synopsis:
+
+@example
+\rule[@var{raise}]@{@var{width}@}@{@var{thickness}@}
+@end example
+
+The @code{\rule} command produces @dfn{rules}, that is, lines or
+rectangles. The arguments are:
+
+@table @var
+@item raise
+How high to raise the rule (optional).
+
+@item width
+The length of the rule (mandatory).
+
+@item thickness
+The thickness of the rule (mandatory).
+@end table
+
+
+@node \today
+@section @code{\today}
+@findex \today
+
+The @code{\today} command produces today's date, in the format
+@samp{@var{month} @var{dd}, @var{yyyy}}; for example, `July 4, 1976'.
+It uses the predefined counters @code{\day}, @code{\month}, and
+@code{\year} (@pxref{\day \month \year}) to do this. It is not
+updated as the program runs.
+
+@cindex @code{datetime} package
+The @code{datetime} package, among others, can produce a wide variety
+of other date formats.
+
+
+@node Splitting the input
+@chapter Splitting the input
+@cindex splitting the input file
+@cindex input file
+
+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{}.
+
+@menu
+* \include:: Conditionally include a file.
+* \includeonly:: Determine which files are included.
+* \input:: Unconditionally include a file.
+@end menu
+
+
+@node \include
+@section @code{\include}
+@findex \include
+
+Synopsis:
+
+@example
+\include@{@var{file}@}
+@end example
+
+If no @code{\includeonly} command is present, the @code{\include}
+command executes @code{\clearpage} to start a new page
+(@pxref{\clearpage}), then reads @var{file}, then does another
+@code{\clearpage}.
+
+Given an @code{\includeonly} command, the @code{\include} actions are
+only run if @var{file} is listed as an argument to
+@code{\includeonly}. See the next section.
+
+@cindex nested @code{\include}, not allowed
+The @code{\include} command may not appear in the preamble or in a file
+read by another @code{\include} command.
+
+
+@node \includeonly
+@section \@code{includeonly}
+@findex \includeonly
+
+Synopsis:
+
+@example
+\includeonly@{@var{file1},@var{file2},...@}
+@end example
+
+The @code{\includeonly} command controls which files will be read by
+subsequent @code{\include} commands. The list of filenames is
+comma-separated. Each @var{file} must exactly match a filename
+specified in a @code{\include} command for the selection to be
+effective.
+
+This command can only appear in the preamble.
+
+
+@node \input
+@section \input
+@findex \input
+
+Synopsis:
+
+@example
+\input@{@var{file}@}
+@end example
+
+The @code{\input} command causes the specified @var{file} to be read
+and processed, as if its contents had been inserted in the current
+file at that point.
+
+If @var{file} does not end in @samp{.tex} (e.g., @samp{foo} or
+@samp{foo.bar}), it is first tried with that extension (@samp{foo.tex}
+or @samp{foo.bar.tex}). If that is not found, the original @var{file}
+is tried (@samp{foo} or @samp{foo.bar}).
+
+
+@node Front/back matter
+@chapter Front/back matter
+
+@menu
+* Tables of contents::
+* Glossaries::
+* Indexes::
+@end menu
+
+
+@node Tables of contents
+@section Tables of contents
+
+@cindex table of contents, creating
+
+@findex \tableofcontents
+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. A previous run must
+have generated a @file{.toc} file.
+
+The @code{\tableofcontents} command produces a heading, but it does
+not automatically start a new page. If you want a new page after the
+table of contents, write a @code{\newpage} command after the
+@code{\tableofcontents} command.
+
+@findex \listoffigures
+@findex \listoftables
+The analagous commands @code{\listoffigures} and @code{\listoftables}
+produce a list of figures and a list of tables, respectively.
+Everything works exactly the same as for the table of contents.
+
+@findex \nofiles
+The command @code{\nofiles} overrides these commands, and
+@emph{prevents} any of these lists from being generated.
+
+@menu
+* \addcontentsline:: Add an entry to table of contents etc.
+* \addtocontents:: Add text directly to table of contents file etc.
+@end menu
+
+
+@node \addcontentsline
+@subsection \addcontentsline
+@findex \addcontentsline@{@var{ext}@}@{@var{unit}@}@{@var{text}@}
+@cindex table of contents entry, manually adding
+
+The @code{\addcontentsline} command adds an entry to the specified list
+or table where:
+
+@table @var
+@item ext
+The extension of the file on which information is to be written,
+typically one of: @code{toc} (table of contents), @code{lof} (list of
+figures), or @code{lot} (list of tables).
+
+@item unit
+The name of the sectional unit being added, typically one of the
+following, matching the value of the @var{ext} argument:
+
+@table @code
+@item toc
+The name of the sectional unit: @code{part}, @code{chapter},
+@code{section}, @code{subsection}, @code{subsubsection}.
+@item lof
+For the list of figures.
+@item lot
+For the list of tables.
+@end table
+
+@item entry
+The actual text of the entry.
+@end table
+
+@findex \contentsline
+What is written to the @file{.@var{ext}} file is the
+command @code{\contentsline@{@var{unit}@}@{@var{name}@}}.
+
+@c ?? how hardwired are these values? other unit names?
+
+
+@node \addtocontents
+@subsection \addtocontents
+@findex \addtocontents@{@var{ext}@}@{@var{text}@}
+
+The @code{\addtocontents} command adds text (or formatting commands)
+directly to the @file{.}@var{ext} file that generates the table of
+contents or lists of figures or tables.
+
+@table @var
+@item ext
+The extension of the file on which information is to be written:
+@file{toc} (table of contents), @file{lof} (list of figures), or
+@file{lot} (list of tables).
+
+@item text
+The text to be written.
+@end table
+
+
+@node Glossaries
+@section Glossaries
+@cindex glossaries
+
+@findex \makeglossary
+The command @code{\makeglossary} enables creating glossaries.
+
+@findex \glossary
+@cindex @file{.glo} file
+The command @code{\glossary@{@var{text}@}} writes a glossary entry for
+@var{text} to an auxiliary file with the @file{.glo} extension.
+
+@findex \glossaryentry
+Specifically, what gets written is the command
+@code{\glossaryentry@{@var{text}@}@{@var{pageno}@}}, where
+@var{pageno} is the current @code{\thepage} value.
+
+The @code{glossary} package on CTAN provides support for fancier
+glossaries.
+
+
+@node Indexes
+@section Indexes
+@cindex indexes
+
+@findex \makeindex
+The command @code{\makeindex} enables creating indexes.
+
+@findex \index
+@cindex @file{.idx} file
+The command @code{\index@{@var{text}@}} writes a glossary entry for
+@var{text} to an auxiliary file with the @file{.idx} extension.
+
+@findex \indexentry
+Specifically, what gets written is the command
+@code{\indexentry@{@var{text}@}@{@var{pageno}@}}, where @var{pageno}
+is the current @code{\thepage} value.
+
+The rubber length @code{\indexspace} is inserted before each new
+letter in the index; its default value is @samp{10pt plus5pt
+minus3pt}.
+
+@cindex @command{makeindex} program
+@cindex @command{xindy} program
+@cindex @file{.ind} file
+
+The @file{.idx} file can then be sorted with an external command,
+typically @command{makeindex} or @command{xindy}, resulting in a
+@file{.ind} file, which can then be used to typeset the index.
+
+
+@node Letters
+@chapter Letters
+@cindex letters
+@cindex creating letters
+
+You can use @LaTeX{} to typeset letters, both personal and business. The
+@code{letter} document class is designed to make a number of letters at
+once, although you can make just one if you so desire.
+
+Your @file{.tex} source file has the same minimum commands as the other
+document classes, i.e., you must have the following commands as a
+minimum:
+
+@example
+ \documentclass@{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
+
+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}, do not work. The letter
+closes with a @code{\closing} command.
+
+@findex \\ @r{for letters}
+After the @code{closing}, you can have additional material. The
+@code{\cc} command produces the usual ``cc: @dots{}''. There's also a
+similar @code{\encl} command for a list of enclosures. With both these
+commands, use @code{\\} to separate the items.
+
+These commands are used with the @code{letter} class.
+
+@menu
+* \address:: Your return address.
+* \cc:: Cc list.
+* \closing:: Saying goodbye.
+* \encl:: List of enclosed material.
+* \location:: Your organisation's address.
+* \makelabels:: Making address labels.
+* \name:: Your name, for the return address.
+* \opening:: Saying hello.
+* \ps:: Adding a postscript.
+* \signature:: Your signature.
+* \startbreaks:: Allow page breaks.
+* \stopbreaks:: Disallow page breaks.
+* \telephone:: Your phone number.
+@end menu
+
+
+@node \address
+@section \address@{@var{return-address@}}
+@findex \address
+
+The @code{\address} specifies the return address of a letter, 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.
+
+
+@node \cc
+@section @code{\cc}
+
+@findex \cc
+@cindex cc list, in letters
+
+Synopsis:
+
+@example
+\cc@{@var{name1}\\@var{name2}@}
+@end example
+
+Produce a list of @var{name}s the letter was copied to. Each name is
+printed on a separate line.
+
+
+@node \closing
+@section @code{\closing}
+
+@findex \closing
+@cindex letters, ending
+@cindex closing letters
+
+Synopsis:
+
+@example
+\closing@{text@}
+@end example
+
+A letter closes with a @code{\closing} command, for example,
+@example
+\closing@{Best Regards,@}
+@end example
+
+
+@node \encl
+@section @code{\encl}
+
+@findex \encl
+@cindex enclosure list
+
+Synopsis:
+
+@example
+\encl@{@var{line1}\\@var{line2}@}
+@end example
+
+Declare a list of one more enclosures.
+
+
+@node \location
+@section @code{\location}
+@findex \location
+
+@code{\location@{address@}}
+
+This modifies your organisation's standard address. This only appears
+if the @code{firstpage} pagestyle is selected.
+
+
+@node \makelabels
+@section @code{\makelabels}
+@findex \makelabels
+
+@code{\makelabels@{number@}}
+
+If you issue this command in the preamble, @LaTeX{} will create a sheet of
+address labels. This sheet will be output before the letters.
+
+
+
+@node \name
+@section @code{\name}
+@findex \name
+
+@code{\name@{June Davenport@}}
+
+Your name, used for printing on the envelope together with the return
+address.
+
+
+@node \opening
+@section @code{\opening@{@var{text}@}}
+@findex \opening
+@cindex letters, starting
+
+Synopsis:
+
+@example
+\opening@{@var{text}@}
+@end example
+
+A letter begins with the @code{\opening} command. The mandatory
+argument, @var{text}, is whatever text you wish to start your letter.
+For instance:
+
+@example
+\opening@{Dear Joe,@}
+@end example
+
+
+@node \ps
+@section @code{\ps}
+@findex \ps
+@cindex postscript, in letters
+
+Use the @code{\ps} command to start a postscript in a letter, after
+@code{\closing}.
+
+
+@node \signature
+@section @code{\signature@{@var{text}@}}
+@findex \signature
+
+Your name, as it should appear at the end of the letter underneath the
+space for your signature. @code{\\} starts a new line within
+@var{text} as usual.
+
+
+@node \startbreaks
+@section @code{\startbreaks}
+@findex \startbreaks
+
+@code{\startbreaks}
+
+Used after a @code{\stopbreaks} command to allow page breaks again.
+
+
+
+@node \stopbreaks
+@section @code{\stopbreaks}
+@findex \stopbreaks
+
+@code{\stopbreaks}
+
+Inhibit page breaks until a @code{\startbreaks} command occurs.
+
+
+
+@node \telephone
+@section @code{\telephone}
+@findex \telephone
+
+@code{\telephone@{number@}}
+
+This is your telephone number. This only appears if the
+@code{firstpage} pagestyle is selected.
+
+
+@node Terminal Input/Output
+@chapter Terminal Input/Output
+@cindex input/Output
+@cindex terminal Input/Output
+
+@menu
+* \typein:: Read text from the terminal.
+* \typeout:: Write text to the terminal.
+@end menu
+
+
+@node \typein
+@section @code{\typein[@var{cmd}]@{@var{msg}@}}
+@findex \typein
+
+Synopsis:
+
+@example
+\typein[@var{\cmd}]@{@var{msg}@}
+@end example
+
+@code{\typein} prints @var{msg} on the terminal and causes @LaTeX{} to
+stop and wait for you to type a line of input, ending with return. If
+the optional @var{\cmd} argument is omitted, the typed input is
+processed as if it had been included in the input file in place of the
+@code{\typein} command. If the @var{\cmd} argument is present, it
+must be a command name. This command name is then defined or
+redefined to be the typed input.
+
+
+@node \typeout
+@section @code{\typeout@{@var{msg}@}}
+@findex \typeout
+
+Synopsis:
+
+@example
+\typeout@{@var{msg}@}
+@end example
+
+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} (among others) are replaced by their definitions
+before being printed.
+
+@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, independent of surrounding spaces. A @code{^^J} in
+@code{msg} prints a newline.
+
+
+@node Command Line
+@chapter Command Line
+@cindex command Line
+
+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; e.g.
+
+@example
+latex '\nonstopmode\input foo.tex'
+@end example
+
+@noindent
+will process @file{foo.tex} without pausing after every error.
+
+@cindex @samp{*} prompt
+@cindex prompt, @samp{*}
+@findex \stop
+If @LaTeX{} stops in the middle of the document and gives you a
+@samp{*} prompt, it is waiting for input. You can type @code{\stop}
+(and return) and it will prematurely end the document.
+
+
+
+@node Document templates
+@appendix Document templates
+@cindex document templates
+
+Although not reference material, perhaps these document templates will
+be useful.
+
+@menu
+* book template::
+* beamer template::
+* tugboat template::
+@end menu
+
+
+@node book template
+@section @code{book} template
+
+@verbatim
+\documentclass{book}
+\title{Book Class Template}
+\author{Alex Author}
+
+\begin{document}
+\maketitle
+
+\chapter{First}
+Some text.
+
+\chapter{Second}
+Some other text.
+
+\section{A subtopic}
+The end.
+\end{document}
+@end verbatim
+
+
+@node beamer template
+@section @code{beamer} template
+
+The @code{beamer} class creates slides presentations.
+
+@verbatim
+\documentclass{beamer}
+
+\title{Beamer Class template}
+\author{Alex Author}
+\date{July 31, 2007}
+
+\begin{document}
+
+\maketitle
+
+% without [fragile], any {verbatim} code gets mysterious errors.
+\begin{frame}[fragile]
+ \frametitle{First Slide}
+
+\begin{verbatim}
+ This is \verbatim!
+\end{verbatim}
+
+\end{frame}
+
+\end{document}
+
+@end verbatim
+
+
+@node tugboat template
+@section @code{tugboat} template
+
+@cite{TUGboat} is the journal of the @TeX{} Users Group,
+@url{http://tug.org/TUGboat}.
+
+@verbatim
+\documentclass{ltugboat} % ltugproc for proceedings
+
+\usepackage{graphicx}
+\usepackage{ifpdf}
+\ifpdf
+ \usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,
+ urlcolor=black]{hyperref}
+\else
+ \usepackage{url}
+\fi
+
+\begin{document}
+
+\title{Example \TUB\ Regular Article}
+
+% repeat info for each author.
+\author{First Last}
+\address{Street Address \\ Town, Postal \\ Country}
+\netaddress{user (at) example dot org}
+\personalURL{http://example.org/~user/}
+
+\maketitle
+
+% The abstract comes after \maketitle in ltugboat.
+\begin{abstract}
+This is an example article for a regular \TUB{} issue.
+\end{abstract}
+
+\section{Introduction}
+
+This is an example article for \TUB, from
+\url{http://tug.org/TUGboat/location.html}.
+
+We recommend the graphicx package for image inclusions, and the hyperref
+package for active url's (in the \acro{PDF} output). \TUB\ is produced
+using \acro{PDF} files exclusively, nowadays.
+
+The \texttt{ltug*} classes provide these abbreviations, among many others:
+
+{\small
+\begin{verbatim}
+\AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW
+\BibTeX \CandT \CTAN \DTD \DVItoVDU \HTML
+\ISBN \ISSN \JTeX \JoT \LAMSTeX \LaTeXe
+\Mc \mf \MFB \mtex \pcMF \PCTeX \pcTeX \Pas
+\PiC \PiCTeX \plain \POBox \PS
+\SC \SGML \SliTeX \TANGLE \TB \TP \TUB \TUG
+\tug \UG \UNIX \VAX \VorTeX \XeT \WEB \WEAVE
+
+\Dash \dash \vellipsis \bull \cents \Dag
+\careof \thinskip
+
+\acro{FRED} -> {\sc fred} % please use!
+\cs{fred} -> \fred
+\env{fred} -> \begin{fred}
+\meta{fred} -> <fred>
+\nth{n} -> 1st, 2nd, ...
+\sfrac{3/4} -> 3/4
+\booktitle{Book of Fred}
+\end{verbatim}
+}
+
+For more information, see the ltubguid document at:
+\url{http://mirror.ctan.org/macros/latex/contrib/tugboat}
+
+Email \verb|tugboat@tug.org| if problems or questions.
+
+
+\bibliographystyle{plain} % we recommend the plain bibliography style
+\nocite{book-minimal} % just making the bibliography non-empty
+\bibliography{xampl} % xampl.bib comes with BibTeX
+
+
+\makesignature % not in ltugproc
+\end{document}
+@end verbatim
+
+
+@node Concept Index
+@unnumbered Concept Index
+
+@printindex cp
+
+@c The name of the `Command Index' node must NOT be altered for ltx-help.el.
+@node Command Index
+@unnumbered Command Index
+
+@printindex fn
+
+@bye