ignore on .netrwhist
[my-vim-dotfolder.git] / doc / latexhelp.txt
bloba1085a1f15632e05f34d26fb7e8b84e99d886fee
1 *latexhelp.txt*    For Vim version 6.0.  Last change: 2001 Dec 20
4                                 LATEX HELP 1.6  
5                    translated (with minor changes) for vim
6                              by Mikolaj Machowski
8 This file documents LaTeX2e, a document preparation system. LaTeX2e is a
9 macro package for TeX.
11   This is edition 1.6 of the LaTeX2e documentation, and is for the Texinfo
12 that is distributed as part of Version 19 of GNU Emacs. It uses version
13 2.134 or later of the texinfo.tex input file.
15   This is translated from LATEX.HLP v1.0a in the VMS Help Library.  The
16 pre-translation version was written by George D. Greenwade of Sam Houston
17 State University.
19   The LaTeX 2.09 version was written by Stephen Gilmore <stg@dcs.ed.ac.uk>.
21   The LaTeX2e version was adapted from this by Torsten Martinsen
22 <bullestock@dk-online.dk>.
24   Version for vim of this manual was written by Mikolaj Machowski
25 <mikmach@wp.pl>
27   Copyright 1988,1994 Free Software Foundation, Inc.  Copyright 1994-1996
28 Torsten Martinsen. Copyright for `translation' for vim Mikolaj Machowski 2001.
30   Permission is granted to make and distribute verbatim copies of this manual
31 provided the copyright notice and this permission notice are preserved on
32 all copies.
34   Permission is granted to copy and distribute modified versions of this
35 manual under the conditions for verbatim copying, provided that the entire
36 resulting derived work is distributed under the terms of a permission
37 notice identical to this one.
39   Permission is granted to copy and distribute translations of this manual
40 into another language, under the above conditions for modified versions,
41 except that the sections entitled "Distribution" and "General Public
42 License" may be included in a translation approved by the author instead of
43 in the original English.
45 ==============================================================================
46 *LaTeX* *latex*
48 The LaTeX command typesets a file of text using the TeX program and the LaTeX
49 Macro package for TeX. To be more specific, it processes an input file
50 containing the text of a document with interspersed commands that describe how
51 the text should be formatted.
53 1.  Commands                                    |latex-commands|
54 2.  Counters                                    |latex-counters|
55 3.  Cross References                            |latex-references|
56 4.  Definitions                                 |latex-definitions|
57 5.  Document Classes                            |latex-classes|
58 6.  Layout                                      |latex-layout|
59 7.  Environments                                |latex-environments|
60 8.  Footnotes                                   |latex-footnotes|
61 9.  Lengths                                     |latex-lengths|
62 10. Letters                                     |latex-letters|
63 11. Line & Page Breaking                        |latex-breaking|
64 12. Making Paragraphs                           |latex-paragraphs|
65 13. Margin Notes                                |latex-margin-notes|
66 14. Math Formulae                               |latex-math|
67 15. Modes                                       |latex-modes|
68 16. Page Styles                                 |latex-page-styles|
69 17. Sectioning                                  |latex-sectioning|
70 18. Spaces & Boxes                              |latex-spaces-boxes|
71 19. Special Characters                          |latex-special-char|
72 20. Splitting the Input                         |latex-inputting|
73 21. Starting & Ending                           |latex-start-end|
74 22. Table of Contents                           |latex-toc|
75 23. Terminal Input/Output                       |latex-terminal|
76 24. Typefaces                                   |latex-typefaces|
77 25. Parameters                                  |latex-parameters|
79 ==============================================================================
80 1. Commands                                     *latex-commands*
82 A LaTeX command begins with the command name, which consists of a \ followed
83 by either
84         (a) a string of letters or
85         (b) a single non-letter.
87 Arguments contained in square brackets, [], are optional while arguments
88 contained in braces, {}, are required.
90 NOTE: LaTeX is case sensitive. Enter all commands in lower case unless
91 explicitly directed to do otherwise.
93 ==============================================================================
94 2. Counters                                     *latex-counters*
96 |\addtocounter|         Add a quantity to a counter
97 |\alph|                 Print value of a counter using letters
98 |\arabic|               Print value of a counter using numerals
99 |\fnsymbol|             Print value of a counter using symbols
100 |\newcounter|           Define a new counter
101 |\refstepcounter|       Add to counter, resetting subsidiary counters
102 |\roman|                Print value of a counter using roman numerals
103 |\setcounter|           Set the value of a counter
104 |\stepcounter|          Add to counter, resetting subsidiary counters
105 |\usecounter|           Use a specified counter in a list environment
106 |\value|                Use the value of a counter in an expression
108 Everything LaTeX numbers for you has a counter associated with it. The name of
109 the counter is the same as the name of the environment or command that
110 produces the number, except with no |\\|. (|lc-enumi| - |lc-enumiv| are used
111 for the nested |\enumerate| environment.) Below is a list of the counters
112 used in LaTeX's standard document classes to control numbering.
114  |part|          |paragraph|     |figure|      |enumi|    |itemi|
115  |chapter|       |subparagraph|  |table|       |enumii|   |itemii|
116  |section|       |page|          |footnote|    |enumiii|  |itemiii|
117  |subsection|    |equation|      |mpfootnote|  |enumiv|   |itemiv|
118  |subsubsection|
121 \addtocounter{counter}{value}                   *\addtocounter*
122                 Increments the {counter} by the amount specified by the
123                 {value} argument. The {value} argument can be negative.
125 \alph{counter}                                  *\alph* *\Alph*
126 \Alph{counter}
127                 This command causes the value of the counter to be printed in
128                 alphabetic characters. |\alph| command uses lower case
129                 alphabetic alphabetic characters, i.e., a, b, c... while the
130                 |\Alph| command uses upper case alphabetic characters, i.e.,
131                 A, B, C....
133 \arabic{counter}                                *\arabic*
134                 Causes the value of the {counter} to be printed in Arabic
135                 numbers, i.e., 3.
137 \fnsymbol{counter}                              *\fnsymbol*
138                 Causes the value of the {counter} to be printed in a specific
139                 sequence of nine symbols that can be used for numbering
140                 footnotes.
141                 Note: counter must have a value between 1 and 9 inclusive.
143 \newcounter{foo}[counter]                       *\newcounter*
144                 Defines a new counter named {foo}. The counter is initialized
145                 to zero.  The optional argument [counter] causes the counter
146                 {foo} to be reset whenever the counter named in the optional
147                 argument is incremented.
149 \refstepcounter{counter}                        *\refstepcounter*
150                 Command works like |\stepcounter|, except it also defines the
151                 current |\ref| value to be the result of \thecounter.
153 \roman{counter}                                 *\roman* *\Roman*
154 \Roman{counter}
155                 Causes the value of the {counter} to be printed in Roman
156                 numerals.  The |\roman| command uses lower case Roman numerals,
157                 i.e., i, ii, iii..., while the |\Roman| command uses upper case
158                 Roman numerals, i.e., I, II, III....
160 \stepcounter{counter}                           *\stepcounter*
161                 Adds one to the {counter} and resets all subsidiary counters.
163 \setcounter{counter}{value}                     *\setcounter*
164                 Sets the value of the {counter} to that specified by the
165                 {value} argument.
167 \usecounter{counter}                            *\usecounter*
168                 Command is used in the second argument of the |list|
169                 environment to allow the {counter} specified to be used to
170                 number the list items.
172 \value{counter}                                 *\value*
173                 Produces the value of the {counter} named in the mandatory
174                 argument. It can be used where LaTeX expects an integer or
175                 number, such as the second argument of a |\setcounter| or
176                 |\addtocounter| command, or in: >
177                         \hspace{\value{foo}\parindent}
178 <               It is useful for doing arithmetic with counters.
180 ==============================================================================
181 3. Cross References                             *latex-references*
183 One reason for numbering things like figures and equations is to refer the
184 reader to them, as in "See Figure 3 for more details."
186 |\label|                Assign a symbolic name to a piece of text
187 |\pageref|              Refer to a page number
188 |\ref|                  Refer to a section, figure or similar
191 \label{key}                                     *\label*
192                 Command appearing in ordinary text assigns to the {key} the
193                 number of the current sectional unit; one appearing inside a
194                 numbered environment assigns that number to the {key}.
196                 A {key} can consist of any sequence of letters, digits, or
197                 punctuation characters. Upper and lowercase letters are
198                 different.
200                 To avoid accidentally creating two labels with the same name,
201                 it is common to use labels consisting of a prefix and a suffix
202                 separated by a colon. The prefixes conventionally used are
203                         * 'cha' for chapters
204                         * 'sec' for lower-level sectioning commands
205                         * 'fig' for figures
206                         * 'tab' for tables
207                         * 'eq'  for equations
208                 Thus, a label for a figure would look like: >
209                         \label{fig:bandersnatch}
211 \pageref{key}                                   *\pageref*
212                 Command produces the page number of the place in the text
213                 where the corresponding |\label| command appears.  ie. where
214                 \label{key} appears.
216 \ref{key}                                       *\ref*
217                 Command produces the number of the sectional unit, equation
218                 number, ... of the corresponding |\label| command.
220 ==============================================================================
221 4. Definitions                                  *latex-definitions*
223 |\newcommand|           Define a new command
224 |\newenvironment|       Define a new environment
225 |\newtheorem|           Define a new theorem-like environment
226 |\newfont|              Define a new font name
229 \newcommand{cmd}[args]{definition}              *\newcommand* *\renewcommand*
230 \newcommand{cmd}[args][default]{definition}
231 \renewcommand{cmd}[args]{definition}
232 \renewcommand{cmd}[args][default]{definition}
234 These commands define (or redefine) a command.
236 {cmd}           A command name beginning with a |\\|. For |\newcommand| it must
237                 not be already defined and must not begin with |\end|; for
238                 |\renewcommand| it must already be defined.
240 {args}          An integer from 1 to 9 denoting the number of arguments of the
241                 command being defined. The default is for the command to have
242                 no arguments.
244 {default}       If this optional parameter is present, it means that the
245                 command's first argument is optional. The default value of the
246                 optional argument is default.
248 {definition}    The text to be substituted for every occurrence of {cmd}; a
249                 parameter of the form #n in {cmd} is replaced by the text of
250                 the nth argument when this substitution takes place.
252                                         *\newenvironment* *\renewenvironment*
253 \newenvironment{nam}[args]{begdef}{enddef}
254 \newenvironment{nam}[args][default]{begdef}{enddef}
255 \renewenvironment{nam}[args]{begdef}{enddef}
257 These commands define or redefine an environment.
259 {nam}           The name of the environment. For |\newenvironment| there must
260                 be no currently defined environment by that name, and the
261                 command \nam must be undefined.  For |\renewenvironment| the
262                 environment must already be defined.
264 {args}          An integer from 1 to 9 denoting the number of arguments of
265                 the newly-defined environment. The default is no arguments.
267 {default}       If this is specified, the first argument is optional, and
268                 default gives the default value for that argument.
270 {begdef}        The text substituted for every occurrence of \begin{nam}; a
271                 parameter of the form #n in {cmd} is replaced by the text of
272                 the nth argument when this substitution takes place.
274 {enddef}        The text substituted for every occurrence of \end{nam}. It
275                 may not contain any argument parameters.
278 \newtheorem{envname}{caption}[within]                   *\newtheorem*
279 \newtheorem{envname}[numberedlike]{caption}
281 This command defines a theorem-like environment.
283 {envname}       The name of the environment to be defined. A string of
284                 letters. It must not be the name of an existing environment or
285                 counter.
287 {caption}       The text printed at the beginning of the environment, right
288                 before the number. This may simply say "Theorem", for example.
290 {within}        The name of an already defined counter, usually of a sectional
291                 unit. Provides a means of resetting the new theorem counter
292                 within the sectional unit.
294 {numberedlike}  The name of an already defined theorem-like environment.
296 The |\newtheorem| command may have at most one optional argument.
299 \newfont{cmd}{fontname}                                 *\newfont*
300                 Defines the command name {cmd}, which must not be currently
301                 defined, to be a declaration that selects the font named
302                 {fontname} to be the current font.
304 ==============================================================================
305 5. Document Classes                             *latex-classes*
308 \documentclass[options]{class}                  *\documentclass*
310 Valid LaTeX document classes include:
311         *article                *article-class*
312         *report                 *report-class*
313         *letter                 *letter-class*
314         *book                   *book-class*
315         *slides                 *slides-class*
317 All the standard classes (except slides) accept the following options for
318 selecting the typeface size (10 pt is default):
320 10pt, 11pt, 12pt
322 All classes accept these options for selecting the paper size (default is
323 letter):
325 a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper
327 Miscellaneous options:
329 landscape                                       *landscape*
330         Selects landscape format. Default is portrait.
332 titlepage, notitlepage                          *notitlepage*
333                 Selects if there should be a separate title page.
335 leqno                                           *leqno* *rqno*
336                 Equation number on left side of equations.  Default is
337                 right side.
339 fleqn                                           *fleqn*
340                 Displayed formulas flush left.  Default is centred.
342 openbib                                         *openbib*
343                 Use "open" bibliography format.
345 draft, final                                    *draft* *final*
346                 Mark/do not mark overfull boxes with a rule. Default is
347                 final.
349 These options are not available with the slides class:
351 oneside, twoside                                *oneside* *twoside*
352                 Selects one- or twosided layout. Default is oneside,
353                 except for the book class.
355 openright, openany                              *openright* *openany*
356                 Determines if a chapter should start on a right-hand page.
357                 Default is openright for book.
359 onecolumn, twocolumn                            *onecolumn* *twocolumn*
360                 One or two columns.  Defaults to one column.
362 The slides class offers the option clock for printing the time at the bottom
363 of each |\note|.
365 If you specify more than one option, they must be separated by a comma.
367 \usepackage[options]{pkg}                       *\usepackage*
368                 Additional packages are loaded by this. If you
369                 specify more than one package, they must be separated by a
370                 comma.
372 Any options given in the |\documentclass| command that are unknown by the
373 selected document class are passed on to the packages loaded with |\usepackage|.
375 ==============================================================================
376 6. Layout                                       *latex-layout*
378 Miscellaneous commands for controlling the general layout of the page.
380 |\flushbottom|          Make all text pages the same height.
381 |\onecolumn|            Use one-column layout.
382 |\raggedbottom|         Allow text pages of differing height.
383 |\twocolumn|            Use two-column layout.
385 \flushbottom                                    *\flushbottom*
386                 Makes all text pages the same height, adding extra vertical
387                 space when necessary to fill out the page.  This is the
388                 standard if twocolumn mode is selected.
390 \onecolumn                                      *\onecolumn*
391                 Starts a new page and produces single-column output.
393 \raggedbottom                                   *\raggedbottom*
394                 Makes all pages the height of the text on that page.  No extra
395                 vertical space is added.
397 \twocolumn[text]                                *\twocolumn*
398                 Starts a new page and produces two-column output.  If the
399                 optional [text] argument is present, it is typeset in
400                 one-column mode.
402 ==============================================================================
403 7. Environments                                 *latex-environments*
405                                                 *\begin* *\end*
406 LaTeX provides a number of different paragraph-making environments. Each
407 environment begins and ends in the same manner: >
409         \begin{environment-name}
410         .
411         .
412         .
413         \end{environment-name}
415 a. |array|              Math arrays
416 b. |center|             Centred lines
417 c. |description|        Labelled lists
418 d. |enumerate|          Numbered lists
419 e. |eqnarray|           Sequences of aligned equations
420 f. |equation|           Displayed equation
421 g. |figure|             Floating figures
422 h. |flushleft|          Flushed left lines
423 i. |flushright|         Flushed right lines
424 j. |itemize|            Bulleted lists
425 k. |letter|             Letters
426 l. |list|               Generic list environment
427 m. |minipage|           Miniature page
428 n. |picture|            Picture with text, arrows, lines and circles
429 o. |quotation|          Indented environment with paragraph indentation
430 p. |quote-l|            Indented environment with no paragraph indentation
431 q. |tabbing|            Align text arbitrarily
432 r. |table|              Floating tables
433 s. |tabular|            Align text in columns
434 t. |thebibliography|    Bibliography or reference list
435 u. |theorem|            Theorems, lemmas, etc
436 v. |titlepage|          For hand crafted title pages
437 x. |verbatim|           Simulating typed input
438 y. |verse|              For poetry and other things
440 ==============================================================================
441  a. array                                       *array*
443         \begin{array}{col1col2...coln}
444                 column 1 entry & column 2 entry ... & column n entry \\
445                 .
446                 .
447                 .
448         \end{array}
450 Math arrays are produced with the |array| environment. It has a single mandatory
451 argument describing the number of columns and the alignment within them. Each
452 column, coln, is specified by a single letter that tells how items in that row
453 should be formatted.
454         * c -- for centred
455         * l -- for flush left
456         * r -- for flush right
457 Column entries must be separated by an |&|. Column entries may include other
458 LaTeX commands. Each row of the array must be terminated with the string |\\|.
460 Note that the |array| environment can only be used in |math-mode|, so normally
461 it is used inside an |equation| environment.
463 ==============================================================================
464 b. center                                       *center*
466         \begin{center}
467                 Text on line 1 \\
468                 Text on line 2 \\
469                 .
470                 .
471                 .
472         \end{center}
474 The |\center| environment allows you to create a paragraph consisting of lines
475 that are centred within the left and right margins on the current page. Each
476 line must be terminated with the string |\\|.
478 \centering                                      *\centering*
479                 This declaration corresponds to the |center| environment. This
480                 declaration can be used inside an environment such as
481                 |quote-l| or in a |\parbox|. The text of a |figure| or |table|
482                 can be centred on the page by putting a |\centering| command
483                 at the beginning of the |figure| or |table| environment.
484                 Unlike the |center| environment, the |\centering| command does
485                 not start a new paragraph; it simply changes how LaTeX formats
486                 paragraph units. To affect a paragraph unit's format, the
487                 scope of the declaration must contain the blank line or |\end|
488                 command (of an environment like |quote-l|) that ends the
489                 paragraph unit.
491 ==============================================================================
492 c. description                                  *description*
494         \begin{description}
495                 \item [label] First item
496                 \item [label] Second item
497                 .
498                 .
499                 .
500         \end{description}
502 The |description| environment is used to make labelled lists. The label is
503 bold face and flushed right.
505 ==============================================================================
506 d. enumerate                                    *enumerate*
508         \begin{enumerate}
509                 \item First item
510                 \item Second item
511                 .
512                 .
513                 .
514         \end{enumerate}
516 The |enumerate| environment produces a numbered list.  Enumerations can be
517 nested within one another, up to four levels deep.  They can also be nested
518 within other paragraph-making environments.
520 \item           Each item of an enumerated list begins with an |\item|
521                 command. There must be at least one |\item| command
522                 within the environment.
524 The |enumerate| environment uses the |\enumi| through |\enumiv| counters (see
525 section |latex-counters|). The type of numbering can be changed by redefining
526 \theenumi etc.
528 ==============================================================================
529 e. eqnarray                                     *eqnarray*
531         \begin{eqnarray}
532                 math formula 1 \\
533                 math formula 2 \\
534                 .
535                 .
536                 .
537         \end{eqnarray}
539 The |eqnarray| environment is used to display a sequence of equations or
540 inequalities. It is very much like a three-column |array| environment, with
541 consecutive rows separated by |\\| and consecutive items within a row separated
542 by an |&|.
544 \nonumber                                       *\nonumber*
545                 An equation number is placed on every line unless that
546                 line has a |\nonumber| command.
548 \lefteqn                                        *\lefteqn*
549                 The command |\lefteqn| is used for splitting long
550                 formulas across lines.  It typesets its argument in
551                 display style flush left in a box of zero width.
553 ==============================================================================
554 f. equation                                     *equation*
556         \begin{equation}
557                 math formula
558         \end{equation}
560 The |equation| environment centres your equation on the page and places the
561 equation number in the right margin.
563 ==============================================================================
564 g. figure                                       *figure*
566         \begin{figure}[placement]
567                 body of the figure
568                 \caption{figure title}
569         \end{figure}
571 Figures are objects that are not part of the normal text, and are usually
572 "floated" to a convenient place, like the top of a page. Figures will not be
573 split between two pages.
575 The optional argument [placement] determines where LaTeX will try to place
576 your figure. There are four places where LaTeX can possibly put a float:
578 h (Here)                at the position in the text where the figure
579                         environment appears.
580 t (Top)                 at the top of a text page.
581 b (Bottom)              at the bottom of a text page.
582 p (Page of floats)      on a separate float page, which is a page containing
583                         no text, only floats.
585 The standard |report-class| and |article-class| use the default placement
586 [tbp].
588 The body of the |figure| is made up of whatever text, LaTeX commands, etc.  you
589 wish.
591 The \caption command allows you to title your figure.
593 ==============================================================================
594 h. flushleft                                    *flushleft*
596         \begin{flushleft}
597                 Text on line 1 \\
598                 Text on line 2 \\
599                 .
600                 .
601                 .
602         \end{flushleft}
604 The |flushleft| environment allows you to create a paragraph consisting of
605 lines that are flushed left, to the left-hand margin. Each line must be
606 terminated with the string |\\|.
608 \raggedright                                    *\raggedright*
609                 This declaration corresponds to the |flushleft| environment.
610                 This declaration can be used inside an environment such as
611                 |quote-l| or in a |\parbox|.  Unlike the |flushleft|
612                 environment, the |\raggedright| command does not start a new
613                 paragraph; it simply changes how LaTeX formats paragraph
614                 units. To affect a paragraph unit's format, the scope of the
615                 declaration must contain the blank line or |\end| command (of
616                 an environment like |quote-l|) that ends the paragraph unit.
618 ==============================================================================
619 i. flushright                                   *flushright*
621         \begin{flushright}
622                 Text on line 1 \\
623                 Text on line 2 \\
624                 .
625                 .
626                 .
627         \end{flushright}
629 The |flushright| environment allows you to create a paragraph consisting of
630 lines that are flushed right, to the right-hand margin. Each line must be
631 terminated with the string |\\|.
633 \raggedleft                                     *\raggedleft*
634                 This declaration corresponds to the |flushright| environment.
635                 This declaration can be used inside an environment such as
636                 |quote-l| or in a |\parbox|.  Unlike the |flushright|
637                 environment, the |\raggedleft| command does not start a new
638                 paragraph; it simply changes how LaTeX formats paragraph
639                 units. To affect a paragraph unit's format, the scope of the
640                 declaration must contain the blank line or |\end| command (of
641                 an environment like |quote-l|) that ends the paragraph unit.
643 ==============================================================================
644 j. itemize                                      *itemize*
646         \begin{itemize}
647                 \item First item
648                 \item Second item
649                 .
650                 .
651                 .
652         \end{itemize}
654 The |itemize| environment produces a "bulleted" list.  Itemizations can be
655 nested within one another, up to four levels deep.  They can also be nested
656 within other paragraph-making environments.
658 \item                                           *\item*
659                 Each item of an itemized list begins with an |\item| command.
660                 There must be at least one |\item| command within the
661                 environment.
663 The itemize environment uses the |\itemi| through |\itemiv| counters (see
664 section |latex-counters|). The type of numbering can be changed by redefining
665 \theitemi etc.
667 ==============================================================================
668 k. letter                                       *\letter*
670 This environment is used for creating letters. See section |latex-letters|.
672 ==============================================================================
673 l. list                                         *list*
675 The |list| environment is a generic environment which is used for defining many
676 of the more specific environments. It is seldom used in documents, but often
677 in macros.
679         \begin{list}{label}{spacing}
680                 \item First item
681                 \item Second item
682                 .
683                 .
684                 .
685         \end{list}
687 'label'         The {label} argument specifies how items should be labelled.
688                 This argument is a piece of text that is inserted in a box to
689                 form the {label}.  This argument can and usually does contain
690                 other LaTeX commands.
692 'spacing'       The {spacing} argument contains commands to change the spacing
693                 parameters for the |list|. This argument will most often be
694                 null, i.e., {}. This will select all default spacing which
695                 should suffice for most cases.
697 ==============================================================================
698 m. minipage                                     *minipage*
700         \begin{minipage}[position]{width}
701                 text
702         \end{minipage}
704 The |minipage| environment is similar to a |\parbox| command. It takes the
705 same optional [position] argument and mandatory {width} argument. You may use
706 other paragraph-making environments inside a |minipage|.  Footnotes in a
707 minipage environment are handled in a way that is particularly useful for
708 putting footnotes in figures or tables. A |\footnote| or |\footnotetext|
709 command puts the footnote at the bottom of the minipage instead of at the
710 bottom of the page, and it uses the |\mpfootnote| counter instead of the
711 ordinary footnote counter. See sections |latex-counters| and
712 |latex-footnotes|.
714 NOTE: Don't put one |minipage| inside another if you are using footnotes; they
715 may wind up at the bottom of the wrong minipage.
717 ==============================================================================
718 n. picture                                      *picture*
720                            size           position
721         \begin{picture}(width,height)(x offset,y offset)
722                 .
723                 .
724                 picture commands
725                 .
726                 .
727         \end{picture}
729 The |picture| environment allows you to create just about any kind of picture
730 you want containing text, lines, arrows and circles. You tell LaTeX where to
731 put things in the picture by specifying their coordinates. A coordinate is a
732 number that may have a decimal point and a minus sign -- a number like 5, 2.3
733 or -3.1416. A coordinate specifies a length in multiples of the unit length
734 |\unitlength|, so if |\unitlength| has been set to 1cm, then the coordinate
735 2.54 specifies a length of 2.54 centimetres. You can change the value of
736 |\unitlength| anywhere you want, using the |\setlength| command, but strange
737 things will happen if you try changing it inside the |picture| environment.
739 A position is a pair of coordinates, such as (2.4,-5), specifying the point
740 with x-coordinate 2.4 and y-coordinate -5. Coordinates are specified in the
741 usual way with respect to an origin, which is normally at the lower-left
742 corner of the |picture|.
743 Note that when a position appears as an argument, it is not enclosed in
744 braces; the parentheses serve to delimit the argument.
746 The |picture| environment has one mandatory argument, which is a position.  It
747 specifies the size of the picture. The environment produces a rectangular box
748 with width and height determined by this argument's x- and y-coordinates.
750 The |picture| environment also has an optional position argument, following
751 the size argument, that can change the origin. (Unlike ordinary optional
752 arguments, this argument is not contained in square brackets.) The optional
753 argument gives the coordinates of the point at the lower-left corner of the
754 picture (thereby determining the origin).  For example, if |\unitlength| has
755 been set to 1mm, the command: >
756         \begin{picture}(100,200)(10,20)
758 produces a picture of width 100 millimetres and height 200 millimetres, whose
759 lower-left corner is the point (10,20) and whose upper-right corner is
760 therefore the point (110,220). When you first draw a picture, you will omit
761 the optional argument, leaving the origin at the lower-left corner. If you
762 then want to modify your picture by shifting everything, you just add the
763 appropriate optional argument.
765 The environment's mandatory argument determines the nominal size of the
766 picture. This need bear no relation to how large the picture really is; LaTeX
767 will happily allow you to put things outside the picture, or even off the
768 page. The picture's nominal size is used by LaTeX in determining how much room
769 to leave for it.
771 Everything that appears in a picture is drawn by the |\put| command. The
772 command: >
773         \put (11.3,-.3){...}
775 puts the object specified by ... in the picture, with its
776 reference point at coordinates (11.3,-.3). The reference points for various
777 objects will be described below.
779 The |\put| creates an LR box (|lrbox|). You can put anything in the text
780 argument of the |\put| that you'd put into the argument of an |\mbox| and
781 related commands. When you do this, the reference point will be the lower left
782 corner of the box.
784 Picture commands:
785 |\circle|               Draw a circle
786 |\dashbox|              Draw a dashed box
787 |\frame|                Draw a frame around an object
788 |\framebox(picture)|    Draw a box with a frame around it
789 |\line|                 Draw a straight line
790 |\linethickness|        Set the line thickness
791 |\makebox(picture)|     Draw a box of the specified size
792 |\multiput|             Draw multiple instances of an object
793 |\oval|                 Draw an ellipse
794 |\put|                  Place an object at a specified place
795 |\shortstack|           Make a pile of objects
796 |\vector|               Draw a line with an arrow
798 \circle[*]{diameter}                            *\circle*
799                 Command produces a circle with a {diameter} as close to the
800                 specified one as possible. If the *-form of the command is
801                 used, LaTeX draws a solid circle.
802                 Note: only circles up to 40 pt can be drawn.
805 \dashbox{dashlength}(width,height){...}         *\dashbox*
806                 Draws a box with a dashed line.  The |\dashbox| has an extra
807                 argument which specifies the width of each dash.  A dashed box
808                 looks best when the width and height are multiples of the
809                 {dashlength}.
811 \frame{...}                                     *\frame*
812                 Puts a rectangular frame around the object specified in the
813                 argument. The reference point is the bottom left corner of the
814                 frame. No extra space is put between the frame and the object.
816 \framebox(width,height)[position]{...}          *\picture-framebox*
817                 The |\framebox| command is exactly the same as the
818                 |picture-makebox| command, except that it puts a frame around
819                 the outside of the box that it creates.  The |\framebox|
820                 command produces a rule of thickness |\fboxrule|, and leaves a
821                 space |\fboxsep| between the rule and the contents of the box.
823 \line(x slope,y slope){length}                  *\line*
824                 Draws a line of the specified length and slope.
825                 Note: LaTeX can only draw lines with slope = x/y, where x and
826                 y have integer values from -6 through 6.
828 \linethickness{dimension}                       *\linethickness*
829                 Declares the thickness of horizontal and vertical lines in a
830                 |picture| environment to be dimension, which must be a
831                 positive length. It does not affect the thickness of slanted
832                 lines (|\line|) and circles (|circle|), or the quarter circles
833                 drawn by |\oval| to form the corners of an oval.
835 \makebox(width,height)[position]{...}           *picture-makebox*
836                 The makebox command for the |picture| environment is similar
837                 to the normal |\makebox| command except that you must specify
838                 a width and height in multiples of |\unitlength|.
839                 The optional argument, [position], specifies the quadrant that
840                 your text appears in. You may select up to two of the
841                 following:
842                         t - Moves the item to the top of the rectangle
843                         b - Moves the item to the bottom
844                         l - Moves the item to the left
845                         r - Moves the item to the right
847                                                 *\multiput*
848 \multiput(x coord,y coord)(delta x,delta y){no of copies}{object}
849                 This command can be used when you are putting the same
850                 object in a regular pattern across a picture.
852 \oval(width,height)[portion]                    *\oval*
853                 Produces a rectangle with rounded corners. The optional
854                 argument, [portion], allows you to select part of the oval.
855                         t - top portion
856                         b - bottom portion
857                         r - right portion
858                         l - left portion
859                 Note: the "corners" of the oval are made with quarter circles
860                 with a maximum radius of 20 pt, so large "ovals" will look
861                 more like boxes with rounded corners.
863 \put(x coord,y coord){ ... }                    *\put*
864                 Places the item specified by the mandatory argument at the
865                 given coordinates.
867 \shortstack[position]{... \\ ... \\ ...}        *\shortstack*
868                 The |\shortstack| command produces a stack of objects.
869                 The valid positions are:
870                         r - right of the stack
871                         l - left of the stack
872                         c - centre of the stack (default)
874 \vector(x slope,y slope){length}                *\vector*
875                 Draws a line with an arrow of the specified length and slope.
876                 The x and y values must lie between -4 and +4, inclusive.
878 ==============================================================================
879 o. quotation                                    *quotation*
881         \begin{quotation}
882                 text
883         \end{quotation}
885 The margins of the |quotation| environment are indented on the left and the
886 right. The text is justified at both margins and there is paragraph
887 indentation. Leaving a blank line between text produces a new paragraph.
889 ==============================================================================
890 p. quote                                        *quote-l*
892         \begin{quote}
893                 text
894         \end{quote}
896 The margins of the |quote-l| environment are indented on the left and the right.
897 The text is justified at both margins.  Leaving a blank line between text
898 produces a new paragraph.
900 ==============================================================================
901 q. tabbing                                      *tabbing*
903         \begin{tabbing}
904         text \= more text \= still more text \= last text \\
905         second row \>  \> more \\
906         .
907         .
908         .
909         \end{tabbing}
911 The |tabbing| environment provides a way to align text in columns. It works by
912 setting tab stops and tabbing to them much the way you do with an ordinary
913 typewriter.
915 It is best suited for cases where the width of each column is constant and
916 known in advance.
918 This environment can be broken across pages, unlike the |tabular| environment.
919 The following commands can be used inside a tabbing environment:
921                                 *tab=*
922 \=              Sets a tab stop at the current position.
924                                                 *tab>*
925 \>              Advances to the next tab stop.
927                                                 *tab<*
928 \<              This command allows you to put something to the left of the
929                 local margin without changing the margin. Can only be used at
930                 the start of the line.
932                                                 *tab+*
933 \+              Moves the left margin of the next and all the following
934                 commands one tab stop to the right.
936                                                 *tab-*
937 \-              Moves the left margin of the next and all the following
938                 commands one tab stop to the left.
940                                                 *tab'*
941 \'              Moves everything that you have typed so far in the current
942                 column, i.e.  everything from the most recent \> (|tab>|), \<
943                 (|tab<|), \' (|tab'|), |\\|, or |\kill| command, to the right
944                 of the previous column, flush against the current column's tab
945                 stop.
947                                                 *tab`*
948 \`              Allows you to put text flush right against any tab stop,
949                 including tab stop 0. However, it can't move text to the right
950                 of the last column because there's no tab stop there. The \`
951                 (|tab`|) command moves all the text that follows it, up to the
952                 |\\| or \end{tabbing} command that ends the line, to the right
953                 margin of the tabbing environment. There must be no \>
954                 (|tab>|) or \' (|tab'|) command between the \` (|tab`|) and
955                 the command that ends the line.
957                                                 *\kill*
958 \kill           Sets tab stops without producing text. Works just like |\\|
959                 except that it throws away the current line instead of
960                 producing output for it. The effect of any \= (|tab=|), \+
961                 (|tab+|) or \- (|tab-|) commands in that line remain in
962                 effect.
964                                                 *\pushtabs*
965 \pushtabs       Saves all current tab stop positions. Useful for temporarily
966                 changing tab stop positions in the middle of a tabbing
967                 environment. Also restores the tab stop positions saved by the
968                 last |\pushtabs|.
970                                                 *taba*
971 \a              In a tabbing environment, the commands \= (|tab=|), \'
972                 (|tab'|) and \` (|tab`|) do not produce accents as normal.
973                 Instead, the commands \a=, \a' and \a` are used.
975 This example typesets a Pascal function in a traditional format:
977         \begin{tabbing}
978         function \= fact(n : integer) : integer;\\
979                  \> begin \= \+ \\
980                        \> if \= n $>$ 1 then \+ \\
981                                 fact := n * fact(n-1) \- \\
982                           else \+ \\
983                                 fact := 1; \-\- \\
984                     end;\\
985         \end{tabbing}
987 ==============================================================================
988 r. table                                        *\table*
990         \begin{table}[placement]
991                 body of the table
992                 \caption{table title}
993         \end{table}
995 Tables are objects that are not part of the normal text, and are usually
996 "floated" to a convenient place, like the top of a page. Tables will not be
997 split between two pages.
999 The optional argument [placement] determines where LaTeX will try to place
1000 your table. There are four places where LaTeX can possibly put a float:
1002         h (Here)                at the position in the text where the table
1003                                 environment appears.
1004         t (Top)                 at the top of a text page.
1005         b (Bottom)              at the bottom of a text page.
1006         p (Page of floats)      on a separate float page, which is a page
1007                                 containing no text, only floats.
1009 The standard |report-class| and |article-class| use the default placement [tbp].
1011 The body of the table is made up of whatever text, LaTeX commands, etc., you
1012 wish.
1014 The \caption command allows you to title your table.
1016 ==============================================================================
1017 s. tabular                                      *tabular*
1019         \begin{tabular}[pos]{cols}
1020                 column 1 entry & column 2 entry ... & column n entry \\
1021                 .
1022                 .
1023                 .
1024         \end{tabular}
1028         \begin{tabular*}{width}[pos]{cols}
1029                 column 1 entry & column 2 entry ... & column n entry \\
1030                 .
1031                 .
1032                 .
1033         \end{tabular*}
1035 These environments produce a box consisting of a sequence of rows of items,
1036 aligned vertically in columns. The mandatory and optional arguments consist
1039 {width} Specifies the width of the tabular* environment. There must be
1040         rubber space between columns that can stretch to fill out the
1041         specified width.
1043 [pos]   Specifies the vertical position; default is alignment on the
1044         centre of the environment.
1045                 t - align on top row
1046                 b - align on bottom row
1048 {cols}  Specifies the column formatting. It consists of a sequence of
1049         the following specifiers, corresponding to the sequence of
1050         columns and intercolumn material.
1051                 l - A column of left-aligned items.
1053                 r - A column of right-aligned items.
1055                 c - A column of centred items.
1057                 | - A vertical line the full height and depth of the
1058                 environment.
1060                 @{text} - This inserts text in every row. An @-expression
1061                 suppresses the intercolumn space normally inserted
1062                 between columns; any desired space between the
1063                 inserted text and the adjacent items must be included
1064                 in text. An \extracolsep{wd} command in an
1065                 @-expression causes an extra space of width {wd} to
1066                 appear to the left of all subsequent columns, until
1067                 countermanded by another |\extracolsep| command. Unlike
1068                 ordinary intercolumn space, this extra space is not
1069                 suppressed by an @-expression. An |\extracolsep|
1070                 command can be used only in an @-expression in the
1071                 cols argument.
1073                 p{wd} - Produces a column with each item typeset in a |\parbox|
1074                 of width {wd}, as if it were the argument of a
1075                 \parbox[t]{wd} command. However, a |\\| may not appear
1076                 in the item, except in the following situations:
1077                 1. inside an environment like |minipage|, |array|, or
1078                 |tabular|.
1079                 2. inside an explicit |\parbox|.
1080                 3. in the scope of a |\centering|, |\raggedright|, or
1081                 |\raggedleft| declaration. The latter declarations must
1082                 appear inside braces or an environment when used in a
1083                 p-column element.
1085                 {num}{cols} - Equivalent to num copies of cols, where num is any positive
1086                 integer and cols is any list of column-specifiers,
1087                 which may contain another -expression.
1089 These commands can be used inside a tabular environment:
1091 |\cline|                Draw a horizontal line spanning some columns.
1092 |\hline|                Draw a * horizontal line spanning all columns.
1093 |\multicolumn|          Make an item spanning * several columns.
1094 |\vline|                Draw a vertical line.
1097 \cline{i-j}                                     *\cline*
1098                 The |\cline| command draws horizontal lines across the columns
1099                 specified, beginning in column i and ending in column j,
1100                 which are identified in the mandatory argument.
1102 \hline                                          *\hline*
1103                 The |\hline| command will draw a horizontal line the width of
1104                 the table.  It's most commonly used to draw a line at the top,
1105                 bottom, and between the rows of the table.
1107 \multicolumn{cols}{pos}{text}                   *\multicolumn*
1108                 The |\multicolumn| is used to make an entry that spans several
1109                 columns.  The first mandatory argument, {cols}, specifies the
1110                 number of columns to span. The second mandatory argument,
1111                 {pos}, specifies the formatting of the entry:
1112                         c - centered
1113                         l - flushleft
1114                         r - flushright.
1115                 The third mandatory argument, {text}, specifies what text is
1116                 to make up the entry.
1118 \vline                                          *\vline*
1119                 The |\vline| command will draw a vertical line extending the
1120                 full height and depth of its row. An |\hfill| command can be
1121                 used to move the line to the edge of the column. It can also
1122                 be used in an @-expression.
1124 ==============================================================================
1125 t. thebibliography                              *\thebibliography*
1127         \begin{thebibliography}{widestlabel}
1128                 \bibitem[label]{cite_key}
1129                 .
1130                 .
1131                 .
1132         \end{thebibliography}
1134 The |\thebibliography| environment produces a bibliography or reference list.
1136 In the |article-class|, this reference list is labelled "References"; in the
1137 |report-class|, it is labelled "Bibliography".
1139 {widestlabel}   Text that, when printed, is approximately as wide as the
1140                 widest item label produces by the |\bibitem| commands.
1142 |\bibitem|              Specify a bibliography item.
1143 |\cite|                 Refer to a bibliography item.
1144 |\nocite|               Include an item in the bibliography.
1145 |BibTeX|                Automatic generation of bibliographies.
1147 \bibitem                                        *\bibitem*
1148 \bibitem[label]{citekey}
1149                 The |\bibitem| command generates an entry labelled by [label].
1150                 If the [label] argument is missing, a number is generated as
1151                 the label, using the |\enumi| counter.  The {citekey} is any
1152                 sequence of letters, numbers, and punctuation symbols not
1153                 containing a comma. This command writes an entry on the `.aux'
1154                 file containing {citekey} and the item's label. When this
1155                 `.aux' file is read by the \begin{document} command, the
1156                 item's label is associated with {citekey}, causing the
1157                 reference to {citekey} by a |\cite| command to produce the
1158                 associated label.
1160 \cite                                           *\cite*
1161 \cite[text]{keylist}
1162                 The {keylist} argument is a list of citation keys.  This
1163                 command generates an in-text citation to the references
1164                 associated with the keys in {keylist} by entries on the `.aux'
1165                 file read by the \begin{document} command.
1166                 The optional text argument will appear after the
1167                 citation, i.e.: >
1168                         \cite[p.2]{knuth}
1169 <               might produce `[Knuth, p. 2]'.
1171 \nocite                                         *\nocite*
1172 \nocite{keylist}
1173                 The |\nocite| command produces no text, but writes
1174                 {keylist}, which is a list of one or more citation
1175                 keys, on the `.aux' file.
1177 BibTeX                                          *BibTeX* *bibtex*
1178                                                 *\bibliographystyle*
1179 If you use the BibTeX program by Oren Patashnik (highly recommended if you
1180 need a bibliography of more than a couple of titles) to maintain your
1181 bibliography, you don't use the |thebibliography| environment.  Instead, you
1182 include the lines:
1184         \bibliographystyle{style}
1185         \bibliography{bibfile}
1187 where {style} refers to a file style.bst, which defines how your citations
1188 will look. The standard styles distributed with BibTeX are:
1190 {alpha} Sorted alphabetically. Labels are formed from name of author and year
1191         of publication.
1192 {plain} Sorted alphabetically. Labels are numeric.
1193 {unsrt} Like plain, but entries are in order of citation.
1194 {abbrv} Like plain, but more compact labels.
1196 In addition, numerous other BibTeX style files exist tailored to the demands
1197 of various publications.
1199                                                 *\bibliography*
1200 The argument to |\bibliography| refers to the file bibfile.bib, which should
1201 contain your database in BibTeX format. Only the entries referred to via
1202 |\cite| and |\nocite| will be listed in the bibliography.
1204 ==============================================================================
1205 u. theorem                                      *theorem*
1207         \begin{theorem}
1208                 theorem text
1209         \end{theorem}
1211 The |theorem| environment produces "Theorem x" in boldface followed by your
1212 theorem text.
1214 ==============================================================================
1215 v. titlepage                                    *titlepage*
1217         \begin{titlepage}
1218                 text
1219         \end{titlepage}
1221 The |titlepage| environment creates a title page, i.e. a page with no printed
1222 page number or heading. It also causes the following page to be numbered page
1223 one. Formatting the title page is left to you. The |\today| command comes in
1224 handy for title pages.
1226 Note that you can use the |\maketitle| to produce a standard title page.
1228 ==============================================================================
1229 x. verbatim                                     *verbatim*
1231         \begin{verbatim}
1232                 text
1233         \end{verbatim}
1235 The |verbatim| environment is a paragraph-making environment that gets LaTeX
1236 to print exactly what you type in. It turns LaTeX into a typewriter with
1237 carriage returns and blanks having the same effect that they would on a
1238 typewriter.
1240 \verb                                           *\verb*
1241 \verb char literal_text char
1242 \verb*char literal_text char
1243                 Typesets literal_text exactly as typed, including
1244                 special characters and spaces, using a typewriter |\tt|
1245                 type style. There may be no space between |\verb| or
1246                 |\verb|* and char (space is shown here only for
1247                 clarity).  The *-form differs only in that spaces are
1248                 printed as `\verb*| |\'.
1250 ==============================================================================
1251 y. verse                                        *verse*
1253         \begin{verse}
1254                 text
1255         \end{verse}
1257 The |verse| environment is designed for poetry, though you may find other uses
1258 for it.
1260 The margins are indented on the left and the right. Separate the lines of each
1261 stanza with |\\|, and use one or more blank lines to separate the stanzas.
1263 ==============================================================================
1264 8. Footnotes                                    *latex-footnotes*
1266 Footnotes can be produced in one of two ways. They can be produced with one
1267 command, the |\footnote| command. They can also be produced with two commands,
1268 the |\footnotemark| and the |\footnotetext| commands. See the specific command for
1269 information on why you would use one over the other.
1271 |\footnote|     Insert a footnote
1272 |\footnotemark| Insert footnote mark only
1273 |\footnotetext| Insert footnote text only
1275 \footnote[number]{text}                         *\footnote*
1276                 Command places the numbered footnote text at the bottom of the
1277                 current page. The optional argument, number, is used to change
1278                 the default footnote number.  This command can only be used in
1279                 outer paragraph mode; i.e., you cannot use it in sectioning
1280                 commands like |\chapter|, in |\figure|, |\table| or in a
1281                 |\tabular| environment.
1283 \footnotemark                                   *\footnotemark*
1284                 Command puts the footnote number in the text. This command can
1285                 be used in inner paragraph mode. The text of the footnote is
1286                 supplied by the |\footnotetext| command.
1287                 This command can be used to produce several consecutive
1288                 footnote markers referring to the same footnote by using
1290                         \footnotemark[\value{footnote}]
1292                 after the first |\footnote| command.
1294 \footnotetext[number]{text}                     *\footnotetext*
1295                 Command produces the text to be placed at the bottom of the
1296                 page. This command can come anywhere after the |\footnotemark|
1297                 command. The |\footnotetext| command must appear in outer
1298                 paragraph mode.  The optional argument, number, is used to
1299                 change the default footnote number.
1301 ==============================================================================
1302 9. Lengths                                      *latex-lengths*
1304 A length is a measure of distance. Many LaTeX commands take a length as an
1305 argument.
1307 |\newlength|    Define a new length.
1308 |\setlength|    Set the value of a length.
1309 |\addtolength|  Add a quantity to a length.
1310 |\settodepth|   Set a length to  the depth of something.
1311 |\settoheight|  Set a length to the height of  something.
1312 |\settowidth|   Set a length to the width of something.
1313 |pre-lengths|   Lengths that are, like, predefined.
1315 \newlength{\gnat}                               *\newlength*
1316                 The |\newlength| command defines the mandatory argument, \gnat,
1317                 as a length command with a value of 0in. An error occurs if a
1318                 \gnat command already exists.
1320 \setlength{\gnat}{length}                       *\setlength*
1321                 The |\setlength| command is used to set the value of a \gnat
1322                 command. The {length} argument can be expressed in any terms
1323                 of length LaTeX understands, i.e., inches (in), millimetres
1324                 (mm), points (pt), etc.
1326 \addtolength{\gnat}{length}                     *\addtolength*
1327                 The |\addtolength| command increments a \gnat by the amount
1328                 specified in the {length} argument. It can be a negative
1329                 amount.
1331 \settodepth{\gnat}{text}                        *\settodepth*
1332                 The |\settodepth| command sets the value of a \gnat command
1333                 equal to the depth of the {text} argument.
1335 \settoheight{\gnat}{text}                       *\settoheight*
1336                 The |\settoheight| command sets the value of a \gnat command
1337                 equal to the height of the {text} argument.
1339 \settowidth{\gnat}{text}                        *\settowidth*
1340                 The |\settowidth| command sets the value of a \gnat command
1341                 equal to the width of the {text} argument.
1343 Predefined lengths                              *pre-lengths*
1345 \width                                          *\width*
1346 \height                                         *\height*
1347 \depth                                          *\depth*
1348 \totalheight                                    *\totalheight*
1349                 These length parameters can be used in the arguments of the
1350                 box-making commands See section Spaces & Boxes. They specify
1351                 the natural width etc.  of the text in the box.
1352                 \totalheight equals \height + \depth.
1353                 To make a box with the text stretched to double the natural
1354                 size, e.g., say: >
1355                         \makebox[2\width]{Get a stretcher}
1357 ==============================================================================
1358 10. Letters                                     *latex-letters*
1360 You can use LaTeX to typeset letters, both personal and business. The letter
1361 document class is designed to make a number of letters at once, although you
1362 can make just one if you so desire.
1364 Your `.tex' source file has the same minimum commands as the other document
1365 classes, i.e., you must have the following commands as a minimum: >
1366         \documentclass{letter}
1367         \begin{document}
1368                 ...
1369                 letters
1370                 ...
1371         \end{document}
1373 Each letter is a letter environment, whose argument is the name and address of
1374 the recipient. For example, you might have: >
1375         \begin{letter}
1376                 {Mr. Joe Smith\\
1377                 2345 Princess St.  \\
1378                 Edinburgh, EH1 1AA}
1379                 ...
1380         \end{letter}
1382 The letter itself begins with the |\opening| command.  The text of the letter
1383 follows. It is typed as ordinary LaTeX input.  Commands that make no sense in
1384 a letter, like |\chapter|, do not work. The letter closes with a |\closing|
1385 command.
1387 After the closing, you can have additional material. The |\cc| command produces
1388 the usual "cc: ...". There's also a similar |\encl| command for a list of
1389 enclosures. With both these commands, use|\\| to separate the items.
1391 These commands are used with the letter class:
1392 |\address|      Your return address.
1393 |\cc|           Cc list.  closing Saying goodbye.
1394 |\encl|         List of enclosed material.
1395 |\location|     Your organisation's address.
1396 |\makelabels|   Making address labels.
1397 |\name|         Your name, for the return address.
1398 |\opening|      Saying hello.
1399 |\ps|           Adding a postscript.
1400 |\signature|    Your signature.
1401 |\startbreaks|  Allow page breaks.
1402 |\stopbreaks|   Disallow page breaks.
1403 |\telephone|    Your phone number.
1405 \address{Return address}                        *\address*
1406                 The return address, as it should appear on the letter and the
1407                 envelope.  Separate lines of the address should be separated
1408                 by |\\| commands. If you do not make an |\address| declaration,
1409                 then the letter will be formatted for copying onto your
1410                 organisation's standard letterhead. (See section Overview of
1411                 LaTeX and Local Guide, for details on your local
1412                 implementation). If you give an |\address| declaration, then
1413                 the letter will be formatted as a personal letter.
1415 \cc{Kate Schechter\\Rob McKenna}                *\cc*
1416                 Generate a list of other persons the letter was sent to. Each
1417                 name is printed on a separate line.
1419 \closing{text}                                  *\closing*
1420                 The letter closes with a |\closing| command, i.e., >
1421                         \closing{Best Regards,} \encl{CV\\Certificates}
1422 <               Generate a list of enclosed material.
1424 \location{address}                              *\location*
1425                 This modifies your organisation's standard address. This only
1426                 appears if the firstpage pagestyle is selected.
1428 \makelabels{number}                             *\makelabels*
1429                 If you issue this command in the preamble, LaTeX will create a
1430                 sheet of address labels. This sheet will be output before the
1431                 letters.
1433 \name{June Davenport}                           *\name*
1434                 Your name, used for printing on the envelope together with the
1435                 return address.
1437 \opening{text}                                  *\opening*
1438                 The letter begins with the |\opening| command. The mandatory
1439                 argument, text, is whatever text you wish to start your
1440                 letter, i.e., >
1441                         \opening{Dear Joe,}
1443 \ps                                             *\ps*
1444                 Use this command before a postscript.
1446 \signature{Harvey Swick}                        *\signature*
1447                 Your name, as it should appear at the end of the letter
1448                 underneath the space for your signature. Items that should go
1449                 on separate lines should be separated by |\\| commands.
1451 \startbreaks                                    *\startbreaks*
1452                 Used after a |\stopbreaks| command to allow page breaks again.
1454 \stopbreaks                                     *\stopbreaks*
1455                 Inhibit page breaks until a |\startbreaks| command occurs.
1457 \telephone{number}                              *\telephone*
1458                 This is your telephone number. This only appears if the
1459                 firstpage pagestyle is selected.
1461 ==============================================================================
1462 11. Line & Page Breaking                        *latex-breaking*
1464 The first thing LaTeX does when processing ordinary text is to translate your
1465 input file into a string of glyphs and spaces. To produce a printed document,
1466 this string must be broken into lines, and these lines must be broken into
1467 pages. In some environments, you do the line breaking yourself with the |\\|
1468 command, but LaTeX usually does it for you.
1470 |\\|                    Start a new line
1471 |hyph-|                 Insert explicit hyphenation
1472 |\cleardoublepage|      Start a new right-hand page
1473 |\clearpage|            Start a new page
1474 |\enlargethispage|      Enlarge the current page a bit
1475 |\fussy|                Be fussy about line breaking
1476 |\hyphenation|          Tell LaTeX how to hyphenate a word
1477 |\linebreak|            Break the line
1478 |\newline|              Break the line prematurely
1479 |\newpage|              Start a new page
1480 |\nolinebreak|          Don't break the current line
1481 |\nopagebreak|          Don't make a page break here
1482 |\pagebreak|            Please make a page break here
1483 |\sloppy|               Be sloppy about line breaking
1485 \\[*][extraspace]                               *\\* *\\\\*
1486                 The |\\| command tells LaTeX to start a new line. It has an
1487                 optional argument, [extraspace], that specifies how much extra
1488                 vertical space is to be inserted before the next line. This
1489                 can be a negative amount.
1490                 The \\* command is the same as the ordinary |\\| command
1491                 except that it tells LaTeX not to start a new page after the
1492                 line.
1494 \-                                              *hyph-*
1495                 The \- command tells LaTeX that it may hyphenate the word at
1496                 that point.  LaTeX is very good at hyphenating, and it will
1497                 usually find all correct hyphenation points. The \- command is
1498                 used for the exceptional cases.
1499                 Note: when you insert \- commands in a word, the word will
1500                 only be hyphenated at those points and not at any of the
1501                 hyphenation points that LaTeX might otherwise have chosen.
1503 \cleardoublepage                                *\cleardoublepage*
1504                 The |\cleardoublepage| command ends the current page and causes
1505                 all figures and tables that have so far appeared in the input
1506                 to be printed.  In a two-sided printing style (|twoside|), it
1507                 also makes the next page a right-hand (odd-numbered) page,
1508                 producing a blank page if necessary.
1510 \clearpage                                      *\clearpage*
1511                 The |\clearpage| command ends the current page and causes all
1512                 figures and tables that have so far appeared in the input to
1513                 be printed.
1515 \enlargethispage{size}                          *\enlargethispage*
1516 \enlargethispage*{size}
1517                 Enlarge the textheight for the current page by the
1518                 specified amount; e.g.: >
1520                         \enlargethispage{\baselineskip}
1522                 will allow one additional line.  The starred form
1523                 tries to squeeze the material together on the page as
1524                 much as possible. This is normally used together with
1525                 an explicit |\pagebreak|.
1527 \fussy                                          *\fussy*
1528                 This declaration (which is the default) makes TeX more fussy
1529                 about line breaking. This can avoids too much space between
1530                 words, but may produce overfull boxes.  This command cancels
1531                 the effect of a previous |\sloppy| command.
1533 \hyphenation{words}                             *\hyphenation*
1534                 The |\hyphenation| command declares allowed hyphenation points,
1535                 where words is a list of words, separated by spaces, in which
1536                 each hyphenation point is indicated by a - character.
1538 \linebreak[number]                              *\linebreak*
1539                 The |\linebreak| command tells LaTeX to break the current line
1540                 at the point of the command. With the optional argument,
1541                 number, you can convert the |\linebreak| command from a demand
1542                 to a request. The [number] must be a number from 0 to 4. The
1543                 higher the number, the more insistent the request is.  The
1544                 |\linebreak| command causes LaTeX to stretch the line so it
1545                 extends to the right margin.
1547 \newline                                        *\newline*
1548                 The |\newline| command breaks the line right where it is. It
1549                 can only be used in paragraph mode.
1551 \newpage                                        *\newpage*
1552                 The |\newpage| command ends the current page.
1554 \nolinebreak[number]                            *\nolinebreak*
1555                 The |\nolinebreak| command prevents LaTeX from breaking the
1556                 current line at the point of the command. With the optional
1557                 argument, [number], you can convert the |\nolinebreak| command
1558                 from a demand to a request. The [number] must be a number from 0
1559                 to 4. The higher the number, the more insistent the request
1560                 is.
1562 \nopagebreak[number]                            *\nopagebreak*
1563                 The |\nopagebreak| command prevents LaTeX from breaking the
1564                 current page at the point of the command. With the optional
1565                 argument, [number], you can convert the |\nopagebreak| command
1566                 from a demand to a request. The [number] must be a number from
1567                 0 to 4. The higher the number, the more insistent the request
1568                 is.
1570 \pagebreak[number]                              *\pagebreak*
1571                 The |\pagebreak| command tells LaTeX to break the current page
1572                 at the point of the command. With the optional argument,
1573                 [number], you can convert the |\pagebreak| command from a
1574                 demand to a request. The [number] must be a number from 0 to
1575                 4. The higher the number, the more insistent the request is.
1577 \sloppy                                         *\sloppy*
1578                 This declaration makes TeX less fussy about line breaking.
1579                 This can prevent overfull boxes, but may leave too much space
1580                 between words.
1581                 Lasts until a |\fussy| command is issued.
1583 ==============================================================================
1584 12. Making Paragraphs                           *latex-paragraphs*
1586 A paragraph is ended by one or more completely blank lines -- lines not
1587 containing even a |\%|. A blank line should not appear where a new paragraph
1588 cannot be started, such as in math mode or in the argument of a sectioning
1589 command.
1591 |\indent|       Indent this paragraph.
1592 |\noindent|     Do not indent this paragraph.
1593 |\par|          Another way of writing a blank line.
1595 \indent                                         *\indent*
1596                 This produces a horizontal space whose width equals the width
1597                 of the paragraph indentation. It is used to add paragraph
1598                 indentation where it would otherwise be suppressed.
1600 \noindent                                       *\noindent*
1601                 When used at the beginning of the paragraph, it suppresses the
1602                 paragraph indentation. It has no effect when used in the
1603                 middle of a paragraph.
1605 \par                                            *\par*
1606                 Equivalent to a blank line; often used to make command or
1607                 environment definitions easier to read.
1609 ==============================================================================
1610 13. Margin Notes                                *latex-margin-notes*
1612 \marginpar[left]{right}                         *\marginpar*
1613                 This command creates a note in the margin. The first line will
1614                 be at the same height as the line in the text where the
1615                 |\marginpar| occurs.
1617                 When you only specify the mandatory argument {right}, the text
1618                 will be placed:
1619                 * in the right margin for one-sided layout
1620                 * in the outside margin for two-sided layout (|twoside|)
1621                 * in the nearest margin for two-column layout (|twocolumn|)
1623 \reversemarginpar                               *\reversemarginpar*
1624                 By issuing the command |\reversemarginpar|, you can force the
1625                 marginal notes to go into the opposite (inside) margin.
1627 When you specify both arguments, left is used for the left margin, and right
1628 is used for the right margin.
1630 The first word will normally not be hyphenated; you can enable hyphenation by
1631 prefixing the first word with a \hspace{0pt} command (|hspace|).
1633 ==============================================================================
1634 14. Math Formulae                               *latex-math*
1635                                                 *displaymath*
1636 There are three environments (|latex-environments|) that put LaTeX in math
1637 mode:
1638 |math|          For Formulae that appear right in the text.
1639 |displaymath|   For Formulae that appear on their own line.
1640 |equation|      The same as the displaymath environment except that it adds an
1641                 equation number in the right margin.
1643 The |math| environment can be used in both paragraph and LR mode, but the
1644 |displaymath| and |equation| environments can be used only in paragraph mode. The
1645 |math| and |displaymath| environments are used so often that they have the
1646 following short forms:
1647         \(...\)    instead of    \begin{math}...\end{math}
1648         \[...\]    instead of    \begin{displaymath}...\end{displaymath}
1650 In fact, the math environment is so common that it has an even shorter form:
1651         $ ... $    instead of     \(...\)
1653 |sub-sup|       Also known as exponent or index.
1654 |math-symbols|  Various mathematical squiggles.
1655 |math-spacing|  Thick, medium, thin and negative spaces.
1656 |math-misc|     Stuff that doesn't fit anywhere else.
1658 ==========
1659 Subscripts & Superscripts                       *sub-sup*
1660                                                 *subscripts* *superscripts*
1662 To get an expression exp to appear as a subscript, you just type _{exp}.  To
1663 get exp to appear as a superscript, you type ^{exp}. LaTeX handles
1664 superscripted superscripts and all of that stuff in the natural way. It even
1665 does the right thing when something has both a subscript and a superscript.
1667 ==========
1668 Math Symbols                                    *math-symbols*
1670 LaTeX provides almost any mathematical symbol you're likely to need. The
1671 commands for generating them can be used only in math mode. For example, if
1672 you include >
1673         $\pi$
1674 in your source, you will get the symbol in your output.
1676 ==========
1677 Spacing in Math Mode                            *math-spacing*
1679 In a math environment, LaTeX ignores the spaces you type and puts in the
1680 spacing that it thinks is best. LaTeX formats mathematics the way it's done in
1681 mathematics texts. If you want different spacing, LaTeX provides the following
1682 four commands for use in math mode:
1683         \; - a thick space                      *math;*
1684         \: - a medium space                     *math:*
1685         \, - a thin space                       *math,*
1686         \! - a negative thin space              *math!*
1688 ==========
1689 Math Miscellany                                 *math-misc*
1691 \cdots                                          *\cdots*
1692                 Produces a horizontal ellipsis where the dots are raised to
1693                 the centre of the line.
1694 \ddots                                          *\ddots*
1695                 Produces a diagonal ellipsis.
1696 \frac{num}{den}                                 *\frac*
1697                 Produces the fraction num divided by den.
1698 \ldots                                          *\ldots*
1699                 Produces an ellipsis. This command works in any mode, not just
1700                 math mode.
1701 \overbrace{text}                                *\overbrace*
1702                 Generates a brace over text.
1703 \overline{text}                                 *\overline*
1704                 Causes the argument text to be overlined.
1705 \sqrt[root]{arg}                                *\sqrt*
1706                 Produces the square root of its argument.  The optional
1707                 argument, [root], determines what root to produce, i.e., the
1708                 cube root of x+y would be typed as: >
1709                         $\sqrt[3]{x+y}$.
1710 \underbrace{text}                               *\underbrace*
1711                 Generates text with a brace underneath.
1712 \underline{text}                                *\underline*
1713                 Causes the argument text to be underlined. This command can
1714                 also be used in paragraph and LR mode.
1715 \vdots                                          *\vdots*
1716                 Produces a vertical ellipsis.
1718 ==============================================================================
1719 15. Modes                                       *latex-modes*
1721 When LaTeX is processing your input text, it is always in one of three modes:
1722         Paragraph mode                                  *paragraph-mode*
1723         Math mode                                       *math-mode*
1724         Left-to-right mode, called LR mode for short.   *lr-mode*
1726 LaTeX changes mode only when it goes up or down a staircase to a different
1727 level, though not all level changes produce mode changes. Mode changes occur
1728 only when entering or leaving an environment, or when LaTeX is processing the
1729 argument of certain text-producing commands.
1731 |paragraph-mode| is the most common; it's the one LaTeX is in when processing
1732 ordinary text. In that mode, LaTeX breaks your text into lines and breaks the
1733 lines into pages. LaTeX is in |math-mode| when it's generating a mathematical
1734 formula. In |lr-mode|, as in |paragraph-mode|, LaTeX considers the output that
1735 it produces to be a string of words with spaces between them. However, unlike
1736 |paragraph-mode|, LaTeX keeps going from left to right; it never starts a new
1737 line in |lr-mode|. Even if you put a hundred words into an |\mbox|, LaTeX would
1738 keep typesetting them from left to right inside a single box, and then
1739 complain because the resulting box was too wide to fit on the line.
1741 LaTeX is in |lr-mode| when it starts making a box with an |\mbox| command.  You
1742 can get it to enter a different mode inside the box - for example, you can
1743 make it enter |math-mode| to put a formula in the box. There are also several
1744 text-producing commands and environments for making a box that put LaTeX in
1745 |paragraph-mode|. The box make by one of these commands or environments will be
1746 called a |\parbox|. When LaTeX is in |paragraph-mode| while making a box, it is
1747 said to be in "inner paragraph mode". Its normal |paragraph-mode|, which it
1748 starts out in, is called "outer paragraph mode".
1750 ==============================================================================
1751 16. Page Styles                                 *latex-page-styles*
1753 The |\documentclass| command determines the size and position of the page's head
1754 and foot. The page style determines what goes in them.
1756 |\maketitle|    Generate a title page.
1757 |\pagenumbering| Set the style used for page numbers.
1758 |\pagestyle|    Change the headings/footings style.
1759 |\thispagestyle| Change the headings/footings style for this page.
1761 \maketitle                                      *\maketitle*
1762                 The |\maketitle| command generates a title on a separate title
1763                 page - except in the |\article| class, where the title normally
1764                 goes at the top of the first page.  Information used to
1765                 produce the title is obtained from the following declarations:
1767                 |\author|       Who wrote this stuff?
1768                 |\date|         The date the document was created.
1769                 |\thanks|       A special form of footnote.
1770                 |\title|                How to set the document title.
1772                 \author{names}                          *\author* *\and*
1773                         The |\author| command declares the author(s), where
1774                         names is a list of authors separated by \and commands.
1775                         Use |\\| to separate lines within a single author's
1776                         entry -- for example, to give the author's institution
1777                         or address.
1779                 \date{text}                             *\date*
1780                         The |\date| command declares text to be the document's
1781                         date.  With no |\date| command, the current date is
1782                         used.
1784                 \thanks{text}                           *\thanks*
1785                         The |\thanks| command produces a |\footnote| to the
1786                         title.
1788                 \title{text}                            *\title*
1789                         The |\title| command declares text to be the title. Use
1790                         |\\| to tell LaTeX where to start a new line in a long
1791                         title.
1793 \pagenumbering{numstyle}                        *\pagenumbering*
1794                 Specifies the style of page numbers. Possible values of
1795                 'numstyle' are:
1796                         arabic - Arabic numerals                *arabic*
1797                         roman  - Lowercase Roman numerals       *roman*
1798                         Roman  - Uppercase Roman numerals       *Roman*
1799                         alph   - Lowercase letters              *alph*
1800                         Alph   - Uppercase letters              *Alph*
1802 \pagestyle{option}                              *\pagestyle*
1803                                                 *plain* *empty* *headings*
1804                 The |\pagestyle| command changes the style from the current
1805                 page on throughout the remainder of your document.
1806                 The valid options are:
1807                 plain      - Just a plain page number.
1808                 empty      - Produces empty heads and feet no page numbers.
1809                 headings   - Puts running headings on each page. The document
1810                              style specifies what goes in the headings.
1811                 myheadings - You specify what is to go in the heading with the
1812                              |\markboth| or the |\markright| commands.
1814                 |\markboth|     Set left and right headings.
1815                 |\markright|    Set right heading only.
1817                 \markboth{left head}{right head}        *\markboth*
1818                         The |\markboth| command is used in conjunction with the
1819                         page style myheadings for setting both the left and
1820                         the right heading.
1821                         Note that a "left-hand heading" is generated by the
1822                         last |\markboth| command before the end of the page,
1823                         while a "right-hand heading" is generated by the first
1824                         |\markboth| or |\markright| that comes on the page if
1825                         there is one, otherwise by the last one before the
1826                         page.
1829                 \markright{right head}                  *\markright*
1830                         The |\markright| command is used in conjunction with
1831                         the page style |\myheadings| for setting the right
1832                         heading, leaving the left heading unchanged.
1833                         Note that a "left-hand heading" is generated by the
1834                         last |\markboth| command before the end of the page,
1835                         while a "right-hand heading" is generated by the first
1836                         |\markboth| or |\markright| that comes on the page if
1837                         there is one, otherwise by the last one before the
1838                         page.
1840 \thispagestyle{option}                          *\thispagestyle*
1841                 The |\thispagestyle| command works in the same manner as the
1842                 |\pagestyle| command except that it changes the style for the
1843                 current page only.
1845 ==============================================================================
1846 17. Sectioning                                  *latex-sectioning*
1848 Sectioning commands provide the means to structure your text into units.
1849 |\part|
1850 |\chapter| (report and book class only)
1851 |\section|
1852 |\subsection|
1853 |\subsubsection|
1854 |\paragraph|
1855 |\subparagraph|
1857 All sectioning commands take the same general form, i.e.,
1859                                         *\part*
1860                                         *\chapter* (report and book class only)
1861                                         *\section* *\subsection* *\subsubsection*
1862                                         *\paragraph* *\subparagraph*
1863 \chapter[optional]{title}
1864                 In addition to providing the heading in the text, the
1865                 mandatory argument of the sectioning command can appear in two
1866                 other places:
1867                 1. The table of contents
1868                 2. The running head at the top of the page. You may not want
1869                    the same thing to appear in these other two places as
1870                    appears in the text heading. To handle this situation, the
1871                    sectioning commands have an optional argument that provides
1872                    the text for these other two purposes.
1874 All sectioning commands have *\-forms that print a title, but do not include a
1875 number and do not make an entry in the table of contents.
1877 \appendix                                       *\appendix*
1878                 The |\appendix| command changes the way sectional units are
1879                 numbered. The |\appendix| command generates no text and does
1880                 not affect the numbering of parts. The normal use of this
1881                 command is something like: >
1882                         \chapter{The First Chapter}
1883                         ...
1884                         \appendix \chapter{The First Appendix}
1887 ==============================================================================
1888 18. Spaces & Boxes                              *latex-spaces-boxes*
1890 All the predefined length parameters See section Predefined lengths can be
1891 used in the arguments of the box-making commands.
1893  Horizontal space:
1895 |\dotfill|      Stretchable horizontal dots.
1896 |\hfill|        Stretchable horizontal space.
1897 |\hrulefill|    Stretchable horizontal rule.
1898 |\hspace|       Fixed horizontal space.
1900  Vertical space:
1902 |\addvspace|    Fixed vertical space.
1903 |\bigskip|      Fixed vertical space.
1904 |\medskip|      Fixed vertical space.
1905 |\smallskip|    Fixed vertical space.
1906 |\vfill|        Stretchable vertical space.
1907 |\vspace|       Fixed vertical space.
1909  Boxes:
1911 |\fbox|         Framebox.
1912 |\framebox|     Framebox, adjustable position.
1913 |\lrbox|        An environment like |\sbox|.
1914 |\makebox|      Box, adjustable position.
1915 |\mbox|         Box.
1916 |\newsavebox|   Declare a name for saving a box.
1917 |\parbox|       Box with text in paragraph mode.
1918 |\raisebox|     Raise or lower text.
1919 |\rule|         Lines and squares.
1920 |\savebox|      Like |\makebox|, but save the text for later use.
1921 |\sbox|         Like |\mbox|, but save the text for later use.
1922 |\usebox|       Print saved text.
1924 Horizontal space:                               *latex-hor-space*
1926 LaTeX removes horizontal space that comes at the end of a line. If you don't
1927 want LaTeX to remove this space, include the optional * argument.  Then the
1928 space is never removed.
1930 \dotfill                                        *\dotfill*
1931                 The |\dotfill| command produces a "rubber length" that produces
1932                 dots instead of just spaces.
1934 \hfill                                          *\hfill*
1935                 The |\hfill| fill command produces a "rubber length" which can
1936                 stretch or shrink horizontally. It will be filled with spaces.
1938 \hrulefill                                      *\hrulefill*
1939                 The |\hrulefill| fill command produces a "rubber length" which
1940                 can stretch or shrink horizontally. It will be filled with a
1941                 horizontal rule.
1943 \hspace[*]{length}                              *\hspace*
1944                 The |\hspace| command adds horizontal space. The length of the
1945                 space can be expressed in any terms that LaTeX understands,
1946                 i.e., points, inches, etc. You can add negative as well as
1947                 positive space with an |\hspace| command. Adding negative space
1948                 is like backspacing.
1951 Vertical space:                                 *latex-ver-space*
1953 LaTeX removes vertical space that comes at the end of a page. If you don't
1954 want LaTeX to remove this space, include the optional * argument.  Then the
1955 space is never removed.
1957 \addvspace{length}                              *\addvspace*
1958                 The |\addvspace| command normally adds a vertical space of
1959                 height length.  However, if vertical space has already been
1960                 added to the same point in the output by a previous
1961                 |\addvspace| command, then this command will not add more space
1962                 than needed to make the natural length of the total vertical
1963                 space equal to length.
1965 \bigskip                                        *\bigskip*
1966                 The |\bigskip| command is equivalent to \vspace{bigskipamount}
1967                 where bigskipamount is determined by the document class.
1969 \medskip                                        *\medskip*
1970                 The |\medskip| command is equivalent to \vspace{medskipamount}
1971                 where medskipamount is determined by the document class.
1973 \smallskip                                      *\smallskip*
1974                 The |\smallskip| command is equivalent to
1975                 \vspace{smallskipamount} where smallskipamount is determined
1976                 by the document class.
1978 \vfill                                          *\vfill*
1979                 The |\vfill| fill command produces a rubber length which can
1980                 stretch or shrink vertically.
1982 \vspace[*]{length}                              *\vspace*
1983                 The |\vspace| command adds vertical space. The length of the
1984                 space can be expressed in any terms that LaTeX understands,
1985                 i.e., points, inches, etc. You can add negative as well as
1986                 positive space with an |\vspace| command.
1989 Boxes:                                          *latex-boxes*
1991 \fbox{text}                                     *\fbox*
1992                 The |\fbox| command is exactly the same as the |\mbox| command,
1993                 except that it puts a frame around the outside of the box that
1994                 it creates.
1996 \framebox[width][position]{text}                *\framebox*
1997                 The |\framebox| command is exactly the same as the |\makebox|
1998                 command, except that it puts a frame around the outside of the
1999                 box that it creates.
2000                 The |\framebox| command produces a rule of thickness
2001                 |\fboxrule|, and leaves a space |\fboxsep| between the rule and
2002                 the contents of the box.
2004 lrbox                                           *\lrbox*
2005 \begin{lrbox}{cmd} text \end{lrbox}
2006                 This is the environment form of |\sbox|.
2007                 The text inside the environment is saved in the box cmd, which
2008                 must have been declared with |\newsavebox|.
2010 \makebox[width][position]{text}                 *\makebox*
2011                 The |\makebox| command creates a box just wide enough to
2012                 contain the text specified. The width of the box is specified
2013                 by the optional [width] argument.  The position of the text
2014                 within the box is determined by the optional [position]
2015                 argument.
2016                         c -- centred (default)
2017                         l -- flushleft
2018                         r -- flushright
2019                         s -- stretch from left to right margin. The text must
2020                              contain stretchable space for this to work.
2021                 See section |\picture-makebox|.
2023 \mbox{text}                                     *\mbox*
2024                 The |\mbox| command creates a box just wide enough to hold the
2025                 text created by its argument.
2026                 Use this command to prevent text from being split across
2027                 lines.
2029 \newsavebox{cmd}                                *\newsavebox*
2030                 Declares {cmd}, which must be a command name that is not
2031                 already defined, to be a bin for saving boxes.
2034 \parbox[position][height][innerpos]{width}{text}        *\parbox*
2035                 A parbox is a box whose contents are created in
2036                 |\paragraph-mode|. The |\parbox| has two
2038         Mandatory arguments:
2039 'width'         specifies the width of the parbox
2040 'text'          the text that goes inside the parbox.
2042         Optional arguments:
2043 'position'      LaTeX will position a parbox so its centre lines up with the
2044                 centre of the text line. The optional position argument allows
2045                 you to line up either the top or bottom line in the parbox
2046                 (default is top).
2048 'height'        If the height argument is not given, the box will have the
2049                 natural height of the text.
2051 'innerpos'      The inner-pos argument controls the placement of the text
2052                 inside the box. If it is not specified, position is used.
2053                         t -- text is placed at the top of the box
2054                         c -- text is centred in the box
2055                         b -- text is placed at the bottom of the box
2056                         s -- stretch vertically. The text must contain
2057                              vertically stretchable space for this to work.
2059                 A |\parbox| command is used for a parbox containing a small
2060                 piece of text, with nothing fancy inside. In particular, you
2061                 shouldn't use any of the paragraph-making environments inside
2062                 a |\parbox| argument. For larger pieces of text, including ones
2063                 containing a paragraph-making environment, you should use a
2064                 |\minipage| environment.
2066 \raisebox{distance}[extendabove][extendbelow]{text}   *\raisebox*
2067                 The |\raisebox| command is used to raise or lower text. The
2068                 first mandatory argument specifies how high the text is to be
2069                 raised (or lowered if it is a negative amount). The text
2070                 itself is processed in LR mode.
2071                 Sometimes it's useful to make LaTeX think something has a
2072                 different size than it really does - or a different size than
2073                 LaTeX would normally think it has.  The |\raisebox| command
2074                 lets you tell LaTeX how tall it is.
2075                 The first optional argument, extend-above, makes LaTeX think
2076                 that the text extends above the line by the amount specified.
2077                 The second optional argument, extend-below, makes LaTeX think
2078                 that the text extends below the line by the amount specified.
2080 \rule[raiseheight]{width}{thickness}            *\rule*
2081                 The |\rule| command is used to produce horizontal lines. The
2082                 arguments are defined as follows:
2083 'raiseheight'   specifies how high to raise the rule (optional)
2084 'width'         specifies the length of the rule (mandatory)
2085 'thickness'     specifies the thickness of the rule (mandatory)
2087 \savebox{cmd}[width][pos]{text}                 *\savebox*
2088                 This command typeset text in a box just as for |\makebox|.
2089                 However, instead of printing the resulting box, it saves it in
2090                 bin cmd, which must have been declared with |\newsavebox|.
2092 \sbox{text}                                     *\sbox*
2093                 This commands typeset text in a box just as for |\mbox|.
2094                 However, instead of printing the resulting box, it saves it in
2095                 bin cmd, which must have been declared with |\newsavebox|.
2097 \usebox{cmd}                                    *\usebox*
2098                 Prints the box most recently saved in bin cmd by a |\savebox|
2099                 command.
2101 ==============================================================================
2102 19. Special Characters                          *latex-special*
2104 The following characters play a special role in LaTeX and are called "special
2105 printing characters", or simply "special characters". >
2106                          #  $  %  &  ~  _  ^  \  {  }
2107 Whenever you put one of these special characters into your file, you are doing
2108 something special. If you simply want the character to be printed just as any
2109 other letter, include a \ in front of the character. For example, \$ will
2110 produce $ in your output.
2112 One exception to this rule is the \ itself because |\\| has its own special
2113 meaning. A \ is produced by typing $\backslash$ in your file.
2115 Also, \~ means `place a tilde accent over the following letter', so you will
2116 probably want to use |\verb| instead.
2117                                                 *\symbol*
2118 In addition, you can access any character of a font once you know its number
2119 by using the |\symbol| command. For example, the character used for displaying
2120 spaces in the |\verb|* command has the code decimal 32, so it can be typed as
2121 \symbol{32}.
2123 You can also specify octal numbers with ' or hexadecimal numbers with ", so
2124 the previous example could also be written as \symbol{'40} or \symbol{"20}.
2126 ==============================================================================
2127 20. Splitting the Input                         *latex-inputting*
2129 A large document requires a lot of input. Rather than putting the whole input
2130 in a single large file, it's more efficient to split it into several smaller
2131 ones. Regardless of how many separate files you use, there is one that is the
2132 root file; it is the one whose name you type when you run LaTeX.
2134 |\include|              Conditionally include a file
2135 |\includeonly|          Determine which files are included
2136 |\input|                Unconditionally include a file
2138 \include{file}                                  *\include*
2139                 The \include command is used in conjunction with the
2140                 |\includeonly| command for selective inclusion of
2141                 files. The file argument is the first name of a file,
2142                 denoting `file.tex' . If file is one the file names in
2143                 the file list of the |\includeonly| command or if there
2144                 is no |\includeonly| command, the \include command is
2145                 equivalent to: >
2146                         \clearpage \input{file} \clearpage
2148                 except that if the file `file.tex' does not exist,
2149                 then a warning message rather than an error is
2150                 produced. If the file is not in the file list, the
2151                 \include command is equivalent to |\clearpage|.
2153                 The |\include| command may not appear in the preamble or in a
2154                 file read by another |\include| command.
2156 \includeonly{filelist}                          *\includeonly*
2157                 The |\includeonly| command controls which files will be read in
2158                 by an |\include| command. {filelist} should be a
2159                 comma-separated list of filenames. Each filename must match
2160                 exactly a filename specified in a |\include| command. This
2161                 command can only appear in the preamble.
2163 \input{file}                                    *\input*
2164                 The |\input| command causes the indicated file to be read and
2165                 processed, exactly as if its contents had been inserted in the
2166                 current file at that point. The file name may be a complete
2167                 file name with extension or just a first name, in which case
2168                 the file `file.tex' is used.
2169 ==============================================================================
2170 21. Starting & Ending                           *latex-start-end*
2172 Your input file must contain the following commands as a minimum:
2173 \documentclass{class}           |\documentclass|
2174 \begin{document}                |\begin|
2175 ... your text goes here ...
2176 \end{document}                  |\end|
2178 where the class selected is one of the valid classes for LaTeX.
2179 See |\classes|for details of the various document classes.
2181 You may include other LaTeX commands between the |\documentclass| and the
2182 \begin{document} commands (i.e., in the `preamble').
2183 ==============================================================================
2184 22. Table of Contents                           *latex-toc*
2186                                                 *\tableofcontents*
2187 A table of contents is produced with the |\tableofcontents| command. You put
2188 the command right where you want the table of contents to go; LaTeX does the
2189 rest for you. It produces a heading, but it does not automatically start a new
2190 page. If you want a new page after the table of contents, include a |\newpage|
2191 command after the |\tableofcontents| command.
2193                                                 *\listoffigures* *\listoftables*
2194 There are similar commands |\listoffigures| and |\listoftables| for producing a
2195 list of figures and a list of tables, respectively.  Everything works exactly
2196 the same as for the table of contents.
2198                                                 *\nofiles*
2199 NOTE: If you want any of these items to be generated, you cannot have the
2200 \nofiles command in your document.
2202 |\addcontentsline|      Add an entry to table of contents etc.
2203 |\addtocontents|                Add text directly to table of contents file etc.
2205 \addcontentsline{file}{secunit}{entry}          *\addcontentsline*
2206                 The |\addcontentsline| command adds an entry to the specified
2207                 list or table where:
2208 {file}          is the extension of the file on which information is to be
2209                 written:
2210                         toc (table of contents),
2211                         lof (list of figures),
2212                         lot (list of tables).
2213 {secunit}       controls the formatting of the entry. It should be one of the
2214                 following, depending upon the value of the file argument:
2215                         toc -- the name of the sectional unit, such as part or
2216                                 subsection.
2217                         lof -- figure
2218                         lot -- table
2219 {entry}         is the text of the entry.
2221 \addtocontents{file}{text}                              *\addtocontents*
2222                 The |\addtocontents| command adds text (or formatting commands)
2223                 directly to the file that generates the table of contents or
2224                 list of figures or tables.
2225 {file}          is the extension of the file on which information is to be written:
2226                         toc (table of contents),
2227                         lof (list of figures),
2228                         lot (list of tables).
2229 {text}          is the information to be written.
2231 ==============================================================================
2232 23. Terminal Input/Output                               *latex-terminal*
2234 |\typein|               Read text from the terminal.
2235 |\typeout|              Write text to the terminal.
2237 \typein[cmd]{msg}                                       *\typein*
2238                 Prints {msg} on the terminal and causes LaTeX to stop and wait
2239                 for you to type a line of input, ending with return. If the
2240                 [cmd] argument is missing, the typed input is processed as if
2241                 it had been included in the input file in place of the
2242                 |\typein| command. If the [cmd] argument is present, it must be
2243                 a command name. This command name is then defined or redefined
2244                 to be the typed input.
2246 \typeout{msg}                                           *\typeout*
2247                 Prints {msg} on the terminal and in the `.log' file. Commands
2248                 in {msg} that are defined with |\newcommand| or |\renewcommand|
2249                 are replaced by their definitions before being printed.
2251                                                         *\space*
2252 LaTeX's usual rules for treating multiple spaces as a single space and
2253 ignoring spaces after a command name apply to {msg}. A |\space| command in {msg}
2254 causes a single space to be printed. A ^^J in {msg} prints a newline.
2256 ==============================================================================
2257 24. Typefaces                                   *latex-typefaces*
2259 The typeface is specified by giving the "size" and "style". A typeface is also
2260 called a "font".
2261 |font-styles|           Select roman, italics etc.
2262 |font-size|             Select point size.
2263 |font-lowlevelcommands| Commands for wizards.
2265 Styles                                          *font-styles*
2267 The following type style commands are supported by LaTeX.
2269 These commands are used like: >
2270         \textit{italics text}.
2271 The corresponding command in parenthesis is the "declaration form", which
2272 takes no arguments. The scope of the declaration form lasts until the next
2273 type style command or the end of the current group.
2275 The declaration forms are cumulative; i.e., you can say: >
2276         \sffamily\bfseries
2277 to get sans serif boldface.
2279 You can also use the environment form of the declaration forms; e.g.: >
2280         \begin{ttfamily}...\end{ttfamily}.
2282 \textrm (\rmfamily)             *\textrm* *\rmfamily*
2283                 Roman
2285 \textit (\itshape)              *\textit* *\itshape* *\emph*
2286                 Emphasis (toggles between |\textit| and |\textrm|).
2288 \textmd (\mdseries)             *\textmd* *\mdseries*
2289                 Medium weight (default). The opposite of boldface.
2291 \textbf (\bfseries)             *\textbf* *\bfseries*
2292                 Boldface.
2294 \textup (\upshape)              *\textup* *\upshape*
2295                 Upright (default).  The opposite of slanted.
2297 \textsl (\slshape)              *\textsl* *\slshape*
2298                 Slanted.
2300 \textsf (\sffamily)             *\textsf* *\sffamily*
2301                 Sans serif.
2303 \textsc (\scshape)              *\textsc* *\scshape*
2304                 Small caps.
2306 \texttt (\ttfamily)             *\texttt* *\ttfamily*
2307                 Typewriter.
2309 \textnormal (\normalfont)       *\textnormal* *\normalfont*
2310                 Main document font.
2312 \mathrm                         *\mathrm*
2313                 Roman, for use in math mode.
2315 \mathbf                         *\mathbf*
2316                 Boldface, for use in math mode.
2318 \mathsf                         *\mathsf*
2319                 Sans serif, for use in math mode.
2321 \mathtt                         *\mathtt*
2322                 Typewriter, for use in math mode.
2324 \mathit                         *\mathit*
2325                 Italics, for use in math mode, e.g. variable names with
2326                 several letters.
2328 \mathnormal                     *\mathnormal*
2329                 For use in math mode, e.g. inside another type style
2330                 declaration.
2332 \mathcal                        *\mathcal*
2333  `Calligraphic' letters, for use in math mode.
2335                                 *\mathversion*
2336 In addition, the command \mathversion{bold} can be used for switching to bold
2337 letters and symbols in formulas. \mathversion{normal} restores the default.
2339 ==========
2340 Sizes                                           *font-size*
2342 The following standard type size commands are supported by LaTeX.
2344 The commands as listed here are "declaration forms". The scope of the
2345 declaration form lasts until the next type style command or the end of the
2346 current group.
2348 You can also use the environment form of these commands; e.g. >
2349         \begin{tiny}...\end{tiny}
2351 \tiny                           *\tiny*
2352 \scriptsize                     *\scriptsize*
2353 \footnotesize                   *\footnotesize*
2354 \small                          *\small*
2355 \normalsize(default)            *\normalsize*
2356 \large                          *\large*
2357 \Large                          *\Large*
2358 \LARGE                          *\LARGE*
2359 \huge                           *\huge*
2360 \Huge                           *\Huge*
2362 ==========
2363 Low-level font commands                         *font-lowlevelcommands*
2365 These commands are primarily intended for writers of macros and packages. The
2366 commands listed here are only a subset of the available ones. For full
2367 details, you should consult Chapter 7 of The LaTeX Companion.
2369 \fontencoding{enc}                              *\fontencoding*
2370                 Select font encoding. Valid encodings include OT1 and T1.
2372 \fontfamily{family}                             *\fontfamily*
2373                 Select font family. Valid families include:
2374                         cmr  for Computer Modern Roman
2375                         cmss for Computer Modern Sans Serif
2376                         cmtt for Computer Modern Typewriter
2377                 and numerous others.
2379 \fontseries{series}                             *\fontseries*
2380                 Select font series. Valid series include:
2381                         m Medium (normal)
2382                         b Bold
2383                         c Condensed
2384                         bc Bold condensed
2385                         bx Bold extended
2386                 and various other combinations.
2388 \fontshape{shape}                               *\fontshape*
2389                 Select font shape. Valid shapes are:
2390                         n Upright (normal)
2391                         it Italic
2392                         sl Slanted (oblique)
2393                         sc Small caps
2394                         ui Upright italics
2395                         ol Outline
2396                 The two last shapes are not available for most font families.
2398 \fontsize{size}{skip}                           *\fontsize*
2399                 Set font size. The first parameter is the font size to switch
2400                 to; the second is the \baselineskip to use. The unit of both
2401                 parameters defaults to pt. A rule of thumb is that the
2402                 baselineskip should be 1.2 times the font size.
2404 \selectfont                                     *\selectfont*
2405                 The changes made by calling the four font commands described
2406                 above do not come into effect until |\selectfont| is called.
2408 \usefont{enc}{family}{series}{shape}            *\usefont*
2409                 Equivalent to calling |\fontencoding|, |\fontfamily|,
2410                 |\fontseries| and |\fontshape| with the given parameters,
2411                 followed by |\selectfont|.
2413 ==============================================================================
2414 25. Parameters                                  *latex-parameters*
2416 The input file specification indicates the file to be formatted; TeX uses
2417 `.tex' as a default file extension. If you omit the input file entirely, TeX
2418 accepts input from the terminal. You specify command options by supplying a
2419 string as a parameter to the command; e.g. >
2421         latex "\scrollmode\input foo.tex"
2423 will process `foo.tex' without pausing after every error.
2425 Output files are always created in the current directory. When you fail to
2426 specify an input file name, TeX bases the output names on the file
2427 specification associated with the logical name TEX_OUTPUT, typically
2428 texput.log.
2430  vim:tw=78:ts=8:ft=help:norl: