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