mirror of
https://github.com/kastdeur/dotfiles.git
synced 2024-11-16 08:33:30 +01:00
2430 lines
89 KiB
Text
Executable file
2430 lines
89 KiB
Text
Executable file
*latexhelp.txt* For Vim version 6.0. Last change: 2001 Dec 20
|
|
|
|
|
|
LATEX HELP 1.6
|
|
translated (with minor changes) for vim
|
|
by Mikolaj Machowski
|
|
|
|
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>.
|
|
|
|
Version for vim of this manual was written by Mikolaj Machowski
|
|
<mikmach@wp.pl>
|
|
|
|
Copyright 1988,1994 Free Software Foundation, Inc. Copyright 1994-1996
|
|
Torsten Martinsen. Copyright for `translation' for vim Mikolaj Machowski 2001.
|
|
|
|
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.
|
|
|
|
==============================================================================
|
|
*LaTeX* *latex*
|
|
|
|
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.
|
|
|
|
1. Commands |latex-commands|
|
|
2. Counters |latex-counters|
|
|
3. Cross References |latex-references|
|
|
4. Definitions |latex-definitions|
|
|
5. Document Classes |latex-classes|
|
|
6. Layout |latex-layout|
|
|
7. Environments |latex-environments|
|
|
8. Footnotes |latex-footnotes|
|
|
9. Lengths |latex-lengths|
|
|
10. Letters |latex-letters|
|
|
11. Line & Page Breaking |latex-breaking|
|
|
12. Making Paragraphs |latex-paragraphs|
|
|
13. Margin Notes |latex-margin-notes|
|
|
14. Math Formulae |latex-math|
|
|
15. Modes |latex-modes|
|
|
16. Page Styles |latex-page-styles|
|
|
17. Sectioning |latex-sectioning|
|
|
18. Spaces & Boxes |latex-spaces-boxes|
|
|
19. Special Characters |latex-special-char|
|
|
20. Splitting the Input |latex-inputting|
|
|
21. Starting & Ending |latex-start-end|
|
|
22. Table of Contents |latex-toc|
|
|
23. Terminal Input/Output |latex-terminal|
|
|
24. Typefaces |latex-typefaces|
|
|
25. Parameters |latex-parameters|
|
|
|
|
==============================================================================
|
|
1. Commands *latex-commands*
|
|
|
|
A LaTeX command begins with the command name, which consists of a \ followed
|
|
by either
|
|
(a) a string of letters or
|
|
(b) a single non-letter.
|
|
|
|
Arguments contained in square brackets, [], are optional while arguments
|
|
contained in braces, {}, are required.
|
|
|
|
NOTE: LaTeX is case sensitive. Enter all commands in lower case unless
|
|
explicitly directed to do otherwise.
|
|
|
|
==============================================================================
|
|
2. Counters *latex-counters*
|
|
|
|
|\addtocounter| Add a quantity to a counter
|
|
|\alph| Print value of a counter using letters
|
|
|\arabic| Print value of a counter using numerals
|
|
|\fnsymbol| Print value of a counter using symbols
|
|
|\newcounter| Define a new counter
|
|
|\refstepcounter| Add to counter, resetting subsidiary counters
|
|
|\roman| Print value of a counter using roman numerals
|
|
|\setcounter| Set the value of a counter
|
|
|\stepcounter| Add to counter, resetting subsidiary counters
|
|
|\usecounter| Use a specified counter in a list environment
|
|
|\value| Use the value of a counter in an expression
|
|
|
|
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 |\\|. (|lc-enumi| - |lc-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.
|
|
|
|
|part| |paragraph| |figure| |enumi| |itemi|
|
|
|chapter| |subparagraph| |table| |enumii| |itemii|
|
|
|section| |page| |footnote| |enumiii| |itemiii|
|
|
|subsection| |equation| |mpfootnote| |enumiv| |itemiv|
|
|
|subsubsection|
|
|
|
|
|
|
\addtocounter{counter}{value} *\addtocounter*
|
|
Increments the {counter} by the amount specified by the
|
|
{value} argument. The {value} argument can be negative.
|
|
|
|
\alph{counter} *\alph* *\Alph*
|
|
\Alph{counter}
|
|
This command causes the value of the counter to be printed in
|
|
alphabetic characters. |\alph| command uses lower case
|
|
alphabetic alphabetic characters, i.e., a, b, c... while the
|
|
|\Alph| command uses upper case alphabetic characters, i.e.,
|
|
A, B, C....
|
|
|
|
\arabic{counter} *\arabic*
|
|
Causes the value of the {counter} to be printed in Arabic
|
|
numbers, i.e., 3.
|
|
|
|
\fnsymbol{counter} *\fnsymbol*
|
|
Causes the value of the {counter} to be printed in a specific
|
|
sequence of nine symbols that can be used for numbering
|
|
footnotes.
|
|
Note: counter must have a value between 1 and 9 inclusive.
|
|
|
|
\newcounter{foo}[counter] *\newcounter*
|
|
Defines a new counter named {foo}. The counter is initialized
|
|
to zero. The optional argument [counter] causes the counter
|
|
{foo} to be reset whenever the counter named in the optional
|
|
argument is incremented.
|
|
|
|
\refstepcounter{counter} *\refstepcounter*
|
|
Command works like |\stepcounter|, except it also defines the
|
|
current |\ref| value to be the result of \thecounter.
|
|
|
|
\roman{counter} *\roman* *\Roman*
|
|
\Roman{counter}
|
|
Causes the value of the {counter} to be printed in Roman
|
|
numerals. The |\roman| command uses lower case Roman numerals,
|
|
i.e., i, ii, iii..., while the |\Roman| command uses upper case
|
|
Roman numerals, i.e., I, II, III....
|
|
|
|
\stepcounter{counter} *\stepcounter*
|
|
Adds one to the {counter} and resets all subsidiary counters.
|
|
|
|
\setcounter{counter}{value} *\setcounter*
|
|
Sets the value of the {counter} to that specified by the
|
|
{value} argument.
|
|
|
|
\usecounter{counter} *\usecounter*
|
|
Command is used in the second argument of the |list|
|
|
environment to allow the {counter} specified to be used to
|
|
number the list items.
|
|
|
|
\value{counter} *\value*
|
|
Produces the value of the {counter} named in the mandatory
|
|
argument. It can be used where LaTeX expects an integer or
|
|
number, such as the second argument of a |\setcounter| or
|
|
|\addtocounter| command, or in: >
|
|
\hspace{\value{foo}\parindent}
|
|
< It is useful for doing arithmetic with counters.
|
|
|
|
==============================================================================
|
|
3. Cross References *latex-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."
|
|
|
|
|\label| Assign a symbolic name to a piece of text
|
|
|\pageref| Refer to a page number
|
|
|\ref| Refer to a section, figure or similar
|
|
|
|
|
|
\label{key} *\label*
|
|
Command appearing in ordinary text assigns to the {key} the
|
|
number of the current sectional unit; one appearing inside a
|
|
numbered environment assigns that number to the {key}.
|
|
|
|
A {key} can consist of any sequence of letters, digits, or
|
|
punctuation characters. Upper and lowercase letters are
|
|
different.
|
|
|
|
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. The prefixes conventionally used are
|
|
* 'cha' for chapters
|
|
* 'sec' for lower-level sectioning commands
|
|
* 'fig' for figures
|
|
* 'tab' for tables
|
|
* 'eq' for equations
|
|
Thus, a label for a figure would look like: >
|
|
\label{fig:bandersnatch}
|
|
|
|
\pageref{key} *\pageref*
|
|
Command produces the page number of the place in the text
|
|
where the corresponding |\label| command appears. ie. where
|
|
\label{key} appears.
|
|
|
|
\ref{key} *\ref*
|
|
Command produces the number of the sectional unit, equation
|
|
number, ... of the corresponding |\label| command.
|
|
|
|
==============================================================================
|
|
4. Definitions *latex-definitions*
|
|
|
|
|\newcommand| Define a new command
|
|
|\newenvironment| Define a new environment
|
|
|\newtheorem| Define a new theorem-like environment
|
|
|\newfont| Define a new font name
|
|
|
|
|
|
\newcommand{cmd}[args]{definition} *\newcommand* *\renewcommand*
|
|
\newcommand{cmd}[args][default]{definition}
|
|
\renewcommand{cmd}[args]{definition}
|
|
\renewcommand{cmd}[args][default]{definition}
|
|
|
|
These commands define (or redefine) a command.
|
|
|
|
{cmd} A command name beginning with a |\\|. For |\newcommand| it must
|
|
not be already defined and must not begin with |\end|; for
|
|
|\renewcommand| it must already be defined.
|
|
|
|
{args} An integer from 1 to 9 denoting the number of arguments of the
|
|
command being defined. The default is for the command to have
|
|
no arguments.
|
|
|
|
{default} If this optional parameter is present, it means that the
|
|
command's first argument is optional. The default value of the
|
|
optional argument is default.
|
|
|
|
{definition} The text to be substituted for every occurrence of {cmd}; a
|
|
parameter of the form #n in {cmd} is replaced by the text of
|
|
the nth argument when this substitution takes place.
|
|
|
|
*\newenvironment* *\renewenvironment*
|
|
\newenvironment{nam}[args]{begdef}{enddef}
|
|
\newenvironment{nam}[args][default]{begdef}{enddef}
|
|
\renewenvironment{nam}[args]{begdef}{enddef}
|
|
|
|
These commands define or redefine an environment.
|
|
|
|
{nam} The name of the environment. For |\newenvironment| there must
|
|
be no currently defined environment by that name, and the
|
|
command \nam must be undefined. For |\renewenvironment| the
|
|
environment must already be defined.
|
|
|
|
{args} An integer from 1 to 9 denoting the number of arguments of
|
|
the newly-defined environment. The default is no arguments.
|
|
|
|
{default} If this is specified, the first argument is optional, and
|
|
default gives the default value for that argument.
|
|
|
|
{begdef} The text substituted for every occurrence of \begin{nam}; a
|
|
parameter of the form #n in {cmd} is replaced by the text of
|
|
the nth argument when this substitution takes place.
|
|
|
|
{enddef} The text substituted for every occurrence of \end{nam}. It
|
|
may not contain any argument parameters.
|
|
|
|
|
|
\newtheorem{envname}{caption}[within] *\newtheorem*
|
|
\newtheorem{envname}[numberedlike]{caption}
|
|
|
|
This command defines a theorem-like environment.
|
|
|
|
{envname} The name of the environment to be defined. A string of
|
|
letters. It must not be the name of an existing environment or
|
|
counter.
|
|
|
|
{caption} The text printed at the beginning of the environment, right
|
|
before the number. This may simply say "Theorem", for example.
|
|
|
|
{within} The name of an already defined counter, usually of a sectional
|
|
unit. Provides a means of resetting the new theorem counter
|
|
within the sectional unit.
|
|
|
|
{numberedlike} The name of an already defined theorem-like environment.
|
|
|
|
The |\newtheorem| command may have at most one optional argument.
|
|
|
|
|
|
\newfont{cmd}{fontname} *\newfont*
|
|
Defines the command name {cmd}, which must not be currently
|
|
defined, to be a declaration that selects the font named
|
|
{fontname} to be the current font.
|
|
|
|
==============================================================================
|
|
5. Document Classes *latex-classes*
|
|
|
|
|
|
\documentclass[options]{class} *\documentclass*
|
|
|
|
Valid LaTeX document classes include:
|
|
*article *article-class*
|
|
*report *report-class*
|
|
*letter *letter-class*
|
|
*book *book-class*
|
|
*slides *slides-class*
|
|
|
|
All the standard classes (except slides) accept the following options for
|
|
selecting the typeface size (10 pt is default):
|
|
|
|
10pt, 11pt, 12pt
|
|
|
|
All classes accept these options for selecting the paper size (default is
|
|
letter):
|
|
|
|
a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper
|
|
|
|
Miscellaneous options:
|
|
|
|
landscape *landscape*
|
|
Selects landscape format. Default is portrait.
|
|
|
|
titlepage, notitlepage *notitlepage*
|
|
Selects if there should be a separate title page.
|
|
|
|
leqno *leqno* *rqno*
|
|
Equation number on left side of equations. Default is
|
|
right side.
|
|
|
|
fleqn *fleqn*
|
|
Displayed formulas flush left. Default is centred.
|
|
|
|
openbib *openbib*
|
|
Use "open" bibliography format.
|
|
|
|
draft, final *draft* *final*
|
|
Mark/do not mark overfull boxes with a rule. Default is
|
|
final.
|
|
|
|
These options are not available with the slides class:
|
|
|
|
oneside, twoside *oneside* *twoside*
|
|
Selects one- or twosided layout. Default is oneside,
|
|
except for the book class.
|
|
|
|
openright, openany *openright* *openany*
|
|
Determines if a chapter should start on a right-hand page.
|
|
Default is openright for book.
|
|
|
|
onecolumn, twocolumn *onecolumn* *twocolumn*
|
|
One or two columns. Defaults to one column.
|
|
|
|
The slides class offers the option clock for printing the time at the bottom
|
|
of each |\note|.
|
|
|
|
If you specify more than one option, they must be separated by a comma.
|
|
|
|
\usepackage[options]{pkg} *\usepackage*
|
|
Additional packages are loaded by this. If you
|
|
specify more than one package, they must be separated by a
|
|
comma.
|
|
|
|
Any options given in the |\documentclass| command that are unknown by the
|
|
selected document class are passed on to the packages loaded with |\usepackage|.
|
|
|
|
==============================================================================
|
|
6. Layout *latex-layout*
|
|
|
|
Miscellaneous commands for controlling the general layout of the page.
|
|
|
|
|\flushbottom| Make all text pages the same height.
|
|
|\onecolumn| Use one-column layout.
|
|
|\raggedbottom| Allow text pages of differing height.
|
|
|\twocolumn| Use two-column layout.
|
|
|
|
\flushbottom *\flushbottom*
|
|
Makes all text pages the same height, adding extra vertical
|
|
space when necessary to fill out the page. This is the
|
|
standard if twocolumn mode is selected.
|
|
|
|
\onecolumn *\onecolumn*
|
|
Starts a new page and produces single-column output.
|
|
|
|
\raggedbottom *\raggedbottom*
|
|
Makes all pages the height of the text on that page. No extra
|
|
vertical space is added.
|
|
|
|
\twocolumn[text] *\twocolumn*
|
|
Starts a new page and produces two-column output. If the
|
|
optional [text] argument is present, it is typeset in
|
|
one-column mode.
|
|
|
|
==============================================================================
|
|
7. Environments *latex-environments*
|
|
|
|
*\begin* *\end*
|
|
LaTeX provides a number of different paragraph-making environments. Each
|
|
environment begins and ends in the same manner: >
|
|
|
|
\begin{environment-name}
|
|
.
|
|
.
|
|
.
|
|
\end{environment-name}
|
|
<
|
|
a. |array| Math arrays
|
|
b. |center| Centred lines
|
|
c. |description| Labelled lists
|
|
d. |enumerate| Numbered lists
|
|
e. |eqnarray| Sequences of aligned equations
|
|
f. |equation| Displayed equation
|
|
g. |figure| Floating figures
|
|
h. |flushleft| Flushed left lines
|
|
i. |flushright| Flushed right lines
|
|
j. |itemize| Bulleted lists
|
|
k. |letter| Letters
|
|
l. |list| Generic list environment
|
|
m. |minipage| Miniature page
|
|
n. |picture| Picture with text, arrows, lines and circles
|
|
o. |quotation| Indented environment with paragraph indentation
|
|
p. |quote-l| Indented environment with no paragraph indentation
|
|
q. |tabbing| Align text arbitrarily
|
|
r. |table| Floating tables
|
|
s. |tabular| Align text in columns
|
|
t. |thebibliography| Bibliography or reference list
|
|
u. |theorem| Theorems, lemmas, etc
|
|
v. |titlepage| For hand crafted title pages
|
|
x. |verbatim| Simulating typed input
|
|
y. |verse| For poetry and other things
|
|
|
|
==============================================================================
|
|
a. array *array*
|
|
>
|
|
\begin{array}{col1col2...coln}
|
|
column 1 entry & column 2 entry ... & column n entry \\
|
|
.
|
|
.
|
|
.
|
|
\end{array}
|
|
|
|
Math arrays are produced with the |array| environment. It has a single mandatory
|
|
argument describing the number of columns and the alignment within them. Each
|
|
column, coln, is specified by a single letter that tells how items in that row
|
|
should be formatted.
|
|
* c -- for centred
|
|
* l -- for flush left
|
|
* r -- for flush right
|
|
Column entries must be separated by an |&|. Column entries may include other
|
|
LaTeX commands. Each row of the array must be terminated with the string |\\|.
|
|
|
|
Note that the |array| environment can only be used in |math-mode|, so normally
|
|
it is used inside an |equation| environment.
|
|
|
|
==============================================================================
|
|
b. center *center*
|
|
>
|
|
\begin{center}
|
|
Text on line 1 \\
|
|
Text on line 2 \\
|
|
.
|
|
.
|
|
.
|
|
\end{center}
|
|
|
|
The |\center| environment allows you to create a paragraph consisting of lines
|
|
that are centred within the left and right margins on the current page. Each
|
|
line must be terminated with the string |\\|.
|
|
|
|
\centering *\centering*
|
|
This declaration corresponds to the |center| environment. This
|
|
declaration can be used inside an environment such as
|
|
|quote-l| or in a |\parbox|. The text of a |figure| or |table|
|
|
can be centred on the page by putting a |\centering| command
|
|
at the beginning of the |figure| or |table| environment.
|
|
Unlike the |center| environment, the |\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 |\end|
|
|
command (of an environment like |quote-l|) that ends the
|
|
paragraph unit.
|
|
|
|
==============================================================================
|
|
c. description *description*
|
|
>
|
|
\begin{description}
|
|
\item [label] First item
|
|
\item [label] Second item
|
|
.
|
|
.
|
|
.
|
|
\end{description}
|
|
|
|
The |description| environment is used to make labelled lists. The label is
|
|
bold face and flushed right.
|
|
|
|
==============================================================================
|
|
d. enumerate *enumerate*
|
|
>
|
|
\begin{enumerate}
|
|
\item First item
|
|
\item Second item
|
|
.
|
|
.
|
|
.
|
|
\end{enumerate}
|
|
|
|
The |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.
|
|
|
|
\item Each item of an enumerated list begins with an |\item|
|
|
command. There must be at least one |\item| command
|
|
within the environment.
|
|
|
|
The |enumerate| environment uses the |\enumi| through |\enumiv| counters (see
|
|
section |latex-counters|). The type of numbering can be changed by redefining
|
|
\theenumi etc.
|
|
|
|
==============================================================================
|
|
e. eqnarray *eqnarray*
|
|
>
|
|
\begin{eqnarray}
|
|
math formula 1 \\
|
|
math formula 2 \\
|
|
.
|
|
.
|
|
.
|
|
\end{eqnarray}
|
|
|
|
The |eqnarray| environment is used to display a sequence of equations or
|
|
inequalities. It is very much like a three-column |array| environment, with
|
|
consecutive rows separated by |\\| and consecutive items within a row separated
|
|
by an |&|.
|
|
|
|
\nonumber *\nonumber*
|
|
An equation number is placed on every line unless that
|
|
line has a |\nonumber| command.
|
|
|
|
\lefteqn *\lefteqn*
|
|
The command |\lefteqn| is used for splitting long
|
|
formulas across lines. It typesets its argument in
|
|
display style flush left in a box of zero width.
|
|
|
|
==============================================================================
|
|
f. equation *equation*
|
|
>
|
|
\begin{equation}
|
|
math formula
|
|
\end{equation}
|
|
|
|
The |equation| environment centres your equation on the page and places the
|
|
equation number in the right margin.
|
|
|
|
==============================================================================
|
|
g. figure *figure*
|
|
>
|
|
\begin{figure}[placement]
|
|
body of the figure
|
|
\caption{figure title}
|
|
\end{figure}
|
|
|
|
Figures are objects that are not part of the normal text, and are usually
|
|
"floated" to a convenient place, like the top of a page. Figures will not be
|
|
split between two pages.
|
|
|
|
The optional argument [placement] determines where LaTeX will try to place
|
|
your figure. There are four places where LaTeX can possibly put a float:
|
|
|
|
h (Here) at the position in the text where the figure
|
|
environment appears.
|
|
t (Top) at the top of a text page.
|
|
b (Bottom) at the bottom of a text page.
|
|
p (Page of floats) on a separate float page, which is a page containing
|
|
no text, only floats.
|
|
|
|
The standard |report-class| and |article-class| use the default placement
|
|
[tbp].
|
|
|
|
The body of the |figure| is made up of whatever text, LaTeX commands, etc. you
|
|
wish.
|
|
|
|
The \caption command allows you to title your figure.
|
|
|
|
==============================================================================
|
|
h. flushleft *flushleft*
|
|
>
|
|
\begin{flushleft}
|
|
Text on line 1 \\
|
|
Text on line 2 \\
|
|
.
|
|
.
|
|
.
|
|
\end{flushleft}
|
|
|
|
The |flushleft| environment allows you to create a paragraph consisting of
|
|
lines that are flushed left, to the left-hand margin. Each line must be
|
|
terminated with the string |\\|.
|
|
|
|
\raggedright *\raggedright*
|
|
This declaration corresponds to the |flushleft| environment.
|
|
This declaration can be used inside an environment such as
|
|
|quote-l| or in a |\parbox|. Unlike the |flushleft|
|
|
environment, the |\raggedright| command does not start a new
|
|
paragraph; it simply changes how LaTeX formats paragraph
|
|
units. To affect a paragraph unit's format, the scope of the
|
|
declaration must contain the blank line or |\end| command (of
|
|
an environment like |quote-l|) that ends the paragraph unit.
|
|
|
|
==============================================================================
|
|
i. flushright *flushright*
|
|
>
|
|
\begin{flushright}
|
|
Text on line 1 \\
|
|
Text on line 2 \\
|
|
.
|
|
.
|
|
.
|
|
\end{flushright}
|
|
|
|
The |flushright| environment allows you to create a paragraph consisting of
|
|
lines that are flushed right, to the right-hand margin. Each line must be
|
|
terminated with the string |\\|.
|
|
|
|
\raggedleft *\raggedleft*
|
|
This declaration corresponds to the |flushright| environment.
|
|
This declaration can be used inside an environment such as
|
|
|quote-l| or in a |\parbox|. Unlike the |flushright|
|
|
environment, the |\raggedleft| command does not start a new
|
|
paragraph; it simply changes how LaTeX formats paragraph
|
|
units. To affect a paragraph unit's format, the scope of the
|
|
declaration must contain the blank line or |\end| command (of
|
|
an environment like |quote-l|) that ends the paragraph unit.
|
|
|
|
==============================================================================
|
|
j. itemize *itemize*
|
|
>
|
|
\begin{itemize}
|
|
\item First item
|
|
\item Second item
|
|
.
|
|
.
|
|
.
|
|
\end{itemize}
|
|
|
|
The |itemize| environment produces a "bulleted" list. Itemizations can be
|
|
nested within one another, up to four levels deep. They can also be nested
|
|
within other paragraph-making environments.
|
|
|
|
\item *\item*
|
|
Each item of an itemized list begins with an |\item| command.
|
|
There must be at least one |\item| command within the
|
|
environment.
|
|
|
|
The itemize environment uses the |\itemi| through |\itemiv| counters (see
|
|
section |latex-counters|). The type of numbering can be changed by redefining
|
|
\theitemi etc.
|
|
|
|
==============================================================================
|
|
k. letter *\letter*
|
|
|
|
This environment is used for creating letters. See section |latex-letters|.
|
|
|
|
==============================================================================
|
|
l. list *list*
|
|
|
|
The |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.
|
|
>
|
|
\begin{list}{label}{spacing}
|
|
\item First item
|
|
\item Second item
|
|
.
|
|
.
|
|
.
|
|
\end{list}
|
|
|
|
'label' The {label} argument specifies how items should be labelled.
|
|
This argument is a piece of text that is inserted in a box to
|
|
form the {label}. This argument can and usually does contain
|
|
other LaTeX commands.
|
|
|
|
'spacing' The {spacing} argument contains commands to change the spacing
|
|
parameters for the |list|. This argument will most often be
|
|
null, i.e., {}. This will select all default spacing which
|
|
should suffice for most cases.
|
|
|
|
==============================================================================
|
|
m. minipage *minipage*
|
|
>
|
|
\begin{minipage}[position]{width}
|
|
text
|
|
\end{minipage}
|
|
|
|
The |minipage| environment is similar to a |\parbox| command. It takes the
|
|
same optional [position] argument and mandatory {width} argument. You may use
|
|
other paragraph-making environments inside a |minipage|. Footnotes in a
|
|
minipage environment are handled in a way that is particularly useful for
|
|
putting footnotes in figures or tables. A |\footnote| or |\footnotetext|
|
|
command puts the footnote at the bottom of the minipage instead of at the
|
|
bottom of the page, and it uses the |\mpfootnote| counter instead of the
|
|
ordinary footnote counter. See sections |latex-counters| and
|
|
|latex-footnotes|.
|
|
|
|
NOTE: Don't put one |minipage| inside another if you are using footnotes; they
|
|
may wind up at the bottom of the wrong minipage.
|
|
|
|
==============================================================================
|
|
n. picture *picture*
|
|
>
|
|
size position
|
|
\begin{picture}(width,height)(x offset,y offset)
|
|
.
|
|
.
|
|
picture commands
|
|
.
|
|
.
|
|
\end{picture}
|
|
|
|
The |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 5, 2.3
|
|
or -3.1416. A coordinate specifies a length in multiples of the unit length
|
|
|\unitlength|, so if |\unitlength| has been set to 1cm, then the coordinate
|
|
2.54 specifies a length of 2.54 centimetres. You can change the value of
|
|
|\unitlength| anywhere you want, using the |\setlength| command, but strange
|
|
things will happen if you try changing it inside the |picture| environment.
|
|
|
|
A position is a pair of coordinates, such as (2.4,-5), specifying the point
|
|
with x-coordinate 2.4 and y-coordinate -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 |picture| environment has one mandatory argument, which is a 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 |picture| environment also has an optional position argument, following
|
|
the 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 |\unitlength| has
|
|
been set to 1mm, the command: >
|
|
\begin{picture}(100,200)(10,20)
|
|
>
|
|
produces a picture of width 100 millimetres and height 200 millimetres, 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 |\put| command. The
|
|
command: >
|
|
\put (11.3,-.3){...}
|
|
|
|
puts the object specified by ... in the picture, with its
|
|
reference point at coordinates (11.3,-.3). The reference points for various
|
|
objects will be described below.
|
|
|
|
The |\put| creates an LR box (|lrbox|). You can put anything in the text
|
|
argument of the |\put| that you'd put into the argument of an |\mbox| and
|
|
related commands. When you do this, the reference point will be the lower left
|
|
corner of the box.
|
|
|
|
Picture commands:
|
|
|\circle| Draw a circle
|
|
|\dashbox| Draw a dashed box
|
|
|\frame| Draw a frame around an object
|
|
|\framebox(picture)| Draw a box with a frame around it
|
|
|\line| Draw a straight line
|
|
|\linethickness| Set the line thickness
|
|
|\makebox(picture)| Draw a box of the specified size
|
|
|\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
|
|
|
|
\circle[*]{diameter} *\circle*
|
|
Command produces a circle with a {diameter} as close to the
|
|
specified one as possible. If the *-form of the command is
|
|
used, LaTeX draws a solid circle.
|
|
Note: only circles up to 40 pt can be drawn.
|
|
|
|
|
|
\dashbox{dashlength}(width,height){...} *\dashbox*
|
|
Draws a box with a dashed line. The |\dashbox| has an extra
|
|
argument which specifies the width of each dash. A dashed box
|
|
looks best when the width and height are multiples of the
|
|
{dashlength}.
|
|
|
|
\frame{...} *\frame*
|
|
Puts a rectangular frame around the object specified in the
|
|
argument. The reference point is the bottom left corner of the
|
|
frame. No extra space is put between the frame and the object.
|
|
|
|
\framebox(width,height)[position]{...} *\picture-framebox*
|
|
The |\framebox| command is exactly the same as the
|
|
|picture-makebox| command, except that it puts a frame around
|
|
the outside of the box that it creates. The |\framebox|
|
|
command produces a rule of thickness |\fboxrule|, and leaves a
|
|
space |\fboxsep| between the rule and the contents of the box.
|
|
|
|
\line(x slope,y slope){length} *\line*
|
|
Draws a line of the specified length and slope.
|
|
Note: LaTeX can only draw lines with slope = x/y, where x and
|
|
y have integer values from -6 through 6.
|
|
|
|
\linethickness{dimension} *\linethickness*
|
|
Declares the thickness of horizontal and vertical lines in a
|
|
|picture| environment to be dimension, which must be a
|
|
positive length. It does not affect the thickness of slanted
|
|
lines (|\line|) and circles (|circle|), or the quarter circles
|
|
drawn by |\oval| to form the corners of an oval.
|
|
|
|
\makebox(width,height)[position]{...} *picture-makebox*
|
|
The makebox command for the |picture| environment is similar
|
|
to the normal |\makebox| command except that you must specify
|
|
a width and height in multiples of |\unitlength|.
|
|
The optional argument, [position], specifies the quadrant that
|
|
your text appears in. You may select up to two of the
|
|
following:
|
|
t - Moves the item to the top of the rectangle
|
|
b - Moves the item to the bottom
|
|
l - Moves the item to the left
|
|
r - Moves the item to the right
|
|
|
|
*\multiput*
|
|
\multiput(x coord,y coord)(delta x,delta y){no of copies}{object}
|
|
This command can be used when you are putting the same
|
|
object in a regular pattern across a picture.
|
|
|
|
\oval(width,height)[portion] *\oval*
|
|
Produces a rectangle with rounded corners. The optional
|
|
argument, [portion], allows you to select part of the oval.
|
|
t - top portion
|
|
b - bottom portion
|
|
r - right portion
|
|
l - left portion
|
|
Note: the "corners" of the oval are made with quarter circles
|
|
with a maximum radius of 20 pt, so large "ovals" will look
|
|
more like boxes with rounded corners.
|
|
|
|
\put(x coord,y coord){ ... } *\put*
|
|
Places the item specified by the mandatory argument at the
|
|
given coordinates.
|
|
|
|
\shortstack[position]{... \\ ... \\ ...} *\shortstack*
|
|
The |\shortstack| command produces a stack of objects.
|
|
The valid positions are:
|
|
r - right of the stack
|
|
l - left of the stack
|
|
c - centre of the stack (default)
|
|
|
|
\vector(x slope,y slope){length} *\vector*
|
|
Draws a line with an arrow of the specified length and slope.
|
|
The x and y values must lie between -4 and +4, inclusive.
|
|
|
|
==============================================================================
|
|
o. quotation *quotation*
|
|
>
|
|
\begin{quotation}
|
|
text
|
|
\end{quotation}
|
|
|
|
The margins of the |quotation| environment are indented on the left and the
|
|
right. The text is justified at both margins and there is paragraph
|
|
indentation. Leaving a blank line between text produces a new paragraph.
|
|
|
|
==============================================================================
|
|
p. quote *quote-l*
|
|
>
|
|
\begin{quote}
|
|
text
|
|
\end{quote}
|
|
|
|
The margins of the |quote-l| environment are indented on the left and the right.
|
|
The text is justified at both margins. Leaving a blank line between text
|
|
produces a new paragraph.
|
|
|
|
==============================================================================
|
|
q. tabbing *tabbing*
|
|
>
|
|
\begin{tabbing}
|
|
text \= more text \= still more text \= last text \\
|
|
second row \> \> more \\
|
|
.
|
|
.
|
|
.
|
|
\end{tabbing}
|
|
|
|
The |tabbing| environment provides a way to align text in columns. It works by
|
|
setting tab stops and tabbing to them much the way you do with an ordinary
|
|
typewriter.
|
|
|
|
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 |tabular| environment.
|
|
The following commands can be used inside a tabbing environment:
|
|
|
|
*tab=*
|
|
\= Sets a tab stop at the current position.
|
|
|
|
*tab>*
|
|
\> Advances to the next tab stop.
|
|
|
|
*tab<*
|
|
\< This command allows you to put something to the left of the
|
|
local margin without changing the margin. Can only be used at
|
|
the start of the line.
|
|
|
|
*tab+*
|
|
\+ Moves the left margin of the next and all the following
|
|
commands one tab stop to the right.
|
|
|
|
*tab-*
|
|
\- Moves the left margin of the next and all the following
|
|
commands one tab stop to the left.
|
|
|
|
*tab'*
|
|
\' Moves everything that you have typed so far in the current
|
|
column, i.e. everything from the most recent \> (|tab>|), \<
|
|
(|tab<|), \' (|tab'|), |\\|, or |\kill| command, to the right
|
|
of the previous column, flush against the current column's tab
|
|
stop.
|
|
|
|
*tab`*
|
|
\` Allows you to put text flush right against any tab stop,
|
|
including tab stop 0. However, it can't move text to the right
|
|
of the last column because there's no tab stop there. The \`
|
|
(|tab`|) command moves all the text that follows it, up to the
|
|
|\\| or \end{tabbing} command that ends the line, to the right
|
|
margin of the tabbing environment. There must be no \>
|
|
(|tab>|) or \' (|tab'|) command between the \` (|tab`|) and
|
|
the command that ends the line.
|
|
|
|
*\kill*
|
|
\kill Sets tab stops without producing text. Works just like |\\|
|
|
except that it throws away the current line instead of
|
|
producing output for it. The effect of any \= (|tab=|), \+
|
|
(|tab+|) or \- (|tab-|) commands in that line remain in
|
|
effect.
|
|
|
|
*\pushtabs*
|
|
\pushtabs Saves all current tab stop positions. Useful for temporarily
|
|
changing tab stop positions in the middle of a tabbing
|
|
environment. Also restores the tab stop positions saved by the
|
|
last |\pushtabs|.
|
|
|
|
*taba*
|
|
\a In a tabbing environment, the commands \= (|tab=|), \'
|
|
(|tab'|) and \` (|tab`|) do not produce accents as normal.
|
|
Instead, the commands \a=, \a' and \a` are used.
|
|
|
|
This example typesets a Pascal function in a traditional format:
|
|
>
|
|
\begin{tabbing}
|
|
function \= fact(n : integer) : integer;\\
|
|
\> begin \= \+ \\
|
|
\> if \= n $>$ 1 then \+ \\
|
|
fact := n * fact(n-1) \- \\
|
|
else \+ \\
|
|
fact := 1; \-\- \\
|
|
end;\\
|
|
\end{tabbing}
|
|
|
|
==============================================================================
|
|
r. table *\table*
|
|
>
|
|
\begin{table}[placement]
|
|
body of the table
|
|
\caption{table title}
|
|
\end{table}
|
|
|
|
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 [placement] determines where LaTeX will try to place
|
|
your table. There are four places where LaTeX can possibly put a float:
|
|
|
|
h (Here) at the position in the text where the table
|
|
environment appears.
|
|
t (Top) at the top of a text page.
|
|
b (Bottom) at the bottom of a text page.
|
|
p (Page of floats) on a separate float page, which is a page
|
|
containing no text, only floats.
|
|
|
|
The standard |report-class| and |article-class| use the default placement [tbp].
|
|
|
|
The body of the table is made up of whatever text, LaTeX commands, etc., you
|
|
wish.
|
|
|
|
The \caption command allows you to title your table.
|
|
|
|
==============================================================================
|
|
s. tabular *tabular*
|
|
>
|
|
\begin{tabular}[pos]{cols}
|
|
column 1 entry & column 2 entry ... & column n entry \\
|
|
.
|
|
.
|
|
.
|
|
\end{tabular}
|
|
|
|
or
|
|
>
|
|
\begin{tabular*}{width}[pos]{cols}
|
|
column 1 entry & column 2 entry ... & column n entry \\
|
|
.
|
|
.
|
|
.
|
|
\end{tabular*}
|
|
|
|
These environments produce a box consisting of a sequence of rows of items,
|
|
aligned vertically in columns. The mandatory and optional arguments consist
|
|
of:
|
|
|
|
{width} Specifies the width of the tabular* environment. There must be
|
|
rubber space between columns that can stretch to fill out the
|
|
specified width.
|
|
|
|
[pos] Specifies the vertical position; default is alignment on the
|
|
centre of the environment.
|
|
t - align on top row
|
|
b - align on bottom row
|
|
|
|
{cols} Specifies the column formatting. It consists of a sequence of
|
|
the following specifiers, corresponding to the sequence of
|
|
columns and intercolumn material.
|
|
l - A column of left-aligned items.
|
|
|
|
r - A column of right-aligned items.
|
|
|
|
c - A column of centred items.
|
|
|
|
| - A vertical line the full height and depth of the
|
|
environment.
|
|
|
|
@{text} - This inserts text in every row. An @-expression
|
|
suppresses the intercolumn space normally inserted
|
|
between columns; any desired space between the
|
|
inserted text and the adjacent items must be included
|
|
in text. An \extracolsep{wd} command in an
|
|
@-expression causes an extra space of width {wd} to
|
|
appear to the left of all subsequent columns, until
|
|
countermanded by another |\extracolsep| command. Unlike
|
|
ordinary intercolumn space, this extra space is not
|
|
suppressed by an @-expression. An |\extracolsep|
|
|
command can be used only in an @-expression in the
|
|
cols argument.
|
|
|
|
p{wd} - Produces a column with each item typeset in a |\parbox|
|
|
of width {wd}, as if it were the argument of a
|
|
\parbox[t]{wd} command. However, a |\\| may not appear
|
|
in the item, except in the following situations:
|
|
1. inside an environment like |minipage|, |array|, or
|
|
|tabular|.
|
|
2. inside an explicit |\parbox|.
|
|
3. in the scope of a |\centering|, |\raggedright|, or
|
|
|\raggedleft| declaration. The latter declarations must
|
|
appear inside braces or an environment when used in a
|
|
p-column element.
|
|
|
|
{num}{cols} - Equivalent to num copies of cols, where num is any positive
|
|
integer and cols is any list of column-specifiers,
|
|
which may contain another -expression.
|
|
|
|
These commands can be used inside a tabular environment:
|
|
|
|
|\cline| Draw a horizontal line spanning some columns.
|
|
|\hline| Draw a * horizontal line spanning all columns.
|
|
|\multicolumn| Make an item spanning * several columns.
|
|
|\vline| Draw a vertical line.
|
|
|
|
|
|
\cline{i-j} *\cline*
|
|
The |\cline| command draws horizontal lines across the columns
|
|
specified, beginning in column i and ending in column j,
|
|
which are identified in the mandatory argument.
|
|
|
|
\hline *\hline*
|
|
The |\hline| command will draw a horizontal line the width of
|
|
the table. It's most commonly used to draw a line at the top,
|
|
bottom, and between the rows of the table.
|
|
|
|
\multicolumn{cols}{pos}{text} *\multicolumn*
|
|
The |\multicolumn| is used to make an entry that spans several
|
|
columns. The first mandatory argument, {cols}, specifies the
|
|
number of columns to span. The second mandatory argument,
|
|
{pos}, specifies the formatting of the entry:
|
|
c - centered
|
|
l - flushleft
|
|
r - flushright.
|
|
The third mandatory argument, {text}, specifies what text is
|
|
to make up the entry.
|
|
|
|
\vline *\vline*
|
|
The |\vline| command will draw a vertical line extending the
|
|
full height and depth of its row. An |\hfill| command can be
|
|
used to move the line to the edge of the column. It can also
|
|
be used in an @-expression.
|
|
|
|
==============================================================================
|
|
t. thebibliography *\thebibliography*
|
|
>
|
|
\begin{thebibliography}{widestlabel}
|
|
\bibitem[label]{cite_key}
|
|
.
|
|
.
|
|
.
|
|
\end{thebibliography}
|
|
|
|
The |\thebibliography| environment produces a bibliography or reference list.
|
|
|
|
In the |article-class|, this reference list is labelled "References"; in the
|
|
|report-class|, it is labelled "Bibliography".
|
|
|
|
{widestlabel} Text that, when printed, is approximately as wide as the
|
|
widest item label produces by the |\bibitem| commands.
|
|
|
|
|\bibitem| Specify a bibliography item.
|
|
|\cite| Refer to a bibliography item.
|
|
|\nocite| Include an item in the bibliography.
|
|
|BibTeX| Automatic generation of bibliographies.
|
|
|
|
\bibitem *\bibitem*
|
|
\bibitem[label]{citekey}
|
|
The |\bibitem| command generates an entry labelled by [label].
|
|
If the [label] argument is missing, a number is generated as
|
|
the label, using the |\enumi| counter. The {citekey} is any
|
|
sequence of letters, numbers, and punctuation symbols not
|
|
containing a comma. This command writes an entry on the `.aux'
|
|
file containing {citekey} and the item's label. When this
|
|
`.aux' file is read by the \begin{document} command, the
|
|
item's label is associated with {citekey}, causing the
|
|
reference to {citekey} by a |\cite| command to produce the
|
|
associated label.
|
|
|
|
\cite *\cite*
|
|
\cite[text]{keylist}
|
|
The {keylist} argument is a list of citation keys. This
|
|
command generates an in-text citation to the references
|
|
associated with the keys in {keylist} by entries on the `.aux'
|
|
file read by the \begin{document} command.
|
|
The optional text argument will appear after the
|
|
citation, i.e.: >
|
|
\cite[p.2]{knuth}
|
|
< might produce `[Knuth, p. 2]'.
|
|
|
|
\nocite *\nocite*
|
|
\nocite{keylist}
|
|
The |\nocite| command produces no text, but writes
|
|
{keylist}, which is a list of one or more citation
|
|
keys, on the `.aux' file.
|
|
|
|
BibTeX *BibTeX* *bibtex*
|
|
*\bibliographystyle*
|
|
If you use the BibTeX 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 |thebibliography| environment. Instead, you
|
|
include the lines:
|
|
>
|
|
\bibliographystyle{style}
|
|
\bibliography{bibfile}
|
|
|
|
where {style} refers to a file style.bst, which defines how your citations
|
|
will look. The standard styles distributed with BibTeX are:
|
|
|
|
{alpha} Sorted alphabetically. Labels are formed from name of author and year
|
|
of publication.
|
|
{plain} Sorted alphabetically. Labels are numeric.
|
|
{unsrt} Like plain, but entries are in order of citation.
|
|
{abbrv} Like plain, but more compact labels.
|
|
|
|
In addition, numerous other BibTeX style files exist tailored to the demands
|
|
of various publications.
|
|
|
|
*\bibliography*
|
|
The argument to |\bibliography| refers to the file bibfile.bib, which should
|
|
contain your database in BibTeX format. Only the entries referred to via
|
|
|\cite| and |\nocite| will be listed in the bibliography.
|
|
|
|
==============================================================================
|
|
u. theorem *theorem*
|
|
>
|
|
\begin{theorem}
|
|
theorem text
|
|
\end{theorem}
|
|
|
|
The |theorem| environment produces "Theorem x" in boldface followed by your
|
|
theorem text.
|
|
|
|
==============================================================================
|
|
v. titlepage *titlepage*
|
|
>
|
|
\begin{titlepage}
|
|
text
|
|
\end{titlepage}
|
|
|
|
The |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 |\today| command comes in
|
|
handy for title pages.
|
|
|
|
Note that you can use the |\maketitle| to produce a standard title page.
|
|
|
|
==============================================================================
|
|
x. verbatim *verbatim*
|
|
>
|
|
\begin{verbatim}
|
|
text
|
|
\end{verbatim}
|
|
|
|
The |verbatim| environment is a paragraph-making environment that gets LaTeX
|
|
to print exactly what you type in. It turns LaTeX into a typewriter with
|
|
carriage returns and blanks having the same effect that they would on a
|
|
typewriter.
|
|
|
|
\verb *\verb*
|
|
\verb char literal_text char
|
|
\verb*char literal_text char
|
|
Typesets literal_text exactly as typed, including
|
|
special characters and spaces, using a typewriter |\tt|
|
|
type style. There may be no space between |\verb| or
|
|
|\verb|* and char (space is shown here only for
|
|
clarity). The *-form differs only in that spaces are
|
|
printed as `\verb*| |\'.
|
|
|
|
==============================================================================
|
|
y. verse *verse*
|
|
>
|
|
\begin{verse}
|
|
text
|
|
\end{verse}
|
|
|
|
The |verse| environment is designed for poetry, though you may find other uses
|
|
for it.
|
|
|
|
The margins are indented on the left and the right. Separate the lines of each
|
|
stanza with |\\|, and use one or more blank lines to separate the stanzas.
|
|
|
|
==============================================================================
|
|
8. Footnotes *latex-footnotes*
|
|
|
|
Footnotes can be produced in one of two ways. They can be produced with one
|
|
command, the |\footnote| command. They can also be produced with two commands,
|
|
the |\footnotemark| and the |\footnotetext| commands. See the specific command for
|
|
information on why you would use one over the other.
|
|
|
|
|\footnote| Insert a footnote
|
|
|\footnotemark| Insert footnote mark only
|
|
|\footnotetext| Insert footnote text only
|
|
|
|
\footnote[number]{text} *\footnote*
|
|
Command places the numbered footnote text at the bottom of the
|
|
current page. The optional argument, number, is used to change
|
|
the default footnote number. This command can only be used in
|
|
outer paragraph mode; i.e., you cannot use it in sectioning
|
|
commands like |\chapter|, in |\figure|, |\table| or in a
|
|
|\tabular| environment.
|
|
|
|
\footnotemark *\footnotemark*
|
|
Command puts the footnote number in the text. This command can
|
|
be used in inner paragraph mode. The text of the footnote is
|
|
supplied by the |\footnotetext| command.
|
|
This command can be used to produce several consecutive
|
|
footnote markers referring to the same footnote by using
|
|
>
|
|
\footnotemark[\value{footnote}]
|
|
<
|
|
after the first |\footnote| command.
|
|
|
|
\footnotetext[number]{text} *\footnotetext*
|
|
Command produces the text to be placed at the bottom of the
|
|
page. This command can come anywhere after the |\footnotemark|
|
|
command. The |\footnotetext| command must appear in outer
|
|
paragraph mode. The optional argument, number, is used to
|
|
change the default footnote number.
|
|
|
|
==============================================================================
|
|
9. Lengths *latex-lengths*
|
|
|
|
A length is a measure of distance. Many LaTeX commands take a length as an
|
|
argument.
|
|
|
|
|\newlength| Define a new length.
|
|
|\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.
|
|
|pre-lengths| Lengths that are, like, predefined.
|
|
|
|
\newlength{\gnat} *\newlength*
|
|
The |\newlength| command defines the mandatory argument, \gnat,
|
|
as a length command with a value of 0in. An error occurs if a
|
|
\gnat command already exists.
|
|
|
|
\setlength{\gnat}{length} *\setlength*
|
|
The |\setlength| command is used to set the value of a \gnat
|
|
command. The {length} argument can be expressed in any terms
|
|
of length LaTeX understands, i.e., inches (in), millimetres
|
|
(mm), points (pt), etc.
|
|
|
|
\addtolength{\gnat}{length} *\addtolength*
|
|
The |\addtolength| command increments a \gnat by the amount
|
|
specified in the {length} argument. It can be a negative
|
|
amount.
|
|
|
|
\settodepth{\gnat}{text} *\settodepth*
|
|
The |\settodepth| command sets the value of a \gnat command
|
|
equal to the depth of the {text} argument.
|
|
|
|
\settoheight{\gnat}{text} *\settoheight*
|
|
The |\settoheight| command sets the value of a \gnat command
|
|
equal to the height of the {text} argument.
|
|
|
|
\settowidth{\gnat}{text} *\settowidth*
|
|
The |\settowidth| command sets the value of a \gnat command
|
|
equal to the width of the {text} argument.
|
|
|
|
Predefined lengths *pre-lengths*
|
|
|
|
\width *\width*
|
|
\height *\height*
|
|
\depth *\depth*
|
|
\totalheight *\totalheight*
|
|
These length parameters can be used in the arguments of the
|
|
box-making commands See section Spaces & Boxes. They specify
|
|
the natural width etc. of the text in the box.
|
|
\totalheight equals \height + \depth.
|
|
To make a box with the text stretched to double the natural
|
|
size, e.g., say: >
|
|
\makebox[2\width]{Get a stretcher}
|
|
|
|
==============================================================================
|
|
10. Letters *latex-letters*
|
|
|
|
You can use LaTeX to typeset letters, both personal and business. The letter
|
|
document class is designed to make a number of letters at once, although you
|
|
can make just one if you so desire.
|
|
|
|
Your `.tex' source file has the same minimum commands as the other document
|
|
classes, i.e., you must have the following commands as a minimum: >
|
|
\documentclass{letter}
|
|
\begin{document}
|
|
...
|
|
letters
|
|
...
|
|
\end{document}
|
|
|
|
Each letter is a letter environment, whose argument is the name and address of
|
|
the recipient. For example, you might have: >
|
|
\begin{letter}
|
|
{Mr. Joe Smith\\
|
|
2345 Princess St. \\
|
|
Edinburgh, EH1 1AA}
|
|
...
|
|
\end{letter}
|
|
|
|
The letter itself begins with the |\opening| command. The text of the letter
|
|
follows. It is typed as ordinary LaTeX input. Commands that make no sense in
|
|
a letter, like |\chapter|, do not work. The letter closes with a |\closing|
|
|
command.
|
|
|
|
After the closing, you can have additional material. The |\cc| command produces
|
|
the usual "cc: ...". There's also a similar |\encl| command for a list of
|
|
enclosures. With both these commands, use|\\| to separate the items.
|
|
|
|
These commands are used with the letter class:
|
|
|\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.
|
|
|
|
\address{Return address} *\address*
|
|
The return address, as it should appear on the letter and the
|
|
envelope. Separate lines of the address should be separated
|
|
by |\\| commands. If you do not make an |\address| declaration,
|
|
then the letter will be formatted for copying onto your
|
|
organisation's standard letterhead. (See section Overview of
|
|
LaTeX and Local Guide, for details on your local
|
|
implementation). If you give an |\address| declaration, then
|
|
the letter will be formatted as a personal letter.
|
|
|
|
\cc{Kate Schechter\\Rob McKenna} *\cc*
|
|
Generate a list of other persons the letter was sent to. Each
|
|
name is printed on a separate line.
|
|
|
|
\closing{text} *\closing*
|
|
The letter closes with a |\closing| command, i.e., >
|
|
\closing{Best Regards,} \encl{CV\\Certificates}
|
|
< Generate a list of enclosed material.
|
|
|
|
\location{address} *\location*
|
|
This modifies your organisation's standard address. This only
|
|
appears if the firstpage pagestyle is selected.
|
|
|
|
\makelabels{number} *\makelabels*
|
|
If you issue this command in the preamble, LaTeX will create a
|
|
sheet of address labels. This sheet will be output before the
|
|
letters.
|
|
|
|
\name{June Davenport} *\name*
|
|
Your name, used for printing on the envelope together with the
|
|
return address.
|
|
|
|
\opening{text} *\opening*
|
|
The letter begins with the |\opening| command. The mandatory
|
|
argument, text, is whatever text you wish to start your
|
|
letter, i.e., >
|
|
\opening{Dear Joe,}
|
|
|
|
\ps *\ps*
|
|
Use this command before a postscript.
|
|
|
|
\signature{Harvey Swick} *\signature*
|
|
Your name, as it should appear at the end of the letter
|
|
underneath the space for your signature. Items that should go
|
|
on separate lines should be separated by |\\| commands.
|
|
|
|
\startbreaks *\startbreaks*
|
|
Used after a |\stopbreaks| command to allow page breaks again.
|
|
|
|
\stopbreaks *\stopbreaks*
|
|
Inhibit page breaks until a |\startbreaks| command occurs.
|
|
|
|
\telephone{number} *\telephone*
|
|
This is your telephone number. This only appears if the
|
|
firstpage pagestyle is selected.
|
|
|
|
==============================================================================
|
|
11. Line & Page Breaking *latex-breaking*
|
|
|
|
The first thing LaTeX does when processing ordinary text is to translate your
|
|
input file into a string of glyphs and spaces. To produce a printed document,
|
|
this string must be broken into lines, and these lines must be broken into
|
|
pages. In some environments, you do the line breaking yourself with the |\\|
|
|
command, but LaTeX usually does it for you.
|
|
|
|
|\\| Start a new line
|
|
|hyph-| Insert explicit hyphenation
|
|
|\cleardoublepage| Start a new right-hand page
|
|
|\clearpage| Start a new page
|
|
|\enlargethispage| Enlarge the current page a bit
|
|
|\fussy| Be fussy about line breaking
|
|
|\hyphenation| Tell LaTeX how to hyphenate a word
|
|
|\linebreak| Break the line
|
|
|\newline| Break the line prematurely
|
|
|\newpage| Start a new page
|
|
|\nolinebreak| Don't break the current line
|
|
|\nopagebreak| Don't make a page break here
|
|
|\pagebreak| Please make a page break here
|
|
|\sloppy| Be sloppy about line breaking
|
|
|
|
\\[*][extraspace] *\\* *\\\\*
|
|
The |\\| command tells LaTeX to start a new line. It has an
|
|
optional argument, [extraspace], that specifies how much extra
|
|
vertical space is to be inserted before the next line. This
|
|
can be a negative amount.
|
|
The \\* command is the same as the ordinary |\\| command
|
|
except that it tells LaTeX not to start a new page after the
|
|
line.
|
|
|
|
\- *hyph-*
|
|
The \- command tells LaTeX that it may hyphenate the word at
|
|
that point. LaTeX is very good at hyphenating, and it will
|
|
usually find all correct hyphenation points. The \- command is
|
|
used for the exceptional cases.
|
|
Note: when you insert \- 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.
|
|
|
|
\cleardoublepage *\cleardoublepage*
|
|
The |\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 (|twoside|), it
|
|
also makes the next page a right-hand (odd-numbered) page,
|
|
producing a blank page if necessary.
|
|
|
|
\clearpage *\clearpage*
|
|
The |\clearpage| command ends the current page and causes all
|
|
figures and tables that have so far appeared in the input to
|
|
be printed.
|
|
|
|
\enlargethispage{size} *\enlargethispage*
|
|
\enlargethispage*{size}
|
|
Enlarge the textheight for the current page by the
|
|
specified amount; e.g.: >
|
|
|
|
\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 |\pagebreak|.
|
|
|
|
\fussy *\fussy*
|
|
This declaration (which is the default) makes TeX more fussy
|
|
about line breaking. This can avoids too much space between
|
|
words, but may produce overfull boxes. This command cancels
|
|
the effect of a previous |\sloppy| command.
|
|
|
|
\hyphenation{words} *\hyphenation*
|
|
The |\hyphenation| command declares allowed hyphenation points,
|
|
where words is a list of words, separated by spaces, in which
|
|
each hyphenation point is indicated by a - character.
|
|
|
|
\linebreak[number] *\linebreak*
|
|
The |\linebreak| command tells LaTeX to break the current line
|
|
at the point of the command. With the optional argument,
|
|
number, you can convert the |\linebreak| command from a demand
|
|
to a request. The [number] must be a number from 0 to 4. The
|
|
higher the number, the more insistent the request is. The
|
|
|\linebreak| command causes LaTeX to stretch the line so it
|
|
extends to the right margin.
|
|
|
|
\newline *\newline*
|
|
The |\newline| command breaks the line right where it is. It
|
|
can only be used in paragraph mode.
|
|
|
|
\newpage *\newpage*
|
|
The |\newpage| command ends the current page.
|
|
|
|
\nolinebreak[number] *\nolinebreak*
|
|
The |\nolinebreak| command prevents LaTeX from breaking the
|
|
current line at the point of the command. With the optional
|
|
argument, [number], you can convert the |\nolinebreak| command
|
|
from a demand to a request. The [number] must be a number from 0
|
|
to 4. The higher the number, the more insistent the request
|
|
is.
|
|
|
|
\nopagebreak[number] *\nopagebreak*
|
|
The |\nopagebreak| command prevents LaTeX from breaking the
|
|
current page at the point of the command. With the optional
|
|
argument, [number], you can convert the |\nopagebreak| command
|
|
from a demand to a request. The [number] must be a number from
|
|
0 to 4. The higher the number, the more insistent the request
|
|
is.
|
|
|
|
\pagebreak[number] *\pagebreak*
|
|
The |\pagebreak| command tells LaTeX to break the current page
|
|
at the point of the command. With the optional argument,
|
|
[number], you can convert the |\pagebreak| command from a
|
|
demand to a request. The [number] must be a number from 0 to
|
|
4. The higher the number, the more insistent the request is.
|
|
|
|
\sloppy *\sloppy*
|
|
This declaration makes TeX less fussy about line breaking.
|
|
This can prevent overfull boxes, but may leave too much space
|
|
between words.
|
|
Lasts until a |\fussy| command is issued.
|
|
|
|
==============================================================================
|
|
12. Making Paragraphs *latex-paragraphs*
|
|
|
|
A paragraph is ended by one or more completely blank lines -- lines not
|
|
containing even a |\%|. 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.
|
|
|
|
|\indent| Indent this paragraph.
|
|
|\noindent| Do not indent this paragraph.
|
|
|\par| Another way of writing a blank line.
|
|
|
|
\indent *\indent*
|
|
This produces a horizontal space whose width equals the width
|
|
of the paragraph indentation. It is used to add paragraph
|
|
indentation where it would otherwise be suppressed.
|
|
|
|
\noindent *\noindent*
|
|
When used at the beginning of the paragraph, it suppresses the
|
|
paragraph indentation. It has no effect when used in the
|
|
middle of a paragraph.
|
|
|
|
\par *\par*
|
|
Equivalent to a blank line; often used to make command or
|
|
environment definitions easier to read.
|
|
|
|
==============================================================================
|
|
13. Margin Notes *latex-margin-notes*
|
|
|
|
\marginpar[left]{right} *\marginpar*
|
|
This command creates a note in the margin. The first line will
|
|
be at the same height as the line in the text where the
|
|
|\marginpar| occurs.
|
|
|
|
When you only specify the mandatory argument {right}, the text
|
|
will be placed:
|
|
* in the right margin for one-sided layout
|
|
* in the outside margin for two-sided layout (|twoside|)
|
|
* in the nearest margin for two-column layout (|twocolumn|)
|
|
|
|
\reversemarginpar *\reversemarginpar*
|
|
By issuing the command |\reversemarginpar|, you can force the
|
|
marginal notes to go into the opposite (inside) margin.
|
|
|
|
When you specify both arguments, left is used for the left margin, and right
|
|
is used for the right margin.
|
|
|
|
The first word will normally not be hyphenated; you can enable hyphenation by
|
|
prefixing the first word with a \hspace{0pt} command (|hspace|).
|
|
|
|
==============================================================================
|
|
14. Math Formulae *latex-math*
|
|
*displaymath*
|
|
There are three environments (|latex-environments|) that put LaTeX in math
|
|
mode:
|
|
|math| For Formulae that appear right in the text.
|
|
|displaymath| For Formulae that appear on their own line.
|
|
|equation| The same as the displaymath environment except that it adds an
|
|
equation number in the right margin.
|
|
|
|
The |math| environment can be used in both paragraph and LR mode, but the
|
|
|displaymath| and |equation| environments can be used only in paragraph mode. The
|
|
|math| and |displaymath| environments are used so often that they have the
|
|
following short forms:
|
|
\(...\) instead of \begin{math}...\end{math}
|
|
\[...\] instead of \begin{displaymath}...\end{displaymath}
|
|
|
|
In fact, the math environment is so common that it has an even shorter form:
|
|
$ ... $ instead of \(...\)
|
|
|
|
|sub-sup| Also known as exponent or index.
|
|
|math-symbols| Various mathematical squiggles.
|
|
|math-spacing| Thick, medium, thin and negative spaces.
|
|
|math-misc| Stuff that doesn't fit anywhere else.
|
|
|
|
==========
|
|
Subscripts & Superscripts *sub-sup*
|
|
*subscripts* *superscripts*
|
|
|
|
To get an expression exp to appear as a subscript, you just type _{exp}. To
|
|
get exp to appear as a superscript, you type ^{exp}. LaTeX handles
|
|
superscripted superscripts and all of that stuff in the natural way. It even
|
|
does the right thing when something has both a subscript and a superscript.
|
|
|
|
==========
|
|
Math Symbols *math-symbols*
|
|
|
|
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 >
|
|
$\pi$
|
|
in your source, you will get the symbol in your output.
|
|
|
|
==========
|
|
Spacing in Math Mode *math-spacing*
|
|
|
|
In a math environment, LaTeX ignores the spaces you type and puts in the
|
|
spacing that it thinks is best. LaTeX formats mathematics the way it's done in
|
|
mathematics texts. If you want different spacing, LaTeX provides the following
|
|
four commands for use in math mode:
|
|
\; - a thick space *math;*
|
|
\: - a medium space *math:*
|
|
\, - a thin space *math,*
|
|
\! - a negative thin space *matn!*
|
|
|
|
==========
|
|
Math Miscellany *math-misc*
|
|
|
|
\cdots *\cdots*
|
|
Produces a horizontal ellipsis where the dots are raised to
|
|
the centre of the line.
|
|
\ddots *\ddots*
|
|
Produces a diagonal ellipsis.
|
|
\frac{num}{den} *\frac*
|
|
Produces the fraction num divided by den.
|
|
\ldots *\ldots*
|
|
Produces an ellipsis. This command works in any mode, not just
|
|
math mode.
|
|
\overbrace{text} *\overbrace*
|
|
Generates a brace over text.
|
|
\overline{text} *\overline*
|
|
Causes the argument text to be overlined.
|
|
\sqrt[root]{arg} *\sqrt*
|
|
Produces the square root of its argument. The optional
|
|
argument, [root], determines what root to produce, i.e., the
|
|
cube root of x+y would be typed as: >
|
|
$\sqrt[3]{x+y}$.
|
|
\underbrace{text} *\underbrace*
|
|
Generates text with a brace underneath.
|
|
\underline{text} *\underline*
|
|
Causes the argument text to be underlined. This command can
|
|
also be used in paragraph and LR mode.
|
|
\vdots *\vdots*
|
|
Produces a vertical ellipsis.
|
|
|
|
==============================================================================
|
|
15. Modes *latex-modes*
|
|
|
|
When LaTeX is processing your input text, it is always in one of three modes:
|
|
Paragraph mode *paragraph-mode*
|
|
Math mode *math-mode*
|
|
Left-to-right mode, called LR mode for short. *lr-mode*
|
|
|
|
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 |\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 |\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 |\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".
|
|
|
|
==============================================================================
|
|
16. Page Styles *latex-page-styles*
|
|
|
|
The |\documentclass| command determines the size and position of the page's head
|
|
and foot. The page style determines what goes in them.
|
|
|
|
|\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.
|
|
|
|
\maketitle *\maketitle*
|
|
The |\maketitle| command generates a title on a separate title
|
|
page - except in the |\article| class, where the title normally
|
|
goes at the top of the first page. Information used to
|
|
produce the title is obtained from the following declarations:
|
|
|
|
|\author| Who wrote this stuff?
|
|
|\date| The date the document was created.
|
|
|\thanks| A special form of footnote.
|
|
|\title| How to set the document title.
|
|
|
|
\author{names} *\author* *\and*
|
|
The |\author| command declares the author(s), where
|
|
names is a list of authors separated by \and commands.
|
|
Use |\\| to separate lines within a single author's
|
|
entry -- for example, to give the author's institution
|
|
or address.
|
|
|
|
\date{text} *\date*
|
|
The |\date| command declares text to be the document's
|
|
date. With no |\date| command, the current date is
|
|
used.
|
|
|
|
\thanks{text} *\thanks*
|
|
The |\thanks| command produces a |\footnote| to the
|
|
title.
|
|
|
|
\title{text} *\title*
|
|
The |\title| command declares text to be the title. Use
|
|
|\\| to tell LaTeX where to start a new line in a long
|
|
title.
|
|
|
|
\pagenumbering{numstyle} *\pagenumbering*
|
|
Specifies the style of page numbers. Possible values of
|
|
'numstyle' are:
|
|
arabic - Arabic numerals *arabic*
|
|
roman - Lowercase Roman numerals *roman*
|
|
Roman - Uppercase Roman numerals *Roman*
|
|
alph - Lowercase letters *alph*
|
|
Alph - Uppercase letters *Alph*
|
|
|
|
\pagestyle{option} *\pagestyle*
|
|
*plain* *empty* *headings*
|
|
The |\pagestyle| command changes the style from the current
|
|
page on throughout the remainder of your document.
|
|
The valid options are:
|
|
plain - Just a plain page number.
|
|
empty - Produces empty heads and feet no page numbers.
|
|
headings - Puts running headings on each page. The document
|
|
style specifies what goes in the headings.
|
|
myheadings - You specify what is to go in the heading with the
|
|
|\markboth| or the |\markright| commands.
|
|
|
|
|\markboth| Set left and right headings.
|
|
|\markright| Set right heading only.
|
|
|
|
\markboth{left head}{right head} *\markboth*
|
|
The |\markboth| command is used in conjunction with the
|
|
page style myheadings for setting both the left and
|
|
the right heading.
|
|
Note that a "left-hand heading" is generated by the
|
|
last |\markboth| command before the end of the page,
|
|
while a "right-hand heading" is generated by the first
|
|
|\markboth| or |\markright| that comes on the page if
|
|
there is one, otherwise by the last one before the
|
|
page.
|
|
|
|
|
|
\markright{right head} *\markright*
|
|
The |\markright| command is used in conjunction with
|
|
the page style |\myheadings| for setting the right
|
|
heading, leaving the left heading unchanged.
|
|
Note that a "left-hand heading" is generated by the
|
|
last |\markboth| command before the end of the page,
|
|
while a "right-hand heading" is generated by the first
|
|
|\markboth| or |\markright| that comes on the page if
|
|
there is one, otherwise by the last one before the
|
|
page.
|
|
|
|
\thispagestyle{option} *\thispagestyle*
|
|
The |\thispagestyle| command works in the same manner as the
|
|
|\pagestyle| command except that it changes the style for the
|
|
current page only.
|
|
|
|
==============================================================================
|
|
17. Sectioning *latex-sectioning*
|
|
|
|
Sectioning commands provide the means to structure your text into units.
|
|
|\part|
|
|
|\chapter| (report and book class only)
|
|
|\section|
|
|
|\subsection|
|
|
|\subsubsection|
|
|
|\paragraph|
|
|
|\subparagraph|
|
|
|
|
All sectioning commands take the same general form, i.e.,
|
|
|
|
*\part*
|
|
*\chapter* (report and book class only)
|
|
*\section* *\subsection* *\subsubsection*
|
|
*\paragraph* *\subparagraph*
|
|
\chapter[optional]{title}
|
|
In addition to providing the heading in the text, the
|
|
mandatory argument of the sectioning command can appear in two
|
|
other places:
|
|
1. The table of contents
|
|
2. The running head at the top of the page. You may not want
|
|
the same thing to appear in these other two places as
|
|
appears in the text heading. To handle this situation, the
|
|
sectioning commands have an optional argument that provides
|
|
the text for these other two purposes.
|
|
|
|
All sectioning commands have *\-forms that print a title, but do not include a
|
|
number and do not make an entry in the table of contents.
|
|
|
|
\appendix *\appendix*
|
|
The |\appendix| command changes the way sectional units are
|
|
numbered. The |\appendix| command generates no text and does
|
|
not affect the numbering of parts. The normal use of this
|
|
command is something like: >
|
|
\chapter{The First Chapter}
|
|
...
|
|
\appendix \chapter{The First Appendix}
|
|
|
|
|
|
==============================================================================
|
|
18. Spaces & Boxes *latex-spaces-boxes*
|
|
|
|
All the predefined length parameters See section Predefined lengths can be
|
|
used in the arguments of the box-making commands.
|
|
|
|
Horizontal space:
|
|
|
|
|\dotfill| Stretchable horizontal dots.
|
|
|\hfill| Stretchable horizontal space.
|
|
|\hrulefill| Stretchable horizontal rule.
|
|
|\hspace| Fixed horizontal space.
|
|
|
|
Vertical space:
|
|
|
|
|\addvspace| Fixed vertical space.
|
|
|\bigskip| Fixed vertical space.
|
|
|\medskip| Fixed vertical space.
|
|
|\smallskip| Fixed vertical space.
|
|
|\vfill| Stretchable vertical space.
|
|
|\vspace| Fixed vertical space.
|
|
|
|
Boxes:
|
|
|
|
|\fbox| Framebox.
|
|
|\framebox| Framebox, adjustable position.
|
|
|\lrbox| An environment like |\sbox|.
|
|
|\makebox| Box, adjustable position.
|
|
|\mbox| Box.
|
|
|\newsavebox| Declare a name for saving a box.
|
|
|\parbox| Box with text in paragraph mode.
|
|
|\raisebox| Raise or lower text.
|
|
|\rule| Lines and squares.
|
|
|\savebox| Like |\makebox|, but save the text for later use.
|
|
|\sbox| Like |\mbox|, but save the text for later use.
|
|
|\usebox| Print saved text.
|
|
|
|
Horizontal space: *latex-hor-space*
|
|
|
|
LaTeX removes horizontal space that comes at the end of a line. If you don't
|
|
want LaTeX to remove this space, include the optional * argument. Then the
|
|
space is never removed.
|
|
|
|
\dotfill *\dotfill*
|
|
The |\dotfill| command produces a "rubber length" that produces
|
|
dots instead of just spaces.
|
|
|
|
\hfill *\hfill*
|
|
The |\hfill| fill command produces a "rubber length" which can
|
|
stretch or shrink horizontally. It will be filled with spaces.
|
|
|
|
\hrulefill *\hrulefill*
|
|
The |\hrulefill| fill command produces a "rubber length" which
|
|
can stretch or shrink horizontally. It will be filled with a
|
|
horizontal rule.
|
|
|
|
\hspace[*]{length} *\hspace*
|
|
The |\hspace| command adds horizontal space. The length of the
|
|
space can be expressed in any terms that LaTeX understands,
|
|
i.e., points, inches, etc. You can add negative as well as
|
|
positive space with an |\hspace| command. Adding negative space
|
|
is like backspacing.
|
|
|
|
|
|
Vertical space: *latex-ver-space*
|
|
|
|
LaTeX removes vertical space that comes at the end of a page. If you don't
|
|
want LaTeX to remove this space, include the optional * argument. Then the
|
|
space is never removed.
|
|
|
|
\addvspace{length} *\addvspace*
|
|
The |\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
|
|
|\addvspace| command, then this command will not add more space
|
|
than needed to make the natural length of the total vertical
|
|
space equal to length.
|
|
|
|
\bigskip *\bigskip*
|
|
The |\bigskip| command is equivalent to \vspace{bigskipamount}
|
|
where bigskipamount is determined by the document class.
|
|
|
|
\medskip *\medskip*
|
|
The |\medskip| command is equivalent to \vspace{medskipamount}
|
|
where medskipamount is determined by the document class.
|
|
|
|
\smallskip *\smallskip*
|
|
The |\smallskip| command is equivalent to
|
|
\vspace{smallskipamount} where smallskipamount is determined
|
|
by the document class.
|
|
|
|
\vfill *\vfill*
|
|
The |\vfill| fill command produces a rubber length which can
|
|
stretch or shrink vertically.
|
|
|
|
\vspace[*]{length} *\vspace*
|
|
The |\vspace| command adds vertical space. The length of the
|
|
space can be expressed in any terms that LaTeX understands,
|
|
i.e., points, inches, etc. You can add negative as well as
|
|
positive space with an |\vspace| command.
|
|
|
|
|
|
Boxes: *latex-boxes*
|
|
|
|
\fbox{text} *\fbox*
|
|
The |\fbox| command is exactly the same as the |\mbox| command,
|
|
except that it puts a frame around the outside of the box that
|
|
it creates.
|
|
|
|
\framebox[width][position]{text} *\framebox*
|
|
The |\framebox| command is exactly the same as the |\makebox|
|
|
command, except that it puts a frame around the outside of the
|
|
box that it creates.
|
|
The |\framebox| command produces a rule of thickness
|
|
|\fboxrule|, and leaves a space |\fboxsep| between the rule and
|
|
the contents of the box.
|
|
|
|
lrbox *\lrbox*
|
|
\begin{lrbox}{cmd} text \end{lrbox}
|
|
This is the environment form of |\sbox|.
|
|
The text inside the environment is saved in the box cmd, which
|
|
must have been declared with |\newsavebox|.
|
|
|
|
\makebox[width][position]{text} *\makebox*
|
|
The |\makebox| command creates a box just wide enough to
|
|
contain the text specified. The width of the box is specified
|
|
by the optional [width] argument. The position of the text
|
|
within the box is determined by the optional [position]
|
|
argument.
|
|
c -- centred (default)
|
|
l -- flushleft
|
|
r -- flushright
|
|
s -- stretch from left to right margin. The text must
|
|
contain stretchable space for this to work.
|
|
See section |\picture-makebox|.
|
|
|
|
\mbox{text} *\mbox*
|
|
The |\mbox| command creates a box just wide enough to hold the
|
|
text created by its argument.
|
|
Use this command to prevent text from being split across
|
|
lines.
|
|
|
|
\newsavebox{cmd} *\newsavebox*
|
|
Declares {cmd}, which must be a command name that is not
|
|
already defined, to be a bin for saving boxes.
|
|
|
|
|
|
\parbox[position][height][innerpos]{width}{text} *\parbox*
|
|
A parbox is a box whose contents are created in
|
|
|\paragraph-mode|. The |\parbox| has two
|
|
|
|
Mandatory arguments:
|
|
'width' specifies the width of the parbox
|
|
'text' the text that goes inside the parbox.
|
|
|
|
Optional arguments:
|
|
'position' LaTeX will position a parbox so its centre lines up with the
|
|
centre of the text line. The optional position argument allows
|
|
you to line up either the top or bottom line in the parbox
|
|
(default is top).
|
|
|
|
'height' If the height argument is not given, the box will have the
|
|
natural height of the text.
|
|
|
|
'innerpos' The inner-pos argument controls the placement of the text
|
|
inside the box. If it is not specified, position is used.
|
|
t -- text is placed at the top of the box
|
|
c -- text is centred in the box
|
|
b -- text is placed at the bottom of the box
|
|
s -- stretch vertically. The text must contain
|
|
vertically stretchable space for this to work.
|
|
|
|
A |\parbox| command is used for a parbox containing a small
|
|
piece of text, with nothing fancy inside. In particular, you
|
|
shouldn't use any of the paragraph-making environments inside
|
|
a |\parbox| argument. For larger pieces of text, including ones
|
|
containing a paragraph-making environment, you should use a
|
|
|\minipage| environment.
|
|
|
|
\raisebox{distance}[extendabove][extendbelow]{text} *\raisebox*
|
|
The |\raisebox| command is used to raise or lower text. The
|
|
first mandatory argument specifies how high the text is to be
|
|
raised (or lowered if it is a negative amount). The text
|
|
itself is processed in LR mode.
|
|
Sometimes it's useful to make LaTeX think something has a
|
|
different size than it really does - or a different size than
|
|
LaTeX would normally think it has. The |\raisebox| command
|
|
lets you tell LaTeX how tall it is.
|
|
The first optional argument, extend-above, makes LaTeX think
|
|
that the text extends above the line by the amount specified.
|
|
The second optional argument, extend-below, makes LaTeX think
|
|
that the text extends below the line by the amount specified.
|
|
|
|
\rule[raiseheight]{width}{thickness} *\rule*
|
|
The |\rule| command is used to produce horizontal lines. The
|
|
arguments are defined as follows:
|
|
'raiseheight' specifies how high to raise the rule (optional)
|
|
'width' specifies the length of the rule (mandatory)
|
|
'thickness' specifies the thickness of the rule (mandatory)
|
|
|
|
\savebox{cmd}[width][pos]{text} *\savebox*
|
|
This command typeset text in a box just as for |\makebox|.
|
|
However, instead of printing the resulting box, it saves it in
|
|
bin cmd, which must have been declared with |\newsavebox|.
|
|
|
|
\sbox{text} *\sbox*
|
|
This commands typeset text in a box just as for |\mbox|.
|
|
However, instead of printing the resulting box, it saves it in
|
|
bin cmd, which must have been declared with |\newsavebox|.
|
|
|
|
\usebox{cmd} *\usebox*
|
|
Prints the box most recently saved in bin cmd by a |\savebox|
|
|
command.
|
|
|
|
==============================================================================
|
|
19. Special Characters *latex-special*
|
|
|
|
The following characters play a special role in LaTeX and are called "special
|
|
printing characters", or simply "special characters". >
|
|
# $ % & ~ _ ^ \ { }
|
|
Whenever you put one of these special characters into your file, you are doing
|
|
something special. If you simply want the character to be printed just as any
|
|
other letter, include a \ in front of the character. For example, \$ will
|
|
produce $ in your output.
|
|
|
|
One exception to this rule is the \ itself because |\\| has its own special
|
|
meaning. A \ is produced by typing $\backslash$ in your file.
|
|
|
|
Also, \~ means `place a tilde accent over the following letter', so you will
|
|
probably want to use |\verb| instead.
|
|
*\symbol*
|
|
In addition, you can access any character of a font once you know its number
|
|
by using the |\symbol| command. For example, the character used for displaying
|
|
spaces in the |\verb|* command has the code decimal 32, so it can be typed as
|
|
\symbol{32}.
|
|
|
|
You can also specify octal numbers with ' or hexadecimal numbers with ", so
|
|
the previous example could also be written as \symbol{'40} or \symbol{"20}.
|
|
|
|
==============================================================================
|
|
20. Splitting the Input *latex-inputting*
|
|
|
|
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.
|
|
|
|
|\include| Conditionally include a file
|
|
|\includeonly| Determine which files are included
|
|
|\input| Unconditionally include a file
|
|
|
|
\include{file} *\include*
|
|
The \include command is used in conjunction with the
|
|
|\includeonly| command for selective inclusion of
|
|
files. The file argument is the first name of a file,
|
|
denoting `file.tex' . If file is one the file names in
|
|
the file list of the |\includeonly| command or if there
|
|
is no |\includeonly| command, the \include command is
|
|
equivalent to: >
|
|
\clearpage \input{file} \clearpage
|
|
<
|
|
except that if the file `file.tex' does not exist,
|
|
then a warning message rather than an error is
|
|
produced. If the file is not in the file list, the
|
|
\include command is equivalent to |\clearpage|.
|
|
|
|
The |\include| command may not appear in the preamble or in a
|
|
file read by another |\include| command.
|
|
|
|
\includeonly{filelist} *\includeonly*
|
|
The |\includeonly| command controls which files will be read in
|
|
by an |\include| command. {filelist} should be a
|
|
comma-separated list of filenames. Each filename must match
|
|
exactly a filename specified in a |\include| command. This
|
|
command can only appear in the preamble.
|
|
|
|
\input{file} *\input*
|
|
The |\input| command causes the indicated file to be read and
|
|
processed, exactly as if its contents had been inserted in the
|
|
current file at that point. The file name may be a complete
|
|
file name with extension or just a first name, in which case
|
|
the file `file.tex' is used.
|
|
==============================================================================
|
|
21. Starting & Ending *latex-start-end*
|
|
|
|
Your input file must contain the following commands as a minimum:
|
|
\documentclass{class} |\documentclass|
|
|
\begin{document} |\begin|
|
|
... your text goes here ...
|
|
\end{document} |\end|
|
|
|
|
where the class selected is one of the valid classes for LaTeX.
|
|
See |\classes|for details of the various document classes.
|
|
|
|
You may include other LaTeX commands between the |\documentclass| and the
|
|
\begin{document} commands (i.e., in the `preamble').
|
|
==============================================================================
|
|
22. Table of Contents *latex-toc*
|
|
|
|
*\tableofcontents*
|
|
A table of contents is produced with the |\tableofcontents| command. You put
|
|
the command right where you want the table of contents to go; LaTeX does the
|
|
rest for you. It produces a heading, but it does not automatically start a new
|
|
page. If you want a new page after the table of contents, include a |\newpage|
|
|
command after the |\tableofcontents| command.
|
|
|
|
*\listoffigures* *\listoftables*
|
|
There are similar commands |\listoffigures| and |\listoftables| for producing a
|
|
list of figures and a list of tables, respectively. Everything works exactly
|
|
the same as for the table of contents.
|
|
|
|
*\nofiles*
|
|
NOTE: If you want any of these items to be generated, you cannot have the
|
|
\nofiles command in your document.
|
|
|
|
|\addcontentsline| Add an entry to table of contents etc.
|
|
|\addtocontents| Add text directly to table of contents file etc.
|
|
|
|
\addcontentsline{file}{secunit}{entry} *\addcontentsline*
|
|
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),
|
|
lot (list of tables).
|
|
{secunit} controls the formatting of the entry. It should be one of the
|
|
following, depending upon the value of the file argument:
|
|
toc -- the name of the sectional unit, such as part or
|
|
subsection.
|
|
lof -- figure
|
|
lot -- table
|
|
{entry} is the text of the entry.
|
|
|
|
\addtocontents{file}{text} *\addtocontents*
|
|
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),
|
|
lot (list of tables).
|
|
{text} is the information to be written.
|
|
|
|
==============================================================================
|
|
23. Terminal Input/Output *latex-terminal*
|
|
|
|
|\typein| Read text from the terminal.
|
|
|\typeout| Write text to the terminal.
|
|
|
|
\typein[cmd]{msg} *\typein*
|
|
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{msg} *\typeout*
|
|
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.
|
|
|
|
*\space*
|
|
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.
|
|
|
|
==============================================================================
|
|
24. Typefaces *latex-typefaces*
|
|
|
|
The typeface is specified by giving the "size" and "style". A typeface is also
|
|
called a "font".
|
|
|font-styles| Select roman, italics etc.
|
|
|font-size| Select point size.
|
|
|font-lowlevelcommands| Commands for wizards.
|
|
|
|
Styles *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) *\textrm* *\rmfamily*
|
|
Roman
|
|
|
|
\textit (\itshape) *\textit* *\itshape* *\emph*
|
|
Emphasis (toggles between |\textit| and |\textrm|).
|
|
|
|
\textmd (\mdseries) *\textmd* *\mdseries*
|
|
Medium weight (default). The opposite of boldface.
|
|
|
|
\textbf (\bfseries) *\textbf* *\bfseries*
|
|
Boldface.
|
|
|
|
\textup (\upshape) *\textup* *\upshape*
|
|
Upright (default). The opposite of slanted.
|
|
|
|
\textsl (\slshape) *\textsl* *\slshape*
|
|
Slanted.
|
|
|
|
\textsf (\sffamily) *\textsf* *\sffamily*
|
|
Sans serif.
|
|
|
|
\textsc (\scshape) *\textsc* *\scshape*
|
|
Small caps.
|
|
|
|
\texttt (\ttfamily) *\texttt* *\ttfamily*
|
|
Typewriter.
|
|
|
|
\textnormal (\normalfont) *\textnormal* *\normalfont*
|
|
Main document font.
|
|
|
|
\mathrm *\mathrm*
|
|
Roman, for use in math mode.
|
|
|
|
\mathbf *\mathbf*
|
|
Boldface, for use in math mode.
|
|
|
|
\mathsf *\mathsf*
|
|
Sans serif, for use in math mode.
|
|
|
|
\mathtt *\mathtt*
|
|
Typewriter, for use in math mode.
|
|
|
|
\mathit *\mathit*
|
|
Italics, for use in math mode, e.g. variable names with
|
|
several letters.
|
|
|
|
\mathnormal *\mathnormal*
|
|
For use in math mode, e.g. inside another type style
|
|
declaration.
|
|
|
|
\mathcal *\mathcal*
|
|
`Calligraphic' letters, for use in math mode.
|
|
|
|
*\mathversion*
|
|
In addition, the command \mathversion{bold} can be used for switching to bold
|
|
letters and symbols in formulas. \mathversion{normal} restores the default.
|
|
|
|
==========
|
|
Sizes *font-size*
|
|
|
|
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 *\tiny*
|
|
\scriptsize *\scriptsize*
|
|
\footnotesize *\footnotesize*
|
|
\small *\small*
|
|
\normalsize(default) *\normalsize*
|
|
\large *\large*
|
|
\Large *\Large*
|
|
\LARGE *\LARGE*
|
|
\huge *\huge*
|
|
\Huge *\Huge*
|
|
|
|
==========
|
|
Low-level font commands *font-lowlevelcommands*
|
|
|
|
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} *\fontencoding*
|
|
Select font encoding. Valid encodings include OT1 and T1.
|
|
|
|
\fontfamily{family} *\fontfamily*
|
|
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} *\fontseries*
|
|
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} *\fontshape*
|
|
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} *\fontsize*
|
|
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 *\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} *\usefont*
|
|
Equivalent to calling |\fontencoding|, |\fontfamily|,
|
|
|\fontseries| and |\fontshape| with the given parameters,
|
|
followed by |\selectfont|.
|
|
|
|
==============================================================================
|
|
25. Parameters *latex-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.
|
|
|
|
vim:tw=78:ts=8:ft=help:norl:
|