   This file documents LaTeX2e, a document preparation system. LaTeX2e
is a macro package for TeX.

   This is edition 1.6 of the LaTeX2e documentation, and is for the
Texinfo that is distributed as part of Version 19 of GNU Emacs. It uses
version 2.134 or later of the texinfo.tex input file.

   This is translated from LATEX.HLP v1.0a in the VMS Help Library.  The
pre-translation version was written by George D. Greenwade of Sam
Houston State University.

   The LaTeX 2.09 version was written by Stephen Gilmore
<stg@dcs.ed.ac.uk>.

   The LaTeX2e version was adapted from this by Torsten Martinsen
<bullestock@dk-online.dk>.

   Copyright 1988,1994 Free Software Foundation, Inc.  Copyright
1994-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.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that the sections entitled "Distribution" and "General
Public License" may be included in a translation approved by the author
instead of in the original English.

\addcontentsline
----------------

   `\addcontentsline{file}{sec_unit}{entry}'

   The `\addcontentsline' command adds an entry to the specified list
or table where:

   * `file' is the extension of the file on which information is to be
     written: `toc' (table of contents), `lof' (list of figures), or
     `lot' (list of tables).

   * `sec_unit' controls the formatting of the entry.  It should be one
     of the following, depending upon the value of the file argument:
       1. `toc' -- the name of the sectional unit, such as part or
          subsection.

       2. `lof' -- figure

       3. `lot' -- table

   * `entry' is the text of the entry.

\addtocontents
--------------

   `\addtocontents{file}{text}'

   The `\addtocontents' command adds text (or formatting commands)
directly to the file that generates the table of contents or list of
figures or tables.

   * `file' is the extension of the file on which information is to be
     written: `toc' (table of contents), `lof' (list of figures), or
     `lot' (list of tables).

   * `text' is the information to be written.

Terminal Input/Output
=====================

\typein
-------

   `\typein[cmd]{msg}'

   Prints `msg' on the terminal and causes LaTeX to stop and wait for
you to type a line of input, ending with return.  If the `cmd' argument
is missing, the typed input is processed as if it had been included in
the input file in place of the `\typein' command.  If the `cmd'
argument is present, it must be a command name.  This command name is
then defined or redefined to be the typed input.

\typeout
--------

   `\typeout{msg}'

   Prints `msg' on the terminal and in the `log' file.  Commands in
`msg' that are defined with `\newcommand' or `\renewcommand' 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 `msg'.  A `\space'
command in `msg' causes a single space to be printed. A `^^J' in `msg'
prints a newline.

Typefaces
=========

   The `typeface' is specified by giving the "size" and "style".  A
typeface is also called a "font".

\Styles
-------

   The following type style commands are supported by LaTeX.

   These commands are used like `\textit{italics 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
`\sffamily\bfseries' to get sans serif boldface.

   You can also use the environment form of the declaration forms; e.g.
`\begin{ttfamily}...\end{ttfamily}'.

`\textrm (\rmfamily)'
     Roman.

`\textit (\itshape)'

`\emph'
     Emphasis (toggles between \textit and \textrm).

`\textmd (\mdseries)'
     Medium weight (default). The opposite of boldface.

`\textbf (\bfseries)'
     Boldface.

`\textup (\upshape)'
     Upright (default). The opposite of slanted.

`\textsl (\slshape)'
     Slanted.

`\textsf (\sffamily)'
     Sans serif.

`\textsc (\scshape)'
     Small caps.

`\texttt (\ttfamily)'
     Typewriter.

`\textnormal (\normalfont)'
     Main document font.

`\mathrm'
     Roman, for use in math mode.

`\mathbf'
     Boldface, for use in math mode.

`\mathsf'
     Sans serif, for use in math mode.

`\mathtt'
     Typewriter, for use in math mode.

`\mathit'
     Italics, for use in math mode, e.g. variable names with several
     letters.

`\mathnormal'
     For use in math mode, e.g. inside another type style declaration.

`\mathcal'
     `Calligraphic' letters, for use in math mode.

   In addition, the command `\mathversion{bold}' can be used for
switching to bold letters and symbols in formulas.
`\mathversion{normal}' restores the default.

Sizes
-----

   The following standard type size commands are supported by LaTeX.

   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; e.g.
`\begin{tiny}...\end{tiny}'.

`\tiny'

`\scriptsize'

`\footnotesize'

`\small'

`\normalsize'
     (default)

`\large'

`\Large'

`\LARGE'

`\huge'

`\Huge'

Low-level font commands
-----------------------

   These commands are primarily intended for writers of macros and
packages.  The commands listed here are only a subset of the available
ones. For full details, you should consult Chapter 7 of `The LaTeX
Companion'.

`\fontencoding{enc}'
     Select font encoding. Valid encodings include `OT1' and `T1'.

`\fontfamily{family}'
     Select font family. Valid families include:

        * `cmr'  for Computer Modern Roman

        * `cmss' for Computer Modern Sans Serif

        * `cmtt' for Computer Modern Typewriter

     and numerous others.

`\fontseries{series}'
     Select font series. Valid series include:

        * `m'  Medium (normal)

        * `b'  Bold

        * `c'  Condensed

        * `bc' Bold condensed

        * `bx' Bold extended

     and various other combinations.

`\fontshape{shape}'
     Select font shape. Valid shapes are:

        * `n'  Upright (normal)

        * `it' Italic

        * `sl' Slanted (oblique)

        * `sc' Small caps

        * `ui' Upright italics

        * `ol' Outline

     The two last shapes are not available for most font families.

`\fontsize{size}{skip}'
     Set font size. The first parameter is the font size to switch to;
     the second is the `\baselineskip' to use. The unit of both
     parameters defaults to pt. A rule of thumb is that the
     baselineskip should be 1.2 times the font size.

`\selectfont'
     The changes made by calling the four font commands described above
     do not come into effect until `\selectfont' is called.

`\usefont{enc}{family}{series}{shape}'
     Equivalent to calling `\fontencoding', `\fontfamily',
     `\fontseries' and `\fontshape' with the given parameters, followed
     by `\selectfont'.

Parameters
**********

   The input file specification indicates the file to be formatted; TeX
uses `.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.

   `latex ``\scrollmode\input foo.tex'''

   will process `foo.tex' without pausing after every error.

   Output files are always created in the current directory. When you
fail to specify an input file name, TeX bases the output names on the
file specification associated with the logical name TEX_OUTPUT,
typically `texput.log'.