diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/latex2e-help-texinfo')
-rw-r--r-- | Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog | 5 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile | 17 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi | 16 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk | 3231 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.pdf | bin | 976231 -> 976231 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.txt | 6303 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.xml | 6527 |
7 files changed, 11379 insertions, 4720 deletions
diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog index 65122da1213..49ec6a9f6de 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog @@ -1,3 +1,8 @@ +2018-03-28 Karl Berry <karl@freefriends.org> + + * Makefile (dist): rm zip file before remaking it; + unzip -l rather than -t for more useful info. + 2018-03-21 Jim Hefferon <jhefferon@smcvt.edu> * latex2e.texi (Graphics): Couple of typos, small rewordings. diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile index 64cf986d8a1..3fc87677a3f 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile 609 2018-03-04 23:44:29Z jimhefferon $ +# $Id: Makefile 614 2018-03-28 22:21:21Z karl $ # Public domain. Originally written 2006, Karl Berry. # Makefile for latexrefman. @@ -81,15 +81,22 @@ realclean maintainer-clean: distclean # dist for CTAN. Also update NEWS # txt_files = ChangeLog Makefile NEWS README aspell.en.pws ltx-help.el +figure_files = list.eps list.pdf list.png list.txt +figure_source_files = asy/list.asy dist = latex2e-help-texinfo.zip # -dist: en - mkdir latex2e-help-texinfo && cd latex2e-help-texinfo && ln -s ../* . +dist: en es + mkdir latex2e-help-texinfo && cd latex2e-help-texinfo && ln -s ../* . + mkdir latex2e-help-texinfo/spanish && cd latex2e-help-texinfo/spanish && ln -s ../../* . + rm -f $(dist) zip -q $(dist) \ $(addprefix latex2e-help-texinfo/, $(txt_files) \ - latex2e.texi common.texi $(en_mi_output) latex2e.pdf) + latex2e.texi common.texi $(en_mi_output) latex2e.pdf) \ +$(addprefix latex2e-help-texinfo/spanish/, $(es_mi_output)) \ +$(addprefix latex2e-help-texinfo/latex2e-figures/, $(figure_files)) \ +$(addprefix latex2e-help-texinfo/graphics/, README $(figure_source_files)) rm -rf latex2e-help-texinfo - @ls -l $(dist); unzip -t $(dist) + @ls -l $(dist); unzip -l $(dist) # A hacky spell check target. # Remove \commandnames to reduce exception list, but not {args} or diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi new file mode 100644 index 00000000000..4f18915713e --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi @@ -0,0 +1,16 @@ +@set LTXREFMAN_HOME_PAGE http://puszcza.gnu.org.ua/software/latexrefman/ +@set LTXREFMAN_BUGS latexrefman@@tug.org +@clear HAS-MATH +@iftex +@set HAS-MATH +@macro iftexthenelse {then,else} +\then\@c +@end macro +@end iftex +@ifnottex +@macro iftexthenelse {then,else} +\else\@c +@end macro +@end ifnottex + + diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk index b282655c48e..e19d3d75c39 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk @@ -4,14 +4,15 @@ <!ENTITY latex "LaTeX"> ]> <book id="latex2e.dbk" lang="en"> -<title>&latex;2e unofficial reference manual (November 2016)</title> + + +<title>&latex;2e unofficial reference manual (March 2018)</title> <!-- %**end of header (This is for running Texinfo on a region.) --> <!-- latex 2.09 commands should all be present now, --> <!-- xx but latex2e stuff is missing. --> <!-- xx random list of a few of the missing items is at the end of this file --> <!-- --> -<!-- xx misc commands from clsguide.pdf --> <!-- xx ending a run with errors --> <!-- xx ctan, distributions, components of TeX --> <!-- xx classes and packages - required, additional, useful; oberdiek; fonts --> @@ -22,6 +23,7 @@ <!-- xx merge latex-manual from savannah --> <!-- xx merge display style math --> <!-- xx vertical mode, horizontal mode --> +<!-- xx JH Discuss restricted execution --> <!-- --> <!-- xx The typeset source2e has an index with all kernel --> <!-- xx commands, though some are internal and shouldn't be included. --> @@ -29,7 +31,7 @@ <!-- xx See also http://ctan.org/pkg/macros2e. --> <bookinfo><legalnotice><para>This document is an unofficial reference manual for &latex;, a -document preparation system, version of November 2016. +document preparation system, version of March 2018. </para> <para>This manual was originally translated from <filename>LATEX.HLP</filename> v1.0a in the VMS Help Library. The pre-translation version was written by @@ -44,7 +46,7 @@ Group as <citetitle>&tex;niques</citetitle> number 10), as reference material (n text was directly copied). </para> <para>Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, -2014, 2015, 2016 Karl Berry. +2014, 2015, 2016, 2017, 2018 Karl Berry. Copyright 1988, 1994, 2007 Stephen Gilmore. @@ -68,7 +70,7 @@ into another language, under the above conditions for modified versions. <para>This document is an unofficial reference manual for &latex;, a -document preparation system, version of November 2016. +document preparation system, version of March 2018. </para> <para>This manual was originally translated from <filename>LATEX.HLP</filename> v1.0a in the VMS Help Library. The pre-translation version was written by @@ -83,7 +85,7 @@ Group as <citetitle>&tex;niques</citetitle> number 10), as reference material (n text was directly copied). </para> <para>Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, -2014, 2015, 2016 Karl Berry. +2014, 2015, 2016, 2017, 2018 Karl Berry. Copyright 1988, 1994, 2007 Stephen Gilmore. @@ -109,12 +111,11 @@ into another language, under the above conditions for modified versions. <!-- Best Effort Symbol --> - <chapter label="" id="Top"> <title>&latex;2e: An unofficial reference manual</title> <para>This document is an unofficial reference manual (version of -November 2016) for &latex;2e, a document preparation system. +March 2018) for &latex;2e, a document preparation system. </para> @@ -122,31 +123,31 @@ November 2016) for &latex;2e, a document preparation system. <chapter label="1" id="About-this-document"> <title>About this document</title> -<indexterm role="cp"><primary>bug reporting</primary></indexterm> -<indexterm role="cp"><primary>reporting bugs</primary></indexterm> -<indexterm role="fn"><primary><ulink url="http://home.gna.org/latexrefman">http://home.gna.org/latexrefman</ulink> home page</primary></indexterm> +<indexterm role="fn"><primary><ulink url="http://puszcza.gnu.org.ua/software/latexrefman/">http://puszcza.gnu.org.ua/software/latexrefman/</ulink> home page</primary></indexterm> <para>This is an unofficial reference manual for the &latex;2e document preparation system, which is a macro package for the &tex; typesetting program (see <link linkend="Overview">Overview</link>). This document’s home page is -<ulink url="http://home.gna.org/latexrefman">http://home.gna.org/latexrefman</ulink>. That page has links to the +<ulink url="http://puszcza.gnu.org.ua/software/latexrefman/">http://puszcza.gnu.org.ua/software/latexrefman/</ulink>. That page has links to the current output in various formats, sources, mailing list archives and subscriptions, and other infrastructure. </para> <indexterm role="cp"><primary>&latex; vs. &latex;2e</primary></indexterm> <para>In this document, we will mostly just use ‘&latex;’ rather than ‘&latex;2e’, since the previous version of &latex; (2.09) was -retired many years ago. +frozen decades ago. </para> <indexterm role="cp"><primary>unofficial nature of this manual</primary></indexterm> <indexterm role="cp"><primary>&latex; Project team</primary></indexterm> -<indexterm role="fn"><primary><email>latexrefman-discuss@gna.org</email> email address</primary></indexterm> +<indexterm role="fn"><primary><email>latexrefman@tug.org</email> email address</primary></indexterm> <para>&latex; is currently 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 from their web site. This document is completely unofficial and has not been reviewed by the &latex; -maintainers. Do not send bug reports or anything else about this -document to them. Instead, please send all comments to -<email>latexrefman-discuss@gna.org</email>. +maintainers. +<indexterm role="cp"><primary>bug reporting</primary></indexterm> +<indexterm role="cp"><primary>reporting bugs</primary></indexterm> +Do not send bug reports or anything else about this document to them. +Instead, please send all comments to <email>latexrefman@tug.org</email>. </para> <para>This document is a reference. There is a vast array of other sources of information about &latex;, at all levels. Here are a few @@ -162,8 +163,9 @@ introductions. </para> </listitem></varlistentry><varlistentry><term><ulink url="http://ctan.org/pkg/usrguide">http://ctan.org/pkg/usrguide</ulink> </term><listitem><indexterm role="fn"><primary>usrguide official documentation</primary></indexterm> -<para>The guide for document authors that is maintained as part of &latex;; -there are plenty of others available elsewhere. +<para>The guide for document authors that is maintained as part of &latex;. +Many other guides by many other people are also available, independent +of &latex; itself; one such is the next item: </para> </listitem></varlistentry><varlistentry><term><ulink url="http://ctan.org/pkg/lshort">http://ctan.org/pkg/lshort</ulink> </term><listitem><indexterm role="fn"><primary>lshort document</primary></indexterm> @@ -438,7 +440,8 @@ commands it covers (barring unintentional omissions, a.k.a. bugs). </para> -<anchor id="Environment"/> +<sect2 label="2.4.1" id="Environment"> +<title>Environments</title> <para>Synopsis: </para> @@ -472,14 +475,18 @@ required (it specifies the formatting of columns). \end{tabular} </screen> -<anchor id="Declaration"/> +</sect2> +<sect2 label="2.4.2" id="Declaration"> +<title>Command declarations</title> <para>A command that changes the value, or changes the meaning, of some other command or parameter. For instance, the <literal>\mainmatter</literal> command changes the setting of page numbers from roman numerals to arabic. </para> -<anchor id="_005cmakeatletter-and-_005cmakeatother"/> +</sect2> +<sect2 label="2.4.3" id="_005cmakeatletter-and-_005cmakeatother"> +<title><literal>\makeatletter</literal> and <literal>\makeatother</literal></title> <para>Synopsis: </para> @@ -497,7 +504,7 @@ character category code, or <indexterm role="cp"><primary>catcode</primary></indexterm> <indexterm role="cp"><primary>character category code</primary></indexterm> <indexterm role="cp"><primary>category code, character</primary></indexterm> -<firstterm>catcode</firstterm> for shorter. For instance, the backslash <literal>\</literal> is +<firstterm>catcode</firstterm> for short. For instance, the backslash <literal>\</literal> is assigned the catcode 0, for characters that start a command. These two commands alter the catcode assigned to <literal>@</literal>. </para> @@ -511,36 +518,96 @@ So under the default category codes, user-defined commands cannot contain an <literal>@</literal>. But <literal>\makeatletter</literal> and <literal>\makeatother</literal> allow users to define or redefine commands named with <literal>@</literal>. </para> -<para>Use these inside a <filename>.tex</filename> file, in the preamble. Don’t use them -inside <filename>.sty</filename> or <filename>.cls</filename> files since the <literal>\usepackage</literal> -and <literal>\documentclass</literal> commands set the at sign to have the character -code of a letter. +<para>Use these two commands inside a <filename>.tex</filename> file, in the preamble, when +defining or redefining a command with <literal>@</literal> in its name. Don’t use +them inside <filename>.sty</filename> or <filename>.cls</filename> files since the +<literal>\usepackage</literal> and <literal>\documentclass</literal> commands set the at sign to +have the character code of a letter. </para> <indexterm role="cp"><primary>package, <literal>macros2e</literal></primary></indexterm> -<indexterm role="cp"><primary><literal>macros2e</literal> package For a comprehensive list of macros with an at-sign</primary></indexterm> -<para>in their names, see document -<ulink url="http://ctan.org/pkg/macros2e">http://ctan.org/pkg/macros2e</ulink>. These macros are mainly useful -to package or class authors; examples that may be useful to document -authors are provided hereinafter. -</para> -<para>The example code below, if put in the preamble, redefines the -section command to center the section title, put it in bold type, -and adjust the spacing. -</para> -<!-- xxx TODO, make \@startsection a separate node, see latex2e-fr.texi --> -<!-- From http://zoonek.free.fr/LaTeX/LaTeX_samples_section/0.html --> +<indexterm role="cp"><primary><literal>macros2e</literal> package</primary></indexterm> + +<para>For a comprehensive list of macros with an at-sign +in their names see <ulink url="http://ctan.org/pkg/macros2e">http://ctan.org/pkg/macros2e</ulink>. These macros are +mainly intended to package or class authors. +</para> +<para>The example below is typical. In the user’s class file is a command +<literal>\thesis@universityname</literal>. The user wants to change the +definition. These three lines should go in the preamble, before the +<literal>\begin{document}</literal>. +</para> <screen>\makeatletter -\renewcommand\section{% - \@startsection{section}% Name - {1}% Level: 0=part, 1=chapter, etc. - {0pt}% Heading indent - {-3.5ex plus -1ex minus -.2ex}% Beforeskip (if neg, no head indent) - {2.3ex plus.2ex}% Afterskip (if neg, run-in heading) - {\centering\normalfont\Large\bfseries}} % Style of head +\renewcommand{\thesis@universityname}{Saint Michael's College} \makeatother </screen> -<!-- xx TODO document \@ifstar, see latex2e-fr.texi --> + +<sect3 label="2.4.3.1" id="_005c_0040ifstar"> +<title><literal>\@ifstar</literal></title> + +<indexterm role="fn"><primary>\@ifstar</primary></indexterm> +<indexterm role="cp"><primary>commands, star-variants</primary></indexterm> +<indexterm role="cp"><primary>star-variants, commands</primary></indexterm> + +<para>Synopsis: +</para> +<screen>\newcommand{\mycmd}{\@ifstar{\mycmd@star}{\mycmd@nostar}} +\newcommand{\mycmd@nostar}[<replaceable>non-starred command number of args</replaceable>]{<replaceable>body of non-starred command</replaceable>} +\newcommand{\mycmd@star}[<replaceable>starred command number of args</replaceable>]{<replaceable>body of starred command</replaceable>} +</screen> +<para>Many standard &latex; environments or commands have a variant with the +same name but ending with a star character <literal>*</literal>, an asterisk. +Examples are the <literal>table</literal> and <literal>table*</literal> environments and the +<literal>\section</literal> and <literal>\section*</literal> commands. +</para> +<para>When defining environments, following this pattern is straightforward +because <literal>\newenvironment</literal> and <literal>\renewenvironment</literal> allow the +environment name to contain a star. For commands the situation is more +complex. As in the synopsis above, there will be a user-called command, +given above as <literal>\mycmd</literal>, which peeks ahead to see if it is followed +by a star. For instance, &latex; does not really have a +<literal>\section*</literal> command; instead, the <literal>\section</literal> command peeks +ahead. This command does not accept arguments but instead expands to +one of two commands that do accept arguments. In the synopsis these two +are <literal>\mycmd@nostar</literal> and <literal>\mycmd@star</literal>. They could take the +same number of arguments or a different number, or no arguments at all. +As always, in a &latex; document a command using at-sign <literal>@</literal> +must be enclosed inside a <literal>\makeatletter ... \makeatother</literal> block +(see <link linkend="_005cmakeatletter-and-_005cmakeatother">\makeatletter and \makeatother</link>). +</para> +<para>This example of <literal>\@ifstar</literal> defines the command <literal>\ciel</literal> and a +variant <literal>\ciel*</literal>. Both have one required argument. A call to +<literal>\ciel{night}</literal> will return "starry night sky" while +<literal>\ciel*{blue}</literal> will return "starry not blue sky". +</para> +<screen>\newcommand*{\ciel@unstarred}[1]{starry #1 sky} +\newcommand*{\ciel@starred}[1]{starry not #1 sky} +\newcommand*{\ciel}{\@ifstar{\ciel@starred}{\ciel@unstarred}} +</screen> +<para>In the next example, the starred variant takes a different number of +arguments than does the unstarred one. With this definition, Agent +007’s <literal>``My name is \agentsecret*{Bond}, +\agentsecret{James}{Bond}.''</literal> is equivalent to <literal>``My name is +\textsc{Bond}, \textit{James} textsc{Bond}.''</literal> +</para> +<screen>\newcommand*{\agentsecret@unstarred}[2]{\textit{#1} \textsc{#2}} +\newcommand*{\agentsecret@starred}[1]{\textsc{#1}} +\newcommand*{\agentsecret}{\@ifstar{\agentsecret@starred}{\agentsecret@unstarred}} +</screen> +<para>There are two sometimes more convenient ways to accomplish the work of +<literal>\@ifstar</literal>. The <filename>suffix</filename> package allows the construct +<literal>\newcommand\mycommand{<replaceable>unstarred version</replaceable>}</literal> followed by +<literal>\WithSuffix\newcommand\mycommand*{<replaceable>starred version</replaceable>}</literal>. And +&latex;3 has the <filename>xparse</filename> package that allows this code. +</para> +<screen>\NewDocumentCommand\foo{s}{\IfBooleanTF#1 + {<replaceable>starred version</replaceable>}% + {<replaceable>unstarred version</replaceable>}% + } +</screen> + +</sect3> +</sect2> </sect1> </chapter> <chapter label="3" id="Document-classes"> @@ -645,12 +712,16 @@ size (these show height by width): <indexterm role="fn"><primary>\pdfpageheight</primary></indexterm> <indexterm role="cp"><primary>package, <literal>geometry</literal></primary></indexterm> <indexterm role="cp"><primary><literal>geometry</literal> package</primary></indexterm> + <para>When using one of the engines pdf&latex;, Lua&latex;, or Xe&latex; (see <link linkend="TeX-engines">&tex; engines</link>), options other than <literal>letterpaper</literal> set the print area but you must also set the physical paper size. One way to do that is to put <literal>\pdfpagewidth=\paperwidth</literal> and -<literal>\pdfpageheight=\paperheight</literal> in your document’s preamble. The -<literal>geometry</literal> package provides flexible ways of setting the print +<literal>\pdfpageheight=\paperheight</literal> in your document’s preamble. +<indexterm role="cp"><primary>package, <literal>geometry</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>geometry</literal> package</primary></indexterm> +</para> +<para>The <literal>geometry</literal> package provides flexible ways of setting the print area and physical page size. </para> <indexterm role="fn"><primary>draft option</primary></indexterm> @@ -781,14 +852,14 @@ SMC Math Department</literal> is for a class. <indexterm role="cp"><primary>difference between class and package</primary></indexterm> </para> <para>Inside of a class or package file you can use the at-sign <literal>@</literal> as a -character in command names without having to surround that command with -<literal>\makeatletter</literal> and <literal>\makeatother</literal>. See <link linkend="_005cmakeatletter-and-_005cmakeatother">\makeatletter and -\makeatother</link>. This allow you to create commands that users will not -accidentally redefine. Another technique is to preface class- or -package-specific commands with some string to prevent your class or -package from interacting with others. For instance, the class -<literal>smcmemo</literal> might have commands <literal>\smc@tolist</literal>, -<literal>\smc@fromlist</literal>, etc. +character in command names without having to surround the code +containing that command with <literal>\makeatletter</literal> and +<literal>\makeatother</literal>. See <link linkend="_005cmakeatletter-and-_005cmakeatother">\makeatletter and \makeatother</link>. This allow +you to create commands that users will not accidentally redefine. +Another technique is to preface class- or package-specific commands with +some string to prevent your class or package from interfering with +others. For instance, the class <literal>smcmemo</literal> might have commands +<literal>\smc@tolist</literal>, <literal>\smc@fromlist</literal>, etc. </para> @@ -804,29 +875,32 @@ package from interacting with others. For instance, the class <indexterm role="cp"><primary>class options</primary></indexterm> <indexterm role="cp"><primary>package options</primary></indexterm> -<para>A class file or package file typically has four parts. (1) In the -identification part, the file says that it is a &latex; package or -class and describes itself, using the <literal>\NeedsTeXFormat</literal> and -<literal>\ProvidesClass</literal> or <literal>\ProvidesPackage</literal> commands. (2) The -preliminary declarations part declares some commands and can also load -other files. Usually these commands will be those needed for the code -used in the next part. For example, an <literal>smcmemo</literal> class might be -called with an option to read in a file with a list of people for the -to-head, as <literal>\documentclass[mathto]{smcmemo}</literal>, and therefore -needs to define a command +<para>A class file or package file typically has four parts. +</para><orderedlist numeration="arabic"><para>In the <firstterm>identification part</firstterm>, the file says that it is a &latex; +package or class and describes itself, using the <literal>\NeedsTeXFormat</literal> +and <literal>\ProvidesClass</literal> or <literal>\ProvidesPackage</literal> commands. +</para><listitem><para>The <firstterm>preliminary declarations part</firstterm> declares some commands and +can also load other files. Usually these commands will be those needed +for the code used in the next part. For example, an <literal>smcmemo</literal> +class might be called with an option to read in a file with a list of +people for the to-head, as <literal>\documentclass[mathto]{smcmemo}</literal>, and +therefore needs to define a command <literal>\newcommand{\setto}[1]{\def\@tolist{#1}}</literal> used in that -file. (3) In the handle options part the class or package declares +file. +</para></listitem><listitem><para>In the <firstterm>handle options part</firstterm> the class or package declares and processes its options. Class options allow a user to start their document as <literal>\documentclass[<replaceable>option list</replaceable>]{<replaceable>class name</replaceable>}</literal>, to modify the behavior of the class. An example is when you declare <literal>\documentclass[11pt]{article}</literal> to set the default -document font size. Finally, (4) in the more declarations part the -class or package usually does most of its work: declaring new variables, -commands and fonts, and loading other files. -</para> -<para>Here is a starting class file, which should be saved as <literal>stub.cls</literal> +document font size. +</para></listitem><listitem><para>Finally, in the <firstterm>more declarations part</firstterm> the class or package usually does +most of its work: declaring new variables, commands and fonts, and +loading other files. +</para></listitem></orderedlist> + +<para>Here is a starting class file, which should be saved as <filename>stub.cls</filename> where &latex; can find it, for example in the same directory as the -<literal>.tex</literal> file. +<filename>.tex</filename> file. </para> <screen>\NeedsTeXFormat{LaTeX2e} \ProvidesClass{stub}[2017/07/06 stub to start building classes from] @@ -855,7 +929,7 @@ of the descriptions here derive from this document), or the tutorial </para> <variablelist><varlistentry><term><literal>\AtBeginDvi{specials}</literal> </term><listitem><indexterm role="fn"><primary>\AtBeginDvi</primary></indexterm> -<para>Save in a box register things that are written to the <literal>.dvi</literal> file +<para>Save in a box register things that are written to the <filename>.dvi</filename> file at the beginning of the shipout of the first page of the document. </para> </listitem></varlistentry><varlistentry><term><literal>\AtEndOfClass{<replaceable>code</replaceable>}</literal> @@ -867,6 +941,22 @@ processing the current class or package. You can use these hooks multiple times; the <literal>code</literal> will be executed in the order that you called it. See also <link linkend="_005cAtBeginDocument">\AtBeginDocument</link>. </para> +</listitem></varlistentry><varlistentry><term><literal>\CheckCommand{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal> +</term></varlistentry><varlistentry><term><literal>\CheckCommand*{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal> +</term><listitem><indexterm role="fn"><primary>\CheckCommand</primary></indexterm> +<indexterm role="fn"><primary>\CheckCommand*</primary></indexterm> +<indexterm role="cp"><primary>new command, check</primary></indexterm> +<para>Like <literal>\newcommand</literal> (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>) but does +not define <replaceable>cmd</replaceable>; instead it checks that the current definition of +<replaceable>cmd</replaceable> is exactly as given by <replaceable>definition</replaceable> and is or is not +<indexterm role="cp"><primary>long command</primary></indexterm> +<firstterm>long</firstterm> as expected. A long command is a command that accepts +<literal>\par</literal> within an argument. The <replaceable>cmd</replaceable> command is expected to be +long with the unstarred version of <literal>\CheckCommand</literal>. Raises an +error when the check fails. This allows you to check before you start +redefining <literal>cmd</literal> yourself that no other package has already +redefined this command. +</para> </listitem></varlistentry><varlistentry><term><literal>\ClassError{<replaceable>class name</replaceable>}{<replaceable>error text</replaceable>}{<replaceable>help text</replaceable>}</literal> </term></varlistentry><varlistentry><term><literal>\PackageError{<replaceable>package name</replaceable>}{<replaceable>error text</replaceable>}{<replaceable>help text</replaceable>}</literal> </term></varlistentry><varlistentry><term><literal>\ClassWarning{<replaceable>class name</replaceable>}{<replaceable>warning text</replaceable>}</literal> @@ -902,8 +992,9 @@ message, while the other versions do show that number. </para> <para>To format the messages, including the <replaceable>help text</replaceable>: use <literal>\protect</literal> to stop a command from expanding, get a line break with -<literal>\MessageBreak</literal>, and get a space with <literal>\space</literal>. Note that -&latex; appends a period to the messages. +<literal>\MessageBreak</literal>, and get a space with <literal>\space</literal> when a space +character does not allow it, like after a command. Note that &latex; +appends a period to the messages. </para> </listitem></varlistentry><varlistentry><term><literal>\CurrentOption</literal> </term><listitem><indexterm role="fn"><primary>\CurrentOption</primary></indexterm> @@ -912,7 +1003,7 @@ be used within the <replaceable>code</replaceable> argument of either <literal>\ or <literal>\DeclareOption*</literal>. </para> </listitem></varlistentry><varlistentry><term><literal>\DeclareOption{<replaceable>option</replaceable>}{<replaceable>code</replaceable>}</literal> -</term></varlistentry><varlistentry><term><literal>\DeclareOption*{<replaceable>option</replaceable>}{<replaceable>code</replaceable>}</literal> +</term></varlistentry><varlistentry><term><literal>\DeclareOption*{<replaceable>code</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\DeclareOption</primary></indexterm> <indexterm role="fn"><primary>\DeclareOption*</primary></indexterm> <indexterm role="cp"><primary>class options</primary></indexterm> @@ -947,16 +1038,54 @@ passes the option to the <literal>article</literal> class. <screen>\DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{% \PassOptionsToClass{\CurrentOption}{article}}} </screen> +</listitem></varlistentry><varlistentry><term><literal>\DeclareRobustCommand{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal> +</term></varlistentry><varlistentry><term><literal>\DeclareRobustCommand*{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal> +</term><listitem><indexterm role="fn"><primary>\DeclareRobustCommand</primary></indexterm> +<indexterm role="fn"><primary>\DeclareRobustCommand*</primary></indexterm> +<indexterm role="cp"><primary>new command, definition</primary></indexterm> +<para>Like <literal>\newcommand</literal> and <literal>\newcommand*</literal> (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & +\renewcommand</link>) but these declare a robust command, even if some code +within the <replaceable>definition</replaceable> is fragile. (For a discussion of robust and +fragile commands see <link linkend="_005cprotect">\protect</link>.) Use this command to define new +robust commands or to redefine existing commands and make them +robust. Unlike <literal>\newcommand</literal> these do not give an error if macro +<replaceable>cmd</replaceable> already exists; instead, a log message is put into the +transcript file if a command is redefined. +</para> +<para>Commands defined this way are a bit less efficient than those defined +using <literal>\newcommand</literal> so unless the command’s data is fragile and the +command is used within a moving argument, use <literal>\newcommand</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>etoolbox</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>etoolbox</literal> package</primary></indexterm> + +<para>The <literal>etoolbox</literal> package offers commands <literal>\newrobustcmd</literal>, +<literal>\newrobustcmd*</literal>, <literal>\renewrobustcmd</literal>, <literal>\renewrobustcmd*</literal>, +<literal>\providerobustcmd</literal>, and <literal>\providerobustcmd*</literal> which are similar +to <literal>\newcommand</literal>, <literal>\newcommand*</literal>, <literal>\renewcommand</literal>, +<literal>\renewcommand*</literal>, <literal>\providecommand</literal>, and +<literal>\providecommand*</literal>, but define a robust <replaceable>cmd</replaceable> with two advantages +as compared to <literal>\DeclareRobustCommand</literal>: +</para><orderedlist numeration="arabic"><listitem><para>They use the low-level e-&tex; protection mechanism rather than the +higher level &latex; <literal>\protect</literal> mechanism, so they do not incur +the slight loss of performance mentioned above, and +</para></listitem><listitem><para>They make the same distinction between <literal>\new…</literal>, +<literal>\renew…</literal>, and <literal>\provide…</literal>, as the standard +commands, so they do not just make a log message when you redefine +<replaceable>cmd</replaceable> that already exists, in that case you need to use either +<literal>\renew…</literal> or <literal>\provide…</literal> or you get an error. +</para></listitem></orderedlist> + </listitem></varlistentry><varlistentry><term><literal>\IfFileExists{<replaceable>file name</replaceable>}{<replaceable>true code</replaceable>}{<replaceable>false code</replaceable>}</literal> </term></varlistentry><varlistentry><term><literal>\InputIfFileExists{<replaceable>file name</replaceable>}{<replaceable>true code</replaceable>}{<replaceable>false code</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\IfFileExists</primary></indexterm> <indexterm role="fn"><primary>\InputIfFileExists</primary></indexterm> -<para>Execute <replaceable>true code</replaceable> if &latex; can find the file and <replaceable>false -code</replaceable> otherwise. In the second case it inputs the file immediately -after executing <replaceable>true code</replaceable>. Thus +<para>Execute <replaceable>true code</replaceable> if &latex; can find the file <filename><replaceable>file +name</replaceable></filename> and <replaceable>false code</replaceable> otherwise. In the second case it inputs the +file immediately after executing <replaceable>true code</replaceable>. Thus <literal>\IfFileExists{img.pdf}{\includegraphics{img.pdf}}{\typeout{WARNING: -img.pdf not found}}</literal> will include the graphic if it is found but -otherwise just give a warning. +img.pdf not found}}</literal> will include the graphic <filename>img.pdf</filename> if it is +found but otherwise just give a warning. </para> <para>This command looks for the file in all search paths that &latex; uses, not only in the current directory. To look only in the current @@ -976,7 +1105,12 @@ list</replaceable>]{<replaceable>class name</replaceable>}[<replaceable>release </para> <para>The <replaceable>options list</replaceable>, if present, is a comma-separated list. The <replaceable>release date</replaceable> is optional. If present it must have the form -<replaceable>YYYY/MM/DD</replaceable>. If you request a <replaceable>release date</replaceable> and the date of +<replaceable>YYYY/MM/DD</replaceable>. +<!-- BTW, there are at-macros documented in macros2e.pdf to check the version --> +<!-- and do some actions conditionnally on version later or not to some --> +<!-- date. --> +</para> +<para>If you request a <replaceable>release date</replaceable> and the date of the package installed on your system is earlier, then you get a warning on the screen and in the log like <literal>You have requested, on input line 4, version `2038/01/19' of document class article, but only version @@ -990,8 +1124,8 @@ that lets you build classes on existing ones, such as the standard </para> </listitem></varlistentry><varlistentry><term><literal>\ExecuteOptions{<replaceable>options-list</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\ExecuteOptions</primary></indexterm> -<para>For each option in the <replaceable>options-list</replaceable>, in order, this command -executes the command <literal>\ds@</literal><replaceable>option</replaceable>. If this command is not +<para>For each option <replaceable>option</replaceable> in the <replaceable>options-list</replaceable>, in order, this command +executes the command <literal>\ds@<replaceable>option</replaceable></literal>. If this command is not defined then that option is silently ignored. </para> <para>It can be used to provide a default option list before @@ -1001,13 +1135,13 @@ default to be 11pt fonts then you could specify </para> </listitem></varlistentry><varlistentry><term><literal>\NeedsTeXFormat{<replaceable>format</replaceable>}[<replaceable>format date</replaceable>]</literal> </term><listitem><indexterm role="fn"><primary>\NeedsTeXFormat</primary></indexterm> -<para>Specifies the format that this class should be run under. Often issued +<para>Specifies the format that this class must be run under. Often issued as the first line of a class file, and most often used as: -<literal>\NeedsTeXFormat{LaTeX2e}</literal>. The format that you specify must -exactly match the one installed on your system that you invoked, -including that the string is case sensitive. If it does not match then -execution stops with an error like ‘<literal>This file needs format `xxx' -but this is `LaTeX2e'.</literal>’ +<literal>\NeedsTeXFormat{LaTeX2e}</literal>. When a document using that class is +processed, the format name given here must match the format that is +actually being run (including that the <replaceable>format</replaceable> string is case +sensitive). If it does not match then execution stops with an error +like ‘<literal>This file needs format `LaTeX2e' but this is `xxx'.</literal>’ </para> <para>To specify a version of the format that you know to have certain features, include the optional <replaceable>format date</replaceable> on which those features @@ -1015,8 +1149,7 @@ were implemented. If present it must be in the form <literal>YYYY/MM/DD</litera If the format version installed on your system is earlier than <replaceable>format date</replaceable> then you get a warning like ‘<literal>You have requested release `2038/01/20' of LaTeX, but only release `2016/02/01' is -available.</literal>’ (The &latex; kernel has been frozen for many years so you -probably do not not need to specify the format date.) +available.</literal>’ </para> </listitem></varlistentry><varlistentry><term><literal>\OptionNotUsed</literal> </term><listitem><indexterm role="fn"><primary>\OptionNotUsed</primary></indexterm> @@ -1030,8 +1163,8 @@ within the <replaceable>code</replaceable> argument of either <literal>\DeclareO <!-- option(s): [unusedoption].} with the list of not-used options when it --> <!-- reaches @code{\begin@{document@}}. --> -</listitem></varlistentry><varlistentry><term><literal>\PassOptionsToClass{<replaceable>options list</replaceable>}{<replaceable>class name</replaceable>}</literal> -</term></varlistentry><varlistentry><term><literal>\PassOptionsToPackage{<replaceable>options list</replaceable>}{<replaceable>package name</replaceable>}</literal> +</listitem></varlistentry><varlistentry><term><literal>\PassOptionsToClass{<replaceable>option list</replaceable>}{<replaceable>class name</replaceable>}</literal> +</term></varlistentry><varlistentry><term><literal>\PassOptionsToPackage{<replaceable>option list</replaceable>}{<replaceable>package name</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\PassOptionsToClass</primary></indexterm> <indexterm role="fn"><primary>\PassOptionsToPackage</primary></indexterm> <para>Adds the options in the comma-separated list <replaceable>option list</replaceable> to the @@ -1045,16 +1178,17 @@ more than once will get you an error like <literal>Option clash for package foo.</literal> (&latex; throws an error even if there is no conflict between the options.) </para> -<para>If your code is bringing in a package twice then you can collapse that -to once, for example replacing the two +<para>If your own code is bringing in a package twice then you can collapse +that to once, for example replacing the two <literal>\RequirePackage[landscape]{geometry}\RequirePackage[margins=1in]{geometry}</literal> with the single <literal>\RequirePackage[landscape,margins=1in]{geometry}</literal>. But if you are loading a package that in turn loads another package then you need -to queue up the options you desire. For instance, suppose the package -<literal>foo</literal> loads the package <literal>geometry</literal>. Instead of <literal> -\RequirePackage{foo}\RequirePackage[draft]{graphics}</literal> you must write -<literal>\PassOptionsToPackage{draft}{graphics} +to queue up the options you desire for this other package. For +instance, suppose the package <literal>foo</literal> loads the package +<literal>geometry</literal>. Instead of +<literal>\RequirePackage{foo}\RequirePackage[draft]{graphics}</literal> you must +write <literal>\PassOptionsToPackage{draft}{graphics} \RequirePackage{foo}</literal>. (If <literal>foo.sty</literal> loads an option in conflict with what you want then you may have to look into altering its source.) </para> @@ -1073,66 +1207,70 @@ option. The user could start their &latex; file with in the class file as <literal>\ProcessOptions\relax</literal> (because of the existence of the starred command). </para> -<para>Options come in two types. ‘Local’ options have been specified for this +<para>Options come in two types. <firstterm>Local options</firstterm> have been specified for this particular package in the <replaceable>options</replaceable> argument of <literal>\PassOptionsToPackage{<replaceable>options</replaceable>}</literal>, <literal>\usepackage[<replaceable>options</replaceable>]</literal>, or -<literal>\RequirePackage[<replaceable>options</replaceable>]</literal>. ‘Global’ options are those given +<literal>\RequirePackage[<replaceable>options</replaceable>]</literal>. <firstterm>Global options</firstterm> are those given by the class user in <literal>\documentclass[<replaceable>options</replaceable>]</literal> (If an option is specified both locally and globally then it is local.) </para> -<para>When <literal>\ProcessOptions</literal> is called for a package <literal>pkg.sty</literal>, the -following happens. (1) For each option <replaceable>option</replaceable> so far declared +<para>When <literal>\ProcessOptions</literal> is called for a package <filename>pkg.sty</filename>, the +following happens: +</para><orderedlist numeration="arabic"><listitem><para>For each option <replaceable>option</replaceable> so far declared with <literal>\DeclareOption</literal>, it looks to see if that option is either a global or a local option for <literal>pkg</literal>. If so then it executes the declared code. This is done in the order in which these options were -given in <literal>pkg.sty</literal>. (2) For each remaining local option, it -executes the command <literal>\ds@</literal><replaceable>option</replaceable> if it has been defined -somewhere (other than by a <literal>\DeclareOption</literal>); otherwise, it -executes the default option code given in <literal>\DeclareOption*</literal>. If no -default option code has been declared then it gives an error message. -This is done in the order in which these options were specified. -</para> +given in <filename>pkg.sty</filename>. +</para></listitem><listitem><para>For each remaining local option, it executes the command +<literal>\ds@</literal><replaceable>option</replaceable> if it has been defined somewhere (other than by +a <literal>\DeclareOption</literal>); otherwise, it executes the default option code +given in <literal>\DeclareOption*</literal>. If no default option code has been +declared then it gives an error message. This is done in the order in +which these options were specified. +</para></listitem></orderedlist> <para>When <literal>\ProcessOptions</literal> is called for a class it works in the same -way except that all options are local, and the default value for +way except that all options are local, and the default <replaceable>code</replaceable> for <literal>\DeclareOption*</literal> is <literal>\OptionNotUsed</literal> rather than an error. </para> -<para>The starred version <literal>\ProcessOptions*</literal><replaceable>\@options</replaceable> executes the +<para>The starred version <literal>\ProcessOptions*</literal> executes the options in the order specified in the calling commands, rather than in the order of declaration in the class or package. For a package this means that the global options are processed first. </para> -</listitem></varlistentry><varlistentry><term><literal>\ProvidesClass{<replaceable>class name</replaceable>}[<replaceable><release date></replaceable> <replaceable><brief additional information></replaceable>]</literal> -</term></varlistentry><varlistentry><term><literal>\ProvidesPackage{<replaceable>package name</replaceable>}[<replaceable><release date></replaceable> <replaceable><brief additional information></replaceable>]</literal> +</listitem></varlistentry><varlistentry><term><literal>\ProvidesClass{<replaceable>class name</replaceable>}[<replaceable>release date</replaceable> <replaceable>brief additional information</replaceable>]</literal> +</term></varlistentry><varlistentry><term><literal>\ProvidesClass{<replaceable>class name</replaceable>}[<replaceable>release date</replaceable>]</literal> +</term></varlistentry><varlistentry><term><literal>\ProvidesPackage{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable> <replaceable>brief additional information</replaceable>]</literal> +</term></varlistentry><varlistentry><term><literal>\ProvidesPackage{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable>]</literal> </term><listitem><indexterm role="fn"><primary>\ProvidesClass</primary></indexterm> <indexterm role="fn"><primary>\ProvidesPackage</primary></indexterm> <para>Identifies the class or package, printing a message to the screen and the log file. </para> <para>When a user writes <literal>\documentclass{smcmemo}</literal> then &latex; loads -the file <literal>smcmemo.cls</literal>. Similarly, a user writing +the file <filename>smcmemo.cls</filename>. Similarly, a user writing <literal>\usepackage{test}</literal> prompts &latex; to load the file <literal>test.sty</literal>. If the name of the file does not match the declared class or package name then you get a warning. Thus, if you invoke -<literal>\documentclass{smcmemo}</literal>, and the file <literal>smcmemo.cls</literal> has +<literal>\documentclass{smcmemo}</literal>, and the file <filename>smcmemo.cls</filename> has the statement <literal>\ProvidesClass{xxx}</literal> then you get a warning like <literal>You have requested document class `smcmemo', but the document class provides 'xxx'.</literal> This warning does not prevent &latex; from processing the rest of the class file normally. </para> -<para>If you include the optional part then you must include the date, before -the first space, and it must have the form <literal>YYYY/MM/DD</literal>. The rest -of the optional part is free-form, although it traditionally identifies +<para>If you include the optional argument, then you must include the date, before +the first space if any, and it must have the form <literal>YYYY/MM/DD</literal>. The rest +of the optional argument is free-form, although it traditionally identifies the class, and is written to the screen during compilation and to the -log file. Thus, if your file <literal>smcmem.cls</literal> contains the line -<literal>\ProvidesClass{smcmem}[2008/06/01 SMC memo class]</literal> and your -document’s first line is <literal>\documentclass{smcmem}</literal> then you will -see <literal>Document Class: smcmemo 2008/06/01 SMC memo class</literal>. +log file. Thus, if your file <filename>smcmemo.cls</filename> contains the line +<literal>\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC memo class]</literal> and your +document’s first line is <literal>\documentclass{smcmemo}</literal> then you will +see <literal>Document Class: smcmemo 2008/06/01 v1.0 SMC memo class</literal>. </para> -<para>The date in the optional portion allows class and package users to ask +<para>The date in the optional argument allows class and package users to ask to be warned if the version of the class or package installed on their -system is earlier than <replaceable>release date</replaceable>, by using the optional calls -such as <literal>\documentclass{smcmem}[2018/10/12]</literal> or +system is earlier than <replaceable>release date</replaceable>, by using the optional arguments +such as <literal>\documentclass{smcmemo}[2018/10/12]</literal> or <literal>\usepackage{foo}[[2017/07/07]]</literal>. (Note that package users only rarely include a date, and class users almost never do.) </para> @@ -1141,19 +1279,21 @@ rarely include a date, and class users almost never do.) <para>Declare a file other than the main class and package files, such as configuration files or font definition files. Put this command in that file and you get in the log a string like <literal>File: test.config -2017/10/12 config file for test.cls</literal>. +2017/10/12 config file for test.cls</literal> for <replaceable>file name</replaceable> equal to +‘<literal>test.config</literal>’ and <replaceable>additional information</replaceable> equal to +‘<literal>2017/10/12 config file for test.cls</literal>’. </para> -</listitem></varlistentry><varlistentry><term><literal>\RequirePackage[<replaceable>options list</replaceable>]{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable>]</literal> +</listitem></varlistentry><varlistentry><term><literal>\RequirePackage[<replaceable>option list</replaceable>]{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable>]</literal> </term></varlistentry><varlistentry><term><literal>\RequirePackageWithOptions{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable>]</literal> </term><listitem><indexterm role="fn"><primary>\RequirePackage</primary></indexterm> <indexterm role="fn"><primary>\RequirePackageWithOptions</primary></indexterm> -<para>Load a package, like the author command <literal>\usepackage</literal>. +<para>Load a package, like the document author command <literal>\usepackage</literal>. See <link linkend="Additional-packages">Additional packages</link>. An example is <literal>\RequirePackage[landscape,margin=1in]{geometry}</literal>. Note that the &latex; development team strongly recommends use of these commands over Plain &tex;’s <literal>\input</literal>; see the Class Guide. </para> -<para>The <replaceable>options list</replaceable>, if present, is a comma-separated list. The +<para>The <replaceable>option list</replaceable>, if present, is a comma-separated list. The <replaceable>release date</replaceable>, if present, must have the form <replaceable>YYYY/MM/DD</replaceable>. If the release date of the package as installed on your system is earlier than <replaceable>release date</replaceable> then you get a warning like <literal>You have @@ -1383,10 +1523,11 @@ formulas. <literal>\mathversion{normal}</literal> restores the default. <indexterm role="cp"><primary>lining numerals</primary></indexterm> <indexterm role="cp"><primary>package, <literal>textcomp</literal></primary></indexterm> <indexterm role="cp"><primary><literal>textcomp</literal> package</primary></indexterm> + <para>Finally, the command <literal>\oldstylenums{<replaceable>numerals</replaceable>}</literal> will typeset so-called “old-style” numerals, which have differing heights and depths (and sometimes widths) from the standard “lining” numerals, -which all have the same height as upper-case letters. &latex;’s +which all have the same height as uppercase letters. &latex;’s default fonts support this, and will respect <literal>\textbf</literal> (but not other styles; there are no italic old-style numerals in Computer Modern). Many other fonts have old-style numerals also; sometimes the @@ -1469,7 +1610,8 @@ Knuth’s original encoding for Computer Modern (the default), and <literal>T1</literal>, also known as the Cork encoding, which has support for the accented characters used by the most widespread European languages (German, French, Italian, Polish and others), which allows &tex; to -hyphenate words containing accented letters. +hyphenate words containing accented letters. For more, see +<ulink url="https://ctan.org/pkg/encguide">https://ctan.org/pkg/encguide</ulink>. </para> </listitem></varlistentry><varlistentry><term><literal>\fontfamily{<replaceable>family</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\fontfamily</primary></indexterm> @@ -1480,29 +1622,48 @@ hyphenate words containing accented letters. through many of the fonts easily used with &latex;. Here are examples of some common families: </para> -<!-- Sorry about the ugly @t{@ }. The idea is to make the lists line up --> -<!-- in Info. Since the items are so short, it seems nice to have them --> -<!-- on the same line instead of using @table. --> - -<itemizedlist><listitem><para><!-- /@w --> <literal>pag</literal><literal> </literal> Avant Garde -</para></listitem><listitem><para><!-- /@w --> <literal>fvs</literal><literal> </literal> Bitstream Vera Sans -</para></listitem><listitem><para><!-- /@w --> <literal>pbk</literal><literal> </literal> Bookman -</para></listitem><listitem><para><!-- /@w --> <literal>bch</literal><literal> </literal> Charter -</para></listitem><listitem><para><!-- /@w --> <literal>ccr</literal><literal> </literal> Computer Concrete -</para></listitem><listitem><para><!-- /@w --> <literal>cmr</literal><literal> </literal> Computer Modern -</para></listitem><listitem><para><!-- /@w --> <literal>pcr</literal><literal> </literal> Courier -</para></listitem><listitem><para><!-- /@w --> <literal>phv</literal><literal> </literal> Helvetica -</para></listitem><listitem><para><!-- /@w --> <literal>fi4</literal><literal> </literal> Inconsolata -</para></listitem><listitem><para><!-- /@w --> <literal>lmr</literal><literal> </literal> Latin Modern -</para></listitem><listitem><para><!-- /@w --> <literal>lmss</literal> Latin Modern Sans -</para></listitem><listitem><para><!-- /@w --> <literal>lmtt</literal> Latin Modern Typewriter -</para></listitem><listitem><para><!-- /@w --> <literal>pnc</literal><literal> </literal> New Century Schoolbook -</para></listitem><listitem><para><!-- /@w --> <literal>ppl</literal><literal> </literal> Palatino -</para></listitem><listitem><para><!-- /@w --> <literal>ptm</literal><literal> </literal> Times -</para></listitem><listitem><para><!-- /@w --> <literal>uncl</literal> Uncial -</para></listitem><listitem><para><!-- /@w --> <literal>put</literal><literal> </literal> Utopia -</para></listitem><listitem><para><!-- /@w --> <literal>pzc</literal><literal> </literal> Zapf Chancery -</para></listitem></itemizedlist> +<informaltable><tgroup cols="2"><colspec colwidth="4*"></colspec><colspec colwidth="31*"></colspec><tbody><row><entry><para><literal>pag</literal> +</para></entry><entry><para>Avant Garde +</para></entry></row><row><entry><para><literal>fvs</literal> +</para></entry><entry><para>Bitstream Vera Sans +</para></entry></row><row><entry><para><literal>pbk</literal> +</para></entry><entry><para>Bookman +</para></entry></row><row><entry><para><literal>bch</literal> +</para></entry><entry><para>Charter +</para></entry></row><row><entry><para><literal>ccr</literal> +</para></entry><entry><para>Computer Concrete +</para></entry></row><row><entry><para><literal>cmr</literal> +</para></entry><entry><para>Computer Modern +</para></entry></row><row><entry><para><literal>cmss</literal> +</para></entry><entry><para>Computer Modern Sans Serif +</para></entry></row><row><entry><para><literal>cmtt</literal> +</para></entry><entry><para>Computer Modern Typewriter +</para></entry></row><row><entry><para><literal>pcr</literal> +</para></entry><entry><para>Courier +</para></entry></row><row><entry><para><literal>phv</literal> +</para></entry><entry><para>Helvetica +</para></entry></row><row><entry><para><literal>fi4</literal> +</para></entry><entry><para>Inconsolata +</para></entry></row><row><entry><para><literal>lmr</literal> +</para></entry><entry><para>Latin Modern +</para></entry></row><row><entry><para><literal>lmss</literal> +</para></entry><entry><para>Latin Modern Sans +</para></entry></row><row><entry><para><literal>lmtt</literal> +</para></entry><entry><para>Latin Modern Typewriter +</para></entry></row><row><entry><para><literal>pnc</literal> +</para></entry><entry><para>New Century Schoolbook +</para></entry></row><row><entry><para><literal>ppl</literal> +</para></entry><entry><para>Palatino +</para></entry></row><row><entry><para><literal>ptm</literal> +</para></entry><entry><para>Times +</para></entry></row><row><entry><para><literal>uncl</literal> +</para></entry><entry><para>Uncial +</para></entry></row><row><entry><para><literal>put</literal> +</para></entry><entry><para>Utopia +</para></entry></row><row><entry><para><literal>pzc</literal> +</para></entry><entry><para>Zapf Chancery +</para></entry></row></tbody></tgroup></informaltable> + </listitem></varlistentry><varlistentry><term><literal>\fontseries{<replaceable>series</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\fontseries</primary></indexterm> <indexterm role="cp"><primary>series, of fonts</primary></indexterm> @@ -1510,39 +1671,64 @@ examples of some common families: <firstterm>width</firstterm>. Typically, a font supports only a few of the possible combinations. Some common combined series values include: </para> -<itemizedlist><listitem><para><!-- /@w --> <literal>m</literal><literal> </literal> Medium (normal) -</para></listitem><listitem><para><!-- /@w --> <literal>b</literal><literal> </literal> Bold -</para></listitem><listitem><para><!-- /@w --> <literal>c</literal><literal> </literal> Condensed -</para></listitem><listitem><para><!-- /@w --> <literal>bc</literal> Bold condensed -</para></listitem><listitem><para><!-- /@w --> <literal>bx</literal> Bold extended -</para></listitem></itemizedlist> +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="17*"></colspec><tbody><row><entry><para><literal>m</literal> +</para></entry><entry><para>Medium (normal) +</para></entry></row><row><entry><para><literal>b</literal> +</para></entry><entry><para>Bold +</para></entry></row><row><entry><para><literal>c</literal> +</para></entry><entry><para>Condensed +</para></entry></row><row><entry><para><literal>bc</literal> +</para></entry><entry><para>Bold condensed +</para></entry></row><row><entry><para><literal>bx</literal> +</para></entry><entry><para>Bold extended +</para></entry></row></tbody></tgroup></informaltable> <indexterm role="cp"><primary>weights, of fonts</primary></indexterm> <para>The possible values for weight, individually, are: </para> -<itemizedlist><listitem><para><!-- /@w --> <literal>ul</literal> Ultra light -</para></listitem><listitem><para><!-- /@w --> <literal>el</literal> Extra light -</para></listitem><listitem><para><!-- /@w --> <literal>l</literal><literal> </literal> Light -</para></listitem><listitem><para><!-- /@w --> <literal>sl</literal> Semi light -</para></listitem><listitem><para><!-- /@w --> <literal>m</literal><literal> </literal> Medium (normal) -</para></listitem><listitem><para><!-- /@w --> <literal>sb</literal> Semi bold -</para></listitem><listitem><para><!-- /@w --> <literal>b</literal><literal> </literal> Bold -</para></listitem><listitem><para><!-- /@w --> <literal>eb</literal> Extra bold -</para></listitem><listitem><para><!-- /@w --> <literal>ub</literal> Ultra bold -</para></listitem></itemizedlist> +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="18*"></colspec><tbody><row><entry><para><literal>ul</literal> +</para></entry><entry><para>Ultra light +</para></entry></row><row><entry><para><literal>el</literal> +</para></entry><entry><para>Extra light +</para></entry></row><row><entry><para><literal>l</literal> +</para></entry><entry><para>Light +</para></entry></row><row><entry><para><literal>sl</literal> +</para></entry><entry><para>Semi light +</para></entry></row><row><entry><para><literal>m</literal> +</para></entry><entry><para>Medium (normal) +</para></entry></row><row><entry><para><literal>sb</literal> +</para></entry><entry><para>Semi bold +</para></entry></row><row><entry><para><literal>b</literal> +</para></entry><entry><para>Bold +</para></entry></row><row><entry><para><literal>eb</literal> +</para></entry><entry><para>Extra bold +</para></entry></row><row><entry><para><literal>ub</literal> +</para></entry><entry><para>Ultra bold +</para></entry></row></tbody></tgroup></informaltable> <indexterm role="cp"><primary>widths, of fonts</primary></indexterm> -<para>The possible values for width, individually, are (the percentages -are just guides and are not followed precisely by all fonts): -</para> -<itemizedlist><listitem><para><!-- /@w --> <literal>uc</literal> Ultra condensed, 50% -</para></listitem><listitem><para><!-- /@w --> <literal>ec</literal> Extra condensed, 62.5% -</para></listitem><listitem><para><!-- /@w --> <literal>c</literal><literal> </literal> Condensed, 75% -</para></listitem><listitem><para><!-- /@w --> <literal>sc</literal> Semi condensed, 87.5% -</para></listitem><listitem><para><!-- /@w --> <literal>m</literal><literal> </literal> Medium, 100% -</para></listitem><listitem><para><!-- /@w --> <literal>sx</literal> Semi expanded, 112.5% -</para></listitem><listitem><para><!-- /@w --> <literal>x</literal><literal> </literal> Expanded, 125% -</para></listitem><listitem><para><!-- /@w --> <literal>ex</literal> Extra expanded, 150% -</para></listitem><listitem><para><!-- /@w --> <literal>ux</literal> Ultra expanded, 200% -</para></listitem></itemizedlist> +<para>The possible values for width, individually, are (the meaning and +relationship of these terms varies with individual typefaces): +</para> + +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="15*"></colspec><tbody><row><entry><para><literal>uc</literal> +</para></entry><entry><para>Ultra condensed +</para></entry></row><row><entry><para><literal>ec</literal> +</para></entry><entry><para>Extra condensed +</para></entry></row><row><entry><para><literal>c</literal> +</para></entry><entry><para>Condensed +</para></entry></row><row><entry><para><literal>sc</literal> +</para></entry><entry><para>Semi condensed +</para></entry></row><row><entry><para><literal>m</literal> +</para></entry><entry><para>Medium +</para></entry></row><row><entry><para><literal>sx</literal> +</para></entry><entry><para>Semi expanded +</para></entry></row><row><entry><para><literal>x</literal> +</para></entry><entry><para>Expanded +</para></entry></row><row><entry><para><literal>ex</literal> +</para></entry><entry><para>Extra expanded +</para></entry></row><row><entry><para><literal>ux</literal> +</para></entry><entry><para>Ultra expanded +</para></entry></row></tbody></tgroup></informaltable> + <para>When forming the <replaceable>series</replaceable> string from the weight and width, drop the <literal>m</literal> that stands for medium weight or medium width, unless both weight and width are <literal>m</literal>, in which case use just one @@ -1553,13 +1739,20 @@ weight and width are <literal>m</literal>, in which case use just one <indexterm role="cp"><primary>shapes, of fonts</primary></indexterm> <para>Select font shape. Valid shapes are: </para> -<itemizedlist><listitem><para><!-- /@w --> <literal>n</literal><literal> </literal> Upright (normal) -</para></listitem><listitem><para><!-- /@w --> <literal>it</literal> Italic -</para></listitem><listitem><para><!-- /@w --> <literal>sl</literal> Slanted (oblique) -</para></listitem><listitem><para><!-- /@w --> <literal>sc</literal> Small caps -</para></listitem><listitem><para><!-- /@w --> <literal>ui</literal> Upright italics -</para></listitem><listitem><para><!-- /@w --> <literal>ol</literal> Outline -</para></listitem></itemizedlist> +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="19*"></colspec><tbody><row><entry><para><literal>n</literal> +</para></entry><entry><para>Upright (normal) +</para></entry></row><row><entry><para><literal>it</literal> +</para></entry><entry><para>Italic +</para></entry></row><row><entry><para><literal>sl</literal> +</para></entry><entry><para>Slanted (oblique) +</para></entry></row><row><entry><para><literal>sc</literal> +</para></entry><entry><para>Small caps +</para></entry></row><row><entry><para><literal>ui</literal> +</para></entry><entry><para>Upright italics +</para></entry></row><row><entry><para><literal>ol</literal> +</para></entry><entry><para>Outline +</para></entry></row></tbody></tgroup></informaltable> + <para>The two last shapes are not available for most font families, and small caps are often missing as well. </para> @@ -1580,11 +1773,13 @@ reset every time a size change happens; see <literal>\baselinestretch</literal>, <para>&latex; multiplies the line spacing by the value of the <literal>\baselinestretch</literal> parameter; the default factor is 1. A change takes effect when <literal>\selectfont</literal> (see below) is called. You can -make line skip changes happen for the entire document by doing -<literal>\renewcommand{\baselinestretch}{2.0}</literal> in the preamble. +make a line skip change happen for the entire document, for instance +doubling it, by doing <literal>\renewcommand{\baselinestretch}{2.0}</literal> in +the preamble. </para> <indexterm role="cp"><primary>package, <literal>setspace</literal></primary></indexterm> <indexterm role="cp"><primary><literal>setspace</literal> package</primary></indexterm> + <indexterm role="cp"><primary>double spacing</primary></indexterm> <para>However, the best way to double-space a document is to use the <filename>setspace</filename> package. In addition to offering a number of spacing @@ -2024,6 +2219,7 @@ automatically added. <indexterm role="cp"><primary>here, putting floats</primary></indexterm> <indexterm role="cp"><primary>package, <literal>float</literal></primary></indexterm> <indexterm role="cp"><primary><literal>float</literal> package</primary></indexterm> + <para>To absolutely force a float to appear “here”, you can <literal>\usepackage{float}</literal> and use the <literal>H</literal> specifier which it defines. For further discussion, see the FAQ entry at @@ -2057,6 +2253,9 @@ use the <filename>afterpage</filename> package and issue <literal>\afterpage{\clearpage}</literal>. This will wait until the current page is finished and then flush all outstanding floats. </para> +<indexterm role="cp"><primary>package, <literal>flafter</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>flafter</literal> package</primary></indexterm> + <para>&latex; can typeset a float before where it appears in the source (although on the same output page) if there is a <literal>t</literal> specifier in the <replaceable>placement</replaceable> parameter. If this is not desired, and deleting @@ -2197,15 +2396,229 @@ command is something like </screen> <indexterm role="fn"><primary>secnumdepth counter</primary></indexterm> <indexterm role="cp"><primary>section numbers, printing</primary></indexterm> -<para>The <literal>secnumdepth</literal> counter controls printing of section numbers. +<anchor id="Sectioning_002fsecnumdepth"/><para>The <literal>secnumdepth</literal> counter controls printing of section numbers. The setting </para> <screen>\setcounter{secnumdepth}{<replaceable>level</replaceable>} </screen> <para>suppresses heading numbers at any depth <inlineequation><mathphrase>> <replaceable>level</replaceable></mathphrase></inlineequation>, where -<literal>chapter</literal> is level zero. (See <link linkend="_005csetcounter">\setcounter</link>.) +<literal>chapter</literal> is level zero. The default <literal>secnumdepth</literal> is 3 in +&latex;’s <filename>article</filename> class and 2 in the <filename>book</filename> and +<filename>report</filename> classes. (See <link linkend="_005csetcounter">\setcounter</link>.) +</para> + + +<sect1 label="6.1" id="_005c_0040startsection"> +<title><literal>\@startsection</literal></title> + +<indexterm role="fn"><primary>\@startsection</primary></indexterm> +<indexterm role="cp"><primary>section, redefining</primary></indexterm> + +<para>Synopsis: +</para> +<screen>\@startsection{<replaceable>name</replaceable>}{<replaceable>level</replaceable>}{<replaceable>indent</replaceable>}{<replaceable>beforeskip</replaceable>}{<replaceable>afterskip</replaceable>}{<replaceable>style</replaceable>} +</screen> +<para>Used to help redefine the behavior of commands that start sectioning +divisions such as <literal>\section</literal> or <literal>\subsection</literal>. +</para> +<para>Note that the <filename>titlesec</filename> package makes manipulation of sectioning +easier. Further, while most requirements for sectioning commands can be +satisfied with <literal>\@startsection</literal>, some cannot. For instance, in +the standard &latex; <literal>book</literal> and <literal>report</literal> classes the commands +<literal>\chapter</literal> and <literal>\report</literal> are not constructed in this way. To +make such a command you may want to use the <literal>\secdef</literal> command. +<!-- xx define, and make a cross reference to, secdef. --> +</para> +<para>Technically, <literal>\@startsection</literal> has the form +</para><screen>\@startsection{<replaceable>name</replaceable>}{<replaceable>level</replaceable>}{<replaceable>indent</replaceable>}{<replaceable>beforeskip</replaceable>}{<replaceable>afterskip</replaceable>}{<replaceable>style</replaceable>}*[<replaceable>toctitle</replaceable>]{<replaceable>title</replaceable>} +</screen><para>(the star <literal>*</literal> is optional), so that issuing +</para><screen>\renewcommand{\section}{\@startsection{<replaceable>name</replaceable>}{<replaceable>level</replaceable>}{<replaceable>indent</replaceable>}{<replaceable>beforeskip</replaceable>}{<replaceable>afterskip</replaceable>}{<replaceable>style</replaceable>}} +</screen><para>redefines <literal>\section</literal> to have the form +<literal>\section*[<replaceable>toctitle</replaceable>]{<replaceable>title</replaceable>}</literal> (here too, the +star <literal>*</literal> is optional). See <link linkend="Sectioning">Sectioning</link>. This implies that +when you write a command like <literal>\renewcommand{section}{...}</literal>, +the <literal>\@startsection{...}</literal> must come last in the definition. See +the examples below. +</para> +<variablelist> +<varlistentry><term><replaceable>name</replaceable> +</term><listitem><anchor id="_005c_0040startsection_002fname"/><para>Name of the counter used to number the +sectioning header. This counter must be defined separately. Most +commonly this is either <literal>section</literal>, <literal>subsection</literal>, or +<literal>paragraph</literal>. Although in those three cases the counter name is the +same as the sectioning command itself, using the same name is not +required. +</para> +<para>Then <literal>\the</literal><replaceable>name</replaceable> displays the title number and +<literal>\</literal><replaceable>name</replaceable><literal>mark</literal> is for the page headers. See the third +example below. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>level</replaceable> +</term><listitem><anchor id="_005c_0040startsection_002flevel"/><para>An integer giving the depth of the +sectioning command: 0 for <literal>chapter</literal> (only applies to the standard +<literal>book</literal> and <literal>report</literal> classes), 1 for <literal>section</literal>, 2 for +<literal>subsection</literal>, 3 for <literal>subsubsection</literal>, 4 for <literal>paragraph</literal>, +and 5 for <literal>subparagraph</literal>. In the <literal>book</literal> and <literal>report</literal> +classes <literal>part</literal> has level -1, while in the <literal>article</literal> class +<literal>part</literal> has level 0. +</para> +<para>If <replaceable>level</replaceable> is less than or equal to the value of <literal>secnumdepth</literal> +then the titles for this sectioning command will be numbered. For +instance, in an <literal>article</literal>, if <literal>secnumdepth</literal> is 1 then a +<literal>\section{Introduction}</literal> command will produce output like “1 +Introduction” while <literal>\subsection{Discussion}</literal> will produce +output like “Discussion”, without the number prefix. +See <link linkend="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</link>. +</para> +<para>If <replaceable>level</replaceable> is less than or equal to the value of <replaceable>tocdepth</replaceable> then +the table of contents will have an entry for this sectioning unit. +For instance, in an <literal>article</literal>, if <replaceable>tocdepth</replaceable> is 1 then the table of +contents will list sections but not subsections. +<!-- xx add, and cross reference to, tocdepth --> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>indent</replaceable> +</term><listitem><anchor id="_005c_0040startsection_002findent"/><para>A length giving the indentation of all +of the title lines with respect to the left margin. To have the title +flush with the margin use <literal>0pt</literal>. A negative indentation such as +<literal>-\parindent</literal> will move the title into the left margin. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>beforeskip</replaceable> +</term><listitem><anchor id="_005c_0040startsection_002fbeforeskip"/><para>The absolute value of this length is +the amount of vertical space that is inserted before this sectioning +unit’s title. This space will be discarded if the sectioning unit +happens to start at the top of a fresh page. If this number is negative +then the first paragraph following the header is not indented, if it is +non-negative then the first paragraph is indented. (Note that the +negative of <literal>1pt plus 2pt minus 3pt</literal> is <literal>-1pt plus -2pt minus +-3pt</literal>.) +</para> +<para>For example, if <replaceable>beforeskip</replaceable> is <literal>-3.5ex plus -1ex minus -0.2ex</literal> +then to start the new sectioning unit, &latex; will add about 3.5 times +the height of a letter x in vertical space, and the first paragraph in +the section will not be indented. Using a rubber length, with +<literal>plus</literal> and <literal>minus</literal>, is good practice here since it gives +&latex; more flexibility in making up the page (see <link linkend="Lengths">Lengths</link>). +</para> +<para>The full accounting of the vertical space between the baseline of the +line prior to this sectioning unit’s header and the baseline of the +header is that it is the sum of the <literal>\parskip</literal> of the text font, +the <literal>\baselineskip</literal> of the title font, and the absolute value of +the <replaceable>beforeskip</replaceable>. This space is typically rubber so it may stretch +or shrink. (If the sectioning unit starts on a fresh page so that the +vertical space is discarded then the baseline of the header text will be +where &latex; would put the baseline of the first text line on that +page.) +</para> +</listitem></varlistentry><varlistentry><term><replaceable>afterskip</replaceable> +</term><listitem><anchor id="_005c_0040startsection_002fafterskip"/><para>This is a length. If <replaceable>afterskip</replaceable> +is non-negative then this is the vertical space inserted after the +sectioning unit’s title header. If it is negative then the title header +becomes a run-in header, so that it becomes part of the next paragraph. +In this case the absolute value of the length gives the horizontal space +between the end of the title and the beginning of the following +paragraph. (Note that the negative of <literal>1pt plus 2pt minus 3pt</literal> is +<literal>-1pt plus -2pt minus -3pt</literal>.) +</para> +<para>As with <replaceable>beforeskip</replaceable>, using a rubber length, with <literal>plus</literal> and +<literal>minus</literal> components, is good practice here since it gives &latex; +more flexibility in putting together the page. +</para> +<para>If <literal>afterskip</literal> is non-negative then the full accounting of the +vertical space between the baseline of the sectioning unit’s header and +the baseline of the first line of the following paragraph is that it is +the sum of the <literal>\parskip</literal> of the title font, the +<literal>\baselineskip</literal> of the text font, and the value of <replaceable>after</replaceable>. +That space is typically rubber so it may stretch or shrink. (Note that +because the sign of <literal>afterskip</literal> changes the sectioning unit +header’s from standalone to run-in, you cannot use a negative +<literal>afterskip</literal> to cancel part of the <literal>\parskip</literal>.) +</para> +</listitem></varlistentry><varlistentry><term><replaceable>style</replaceable> +</term><listitem><anchor id="_005c_0040startsection_002fstyle"/><para>Controls the styling of the title. See +the examples below. Typical commands to use here are <literal>\centering</literal>, +<literal>\raggedright</literal>, <literal>\normalfont</literal>, <literal>\hrule</literal>, or +<literal>\newpage</literal>. The last command in <replaceable>style</replaceable> may be one such as +<literal>\MakeUppercase</literal> or <literal>\fbox</literal> that takes one argument. The +section title will be supplied as the argument to this command. For +instance, setting <replaceable>style</replaceable> to <literal>\bfseries\MakeUppercase</literal> would +produce titles that are bold and upper case. +</para></listitem></varlistentry></variablelist> +<para>These are &latex;’s defaults for the first three sectioning units that +are defined with <literal>\@startsection</literal>, for the <filename>article</filename>, +<filename>book</filename>, and <filename>report</filename> classes. +</para> +<informaltable><tgroup cols="4"><colspec colwidth="10*"></colspec><colspec colwidth="30*"></colspec><colspec colwidth="30*"></colspec><colspec colwidth="30*"></colspec><thead><row><entry></entry><entry><para><literal>section</literal> </para></entry><entry><para><literal>subsection</literal> </para></entry><entry><para><literal>subsubsection</literal> +</para></entry></row></thead><tbody><row><entry><para><link linkend="_005c_0040startsection_002fname"><replaceable>name</replaceable></link> +</para></entry><entry><para>section </para></entry><entry><para>subsection </para></entry><entry><para>subsubsection +</para></entry></row><row><entry><para><link linkend="_005c_0040startsection_002flevel"><replaceable>level</replaceable></link> +</para></entry><entry><para>1 </para></entry><entry><para>2 </para></entry><entry><para>3 +</para></entry></row><row><entry><para><link linkend="_005c_0040startsection_002findent"><replaceable>indent</replaceable></link> +</para></entry><entry><para><literal>0pt</literal> </para></entry><entry><para><literal>0pt</literal> </para></entry><entry><para><literal>0pt</literal> +</para></entry></row><row><entry><para><link linkend="_005c_0040startsection_002fbeforeskip"><replaceable>beforeskip</replaceable></link> +</para></entry><entry><para><literal>-3.5ex plus -1ex minus -0.2ex</literal> +</para></entry><entry><para><literal>-3.25ex plus -1ex minus -0.2ex</literal> +</para></entry><entry><para><literal>-3.25ex plus -1ex minus -0.2ex</literal> +</para></entry></row><row><entry><para><link linkend="_005c_0040startsection_002fafterskip"><replaceable>afterskip</replaceable></link> +</para></entry><entry><para><literal>2.3ex plus 0.2ex</literal> +</para></entry><entry><para><literal>1.5ex plus 0.2ex</literal> +</para></entry><entry><para><literal>1.5ex plus 0.2ex</literal> +</para></entry></row><row><entry><para><link linkend="_005c_0040startsection_002fstyle"><replaceable>style</replaceable></link> +</para></entry><entry><para><literal>\normalfont\Large\bfseries</literal> +</para></entry><entry><para><literal>\normalfont\large\bfseries</literal> +</para></entry><entry><para><literal>\normalfont\normalsize\bfseries</literal> +</para></entry></row></tbody></tgroup></informaltable> +<para>Here are examples. They go either in a package or class file or in the +preamble of a &latex; document. If you put them in the preamble they +must go between a <literal>\makeatletter</literal> command and a +<literal>\makeatother</literal>. (Probably the error message <literal>You can't use +`\spacefactor' in vertical mode.</literal> means that you forgot this.) +See <link linkend="_005cmakeatletter-and-_005cmakeatother">\makeatletter and \makeatother</link>. +</para> +<para>This will put section titles in large boldface type, centered. It says +<literal>\renewcommand</literal> because &latex;’s standard classes have already +defined a <literal>\section</literal>. For the same reason it does not define a +<literal>section</literal> counter, or the commands <literal>\thesection</literal> and +<literal>\l@section</literal>. +</para> +<screen>\renewcommand\section{% + \@startsection{section}% <link linkend="_005c_0040startsection_002fname"><replaceable>name</replaceable></link> + {1}% <link linkend="_005c_0040startsection_002flevel"><replaceable>level</replaceable></link> + {0pt}% <link linkend="_005c_0040startsection_002findent"><replaceable>indent</replaceable></link> + {-3.5ex plus -1ex minus -.2ex}% <link linkend="_005c_0040startsection_002fbeforeskip"><replaceable>beforeskip</replaceable></link> + {2.3ex plus.2ex}% <link linkend="_005c_0040startsection_002fafterskip"><replaceable>afterskip</replaceable></link> + {\centering\normalfont\Large\bfseries}% <link linkend="_005c_0040startsection_002fstyle"><replaceable>style</replaceable></link> + } +</screen> +<para>This will put <literal>subsection</literal> titles in small caps type, inline with the paragraph. </para> +<screen>\renewcommand\subsection{% + \@startsection{subsection}% <link linkend="_005c_0040startsection_002fname"><replaceable>name</replaceable></link> + {2}% <link linkend="_005c_0040startsection_002flevel"><replaceable>level</replaceable></link> + {0em}% <link linkend="_005c_0040startsection_002findent"><replaceable>indent</replaceable></link> + {-1ex plus 0.1ex minus -0.05ex}% <link linkend="_005c_0040startsection_002fbeforeskip"><replaceable>beforeskip</replaceable></link> + {-1em plus 0.2em}% <link linkend="_005c_0040startsection_002fafterskip"><replaceable>afterskip</replaceable></link> + {\scshape}% <link linkend="_005c_0040startsection_002fstyle"><replaceable>style</replaceable></link> + } +</screen> +<para>The prior examples redefined existing sectional unit title commands. This defines a new one, illustrating the needed counter and macros to display that counter. +</para> +<!-- From https://groups.google.com/forum/#!searchin/comp.text.tex/startsection%7Csort:relevance/comp.text.tex/sB-nTS-oL08/ZZeKYdG0llMJ --> +<screen>\setcounter{secnumdepth}{6}% show counters this far down +\newcounter{subsubparagraph}[subparagraph]% counter for numbering +\renewcommand{\thesubsubparagraph}% how to display + {\thesubparagraph.\@arabic\c@subsubparagraph}% numbering +\newcommand{\subsubparagraph}{\@startsection + {subsubparagraph}% + {6}% + {0em}% + {\baselineskip}% + {0.5\baselineskip}% + {\normalfont\normalsize}} +\newcommand*\l@subsubparagraph{\@dottedtocline{6}{10em}{5em}}% for toc +\newcommand{\subsubparagraphmark}[1]{}% for page headers +</screen> +</sect1> </chapter> <chapter label="7" id="Cross-references"> <title>Cross references</title> @@ -2395,6 +2808,7 @@ the end. For instance, the input <indexterm role="fn"><primary>environment, <literal>abstract</literal></primary></indexterm> <indexterm role="fn"><primary><literal>abstract</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>abstracts</primary></indexterm> <para>Synopsis: @@ -2448,6 +2862,7 @@ a more flexible solution, use the package <filename>abstract</filename>). <indexterm role="fn"><primary>environment, <literal>array</literal></primary></indexterm> <indexterm role="fn"><primary><literal>array</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>arrays, math</primary></indexterm> <para>Synopsis: @@ -2487,6 +2902,9 @@ by <literal>\arraycolsep</literal>, which gives half the width between columns. The default for this is ‘<literal>5pt</literal>’. </para> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> + <para>To obtain arrays with braces the standard is to use the <filename>amsmath</filename> package. It comes with environments <literal>pmatrix</literal> for an array surrounded by parentheses <literal>(...)</literal>, <literal>bmatrix</literal> for an array @@ -2522,6 +2940,7 @@ preamble: <indexterm role="fn"><primary>environment, <literal>center</literal></primary></indexterm> <indexterm role="fn"><primary><literal>center</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>centering text, environment for</primary></indexterm> <para>Synopsis: @@ -2611,48 +3030,64 @@ centered. <indexterm role="fn"><primary>environment, <literal>description</literal></primary></indexterm> <indexterm role="fn"><primary><literal>description</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>labelled lists, creating</primary></indexterm> <indexterm role="cp"><primary>description lists, creating</primary></indexterm> <para>Synopsis: </para> <screen>\begin{description} -\item [<replaceable>first label</replaceable>] text of first item -\item [<replaceable>second label</replaceable>] text of second item +\item[<replaceable>label of first item</replaceable>] text of first item +\item[<replaceable>label of second item</replaceable>] text of second item ... \end{description} </screen> -<para>Environment to make a labelled list of items. Each item’s <replaceable>label</replaceable> -is typeset in bold, flush-left. Each item’s text may contain multiple -paragraphs. Although the labels on the items are optional there is no -sensible default, so all items should have labels. +<para>Environment to make a labeled list of items. Each item’s <replaceable>label</replaceable> is +typeset in bold, and is flush left so that long labels continue into the +first line of the item text. There must be at least one item; having +none causes the &latex; error ‘<literal>Something's wrong--perhaps a +missing \item</literal>’. </para> +<para>This example shows the environment used for a sequence of definitions. +The labels ‘<literal>lama</literal>’ and ‘<literal>llama</literal>’ come out in boldface with their +left edges aligned on the left margin. +</para> +<screen>\begin{definition} + \item[lama] A priest. + \item[llama] A beast. +\end{definition} +</screen> <indexterm role="fn"><primary>\item</primary></indexterm> -<para>The list consists of at least one item, created with the <literal>\item</literal> -command (see <link linkend="_005citem">\item</link>). Having no items causes the &latex; error -‘<literal>Something's wrong--perhaps a missing \item</literal>’). +<para>Start list items with the <literal>\item</literal> command (see <link linkend="_005citem">\item</link>). Use the +optional labels, as in <literal>\item[Main point]</literal>, because there is +no sensible default. Following the <literal>\item</literal> is optional text, which +may contain multiple paragraphs. </para> <indexterm role="cp"><primary>bold typewriter, avoiding</primary></indexterm> <indexterm role="cp"><primary>typewriter labels in lists</primary></indexterm> <para>Since the labels are in bold style, if the label text calls for a font -change given in argument style (see <link linkend="Font-styles">Font styles</link>) then it will -come out bold. For instance, if the label text calls for typewriter -with <literal>\item[\texttt{label text}]</literal> then it will appear in bold +change given in argument style (see <link linkend="Font-styles">Font styles</link>) then it will come +out bold. For instance, if the label text calls for typewriter with +<literal>\item[\texttt{label text}]</literal> then it will appear in bold typewriter, if that is available. The simplest way to get non-bold typewriter is to use declarative style: <literal>\item[{\tt label -text}]</literal>. Similarly, to get the standard roman font, use -<literal>\item[{\rm label text}]</literal>. +text}]</literal>. Similarly, get the standard roman font with <literal>\item[{\rm +label text}]</literal>. </para> <para>For other major &latex; labelled list environments, see <link linkend="itemize">itemize</link> -and <link linkend="enumerate">enumerate</link>. For information about customizing list layout, see -<link linkend="list">list</link>; also, the package <filename>enumitem</filename> is useful for this. +and <link linkend="enumerate">enumerate</link>. Unlike those environments, nesting +<literal>description</literal> environments does not change the default label; it is +boldface and flush left at all levels. </para> -<para>This example shows the environment used for a sequence of definitions. +<para>For information about list layout parameters, including the default +values, and for information about customizing list layout, see +<link linkend="list">list</link>. The package <filename>enumitem</filename> is useful for customizing +lists. </para> -<screen>\begin{definition} - \item[lama] A priest. - \item[llama] A beast. -\end{definition} +<para>This example changes the description labels to small caps. +</para> +<screen>\renewcommand{\descriptionlabel}[1]{% + {\hspace{\labelsep}\textsc{#1}}} </screen> </sect1> @@ -2662,40 +3097,43 @@ and <link linkend="enumerate">enumerate</link>. For information about customizi <indexterm role="fn"><primary>environment, <literal>displaymath</literal></primary></indexterm> <indexterm role="fn"><primary><literal>displaymath</literal> environment</primary></indexterm> + <para>Synopsis: </para> <screen>\begin{displaymath} - ... math text ... +<replaceable>math text</replaceable> \end{displaymath} </screen> <para>Environment to typeset the math text on its own line, in display style and centered. To make the text be flush-left use the global option <literal>fleqn</literal>; see <link linkend="Document-class-options">Document class options</link>. </para> -<para>&latex; will not break the math text across lines. -</para> <para>In the <literal>displaymath</literal> environment no equation number is added to the math text. One way to get an equation number is to use the <literal>equation</literal> environment (see <link linkend="equation">equation</link>). </para> -<para>Note that the <filename>amsmath</filename> package has extensive displayed equation -facilities. Those facilities are the best approach for such output in -new documents. For example, there are a number of options in that -package for having math text broken across lines. +<para>&latex; will not break the <replaceable>math text</replaceable> across lines. +</para> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> + +<para>Note that the <filename>amsmath</filename> package has significantly more extensive +displayed equation facilities. For example, there are a number of +ways in that package for having math text broken across lines. </para> -<para>The construct <literal>\[..math text..\]</literal> is essentially a synonym for -<literal>\begin{displaymath}..math text..\end{displaymath}</literal> but the +<para>The construct <literal>\[<replaceable>math text</replaceable>\]</literal> is essentially a synonym for +<literal>\begin{displaymath}<replaceable>math text</replaceable>\end{displaymath}</literal> but the latter is easier to work with in the source file; for instance, searching for a square bracket may get false positives but the word -<literal>displaymath</literal> will likely be unique. (The construct <literal>$$..math -text..$$</literal> from Plain &tex; is sometimes mistakenly used as a -synonym for <literal>displaymath</literal>. It is not a synonym, because the -<literal>displaymath</literal> environment checks that it isn’t started in math mode -and that it ends in math mode begun by the matching environment start, -because the <literal>displaymath</literal> environment has different vertical -spacing, and because the <literal>displaymath</literal> environment honors the -<literal>fleqn</literal> option.) +<literal>displaymath</literal> will likely be unique. (The construct +<literal>$$<replaceable>math text</replaceable>$$</literal> from Plain &tex; is sometimes +mistakenly used as a synonym for <literal>displaymath</literal>. It is not a +synonym, because the <literal>displaymath</literal> environment checks that it isn’t +started in math mode and that it ends in math mode begun by the matching +environment start, because the <literal>displaymath</literal> environment has +different vertical spacing, and because the <literal>displaymath</literal> +environment honors the <literal>fleqn</literal> option.) </para> <para>The output from this example is centered and alone on its line. </para><screen>\begin{displaymath} @@ -2711,13 +3149,15 @@ spacing, and because the <literal>displaymath</literal> environment honors the <indexterm role="fn"><primary>environment, <literal>document</literal></primary></indexterm> <indexterm role="fn"><primary><literal>document</literal> environment</primary></indexterm> + <para>The <literal>document</literal> environment encloses the entire body of a document. It is required in every &latex; document. See <link linkend="Starting-and-ending">Starting and ending</link>. </para> -<anchor id="_005cAtBeginDocument"/> +<sect2 label="8.6.1" id="_005cAtBeginDocument"> +<title><literal>\AtBeginDocument</literal></title> <indexterm role="fn"><primary>\AtBeginDocument</primary></indexterm> <indexterm role="cp"><primary>beginning of document hook</primary></indexterm> @@ -2736,7 +3176,9 @@ the preamble so you cannot do any typesetting with it. will be executed in the order that you gave them. </para> -<anchor id="_005cAtEndDocument"/> +</sect2> +<sect2 label="8.6.2" id="_005cAtEndDocument"> +<title><literal>\AtEndDocument</literal></title> <indexterm role="fn"><primary>\AtEndDocument</primary></indexterm> <indexterm role="cp"><primary>end of document hook</primary></indexterm> @@ -2756,44 +3198,54 @@ appropriate point in <replaceable>code</replaceable>. will be executed in the order that you gave them. </para> +</sect2> </sect1> <sect1 label="8.7" id="enumerate"> <title><literal>enumerate</literal></title> <indexterm role="fn"><primary>environment, <literal>enumerate</literal></primary></indexterm> <indexterm role="fn"><primary><literal>enumerate</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>lists of items, numbered</primary></indexterm> <para>Synopsis: </para> <screen>\begin{enumerate} -\item [<replaceable>first label</replaceable>] text of first item -\item [<replaceable>second label</replaceable>] text of second item +\item[<replaceable>optional label of first item</replaceable>] text of first item +\item[<replaceable>optional label of second item</replaceable>] text of second item ... \end{enumerate} </screen> <para>Environment to produce a numbered list of items. The format of the -label numbering depends on whether this environment is nested within -another; see below. -</para> -<indexterm role="fn"><primary>\item</primary></indexterm> -<para>The list consists of at least one item. Having no items causes the -&latex; error ‘<literal>Something's wrong--perhaps a missing \item</literal>’. Each -item is produced with an <literal>\item</literal> command. +label numbering depends on the nesting level of this environment; see +below. The default top-level numbering is ‘<literal>1.</literal>’, ‘<literal>2.</literal>’, +etc. Each <literal>enumerate</literal> list environment must have at least one item; +having none causes the &latex; error ‘<literal>Something's wrong--perhaps a +missing \item</literal>’. </para> -<para>This example lists the top two finishers in the 1908 Olympic marathon. +<para>This example gives the first two finishers in the 1908 Olympic marathon. +As a top-level list the labels would come out as ‘<literal>1.</literal>’ and +‘<literal>2.</literal>’. </para> <screen>\begin{enumerate} \item Johnny Hayes (USA) \item Charles Hefferon (RSA) \end{enumerate} </screen> -<para>Enumerations may be nested within a paragraph-making environment, -including <literal>itemize</literal> (see <link linkend="itemize">itemize</link>), <literal>description</literal> -(see <link linkend="description">description</link>) and <literal>enumeration</literal>, up to four levels deep. -The format of the label produced depends on the place in the nesting. -This gives &latex;’s default for the format at each nesting level -(where 1 is the outermost level): +<indexterm role="fn"><primary>\item</primary></indexterm> +<para>Start list items with the <literal>\item</literal> command (see <link linkend="_005citem">\item</link>). If you +give <literal>\item</literal> an optional argument by following it with square +brackets, as in <literal>\item[Interstitial label]</literal>, then the next item +will continue the interrupted sequence (see <link linkend="_005citem">\item</link>). That is, you +will get labels like ‘<literal>1.</literal>’, then ‘<literal>Interstitial label</literal>’, then +‘<literal>2.</literal>’. Following the <literal>\item</literal> is optional text, which may +contain multiple paragraphs. +</para> +<para>Enumerations may be nested within other <literal>enumerate</literal> environments, +or within any paragraph-making environment such as <literal>itemize</literal> +(see <link linkend="itemize">itemize</link>), up to four levels deep. This gives &latex;’s +default for the format at each nesting level, where 1 is the top level, +the outermost level. </para> <orderedlist numeration="arabic"><listitem><para>arabic number followed by a period: ‘<literal>1.</literal>’, ‘<literal>2.</literal>’, … </para></listitem><listitem><para>lower case letter inside parentheses: ‘<literal>(a)</literal>’, ‘<literal>(b)</literal>’ … @@ -2805,9 +3257,13 @@ This gives &latex;’s default for the format at each nesting level <indexterm role="fn"><primary>\enumiii</primary></indexterm> <indexterm role="fn"><primary>\enumiv</primary></indexterm> <para>The <literal>enumerate</literal> environment uses the counters <literal>\enumi</literal> through -<literal>\enumiv</literal> counters (see <link linkend="Counters">Counters</link>). If you use the optional -argument to <literal>\item</literal> then the counter is not incremented for that -item (see <link linkend="_005citem">\item</link>). +<literal>\enumiv</literal> (see <link linkend="Counters">Counters</link>). +</para> +<para>For other major &latex; labeled list environments, see +<link linkend="description">description</link> and <link linkend="itemize">itemize</link>. For information about list layout +parameters, including the default values, and for information about +customizing list layout, see <link linkend="list">list</link>. The package <filename>enumitem</filename> is +useful for customizing lists. </para> <indexterm role="fn"><primary>\labelenumi</primary></indexterm> <indexterm role="fn"><primary>\labelenumii</primary></indexterm> @@ -2817,30 +3273,26 @@ item (see <link linkend="_005citem">\item</link>). (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>) on the commands <literal>\labelenumi</literal> through <literal>\labelenumiv</literal>. For instance, this first level list will be labelled with uppercase letters, in boldface, and without a trailing -period: +period. </para> <indexterm role="fn"><primary>\Alph example</primary></indexterm> <screen>\renewcommand{\labelenumi}{\textbf{\Alph{enumi}}} \begin{enumerate} - \item eI - \item bi: - \item si: + \item Shows as boldface A + \item Shows as boldface B \end{enumerate} </screen> -<para>For a list of counter-labelling commands like <literal>\Alph</literal> see -<link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>. -</para> -<para>For more on customizing the layout see <link linkend="list">list</link>. Also, the package -<filename>enumitem</filename> is useful for this. +<para>For a list of counter-labeling commands see <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic +\roman \Roman \fnsymbol</link>. </para> - </sect1> <sect1 label="8.8" id="eqnarray"> <title><literal>eqnarray</literal></title> <indexterm role="fn"><primary>environment, <literal>eqnarray</literal></primary></indexterm> <indexterm role="fn"><primary><literal>eqnarray</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>equations, aligning</primary></indexterm> <indexterm role="cp"><primary>aligning equations</primary></indexterm> @@ -2911,6 +3363,7 @@ while the third line has not entry on the left side. <indexterm role="fn"><primary>environment, <literal>equation</literal></primary></indexterm> <indexterm role="fn"><primary><literal>equation</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>equations, environment for</primary></indexterm> <indexterm role="cp"><primary>formulas, environment for</primary></indexterm> @@ -2925,6 +3378,10 @@ equation number in the right margin. </para> <para>The equation number is generated using the <literal>equation</literal> counter. </para> +<para>You should have no blank lines between <literal>\begin{equation}</literal> and +<literal>\begin{equation}</literal>, or &latex; will tell you that there is a +missing dollar sign, $<literal>$</literal>. +</para> <para>Note that the <filename>amsmath</filename> package has extensive displayed equation facilities. Those facilities are the best approach for such output in new documents. @@ -2936,6 +3393,7 @@ new documents. <indexterm role="fn"><primary>environment, <literal>figure</literal></primary></indexterm> <indexterm role="fn"><primary><literal>figure</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>inserting figures</primary></indexterm> <indexterm role="cp"><primary>figures, inserting</primary></indexterm> @@ -2998,8 +3456,10 @@ end of the document, on a page of floats. <indexterm role="fn"><primary>environment, <literal>filecontents</literal></primary></indexterm> <indexterm role="fn"><primary><literal>filecontents</literal> environment</primary></indexterm> + <indexterm role="fn"><primary>environment, <literal>filecontents*</literal></primary></indexterm> <indexterm role="fn"><primary><literal>filecontents*</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>external files, writing</primary></indexterm> <indexterm role="cp"><primary>writing external files</primary></indexterm> @@ -3058,6 +3518,7 @@ Article by \myname. <indexterm role="fn"><primary>environment, <literal>flushleft</literal></primary></indexterm> <indexterm role="fn"><primary><literal>flushleft</literal> 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> @@ -3100,6 +3561,7 @@ command that ends the paragraph unit. <indexterm role="fn"><primary>environment, <literal>flushright</literal></primary></indexterm> <indexterm role="fn"><primary><literal>flushright</literal> 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> @@ -3142,6 +3604,7 @@ command that ends the paragraph unit. <indexterm role="fn"><primary>environment, <literal>itemize</literal></primary></indexterm> <indexterm role="fn"><primary><literal>itemize</literal> 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> @@ -3150,34 +3613,53 @@ command that ends the paragraph unit. <para>Synopsis: </para> <screen>\begin{itemize} -\item <replaceable>item1</replaceable> -\item <replaceable>item2</replaceable> +\item[<replaceable>optional label of first item</replaceable>] text of first item +\item[<replaceable>optional label of second item</replaceable>] text of second item ... \end{itemize} </screen> <para>The <literal>itemize</literal> environment produces an “unordered”, “bulleted” -list. Itemized lists 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 <link linkend="enumerate">enumerate</link>). +list. The format of the label numbering depends on the nesting level of +this environment; see below. Each <literal>itemize</literal> list environment must +have at least one item; having none causes the &latex; error +‘<literal>Something's wrong--perhaps a missing \item</literal>’. </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>This example gives a two-item list. As a top-level list each label +would come out as a bullet, •. </para> -<para>By default, the marks at each level look like this: +<screen>\begin{itemize} + \item Pencil and watercolor sketch by Cassandra + \item Rice portrait +\end{itemize} +</screen> +<indexterm role="fn"><primary>\item</primary></indexterm> +<para>Start list items with the <literal>\item</literal> command (see <link linkend="_005citem">\item</link>). If you +give <literal>\item</literal> an optional argument by following it with square +brackets, as in <literal>\item[Optional label]</literal>, then by default it will +appear in bold and be flush right, so it could extend into the left +margin. For labels that are flush left see the <link linkend="description">description</link> +environment. Following the <literal>\item</literal> is optional text, which may +contain multiple paragraphs. </para> -<orderedlist numeration="arabic"><listitem><para>• (bullet) -</para></listitem><listitem><para><emphasis role="bold">--<!-- /@w --></emphasis> (bold en-dash) -</para></listitem><listitem><para>* (asterisk) -</para></listitem><listitem><para>. (centered dot, rendered here as a period) -</para></listitem></orderedlist> <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> -<para>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>Itemized lists 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 <link linkend="enumerate">enumerate</link>). The <literal>itemize</literal> environment +uses the commands <literal>\labelitemi</literal> through <literal>\labelitemiv</literal> to +produce the default label (this also uses the convention of lower case +roman numerals at the end of the command names that signify the nesting +level). These are the default marks at each level. +</para> +<orderedlist numeration="arabic"><listitem><para>• (bullet, from <literal>\textbullet</literal>) +</para></listitem><listitem><para><emphasis role="bold">--<!-- /@w --></emphasis> (bold en-dash, from <literal>\normalfont\bfseries\textendash</literal>) +</para></listitem><listitem><para>* (asterisk, from <literal>\textasteriskcentered</literal>) +</para></listitem><listitem><para>. (centered dot, rendered here as a period, from <literal>\textperiodcentered</literal>) +</para></listitem></orderedlist> +<para>Change the labels with <literal>\renewcommand</literal>. For instance, this makes +the first level use diamonds. </para> <screen>\renewcommand{\labelitemi}{$\diamond$} </screen> @@ -3188,67 +3670,26 @@ the first level use diamonds: <indexterm role="fn"><primary>\leftmarginiv</primary></indexterm> <indexterm role="fn"><primary>\leftmarginv</primary></indexterm> <indexterm role="fn"><primary>\leftmarginvi</primary></indexterm> -<para>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>The distance between the left margin of the enclosing environment and +the left margin of the <literal>itemize</literal> list is determined by the +parameters <literal>\leftmargini</literal> through <literal>\leftmarginvi</literal>. (Note the +convention of using lower case roman numerals a the end of the command +name to denote the nesting level.) The defaults are: <literal>2.5em</literal> in +level 1 (<literal>2em</literal> in two-column mode), <literal>2.2em</literal> in level 2, +<literal>1.87em</literal> in level 3, and <literal>1.7em</literal> in level 4, with smaller +values for more deeply nested levels. +</para> +<para>For other major &latex; labeled list environments, see +<link linkend="description">description</link> and <link linkend="enumerate">enumerate</link>. For information about list +layout parameters, including the default values, and for information +about customizing list layout, see <link linkend="list">list</link>. The package +<filename>enumitem</filename> is useful for customizing lists. +</para> +<para>This example greatly reduces the margin space for outermost itemized +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><indexterm role="fn"><primary>\itemindent</primary></indexterm><literal>\itemindent</literal> -</term><listitem><para>Extra indentation before each item in a list; default zero. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\labelsep</primary></indexterm><literal>\labelsep</literal> -</term><listitem><para>Space between the label and text of an item; default ‘<literal>.5em</literal>’. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\labelwidth</primary></indexterm><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><indexterm role="fn"><primary>\listparindent</primary></indexterm><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><indexterm role="fn"><primary>\rightmargin</primary></indexterm><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><indexterm role="fn"><primary>\itemsep</primary></indexterm><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><indexterm role="fn"><primary>\parsep</primary></indexterm><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><indexterm role="fn"><primary>\topsep</primary></indexterm><literal>\topsep</literal> -</term><listitem><para>Vertical space between the first item and the preceding paragraph. -For top-level lists, the default is <literal>8pt plus2pt minus4pt</literal> for -<literal>10pt</literal> documents, <literal>9pt plus3pt minus5pt</literal> for <literal>11pt</literal>, -and <literal>10pt plus4pt minus6pt</literal> for <literal>12pt</literal>. These are reduced -for nested lists. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\partopsep</primary></indexterm><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></variablelist> <indexterm role="fn"><primary>\parskip example</primary></indexterm> <para>Especially for lists with short items, it may be desirable to elide space between items. Here is an example defining an <literal>itemize*</literal> @@ -3270,6 +3711,7 @@ see <link linkend="_005cparskip">\parskip</link>): <indexterm role="fn"><primary>environment, <literal>letter</literal></primary></indexterm> <indexterm role="fn"><primary><literal>letter</literal> environment</primary></indexterm> + <para>This environment is used for creating letters. See <link linkend="Letters">Letters</link>. </para> @@ -3280,54 +3722,329 @@ see <link linkend="_005cparskip">\parskip</link>): <indexterm role="fn"><primary>environment, <literal>list</literal></primary></indexterm> <indexterm role="fn"><primary><literal>list</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>lists of items, generic</primary></indexterm> -<para>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>Synopsis: </para> <screen>\begin{list}{<replaceable>labeling</replaceable>}{<replaceable>spacing</replaceable>} -\item <replaceable>item1</replaceable> -\item <replaceable>item2</replaceable> +\item[<replaceable>optional label of first item</replaceable>] text of first item +\item[<replaceable>optional label of second item</replaceable>] text of second item ... \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>The <literal>list</literal> environment is a generic environment for constructing +more specialized lists. It is most often used to create lists via the +<literal>description</literal>, <literal>enumerate</literal>, and <literal>itemize</literal> environments +(see <link linkend="description">description</link>, <link linkend="enumerate">enumerate</link>, and <link linkend="itemize">itemize</link>). +</para> +<para>Also, many standard &latex; environments that are not visually lists +are constructed using <literal>list</literal>, including <literal>quotation</literal>, +<literal>quote</literal>, <literal>center</literal>, <literal>verbatim</literal>, and plenty more +(see <link linkend="quotation-and-quote">quotation and quote</link>, see <link linkend="center">center</link>, see <link linkend="flushright">flushright</link>). +</para> +<indexterm role="cp"><primary>package, <literal>enumitem</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>enumitem</literal> package</primary></indexterm> + +<para>The third-party package <literal>enumitem</literal> is useful for customizing lists. +Here, we describe the <literal>list</literal> environment by defining a new custom +environment. +</para> +<screen>\newcounter{namedlistcounter} % number the items +\newenvironment{named} + {\begin{list} + {Item~\Roman{namedlistcounter}.} % labeling argument + {\usecounter{namedlistcounter} % spacing argument + \setlength{\leftmargin}{3.5em}} % still spacing arg + } + {\end{list}} + +\begin{named} + \item Shows as ``Item~I.'' + \item[Special label.] Shows as ``Special label.'' + \item Shows as ``Item~II.'' +\end{named} +</screen> +<para>The <literal>list</literal> environment’s mandatory first argument, +<replaceable>labeling</replaceable>, specifies the default labeling of list items. It can +contain text and &latex; commands, as above where it contains both +‘<literal>Item</literal>’ and ‘<literal>\Roman{...}</literal>’. &latex; forms the label by +putting the <replaceable>labeling</replaceable> argument in a box of width +<literal>\labelwidth</literal>. If the label is wider than that, the additional +material extends to the right. When making an instance of a list you +can override the default labeling by giving <literal>\item</literal> an optional +argument by including square braces and the text, as in the above +<literal>\item[Special label.]</literal>; see <link linkend="_005citem">\item</link>. +</para> +<indexterm role="fn"><primary>\makelabel</primary></indexterm> +<para>The label box is constructed by the command <literal>\makelabel</literal>. By +default it positions the contents flush right. It takes one argument, +the label. It typesets the contents in LR mode. An example of changing +its definition is that to the above example before the definition of the +<literal>named</literal> environment add +<literal>\newcommand{\namedmakelabel}[1]{\textsc{#1}}</literal>, and between +the <literal>\setlength</literal> command and the parenthesis that closes the +<replaceable>spacing</replaceable> argument also add <literal>\let\makelabel\namedmakelabel</literal>. +Then the items will be typeset in small caps. Similarly, changing the +second code line to <literal>\let\makelabel\fbox</literal> puts the labels inside a +framed box. Another example is at the bottom of this entry. +</para> +<para>The mandatory second argument <replaceable>spacing</replaceable> can have a list of +commands to redefine the spacing parameters for the list, such as +<literal>\setlength{\labelwidth}{2em}</literal>. If this argument is empty, +i.e., <literal>{}</literal>, then the list will have the default spacing given +below. To number the items using a counter, put +<literal>\usecounter{<replaceable>countername</replaceable>}</literal> in this argument +(see <link linkend="_005cusecounter">\usecounter</link>). +</para> +<para>Below are the spacing parameters for list formatting. See also the +figure below. Each is a length (see <link linkend="Lengths">Lengths</link>). The vertical +spaces are normally rubber lengths, with <literal>plus</literal> and <literal>minus</literal> +components, to give &tex; flexibility in setting the page. Change +each with a command such as <literal>\setlength{itemsep}{2pt plus1pt +minus1pt}</literal>. For some effects these lengths should be zero or +negative. Default values for derived environments such as +<literal>itemize</literal> can be changed from the values shown here for the basic +<literal>list</literal>. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\itemindent</primary></indexterm><literal>\itemindent</literal> +</term><listitem><para>Extra horizontal space indentation, beyond <literal>leftmargin</literal>, of the +first line each item. Its default value is <literal>0pt</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\itemsep</primary></indexterm><literal>\itemsep</literal> +</term><listitem><para>Vertical space between items, beyond the <literal>\parsep</literal>. The defaults +for the first three levels in &latex;’s ‘<literal>article</literal>’, ‘<literal>book</literal>’, +and ‘<literal>report</literal>’ classes at 10 point size are: <literal>4pt plus2pt +minus1pt</literal>, <literal>\parsep</literal> (that is, <literal>2pt plus1pt minus1pt</literal>), and +<literal>\topsep</literal> (that is, <literal>2pt plus1pt minus1pt</literal>). The defaults at +11 point are: <literal>4.5pt plus2pt minus1pt</literal>, <literal>\parsep</literal> (that is, +<literal>2pt plus1pt minus1pt</literal>), and <literal>topsep</literal> (that is, <literal>2pt +plus1pt minus1pt</literal>). The defaults at 12 point are: <literal>5pt plus2.5pt +minus1pt</literal>, <literal>\parsep</literal> (that is, <literal>2.5pt plus1pt minus1pt</literal>), and +<literal>\topsep</literal> (that is, <literal>2.5pt plus1pt minus1pt</literal>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\labelsep</primary></indexterm><literal>\labelsep</literal> +</term><listitem><para>Horizontal space between the label and text of an item. +The default for &latex;’s ‘<literal>article</literal>’, ‘<literal>book</literal>’, +and ‘<literal>report</literal>’ classes is <literal>0.5em</literal>. </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. +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\labelwidth</primary></indexterm><literal>\labelwidth</literal> +</term><listitem><para>Horizontal width. The box containing the label is nominally this wide. +If <literal>\makelabel</literal> returns text that is wider than this then the first +line of the item will be indented to make room for this extra material. +If <literal>\makelabel</literal> returns text of width less than or equal to +<literal>\labelwidth</literal> then &latex;’s default is that the label is typeset +flush right in a box of this width. +</para> +<para>The left edge of the label box is +<literal>\leftmargin</literal>+<literal>\itemindent</literal>-<literal>\labelsep</literal>-<literal>\labelwidth</literal> +from the left margin of the enclosing environment. +</para> +<para>The default for &latex;’s ‘<literal>article</literal>’, ‘<literal>book</literal>’, and +‘<literal>report</literal>’ classes at the top level is +<literal>\leftmargini</literal>-<literal>\labelsep</literal>, (which is <literal>2em</literal> in one column +mode and <literal>1.5em</literal> in two column mode). At the second level it is +<literal>\leftmarginii</literal>-<literal>\labelsep</literal>, and at the third level it is +<literal>\leftmarginiii</literal>-<literal>\labelsep</literal>. These definitions make the +label’s left edge coincide with the left margin of the enclosing +environment. </para> -<para>The width used for typesetting the list items is specified by -<literal>\linewidth</literal> (see <link linkend="Page-layout-parameters">Page layout parameters</link>). +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\leftmargin</primary></indexterm><literal>\leftmargin</literal> +</term><listitem><para>Horizontal space between the left margin of the enclosing environment +(or the left margin of the page if this is a top-level list), and the +left margin of this list. It must be non-negative. +</para> +<para>In the standard &latex; document classes, a top-level list has this set +to the value of <literal>\leftmargini</literal>, while a list that is nested inside +a top-level list has this margin set to <literal>\leftmarginii</literal>. More +deeply nested lists get the values of <literal>\leftmarginiii</literal> through +<literal>\leftmarginvi</literal>. (Nesting greater than level five generates the +error message ‘<literal>Too deeply nested</literal>’.) +</para> +<para>The defaults for the first three levels in &latex;’s ‘<literal>article</literal>’, +‘<literal>book</literal>’, and ‘<literal>report</literal>’ classes are: <literal>\leftmargini</literal> is +<literal>2.5em</literal> (in two column mode, <literal>2em</literal>), <literal>\leftmarginii</literal> is +<literal>2.2em</literal>, and <literal>\leftmarginiii</literal> is <literal>1.87em</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\listparindent</primary></indexterm><literal>\listparindent</literal> +</term><listitem><para>Horizontal space of additional line indentation, beyond +<literal>\leftmargin</literal>, for second and subsequent paragraphs within a list +item. A negative value makes this an “outdent”. Its default value +is <literal>0pt</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\parsep</primary></indexterm><literal>\parsep</literal> +</term><listitem><para>Vertical space between paragraphs within an item. In the ‘<literal>book</literal>’ +and ‘<literal>article</literal>’ classes The defaults for the first three levels in +&latex;’s ‘<literal>article</literal>’, ‘<literal>book</literal>’, and ‘<literal>report</literal>’ classes at 10 +point size are: <literal>4pt plus2pt minus1pt</literal>, <literal>2pt plus1pt +minus1pt</literal>, and <literal>0pt</literal>. The defaults at 11 point size are: +<literal>4.5pt plus2pt minus1pt</literal>, <literal>2pt plus1pt minus1pt</literal>, and +<literal>0pt</literal>. The defaults at 12 point size are: <literal>5pt plus2.5pt +minus1pt</literal>, <literal>2.5pt plus1pt minus1pt</literal>, and <literal>0pt</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\partopsep</primary></indexterm><literal>\partopsep</literal> +</term><listitem><para>Vertical space added, beyond <literal>\topsep</literal>+<literal>\parskip</literal>, to the top +and bottom of the entire environment if the list instance is preceded by +a blank line. (A blank line in the &latex; source before the list +changes spacing at both the top and bottom of the list; whether the line +following the list is blank does not matter.) +</para> +<para>The defaults for the first three levels in &latex;’s ‘<literal>article</literal>’, +‘<literal>book</literal>’, and ‘<literal>report</literal>’ classes at 10 point size are: <literal>2pt +plus1 minus1pt</literal>, <literal>2pt plus1pt minus1pt</literal>, and <literal>1pt plus0pt +minus1pt</literal>. The defaults at 11 point are: <literal>3pt plus1pt minus1pt</literal>, +<literal>3pt plus1pt minus1pt</literal>, and <literal>1pt plus0pt minus1pt</literal>). The +defaults at 12 point are: <literal>3pt plus2pt minus3pt</literal>, <literal>3pt plus2pt +minus2pt</literal>, and <literal>1pt plus0pt minus1pt</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rightmargin</primary></indexterm><literal>\rightmargin</literal> +</term><listitem><para>Horizontal space between the right margin of the list and the right +margin of the enclosing environment. Its default value is <literal>0pt</literal>. +It must be non-negative. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\topsep</primary></indexterm><literal>\topsep</literal> +</term><listitem><para>Vertical space added to both the top and bottom of the list, in addition +to <literal>\parskip</literal> (see <link linkend="_005cparskip">\parskip</link>). The defaults for the first three +levels in &latex;’s ‘<literal>article</literal>’, ‘<literal>book</literal>’, and ‘<literal>report</literal>’ +classes at 10 point size are: <literal>8pt plus2pt minus4pt</literal>, <literal>4pt +plus2pt minus1pt</literal>, and <literal>2pt plus1pt minus1pt</literal>. The defaults at 11 +point are: <literal>9pt plus3pt minus5pt</literal>, <literal>4.5pt plus2pt minus1pt</literal>, +and <literal>2pt plus1pt minus1pt</literal>. The defaults at 12 point are: +<literal>10pt plus4pt minus6pt</literal>, <literal>5pt plus2.5pt minus1pt</literal>, and +<literal>2.5pt plus1pt minus1pt</literal>. </para> +</listitem></varlistentry></variablelist> +<para>This shows the horizontal and vertical distances. +</para> +<informalfigure><mediaobject><imageobject><imagedata fileref="latex2e-figures/list.eps" format="EPS"></imagedata></imageobject><imageobject><imagedata fileref="latex2e-figures/list.pdf" format="PDF"></imagedata></imageobject><imageobject><imagedata fileref="latex2e-figures/list.png" format="PNG"></imagedata></imageobject><textobject><literallayout>....................................................................... +..............Surrounding environment, preceding material.............. - + | v0 + |---h0--|-h1-| | + ..Label.. .....First item..................................... - + ............................................................ + ............................................................ - + | v1 + ........First item, second paragraph .................. - + |-h2-| | v2 + | + ..Label.. .....Second item.................................... - + ............................................................ + ............................................................ - +|-h3--|-h4-| |-h5-| |v3 + | +..............Surrounding environment, following material.............. - +.......................................................................</literallayout></textobject></mediaobject></informalfigure> + +<para>The lengths shown are listed below. The key relationship is that the +right edge of the bracket for <replaceable>h1</replaceable> equals the right edge of the +bracket for <replaceable>h4</replaceable>, so that the left edge of the label box is at +<replaceable>h3</replaceable>+<replaceable>h4</replaceable>-(<replaceable>h0</replaceable>+<replaceable>h1</replaceable>). +</para> +<variablelist><varlistentry><term><replaceable>v0</replaceable> +</term><listitem><para><inlineequation><mathphrase><literal>\topsep</literal> + <literal>\parskip</literal></mathphrase></inlineequation> if +the list environment does not start a new paragraph, and +<literal>\topsep</literal>+<literal>\parskip</literal>+<literal>\partopsep</literal> if it does +</para> +</listitem></varlistentry><varlistentry><term><replaceable>v1</replaceable> +</term><listitem><para><literal>\parsep</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>v2</replaceable> +</term><listitem><para><literal>\itemsep</literal>+<literal>\parsep</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>v3</replaceable> +</term><listitem><para>Same as <replaceable>v0</replaceable>. (This space is affected by whether a blank line +appears in the source above the environment; whether a blank line +appears in the source below the environment does not matter.) +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h1</replaceable> +</term><listitem><para><literal>\labelsep</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h2</replaceable> +</term><listitem><para><literal>\listparindent</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h3</replaceable> +</term><listitem><para><literal>\leftmargin</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h4</replaceable> +</term><listitem><para><literal>\itemindent</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h5</replaceable> +</term><listitem><para><literal>\rightmargin</literal> +</para> +</listitem></varlistentry></variablelist> +<para>The list’s left and right margins, shown above as <replaceable>h3</replaceable> and <replaceable>h5</replaceable>, +are with respect to the ones provided by the surrounding environment, or +with respect to the page margins for a top-level list. The line width +used for typesetting the list items is <literal>\linewidth</literal> (see <link linkend="Page-layout-parameters">Page +layout parameters</link>). For instance, set the list’s left margin to be one +quarter of the distance between the left and right margins of the +enclosing environment with +<literal>\setlength{\leftmargin}{0.25\linewidth}</literal>. +</para> +<para>Page breaking in a list structure is controlled by the three +parameters below. For each, the &latex; default is +<literal>-\@lowpenalty</literal>, that is, <literal>-51</literal>. Because it is negative, +it somewhat encourages a page break at each spot. Change it with, +e.g., <literal>\@beginparpenalty=9999</literal>; a value of 10000 prohibits a +page break. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\@beginparpenalty</primary></indexterm><literal>\@beginparpenalty</literal> +</term><listitem><para>The page breaking penalty for breaking before the list (default <literal>-51</literal>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\@itempenalty</primary></indexterm><literal>\@itempenalty</literal> +</term><listitem><para>The page breaking penalty for breaking before a list item (default <literal>-51</literal>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\@endparpenalty</primary></indexterm><literal>\@endparpenalty</literal> +</term><listitem><para>The page breaking penalty for breaking after a list (default <literal>-51</literal>). +</para> +</listitem></varlistentry></variablelist> +<para>This example has the labels in red. They are numbered, and the left +edge of the label lines up with the left edge of the item text. +</para> +<screen>\usepackage{color} +\newcounter{cnt} +\newcommand{\makeredlabel}[1]{\textcolor{red}{#1.}} +\newenvironment{redlabel} + {\begin{list} + {\arabic{cnt}} + {\usecounter{cnt} + \setlength{\labelwidth}{0em} + \setlength{\labelsep}{0.5em} + \setlength{\leftmargin}{1.5em} + \setlength{\itemindent}{0.5em} % equals \labelwidth+\labelsep + \let\makelabel=\makeredlabel + } + } +{\end{list} } +</screen> <sect2 label="8.16.1" id="_005citem"> -<title><literal>\item</literal>: An entry in a list.</title> +<title><literal>\item</literal>: An entry in a list</title> <para>Synopsis: </para> <screen>\item text of item </screen> <para>or -</para><screen>\item[<replaceable>optional label</replaceable>] text of item +</para><screen>\item[<replaceable>optional-label</replaceable>] text of item </screen> <para>An entry in a list. The entries are prefixed by a label, whose default -depends on the list type. +depends on the list type. +</para> +<para>Because the optional label is surrounded by square brackets +‘<literal>[...]</literal>’, if you have an item whose text starts with ‘<literal>[</literal>’, you +have to to hide the bracket inside curly braces, as in: <literal>\item +{[} is an open square bracket</literal>; otherwise, &latex; will think it +marks the start of an optional label. </para> -<para>Because the optional argument <replaceable>optional label</replaceable> is surrounded by -square brackets (<literal>[</literal> and <literal>]</literal>), to use square brackets -inside the optional argument you must hide them inside curly braces, as -in <literal>\item[Close square bracket, {]}]</literal>. Similarly, to use an open -square bracket as first character in the text of the item, also hide it -inside curly braces. See <link linkend="LaTeX-command-syntax">&latex; command syntax</link>. +<para>Similarly, if the item does have the optional label and you need a +close square bracket inside that label, you must hide it in the same +way: <literal>\item[Close square bracket, {]}]</literal>. See <link linkend="LaTeX-command-syntax">&latex; +command syntax</link>. </para> -<para>In this example the <literal>enumerate</literal> list has two items that use the -default label and one that uses the optional label. +<para>In this example the enumerate list has two items that use the default +label and one that uses the optional label. </para> <screen>\begin{enumerate} \item Moe @@ -3336,11 +4053,52 @@ default label and one that uses the optional label. \end{enumerate} </screen> <para>The first item is labelled ‘<literal>1.</literal>’, the second item is labelled -‘<literal>sometimes</literal>’, and the third item is labelled ‘<literal>2.</literal>’ (note that, -because of the optional label in the second item, the third item does -not get a ‘<literal>3.</literal>’). +‘<literal>sometimes</literal>’, and the third item is labelled ‘<literal>2.</literal>’. Because +of the optional label in the second item, the third item is not +labelled ‘<literal>3.</literal>’. </para> +</sect2> +<sect2 label="8.16.2" id="trivlist"> +<title><literal>trivlist</literal>: A restricted form of <literal>list</literal></title> + +<para>Synopsis: +</para> +<screen>\begin{trivlist} + ... +\end{trivlist} +</screen> +<para>A restricted version of the list environment, in which margins are not +indented and an <literal>\item</literal> without an optional argument produces no +text. It is most often used in macros, to define an environment where +the <literal>\item</literal> command as part of the environment’s definition. For +instance, the <literal>center</literal> environment is defined essentially like +this: +</para> +<screen>\newenvironment{center} + {\begin{trivlist}\centering\item\relax} + {\end{trivlist}} +</screen> +<para>Using <literal>trivlist</literal> in this way allows the macro to inherit some +common code: combining vertical space of two adjacent environments; +detecting whether the text following the environment should be +considered a new paragraph or a continuation of the previous one; +adjusting the left and right margins for possible nested list +environments. +</para> +<para>Specifically, <literal>trivlist</literal> uses the current values of the list +parameters (see <link linkend="list">list</link>), except that <literal>\parsep</literal> is set to the +value of <literal>\parskip</literal>, and <literal>\leftmargin</literal>, <literal>\labelwidth</literal>, +and <literal>\itemindent</literal> are set to zero. +</para> +<para>This example outputs the items as two paragraphs, except that (by +default) they have no paragraph indent and are vertically separated. +</para> +<screen>\begin{trivlist} +\item The \textit{Surprise} is not old; no one would call her old. +\item She has a bluff bow, lovely lines. +\end{trivlist} +</screen> </sect2> </sect1> @@ -3349,6 +4107,7 @@ not get a ‘<literal>3.</literal>’). <indexterm role="fn"><primary>environment, <literal>math</literal></primary></indexterm> <indexterm role="fn"><primary><literal>math</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>in-line formulas</primary></indexterm> <para>Synopsis: @@ -3357,8 +4116,8 @@ not get a ‘<literal>3.</literal>’). <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. +<para>The <literal>math</literal> environment inserts given <replaceable>math</replaceable> material within +the running text. <literal>\(...\)</literal> and <literal>$...$</literal> are synonyms. See <link linkend="Math-formulas">Math formulas</link>. </para> @@ -3368,6 +4127,7 @@ See <link linkend="Math-formulas">Math formulas</link>. <indexterm role="fn"><primary>environment, <literal>minipage</literal></primary></indexterm> <indexterm role="fn"><primary><literal>minipage</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>minipage, creating a</primary></indexterm> <screen>\begin{minipage}[<replaceable>position</replaceable>][<replaceable>height</replaceable>][<replaceable>inner-pos</replaceable>]{<replaceable>width</replaceable>} @@ -3408,6 +4168,7 @@ footnotes; they may wind up at the bottom of the wrong minipage. <indexterm role="fn"><primary>environment, <literal>picture</literal></primary></indexterm> <indexterm role="fn"><primary><literal>picture</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>creating pictures</primary></indexterm> <indexterm role="cp"><primary>pictures, creating</primary></indexterm> @@ -3432,6 +4193,7 @@ The default value is <literal>1pt</literal>. </para> <indexterm role="cp"><primary>package, <literal>picture</literal></primary></indexterm> <indexterm role="cp"><primary><literal>picture</literal> package</primary></indexterm> + <para>The <literal>picture</literal> package redefine the <literal>picture</literal> environment so that everywhere a number is used in a <replaceable>picture commands</replaceable> to specify a coordinate, one can use alternatively a length. Be aware however that @@ -3763,11 +4525,13 @@ values must lie between −4 and +4, inclusive. <indexterm role="fn"><primary>environment, <literal>quotation</literal></primary></indexterm> <indexterm role="fn"><primary><literal>quotation</literal> environment</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> <indexterm role="fn"><primary>environment, <literal>quote</literal></primary></indexterm> <indexterm role="fn"><primary><literal>quote</literal> environment</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> @@ -3813,6 +4577,7 @@ quotations. <indexterm role="fn"><primary>environment, <literal>tabbing</literal></primary></indexterm> <indexterm role="fn"><primary><literal>tabbing</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>tab stops, using</primary></indexterm> <indexterm role="cp"><primary>lining text up using tab stops</primary></indexterm> <indexterm role="cp"><primary>alignment via tabbing</primary></indexterm> @@ -3820,23 +4585,69 @@ quotations. <para>Synopsis: </para> <screen>\begin{tabbing} -<replaceable>row1col1</replaceable> \= <replaceable>row1col2</replaceable> \= <replaceable>row1col3</replaceable> \= <replaceable>row1col4</replaceable> \\ -<replaceable>row2col1</replaceable> \> \> <replaceable>row2col3</replaceable> \\ +<replaceable>row1col1</replaceable> \= <replaceable>row1col2</replaceable> ... \\ +<replaceable>row2col1</replaceable> \> <replaceable>row2col2</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>The <literal>tabbing</literal> environment aligns text in columns. It works by +setting tab stops and tabbing to them much as was done on a 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>This example has a first line where the tab stops are set to explicit +widths, ended by a <literal>\kill</literal> command (which is described below): </para> -<para>The following commands can be used inside a <literal>tabbing</literal> environment: +<screen>\begin{tabbing} +\hspace{0.75in} \= \hspace{0.40in} \= \hspace{0.40in} \kill +Ship \> Guns \> Year \\ +\textit{Sophie} \> 14 \> 1800 \\ +\textit{Polychrest} \> 24 \> 1803 \\ +\textit{Lively} \> 38 \> 1804 \\ +\textit{Surprise} \> 28 \> 1805 \\ +\end{tabbing} +</screen> +<para>Both the <literal>tabbing</literal> environment and the more widely-used +<literal>tabular</literal> environment put text in columns. The most important +distinction is that in <literal>tabular</literal> the width of columns is +determined automatically by &latex;, while in <literal>tabbing</literal> the user +sets the tab stops. Another distinction is that <literal>tabular</literal> +generates a box, but <literal>tabbing</literal> can be broken across pages. +Finally, while <literal>tabular</literal> can be used in any mode, <literal>tabbing</literal> +can be used only in paragraph mode and it starts a new paragraph. +</para> +<para>A <literal>tabbing</literal> environment always starts a new paragraph, without +indentation. Moreover, as shown in the example above, there is no need +to use the starred form of the <literal>\hspace</literal> command at the beginning +of a tabbed row. The right margin of the <literal>tabbing</literal> environment is +the end of line, so that the width of the environment is +<literal>\linewidth</literal>. +</para> +<indexterm role="cp"><primary>row, tabbing</primary></indexterm> +<para>The <literal>tabbing</literal> environment contains a sequence of <firstterm>tabbed +rows</firstterm>. The first tabbed row begins immediately after +<literal>\begin{tabbing}</literal> and each row ends with <literal>\\</literal> or +<literal>\kill</literal>. The last row may omit the <literal>\\</literal> and end with just +<literal>\end{tabbing}</literal>. +</para> +<para>At any point the <literal>tabbing</literal> environment has a current tab stop +pattern, a sequence of <inlineequation><mathphrase><replaceable>n</replaceable> > 0</mathphrase></inlineequation> tab stops, numbered 0, 1, +etc. These create <replaceable>n</replaceable> corresponding columns. Tab stop 0 is +always the left margin, defined by the enclosing environment. Tab +stop number <replaceable>i</replaceable> is set if it is assigned a horizontal +position on the page. Tab stop number <replaceable>i</replaceable> can only be set if +all the stops 0, …, <inlineequation><mathphrase>i-1</mathphrase></inlineequation> have already been set; normally +later stops are to the right of earlier ones. +</para> +<para>By default any text typeset in a <literal>tabbing</literal> environment is typeset +ragged right and left-aligned on the current tab stop. Typesetting is +done in LR mode (see <link linkend="Modes">Modes</link>). +</para> +<para>The following commands can be used inside a <literal>tabbing</literal> environment. +They are all fragile (see <link linkend="_005cprotect">\protect</link>). </para> <variablelist><varlistentry><term><indexterm role="fn"><primary>\\ (tabbing)</primary></indexterm><literal>\\ (tabbing)</literal> -</term><listitem><para>End a line. +</term><listitem><para>End a tabbed line and typeset it. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\= (tabbing)</primary></indexterm><literal>\= (tabbing)</literal> </term><listitem><para>Sets a tab stop at the current position. @@ -3859,34 +4670,35 @@ necessary. following commands one tab stop to the left, beginning tabbed line if necessary. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\’ (tabbing)</primary></indexterm><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. +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\' (tabbing)</primary></indexterm><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 previous column and aligned +to the right, flush against the current column’s tab stop. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\‘ (tabbing)</primary></indexterm><literal>\` (tabbing)</literal> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\` (tabbing)</primary></indexterm><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. +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 <literal>tabbing</literal> environment. There must be no <literal>\></literal> or +<literal>\'</literal> command between the <literal>\`</literal> and the <literal>\\</literal> or +<literal>\end{tabbing}</literal> command that ends the line. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\a (tabbing)</primary></indexterm><literal>\a (tabbing)</literal> -</term><listitem><indexterm role="fn"><primary>\a’ (acute accent in tabbing)</primary></indexterm> -<indexterm role="fn"><primary>\a‘ (grave accent in tabbing)</primary></indexterm> +</term><listitem><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> <para>In a <literal>tabbing</literal> environment, the commands <literal>\=</literal>, <literal>\'</literal> and <literal>\`</literal> do not produce accents as usual (see <link linkend="Accents">Accents</link>). Instead, -the commands <literal>\a=</literal>, <literal>\a'</literal> and <literal>\a`</literal> are used. +use the commands <literal>\a=</literal>, <literal>\a'</literal> and <literal>\a`</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\kill</primary></indexterm><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. +</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. +Any <literal>\=</literal>, <literal>\+</literal> or <literal>\-</literal> commands in that line remain in +effect. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\poptabs</primary></indexterm><literal>\poptabs</literal> </term><listitem><indexterm role="fn"><primary>\poptabs</primary></indexterm> @@ -3897,28 +4709,56 @@ commands in that line remain in effect. tab stop positions in the middle of a <literal>tabbing</literal> environment. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\tabbingsep</primary></indexterm><literal>\tabbingsep</literal> -</term><listitem><para>Distance to left of tab stop moved by <literal>\'</literal>. +</term><listitem><para>Distance of the text moved by <literal>\'</literal> to left of current tab stop. </para> </listitem></varlistentry></variablelist> -<para>This example typesets a Pascal function in a traditional format: +<para>This example typesets a Pascal function: </para> <screen>\begin{tabbing} function \= fact(n : integer) : integer;\\ \> begin \= \+ \\ - \> if \= n $>$ 1 then \+ \\ + \> if \= n > 1 then \+ \\ fact := n * fact(n-1) \- \\ else \+ \\ fact := 1; \-\- \\ end;\\ \end{tabbing} </screen> +<para>The output looks like this: +</para><screen>function fact(n : integer) : integer; + begin + if n > 1 then + fact := n * fact(n-1); + else + fact := 1; + end; +</screen> +<indexterm role="cp"><primary>package, <literal>algorithm2e</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>algorithm2e</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>listings</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>listings</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>minted</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>minted</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>fancyvrb</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>fancyvrb</literal> package</primary></indexterm> + +<para>(The above example is just for illustration of the environment. To +actually typeset computer code in typewriter like this, a verbatim +environment (see <link linkend="verbatim">verbatim</link>) would normally suffice. For +pretty-printed code, there are quite a few packages, including +<literal>algorithm2e</literal>, <literal>fancyvrb</literal>, <literal>listings</literal>, and +<literal>minted</literal>.) +</para> + </sect1> <sect1 label="8.22" id="table"> <title><literal>table</literal></title> <indexterm role="fn"><primary>environment, <literal>table</literal></primary></indexterm> <indexterm role="fn"><primary><literal>table</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>tables, creating</primary></indexterm> <indexterm role="cp"><primary>creating tables</primary></indexterm> @@ -3970,6 +4810,7 @@ unless it is pushed to a float page at the end. <indexterm role="fn"><primary>environment, <literal>tabular</literal></primary></indexterm> <indexterm role="fn"><primary><literal>tabular</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>lines in tables</primary></indexterm> <indexterm role="cp"><primary>lining text up in tables</primary></indexterm> @@ -4326,6 +5167,7 @@ is required. <indexterm role="fn"><primary>environment, <literal>thebibliography</literal></primary></indexterm> <indexterm role="fn"><primary><literal>thebibliography</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>bibliography, creating (manually)</primary></indexterm> <para>Synopsis: @@ -4339,13 +5181,29 @@ is required. 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: +‘<literal>References</literal>’ and the label is stored in macro <literal>\refname</literal>; in +the <literal>report</literal> class, it is labelled ‘<literal>Bibliography</literal>’ and the +label is stored in macro <literal>\bibname</literal>. +</para> +<para>You can change the label by redefining the command <literal>\refname</literal> or +<literal>\bibname</literal>, whichever is applicable depending on the class: +</para> +<itemizedlist><listitem><indexterm role="fn"><primary>\bibname</primary></indexterm> +<para>For standard classes whose top level sectioning is <literal>\chapter</literal> +(such as <filename>book</filename> and <filename>report</filename>), the label is in the macro +<literal>\bibname</literal>; +</para> +</listitem><listitem><indexterm role="fn"><primary>\refname</primary></indexterm> +<para>For standard classes whose the top level sectioning is <literal>\section</literal> +(such as <filename>article</filename>), the label is in macro <literal>\refname</literal>. +</para></listitem></itemizedlist> +<indexterm role="cp"><primary>package, <literal>babel</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>babel</literal> package</primary></indexterm> + +<para>Typically it is neither necessary nor desirable to directly redefine +<literal>\refname</literal> or <literal>\bibname</literal>; language support packages like +<filename>babel</filename> do this. </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 @@ -4465,6 +5323,7 @@ Bib&tex; format. Only the entries referred to via <literal>\cite</literal> and <indexterm role="fn"><primary>environment, <literal>theorem</literal></primary></indexterm> <indexterm role="fn"><primary><literal>theorem</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>theorems, typesetting</primary></indexterm> <para>Synopsis: @@ -4485,6 +5344,7 @@ possibilities for <replaceable>n</replaceable> are described under <literal>\new <indexterm role="fn"><primary>environment, <literal>titlepage</literal></primary></indexterm> <indexterm role="fn"><primary><literal>titlepage</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>making a title page</primary></indexterm> <indexterm role="cp"><primary>title pages, creating</primary></indexterm> @@ -4531,6 +5391,7 @@ is left to the author. <indexterm role="fn"><primary>environment, <literal>verbatim</literal></primary></indexterm> <indexterm role="fn"><primary><literal>verbatim</literal> 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> @@ -4549,7 +5410,8 @@ which &latex; produces exactly what you type in; for instance the 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>The <literal>verbatim</literal> environment uses a monospaced typewriter-like font +(<literal>\tt</literal>). </para> <sect2 label="8.27.1" id="_005cverb"> @@ -4581,6 +5443,7 @@ verbatim text. The delimiter must not appear in <replaceable>literal-text</repl <indexterm role="fn"><primary>environment, <literal>verse</literal></primary></indexterm> <indexterm role="fn"><primary><literal>verse</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>poetry, an environment for</primary></indexterm> <para>Synopsis: @@ -5085,6 +5948,7 @@ sequence with other footnotes. </screen> <indexterm role="cp"><primary>package, <literal>footmisc</literal></primary></indexterm> <indexterm role="cp"><primary><literal>footmisc</literal> package</primary></indexterm> + <indexterm role="cp"><primary><literal>stable</literal> option to <literal>footmisc</literal> package</primary></indexterm> <para>causes the footnote to appear at the bottom of the page where the section starts, as usual, but also at the bottom of the table of @@ -5177,6 +6041,7 @@ footnotes. This is ‘<literal>6.65pt</literal>’ for ‘<literal> <para>&latex; has support for making new commands of many different kinds. </para> <!-- xx everything in this chapter needs examples. --> +<!-- xx Add DeclareRobustCommand (see clsguide.pdf) --> @@ -5681,11 +6546,14 @@ characters in each: <indexterm role="cp"><primary>fragile commands</primary></indexterm> <indexterm role="cp"><primary>robust commands</primary></indexterm> -<para>All &latex; commands are either <firstterm>fragile</firstterm> or <firstterm>robust</firstterm>. -Footnotes, line breaks, any command that has an optional argument, and -many more, are fragile. A fragile command can break when it is used in -the argument to certain commands. To prevent such commands from -breaking one solution is to have them preceded by the command +<para>All &latex; commands are either <firstterm>fragile</firstterm> or <firstterm>robust</firstterm>. A +fragile command can break when it is used in the argument to certain +other commands. Commands that contain data that &latex; writes to an +auxiliary file and re-reads later are fragile. This includes material +that goes into a table of contents, list of figures, list of tables, +etc. Fragile commands also include line breaks, any command that has an +optional argument, and many more. To prevent such commands from +breaking, one solution is to preceded them with the command <literal>\protect</literal>. </para> <para>For example, when &latex; runs the <literal>\section{<replaceable>section @@ -5733,6 +6601,87 @@ to <literal>\protect\(..\protect\)</literal>. </screen> </sect1> +<sect1 label="12.10" id="_005cignorespaces-_0026-_005cignorespacesafterend"> +<title><literal>\ignorespaces & \ignorespacesafterend</literal></title> + +<indexterm role="fn"><primary>\ignorespaces</primary></indexterm> +<indexterm role="fn"><primary>\ignorespacesafterend</primary></indexterm> +<indexterm role="cp"><primary>spaces, ignore around commands</primary></indexterm> +<indexterm role="cp"><primary>commands, ignore spaces</primary></indexterm> + +<para>Synopsis: +</para> +<screen>\ignorespaces +</screen> +<para>or +</para> +<screen>\ignorespacesafterend +</screen> +<para>Both commands cause &latex; to ignore spaces after the end of the +command up until the first non-space character. The first is a command +from Plain &tex;, and the second is &latex;-specific. +</para> +<para>The <literal>ignorespaces</literal> is often used when defining commands via +<literal>\newcommand</literal>, or <literal>\newenvironment</literal>, or <literal>\def</literal>. The +example below illustrates. It allows a user to show the points values +for quiz questions in the margin but it is inconvenient because, as +shown in the <literal>enumerate</literal> list, users must not put any space between +the command and the question text. +</para> +<screen>\newcommand{\points}[1]{\makebox[0pt]{\makebox[10em][l]{#1~pts}} +\begin{enumerate} + \item\points{10}no extra space output here + \item\points{15} extra space output between the number and the word `extra' +\end{enumerate} +</screen> +<para>The solution is to change to +<literal>\newcommand{\points}[1]{\makebox[0pt]{\makebox[10em][l]{#1~pts}}\ignorespaces}</literal>. +</para> +<para>A second example shows spaces being removed from the front of text. The +commands below allow a user to uniformly attach a title to names. But, +as given, if a title accidentally starts with a space then +<literal>\fullname</literal> will reproduce that. +</para> +<screen>\makeatletter +\newcommand{\honorific}[1]{\def\@honorific{#1}} % remember title +\newcommand{\fullname}[1]{\@honorific~#1} % recall title; put before name +\makeatother +\begin{tabular}{|l|} +\honorific{Mr/Ms} \fullname{Jones} \\ % no extra space here +\honorific{ Mr/Ms} \fullname{Jones} % extra space before title +\end{tabular} +</screen> +<para>To fix this, change to +<literal>\newcommand{\fullname}[1]{\ignorespaces\@honorific~#1}</literal>. +</para> +<para>The <literal>\ignorespaces</literal> is also often used in a <literal>\newenvironment</literal> +at the end of the <replaceable>begin</replaceable> clause, that is, as part of the second +argument, as in <literal>\begin{newenvironment}{<replaceable>env +name</replaceable>}{... \ignorespaces}{...}</literal>. +</para> +<para>To strip spaces off the end of an environment use +<literal>\ignorespacesafterend</literal>. An example is that this will show a much +larger vertical space between the first and second environments than +between the second and third. +</para> +<screen>\newenvironment{eq}{\begin{equation}}{\end{equation}} +\begin{eq} +e=mc^2 +\end{eq} +\begin{equation} +F=ma +\end{equation} +\begin{equation} +E=IR +\end{equation} +</screen> +<para>Putting a comment character <literal>%</literal> immediately after the +<literal>\end{eq}</literal> will make the vertical space disappear, but that is +inconvenient. The solution is to change to +<literal>\newenvironment{eq}{\begin{equation}}{\end{equation}\ignorespacesafterend}</literal>. +</para> + +</sect1> </chapter> <chapter label="13" id="Counters"> <title>Counters</title> @@ -5802,14 +6751,17 @@ symbols (conventionally used for labeling footnotes). The value of </para> <para>Here are the symbols: </para> -<informaltable><tgroup cols="3"><colspec colwidth="33*"></colspec><colspec colwidth="33*"></colspec><colspec colwidth="33*"></colspec><thead><row><entry><para>Name</para></entry><entry><para>Command</para></entry><entry><para>Equivalent Unicode symbol and/or numeric code point<!-- --> -</para></entry></row></thead><tbody><row><entry><para>asterisk</para></entry><entry><para><literal>\ast</literal></para></entry><entry><para>*<!-- --> +<informaltable><tgroup cols="3"><colspec colwidth="33*"></colspec><colspec colwidth="33*"></colspec><colspec colwidth="33*"></colspec><thead><row><entry><para>Name</para></entry><entry><para>Command</para></entry><entry><para>Equivalent Unicode symbol and/or numeric code point<!-- + --> +</para></entry></row></thead><tbody><row><entry><para>asterisk</para></entry><entry><para><literal>\ast</literal></para></entry><entry><para>*<!-- + --> </para></entry></row><row><entry><para>dagger</para></entry><entry><para><literal>\dagger</literal></para></entry><entry><para>† </para></entry></row><row><entry><para>ddagger</para></entry><entry><para><literal>\ddagger</literal></para></entry><entry><para>‡ </para></entry></row><row><entry><para>section-sign</para></entry><entry><para><literal>\S</literal></para></entry><entry><para>§ </para></entry></row><row><entry><para>paragraph-sign</para></entry><entry><para><literal>\P</literal></para></entry><entry><para>¶ </para></entry></row><row><entry><para>double-vert</para></entry><entry><para><literal>\parallel</literal></para></entry><entry><para>‖ -</para></entry></row><row><entry><para>double-asterisk</para></entry><entry><para><literal>\ast\ast</literal></para></entry><entry><para>**<!-- --> +</para></entry></row><row><entry><para>double-asterisk</para></entry><entry><para><literal>\ast\ast</literal></para></entry><entry><para>**<!-- + --> </para></entry></row><row><entry><para>double-dagger</para></entry><entry><para><literal>\dagger\dagger</literal></para></entry><entry><para>†† </para></entry></row><row><entry><para>double-ddagger</para></entry><entry><para><literal>\ddagger\ddagger</literal></para></entry><entry><para>‡‡ </para></entry></row></tbody></tgroup></informaltable> @@ -6323,10 +7275,13 @@ notes from falling off the bottom of the page. <indexterm role="cp"><primary>math mode, entering</primary></indexterm> <indexterm role="fn"><primary>environment, <literal>math</literal></primary></indexterm> <indexterm role="fn"><primary><literal>math</literal> environment</primary></indexterm> + <indexterm role="fn"><primary>environment, <literal>displaymath</literal></primary></indexterm> <indexterm role="fn"><primary><literal>displaymath</literal> environment</primary></indexterm> + <indexterm role="fn"><primary>environment, <literal>equation</literal></primary></indexterm> <indexterm role="fn"><primary><literal>equation</literal> environment</primary></indexterm> + <para>There are three environments that put &latex; in math mode: </para> @@ -6614,7 +7569,7 @@ arrow <literal>\Downarrow</literal>. arrow <literal>\downarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ell</primary></indexterm><literal>\ell</literal> -</term><listitem><para>ℓ Lower-case cursive letter l (ordinary). +</term><listitem><para>ℓ Lowercase cursive letter l (ordinary). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\emptyset</primary></indexterm><literal>\emptyset</literal> </term><listitem><para>∅ Empty set symbol (ordinary). The variant form is @@ -7940,8 +8895,60 @@ space that does not disappear at line breaks use </para> </sect1> -<sect1 label="19.3" id="_005c_0028SPACE_0029-and-_005c_0040"> -<title><literal>\(SPACE)</literal> and \@</title> +<sect1 label="19.3" id="_005cspacefactor"> +<title><literal>\spacefactor</literal></title> + +<para>Synopsis: +</para> +<screen>\spacefactor=<replaceable>integer</replaceable> +</screen> +<indexterm role="fn"><primary>\spacefactor</primary></indexterm> +<para>While &latex; is making the page, to give the lines the best appearance +it may stretch or shrink the gaps between words. The +<literal>\spacefactor</literal> command (from Plain &tex;) allows you to +change the &latex;’s default behavior. +</para> +<para>After &latex; places each character, or rule or other box, it sets a +parameter called the <firstterm>space factor</firstterm>. If the next thing in the input +is a space then this parameter affects how much of a horizontal gap +&latex; will have it span. (This gap is not a character; it is called +<firstterm>interword glue</firstterm>.) A larger space factor means that the glue gap +can stretch more and shrink less. +</para> +<para>Normally, the space factor is 1000; this value is in effect following +most characters, and any non-character box or math formula. But it is +3000 after a period, exclamation mark, or question mark, it is 2000 +after a colon, 1500 after a semicolon, 1250 after a comma, and 0 after a +right parenthesis or bracket, or closing double quote or single quote. +Finally, it is 999 after a capital letter. +</para> +<para>If the space factor <replaceable>f</replaceable> is 1000 then the glue gap will be the +font’s normal space value (for Computer Modern Roman 10 point this is +3.3333 points). Otherwise, if the space factor <replaceable>f</replaceable> is greater +than 2000 then &tex; adds the font’s extra space value (for Computer +Modern Roman 10 point this is 1.11111 points), and then the font’s +normal stretch value is multiplied by <inlineequation><mathphrase>f /1000</mathphrase></inlineequation> and the normal +shrink value is multiplied by <inlineequation><mathphrase>1000/f</mathphrase></inlineequation> (for Computer Modern Roman +10 point these are 1.66666 and 1.11111 points). In short, compared +to a normal space, such as the space following a word ending in a +lowercase letter, inter-sentence spacing has a fixed extra space added +and then the space can stretch 3 times as much and shrink 1/3 as much. +</para> +<para>The rules for how &tex; uses space factors are even more complex +because they play two more roles. In practice, there are two +consequences. First, if a period or other punctuation is followed by a +close parenthesis or close double quote then its effect is still in +place, that is, the following glue will have increased stretch and +shrink. Second, conversely, if punctuation comes after a capital letter +then its effect is not in place so you get an ordinary space. For how +to adjust to this second case, for instance if an abbreviation does not +end in a capital letter, see <link linkend="_005c_0028SPACE_0029-and-_005c_0040">\(SPACE) and \@</link>. +</para> + + + +<sect2 label="19.3.1" id="_005c_0028SPACE_0029-and-_005c_0040"> +<title><literal>\(SPACE)</literal> and <literal>\@</literal></title> <indexterm role="fn"><primary>\(SPACE)</primary></indexterm> <indexterm role="fn"><primary>\TAB</primary></indexterm> @@ -7949,39 +8956,65 @@ space that does not disappear at line breaks use <indexterm role="fn"><primary>\@</primary></indexterm> <anchor id="_005cAT"/><!-- old name --> -<para>Mark a punctuation character, typically a period, as either ending a -sentence or as ending an abbreviation. +<para>Here, <literal>\(SPACE)</literal> means a backslash followed by a space. These +commands mark a punctuation character, typically a period, as either +ending a sentence or as ending an abbreviation. </para> <para>By default, in justifying a line &latex; adjusts the space after a sentence-ending period (or a question mark, exclamation point, comma, or -colon) more than the space between words -(see <link linkend="_005cfrenchspacing">\frenchspacing</link>). &latex; assumes that the period ends a -sentence unless it is preceded by a capital letter, in which case it -takes that period for part of an abbreviation. Note that if a -sentence-ending period is immediately followed by a right parenthesis or -bracket, or right single or double quote, then the inter-sentence space -follows that parenthesis or quote. -</para> -<para>If you have a period ending an abbreviation whose last letter is not a -capital letter, and that abbreviation is not the last word in the +colon) more than the space between words. See <link linkend="_005cspacefactor">\spacefactor</link>. As +described there, &latex; assumes that the period ends a sentence unless +it is preceded by a capital letter, in which case it takes that period +for part of an abbreviation. Note that if a sentence-ending period is +immediately followed by a right parenthesis or bracket, or right single +or double quote, then the space effect of that period follows through +that parenthesis or quote. +</para> +<para>So: if you have a period ending an abbreviation whose last letter is not +a capital letter, and that abbreviation is not the last word in the sentence, then follow that period with a backslash-space (<literal>\ </literal>) or -a tie (<literal>~</literal>). Examples are <literal>Nat.\ Acad.\ Science</literal>, and -<literal>Mr.~Bean</literal>, and <literal>(manure, etc.)\ for sale</literal>. -</para> -<para>For another use of <literal>\ </literal>, see <link linkend="_005c_0028SPACE_0029-after-control-sequence">\(SPACE) after control sequence</link>. +a tie (<literal>~</literal>) or a <literal>\@</literal>. Examples are <literal>Nat.\ Acad.\ +Science</literal>, and <literal>Mr.~Bean</literal>, and <literal>(manure, etc.\@) for sale</literal> +(note that in the last the <literal>\@</literal> comes before the closing parenthesis). </para> <para>In the opposite situation, if you have a capital letter followed by a -period that ends the sentence, then put <literal>\@</literal> before that period. -For example, <literal>book by the MAA\@.</literal> will have inter-sentence -spacing after the period. +period that does end the sentence, then put <literal>\@</literal> before the +period. For example, <literal>book by the MAA\@.</literal> will have correct +inter-sentence spacing after the period. </para> -<para>In contrast, putting <literal>\@</literal> after a period tells &tex; that the -period does not end the sentence. In the example <literal>reserved words -(if, then, etc.\@) are different</literal>, &tex; will put interword space -after the closing parenthesis (note that <literal>\@</literal> is before the -parenthesis). +<para>For another use of <literal>\(SPACE)</literal>, see <link linkend="_005c_0028SPACE_0029-after-control-sequence">\(SPACE) after control sequence</link>. </para> +</sect2> +<sect2 label="19.3.2" id="_005cfrenchspacing"> +<title><literal>\frenchspacing</literal></title> + +<indexterm role="fn"><primary>\frenchspacing</primary></indexterm> +<indexterm role="fn"><primary>\nonfrenchspacing</primary></indexterm> +<indexterm role="cp"><primary>spacing, inter-sentence</primary></indexterm> + +<para>This declaration (from Plain &tex;) causes &latex; to treat +inter-sentence spacing in the same way as interword spacing. +</para> +<para>In justifying the text in a line, some typographic traditions, including +English, prefer to adjust the space between sentences (or after other +punctuation marks) more than the space between words. Following this +declaration, all spaces are instead treated equally. +</para> +<para>Revert to the default behavior by declaring <literal>\nonfrenchspacing</literal>. +</para> + +</sect2> +<sect2 label="19.3.3" id="_005cnormalsfcodes"> +<title><literal>\normalsfcodes</literal></title> + +<indexterm role="fn"><primary>\normalsfcodes</primary></indexterm> +<indexterm role="cp"><primary>spacing, inter-sentence</primary></indexterm> + +<para>Reset the &latex; space factor values to the default. +</para> + +</sect2> </sect1> <sect1 label="19.4" id="_005c_0028SPACE_0029-after-control-sequence"> <title><literal>\ </literal> after control sequence</title> @@ -8003,31 +9036,13 @@ by a space or by a punctuation mark. Compare: </screen> <indexterm role="cp"><primary>package, <literal>xspace</literal></primary></indexterm> <indexterm role="cp"><primary><literal>xspace</literal> package</primary></indexterm> + <para>Some individual commands, notably those defined with the <literal>xspace</literal>, package do not follow the standard behavior. </para> </sect1> -<sect1 label="19.5" id="_005cfrenchspacing"> -<title><literal>\frenchspacing</literal></title> - -<indexterm role="fn"><primary>\frenchspacing</primary></indexterm> -<indexterm role="fn"><primary>\nonfrenchspacing</primary></indexterm> -<indexterm role="cp"><primary>spacing, inter-sentence</primary></indexterm> - -<para>This declaration (from Plain &tex;) causes &latex; to treat -inter-sentence spacing in the same way as interword spacing. -</para> -<para>In justifying the text in a line, some typographic traditions, including -English, prefer to adjust the space between sentences (or after other -punctuation marks) more than the space between words. Following this -declaration, all spaces are instead treated equally. -</para> -<para>Revert to the default behavior by declaring <literal>\nonfrenchspacing</literal>. -</para> - -</sect1> -<sect1 label="19.6" id="_005cthinspace"> +<sect1 label="19.5" id="_005cthinspace"> <title><literal>\thinspace</literal>: Insert 1/6em</title> <indexterm role="fn"><primary>\thinspace</primary></indexterm> @@ -8038,7 +9053,7 @@ quotes, as in ’”.<!-- Abuse @dmn, which is a thin space in Texinfo. </para> </sect1> -<sect1 label="19.7" id="_005c_002f"> +<sect1 label="19.6" id="_005c_002f"> <title><literal>\/</literal>: Insert italic correction</title> <indexterm role="fn"><primary>\/</primary></indexterm> @@ -8071,7 +9086,7 @@ in a different way. </para> </sect1> -<sect1 label="19.8" id="_005chrulefill-_005cdotfill"> +<sect1 label="19.7" id="_005chrulefill-_005cdotfill"> <title><literal>\hrulefill \dotfill</literal></title> <indexterm role="fn"><primary>\hrulefill</primary></indexterm> @@ -8100,7 +9115,7 @@ length of 0.33em to 1.00em. </para> </sect1> -<sect1 label="19.9" id="_005caddvspace"> +<sect1 label="19.8" id="_005caddvspace"> <title><literal>\addvspace</literal></title> <indexterm role="fn"><primary>\addvspace</primary></indexterm> @@ -8129,7 +9144,7 @@ change that is to precede this command with a <literal>\par</literal> command. </para> </sect1> -<sect1 label="19.10" id="_005cbigskip-_005cmedskip-_005csmallskip"> +<sect1 label="19.9" id="_005cbigskip-_005cmedskip-_005csmallskip"> <title><literal>\bigskip \medskip \smallskip</literal></title> <para>These commands produce a given amount of space, specified by the @@ -8157,7 +9172,7 @@ quarter of a line space, with stretch and shrink (the default for the </listitem></varlistentry></variablelist> </sect1> -<sect1 label="19.11" id="_005cvfill"> +<sect1 label="19.10" id="_005cvfill"> <title><literal>\vfill</literal></title> <indexterm role="fn"><primary>\vfill</primary></indexterm> @@ -8189,7 +9204,7 @@ Lost Dog! </screen> </sect1> -<sect1 label="19.12" id="_005cvspace"> +<sect1 label="19.11" id="_005cvspace"> <title><literal>\vspace{<replaceable>length</replaceable>}</literal></title> <indexterm role="fn"><primary>\vspace</primary></indexterm> @@ -8270,8 +9285,8 @@ argument. <!-- xxref --> <indexterm role="fn"><primary>\fboxrule</primary></indexterm> <indexterm role="fn"><primary>\fboxsep</primary></indexterm> <para>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. +<literal>0.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 <link linkend="_005cframebox-_0028picture_0029">\framebox (picture)</link>, for the <literal>\framebox</literal> command in the <literal>picture</literal> environment. @@ -8335,8 +9350,9 @@ see <link linkend="_005cmakebox-_0028picture_0029">\makebox (picture)</link>. </para> <screen>\parbox[<replaceable>position</replaceable>][<replaceable>height</replaceable>][<replaceable>inner-pos</replaceable>]{<replaceable>width</replaceable>}{<replaceable>text</replaceable>} </screen> +<indexterm role="cp"><primary>paragraph mode</primary></indexterm> <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 +in <firstterm>paragraph mode</firstterm>. 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 @@ -8444,7 +9460,1130 @@ included in the normal output, it is saved in the box labeled </sect1> </chapter> -<chapter label="21" id="Special-insertions"> +<chapter label="21" id="Color"> +<title>Color</title> + +<indexterm role="cp"><primary>color</primary></indexterm> + +<para>You can add color to text, rules, etc. You can also have color in a box +or on an entire page and write text on top of it. +</para> +<para>Color support comes as an additional package. So all the commands below +will only work if your document preamble contains +<literal>\usepackage{color}</literal>, that brings in the standard package. +</para> +<para>Many other packages also supplement &latex;’s color abilities. +Particularly worth mentioning is <filename>xcolor</filename>, which is widely used and +significantly extends the capabilities described here, including adding +‘<literal>HTML</literal>’ and ‘<literal>Hsb</literal>’ color models. +</para> + + +<sect1 label="21.1" id="Color-package-options"> +<title>Color package options</title> + +<indexterm role="cp"><primary>color package options</primary></indexterm> +<indexterm role="cp"><primary>options, color package</primary></indexterm> + +<para>Synopsis (must be in the document preamble): +</para> +<screen>\usepackage[<replaceable>comma-separated option list</replaceable>]{color} +</screen> +<para>When you load the <filename>color</filename> package there are two kinds of available +options. +</para> +<para>The first specifies the <firstterm>printer driver</firstterm>. &latex; doesn’t contain +information about different output systems but instead depends on +information stored in a file. Normally you should not specify the +driver option in the document, and instead rely on your system’s +default. One advantage of this is that it makes the document portable +across systems. For completeness we include a list of the drivers. The +currently relevant ones are: <filename>dvipdfmx</filename>, <filename>dvips</filename>, +<filename>dvisvgm</filename>, <filename>luatex</filename>, <filename>pdftex</filename>, <filename>xetex</filename>. The two +<filename>xdvi</filename> and <filename>oztex</filename> are essentially aliases for <filename>dvips</filename> +(and <filename>xdvi</filename> is monochrome). Ones that should not be used for new +systems are: <filename>dvipdf</filename>, <filename>dvipdfm</filename>, <filename>dviwin</filename>, +<filename>dvipsone</filename>, <filename>emtex</filename>, <filename>pctexps</filename>, <filename>pctexwin</filename>, +<filename>pctexhp</filename>, <filename>pctex32</filename>, <filename>truetex</filename>, <filename>tcidvi</filename>, +<filename>vtex</filename> (and <filename>dviwindo</filename> is an alias for <filename>dvipsone</filename>). +</para> +<para>The second kind of options, beyond the drivers, are below. +</para> +<variablelist> +<varlistentry><term><literal>monochrome</literal> +</term><listitem><para>Disable the color commands, so that they do not generate errors but do +not generate color either. +</para> +</listitem></varlistentry><varlistentry><term><literal>dvipsnames</literal> +</term><listitem><para>Make available a list of 68 color names that are often used, +particularly in legacy documents. These color names were originally +provided by the <filename>dvips</filename> driver, giving the option name. +</para> +</listitem></varlistentry><varlistentry><term><literal>nodvipsnames</literal> +</term><listitem><para>Do not load that list of color names, saving &latex; a tiny amount of +memory space. +</para> +</listitem></varlistentry></variablelist> + +</sect1> +<sect1 label="21.2" id="Color-models"> +<title>Color models</title> + +<indexterm role="cp"><primary>color models</primary></indexterm> + +<para>A <firstterm>color model</firstterm> is a way of representing colors. &latex;’s +capabilities depend on the printer driver. However, the <filename>pdftex</filename>, +<filename>xetex</filename>, and <filename>luatex</filename> printer drivers are today by far the +most commonly used. The models below work for those drivers. All but +one of these is also supported by essentially all other printer drivers +used today. +</para> +<para>Note that color combination can be additive or subtractive. Additive +mixes colors of light, so that for instance combining full intensities +of red, green, and blue produces white. Subtractive mixes pigments, +such as with inks, so that combining full intensity of cyan, magenta, +and yellow makes black. +</para> +<variablelist><varlistentry><term><literal>cmyk</literal> +</term><listitem><para>A comma-separated list with four real numbers between 0 and 1, +inclusive. The first number is the intensity of cyan, the second is +magenta, and the others are yellow and black. A number value of 0 means +minimal intensity, while a 1 is for full intensity. This model is often +used in color printing. It is a subtractive model. +</para> +</listitem></varlistentry><varlistentry><term><literal>gray</literal> +</term><listitem><para>A single real number between 0 and 1, inclusive. The colors are shades +of grey. The number 0 produces black while 1 gives white. +</para> +</listitem></varlistentry><varlistentry><term><literal>rgb</literal> +</term><listitem><para>A comma-separated list with three real numbers between 0 and 1, +inclusive. The first number is the intensity of the red component, the +second is green, and the third the blue. A number value of 0 means that +none of that component is added in, while a 1 means full intensity. +This is an additive model. +</para> +</listitem></varlistentry><varlistentry><term><literal>RGB</literal> +</term><listitem><para>(<filename>pdftex</filename>, <filename>xetex</filename>, <filename>luatex</filename> drivers) A comma-separated +list with three integers between 0 and 255, inclusive. This model is a +convenience for using <literal>rgb</literal> since outside of &latex; colors are +often described in a red-green-blue model using numbers in this range. +The values entered here are converted to the <literal>rgb</literal> model by +dividing by 255. +</para> +</listitem></varlistentry><varlistentry><term><literal>named</literal> +</term><listitem><para>Colors are accessed by name, such as ‘<literal>PrussianBlue</literal>’. The list of +names depends on the driver, but all support the names ‘<literal>black</literal>’, +‘<literal>blue</literal>’, ‘<literal>cyan</literal>’, ‘<literal>green</literal>’, ‘<literal>magenta</literal>’, ‘<literal>red</literal>’, +‘<literal>white</literal>’, and ‘<literal>yellow</literal>’ (See the <literal>dvipsnames</literal> option in +<link linkend="Color-package-options">Color package options</link>). +</para> +</listitem></varlistentry></variablelist> + +</sect1> +<sect1 label="21.3" id="Commands-for-color"> +<title>Commands for color</title> + +<indexterm role="cp"><primary>color package commands</primary></indexterm> + +<para>These are the commands available with the <filename>color</filename> package. +</para> + + +<sect2 label="21.3.1" id="Define-colors"> +<title>Define colors</title> + +<indexterm role="cp"><primary>color</primary></indexterm> +<indexterm role="cp"><primary>define color</primary></indexterm> +<indexterm role="cp"><primary>color, define</primary></indexterm> + +<para>Synopsis: +</para> +<screen>\definecolor{<replaceable>name</replaceable>}{<replaceable>model</replaceable>}{<replaceable>specification</replaceable>} +</screen> +<para>Give the name <replaceable>name</replaceable> to the color. For example, after +<literal>\definecolor{silver}{rgb}{0.75,0.75,0.74}</literal> you can use that +color name with <literal>Hi ho, \textcolor{silver}{Silver}!</literal>. +</para> +<para>This example gives the color a more abstract name, so it could change and +not be misleading. +</para> +<screen>\definecolor{logocolor}{RGB}{145,92,131} % RGB needs pdflatex +\newcommand{\logo}{\textcolor{logocolor}{Bob's Big Bagels}} +</screen> +<para>Often a document’s colors are defined in the preamble, or in the class +or style, rather than in the document body. +</para> + +</sect2> +<sect2 label="21.3.2" id="Colored-text"> +<title>Colored text</title> + +<indexterm role="cp"><primary>color</primary></indexterm> +<indexterm role="cp"><primary>colored text</primary></indexterm> + +<para>Synopses: +</para> +<screen>\textcolor{<replaceable>name</replaceable>}{...} +\textcolor[<replaceable>color model</replaceable>]{<replaceable>color specification</replaceable>}{...} +</screen> +<para>or +</para> +<screen>\color{<replaceable>name</replaceable>} +\color[<replaceable>color model</replaceable>]{<replaceable>specification</replaceable>} +</screen> +<para>The affected text gets the color. This line +</para> +<screen>\textcolor{magenta}{My name is Ozymandias, king of kings:} Look on my works, ye Mighty, and despair! +</screen> +<para>causes the first half to be in magenta while the rest is in black. You +can use a color declared with <literal>\definecolor</literal> in exactly the same +way that we just used the builtin color ‘<literal>magenta</literal>’. +</para> +<screen>\definecolor{MidlifeCrisisRed}{rgb}{1.0,0.11,0.0} +I'm thinking about getting a \textcolor{MidlifeCrisisRed}{sports car}. +</screen> +<para>The two <literal>\textcolor</literal> and <literal>\color</literal> differ in that the first is +a command form, enclosing the text to be colored as an argument. Often +this form is more convenient, or at least more explicit. The second +form is a declaration, as in <literal>The moon is made of {\color{green} +green} cheese</literal>, so it is in effect until the end of the current group +or environment. This is sometimes useful when writing macros or as +below where it colors everything inside the <literal>center</literal> environment, +including the vertical and horizontal lines. +</para> +<screen>\begin{center} \color{blue} + \begin{tabular}{l|r} + UL &UR \\ \hline + LL &LR + \end{tabular} +\end{center} +</screen> +<para>You can use color in equations. A document might have +<literal>\definecolor{highlightcolor}{RGB}{225,15,0}</literal> in the +preamble, and then contain this equation. +</para> +<screen>\begin{equation} + \int_a^b \textcolor{highlightcolor}{f'(x)}\,dx=f(b)-f(a) +\end{equation} +</screen> +<para>Typically the colors used in a document are declared in a class or style +but sometimes you want a one-off. Those are the second forms in the +synopses. +</para> +<screen>Colors of \textcolor[rgb]{0.33,0.14,0.47}{Purple} and {\color[rgb]{0.72,0.60,0.37} Gold} for the team +</screen> +<para>The format of <replaceable>color specification </replaceable> depends on the color model +(see <link linkend="Color-models">Color models</link>). For instance, while <literal>rgb</literal> takes three +numbers, <literal>gray</literal> takes only one. +</para> +<screen>The selection was \textcolor[gray]{0.5}{grayed out}. +</screen> +<para>Colors inside colors do not combine. Thus +</para> +<screen>\textcolor{green}{kind of \textcolor{blue}{blue}} +</screen> +<para>has a final word that is blue, not a combination of blue and green. +</para> +<!-- xx address coloring a line of a table? --> + + +</sect2> +<sect2 label="21.3.3" id="Colored-boxes"> +<title>Colored boxes</title> + +<indexterm role="cp"><primary>color</primary></indexterm> +<indexterm role="cp"><primary>colored boxes</primary></indexterm> +<indexterm role="cp"><primary>box, colored</primary></indexterm> + +<para>Synopses: +</para> +<screen>\colorbox{<replaceable>name</replaceable>}{...} +\colorbox[<replaceable>model name</replaceable>]{<replaceable>box background color specification</replaceable>}{...} +</screen> +<para>or +</para> +<screen>\fcolorbox{<replaceable>frame color</replaceable>}{<replaceable>box background color</replaceable>}{...} +\fcolorbox[<replaceable>model name</replaceable>]{<replaceable>frame color specification</replaceable>}{<replaceable>box background color specification</replaceable>}{...} +</screen> +<para>Make a box with the stated background color. The <literal>\fcolorbox</literal> +command puts a frame around the box. For instance this +</para> +<screen>Name:~\colorbox{cyan}{\makebox[5cm][l]{\strut}} +</screen> +<para>makes a cyan-colored box that is five centimeters long and gets its +depth and height from the <literal>\strut</literal> (so the depth is +<literal>-.3\baselineskip</literal> and the height is <literal>\baselineskip</literal>). This +puts white text on a blue background. +</para> +<screen>\colorbox{blue}{\textcolor{white}{Welcome to the machine.}} +</screen> +<para>The <literal>\fcolorbox</literal> commands use the same parameters as <literal>\fbox</literal> +(see <link linkend="_005cfbox-and-_005cframebox">\fbox and \framebox</link>), <literal>\fboxrule</literal> and <literal>\fboxsep</literal>, to +set the thickness of the rule and the boundary between the box interior +and the surrounding rule. &latex;’s defaults are <literal>0.4pt</literal> and +<literal>3pt</literal>, respectively. +</para> +<para>This example changes the thickness of the border to 0.8 points. Note +that it is surrounded by curly braces so that the change ends at the end +of the second line. +</para> +<screen>{\setlength{\fboxrule}{0.8pt} +\fcolorbox{black}{red}{Under no circumstances turn this knob.}} +</screen> + +</sect2> +<sect2 label="21.3.4" id="Colored-pages"> +<title>Colored pages</title> + +<indexterm role="cp"><primary>color</primary></indexterm> +<indexterm role="cp"><primary>colored page</primary></indexterm> +<indexterm role="cp"><primary>page, colored</primary></indexterm> +<indexterm role="cp"><primary>background, colored</primary></indexterm> + +<para>Synopses: +</para> +<screen>\pagecolor{<replaceable>name</replaceable>} +\pagecolor[<replaceable>color model</replaceable>]{<replaceable>color specification</replaceable>} +\nopagecolor +</screen> +<para>The first two set the background of the page, and all subsequent pages, +to the color. For an explanation of the specification in the second +form see <link linkend="Colored-text">Colored text</link>. The third returns the background to normal, +which is a transparent background. (If that is not supported use +<literal>\pagecolor{white}</literal>, although that will make a white background +rather than the default transparent background.) +</para> +<screen> ... +\pagecolor{cyan} + ... +\nopagecolor +</screen> + +</sect2> +</sect1> +</chapter> +<chapter label="22" id="Graphics"> +<title>Graphics</title> + +<indexterm role="cp"><primary>graphics</primary></indexterm> +<indexterm role="cp"><primary>graphics package</primary></indexterm> + +<para>You can use graphics such as PNG or PDF files in your &latex; document. +You need an additional package, which comes standard with &latex;. +This example is the short how-to. +</para> +<screen>\include{graphicx} % goes in the preamble + ... +\includegraphics[width=0.5\linewidth]{plot.pdf} +</screen> +<para>To use the commands described here your document preamble must contain +either <literal>\usepackage{graphicx}</literal> or +<literal>\usepackage{graphics}</literal>. Most of the time, <filename>graphicx</filename> is the +better choice. +</para> +<para>Graphics come in two main types, raster and vector. &latex; can use +both. In raster graphics the file contains an entry for each location +in an array, describing what color it is. An example is a photograph, +in JPG format. In vector graphics, the file contains a list of +instructions such as ‘<literal>draw a circle with this radius and that +center</literal>’. An example is a line drawing produced by the Asymptote +program, in PDF format. Generally vector graphics are more useful +because you can rescale their size without pixelation or other problems, +and because they often have a smaller size. +</para> +<para>There are systems particularly well-suited to make graphics for a +&latex; document. For example, these allow you to use the same fonts +as in your document. &latex; comes with a <literal>picture</literal> environment +(see <link linkend="picture">picture</link>) that has simple capabilities. Besides that, there are +other ways to include the graphic-making commands in the document. Two +such systems are the PSTricks and TikZ packages. There are also systems +external to &latex;, that generate a graphic that you include using the +commands of this chapter. Two that use a programming language are +Asymptote and MetaPost. One that uses a graphical interface is Xfig. +Full description of these systems is outside the scope of this document; +see their documentation. +</para> + + +<sect1 label="22.1" id="Graphics-package-options"> +<title>Graphics package options</title> + +<indexterm role="cp"><primary>graphics package options</primary></indexterm> +<indexterm role="cp"><primary>options, graphics package</primary></indexterm> + +<para>Synopsis (must be in the document preamble): +</para> +<screen>\usepackage[<replaceable>comma-separated option list</replaceable>]{graphics} +</screen> +<para>or +</para> +<screen>\usepackage[<replaceable>comma-separated option list</replaceable>]{graphicx} +</screen> +<para>The <literal>graphicx</literal> package has a format for optional arguments to the +<literal>\includegraphics</literal> command that is convenient (it is the key-value +format), so it is the better choice for new documents. When you load +the <filename>graphics</filename> or <filename>graphicx</filename> package with <literal>\usepackage</literal> +there are two kinds of available options. +</para> +<para>The first is that &latex; does not contain information about different +output systems but instead depends on information stored in a +<firstterm>printer driver</firstterm> file. Normally you should not specify the driver +option in the document, and instead rely on your system’s default. One +advantage of this is that it makes the document portable across systems. +</para> +<para>For completeness here is a list of the drivers. The currently relevant +ones are: <filename>dvipdfmx</filename>, <filename>dvips</filename>, <filename>dvisvgm</filename>, <filename>luatex</filename>, +<filename>pdftex</filename>, <filename>xetex</filename>. The two <filename>xdvi</filename> and <filename>oztex</filename> are +essentially aliases for <filename>dvips</filename> (and <filename>xdvi</filename> is monochrome). +Ones that should not be used for new systems are: <filename>dvipdf</filename>, +<filename>dvipdfm</filename>, <filename>dviwin</filename>, <filename>dvipsone</filename>, <filename>emtex</filename>, +<filename>pctexps</filename>, <filename>pctexwin</filename>, <filename>pctexhp</filename>, <filename>pctex32</filename>, +<filename>truetex</filename>, <filename>tcidvi</filename>, <filename>vtex</filename> (and <filename>dviwindo</filename> is an +alias for <filename>dvipsone</filename>). These are stored in files with a +<filename>.def</filename> extension, such as <filename>pdftex.def</filename>. +</para> +<para>The second kind of options are below. +</para> +<variablelist><varlistentry><term><literal>demo</literal> +</term><listitem><para>Instead of an image file, &latex; puts in a 150 pt by 100 pt +rectangle (unless another size is specified in the +<literal>\includegraphics</literal> command). +</para> +</listitem></varlistentry><varlistentry><term><literal>draft</literal> +</term><listitem><para>For each graphic file, it is not shown but instead the file name is +printed in a box of the correct size. In order to determine the size, +the file must be present. +</para> +</listitem></varlistentry><varlistentry><term><literal>final</literal> +</term><listitem><para>(Default) Override any previous <literal>draft</literal> option, so that the +document shows the contents of the graphic files. +</para> +</listitem></varlistentry><varlistentry><term><literal>hiderotate</literal> +</term><listitem><para>Do not show rotated text. (This allows for the possibility that a +previewer does not have the capability to rotate text.) +<!-- what does it show? --> +</para> +</listitem></varlistentry><varlistentry><term><literal>hidescale</literal> +</term><listitem><para>Do not show scaled text. (This allows for the possibility that a +previewer does not have the capability to scale.) +<!-- what does it show? --> +</para> +</listitem></varlistentry><varlistentry><term><literal>hiresbb</literal> +</term><listitem><para>In a PS or EPS file the graphic size may be specified in two ways. The +<literal>%%BoundingBox</literal> lines describe the graphic size using integer +multiples of a PostScript point, that is, integer multiples of 1/72 +inch. A later addition to the PostScript language allows decimal +multiples, such as 1.23, in <literal>%%HiResBoundingBox</literal> lines. This +option has &latex; to read the size from the latter. +</para> +</listitem></varlistentry></variablelist> + +</sect1> +<sect1 label="22.2" id="Graphics-package-configuration"> +<title>Graphics package configuration</title> + +<indexterm role="cp"><primary>graphics</primary></indexterm> +<indexterm role="cp"><primary>graphics package</primary></indexterm> +<indexterm role="cp"><primary>configuration, graphics package</primary></indexterm> +<indexterm role="cp"><primary>EPS files</primary></indexterm> +<indexterm role="cp"><primary>JPEG files</primary></indexterm> +<indexterm role="cp"><primary>JPG files</primary></indexterm> +<indexterm role="cp"><primary>PDF graphic files</primary></indexterm> +<indexterm role="cp"><primary>PNG files</primary></indexterm> + +<para>These commands configure the way &latex; searches the file system for +the graphic. +</para> +<para>The behavior of file system search code is necessarily platform +dependent. In this document we cover Linux, Macintosh, and Windows, as +those systems are typically configured. For other situations consult +the documentation in <filename>grfguide.pdf</filename>, or the &latex; source, or your +&tex; distribution’s documentation. +</para> + + +<sect2 label="22.2.1" id="_005cgraphicspath"> +<title><literal>\graphicspath</literal></title> + +<indexterm role="fn"><primary>\graphicspath</primary></indexterm> + +<para>Synopsis: +</para> +<screen>\graphicspath{<replaceable>list of dir names inside curly brackets</replaceable>} +</screen> +<para>Declare a list of directories to search for graphics files. This allows +you to later say something like <literal>\includegraphics{lion.png}</literal> +instead of having to give its path. +</para> +<para>&latex; always looks for graphic files first in the current directory. +The declaration below tells the system to then look in the subdirectory +<filename>pix</filename>, and then <filename>../pix</filename>. +</para> +<screen>\usepackage{graphicx} % or graphics; put in preamble + ... +\graphicspath{ {pix/} {../pix/} } +</screen> +<para>The <literal>\graphicspath</literal> declaration is optional. If you don’t include +it then &latex;’s default is to search all of the places that it +usually looks for a file (it uses &latex;’s <literal>\input@path</literal>). In +particular, in this case one of the places it looks is the current +directory. +</para> +<para>Enclose each directory name in curly braces; for example, above it says +‘<literal><literal>{pix}</literal></literal>’. Do this even if there is only one directory. +Each directory name must end in a forward slash, <filename>/</filename>. This is true +even on Windows, where good practice is to use forward slashes for all +the directory separators since it makes the document portable to other +platforms. If you have spaces in your directory name then use double +quotes, as with <literal>{"my docs/"}</literal>. Getting one of these rules wrong +will cause &latex; to report <literal>Error: File `<replaceable>filename</replaceable>' not +found</literal>. +</para> +<para>Basically, the algorithm is that with this example, after looking in the +current directory, +</para> +<screen>\graphicspath{ {pix/} {../pix/} } +... +\usepackage{lion.png} +</screen> +<para>for each of the listed directories, &latex; concatenates it with the +file name and searches for the result, checking for <filename>pix/lion.png</filename> +and then <filename>../pix/lion.png</filename>. This algorithm means that the +<literal>\graphicspath</literal> command does not recursively search subdirectories: +if you issue <literal>\graphicspath{{a/}}</literal> and the graphic is in +<filename>a/b/lion.png</filename> then &latex; will not find it. It also means that +you can use absolute paths such as +<literal>\graphicspath{{/home/jim/logos/}}</literal> or +<literal>\graphicspath{{C:/Users/Albert/Pictures/}}</literal>. However, using +these means that the document is not portable. (You could preserve +portability by adjusting your &tex; system settings configuration file +parameter <literal>TEXINPUTS</literal>; see the documentation of your system.) +</para> +<para>You can use <literal>\graphicspath</literal> in the preamble or in the document +body. You can use it more than once. For debugging, show its value +with <literal>\makeatletter\typeout{\Ginput@path}\makeatother</literal>. +</para> +<para>The directories are taken with respect to the base file. That is, +suppose that you are working on a document based on <filename>book/book.tex</filename> +and it contains <literal>\include{chapters/chap1}</literal>. If in +<filename>chap1.tex</filename> you put <literal>\graphicspath{{plots/}}</literal> then +&latex; will not search for graphics in <filename>book/chapters/plots</filename>, but +instead in <filename>book/plots</filename>. +</para> + +</sect2> +<sect2 label="22.2.2" id="_005cDeclareGraphicsExtensions"> +<title><literal>\DeclareGraphicsExtensions</literal></title> + +<indexterm role="fn"><primary>\DeclareGraphicsExtensions</primary></indexterm> + +<para>Synopses: +</para> +<screen>\DeclareGraphicsExtensions{<replaceable>comma-separated list of file extensions</replaceable>} +</screen> +<para>Declare the filename extensions to try. This allows you to specify the +order in which to choose graphic formats when you include graphic files +by giving the filename without the extension, as in +<literal>\includegraphics{functionplot}</literal>. +</para> +<para>In this example, &latex; will find files in the PNG format before PDF +files. +</para> +<screen>\DeclareGraphicsExtensions{.png,PNG,.pdf,.PDF} + ... +\includegraphics{lion} % will find <filename>lion.png</filename> before <filename>lion.pdf</filename> +</screen> +<para>Because the file name <filename>lion</filename> does not have a period, &latex; uses +the extension list. For each directory in the graphics path +(see <link linkend="_005cgraphicspath">\graphicspath</link>), &latex; will try the extensions in the order +given. If it does not find such a file after trying all the directories +and extensions then it reports ‘<literal>! LaTeX Error: File `<filename>lion</filename>' +not found</literal>’. Note that you must include the periods at the start of the +extensions. +</para> +<para>Because Linux and Macintosh filenames are case sensitive, the list of +file extensions is case sensitive on those platforms. The Windows +platform is not case sensitive. +</para> +<para>You are not required to include <literal>\DeclareGraphicsExtensions</literal> in +your document; the printer driver has a sensible default. For example, +the most recent <filename>pdftex.def</filename> has the extension list +‘<literal><literal>.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2</literal></literal>’. +</para> +<para>You can use this command in the preamble or in the document body. You +can use it more than once. For debugging, show its value with +<literal>\makeatletter\typeout{\Gin@extensions}\makeatother</literal>. +</para> + +</sect2> +<sect2 label="22.2.3" id="_005cDeclareGraphicsRule"> +<title><literal>\DeclareGraphicsRule</literal></title> + +<indexterm role="fn"><primary>\DeclareGraphicsRule</primary></indexterm> + +<para>Synopsis: +</para> +<screen>\DeclareGraphicsRule{<replaceable>extension</replaceable>}{<replaceable>type</replaceable>}{<replaceable>size-file extension</replaceable>}{<replaceable>command</replaceable>} +</screen> +<para>Declare how to handle graphic files whose names end in <replaceable>extension</replaceable>. +</para> +<para>This example declares that all files with names have the form +<filename>filename-without-dot.mps</filename> will be treated as output from MetaPost, +meaning that the printer driver will use its MetaPost-handling code to +input the file. +</para> +<screen>\DeclareGraphicsRule{.mps}{mps}{.mps}{} +</screen> +<para>This +</para> +<screen>\DeclareGraphicsRule{*}{mps}{*}{} +</screen> +<para>tells &latex; that it should handle as MetaPost output any file with an +extension not covered by another rule, so it covers <filename>filename.1</filename>, +<filename>filename.2</filename>, etc. +</para> +<para>This describes the four arguments. +</para> +<variablelist><varlistentry><term><replaceable>extension</replaceable> +</term><listitem><para>The file extension to which this rule applies. The extension is anything +after and including the first dot in the filename. Use the Kleene star, +<literal>*</literal>, to denote the default behaviour for all undeclared extensions. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>type</replaceable> +</term><listitem><para>The type of file involved. This type is a string that must be defined +in the printer driver. For instance, files with extensions <filename>.ps</filename>, +<filename>.eps</filename>, or <filename>.ps.gz</filename> may all be classed as type <literal>eps</literal>. +All files of the same type will be input with the same internal command +by the printer driver. For example, the file types that <filename>pdftex</filename> +recognizes are: <literal>jpg</literal>, <literal>jbig2</literal>, <literal>mps</literal>, <literal>pdf</literal>, +<literal>png</literal>, <literal>tif</literal>. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>size-file extension</replaceable> +</term><listitem><para>The extension of the file to be read to determine the size of the +graphic, if there is such a file. It may be the same as <replaceable>extension</replaceable> +but it may be different. +</para> +<para>As an example, consider a PostScript graphic. To make it smaller, it +might be compressed into a <filename>.ps.gz</filename> file. Compressed files are not +easily read by &latex; so you can put the bounding box information in a +separate file. If <replaceable>size-file extension</replaceable> is empty then you must +specify size information in the arguments of <literal>\includegraphics</literal>. +</para> +<para>If the driver file has a procedure for reading size files for +<literal>type</literal> then that will be used, otherwise it will use the procedure +for reading <filename>.eps</filename> files. (Thus you may specify the size of bitmap +files in a file with a PostScript style <literal>%%BoundingBox</literal> line if no +other format is available.) +</para> +</listitem></varlistentry><varlistentry><term><replaceable>command</replaceable> +</term><listitem><para>A command that will be applied to the +file. This is very often left blank. This command must start with a +single backward quote. Thus, +<literal>\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c +#1}</literal> specifies that any file with the extension <filename>.eps.gz</filename> should +be treated as an <literal>eps</literal> file, with the the BoundingBox information +stored in the file with extension <filename>.eps.bb</filename>, and that the command +<literal>gunzip -c</literal> will run on your platform to decompresses the file. +</para> +<para>Such a command is specific to your platform. In addition, your &tex; +system must allow you to run external commands; as a security measure +modern systems restrict running commands unless you explicitly allow it. +See the documentation for your &tex; distribution. +</para> +</listitem></varlistentry></variablelist> +</sect2> +</sect1> +<sect1 label="22.3" id="Commands-for-graphics"> +<title>Commands for graphics</title> + +<indexterm role="cp"><primary>graphics package commands</primary></indexterm> +<indexterm role="cp"><primary>commands, graphics package</primary></indexterm> + +<para>These are the commands available with the <filename>graphics</filename> and +<filename>graphicx</filename> packages. +</para> + + +<sect2 label="22.3.1" id="_005cincludegraphics"> +<title><literal>\includegraphics</literal></title> + +<indexterm role="cp"><primary>graphics</primary></indexterm> +<indexterm role="cp"><primary>graphics package</primary></indexterm> +<indexterm role="cp"><primary>including graphics</primary></indexterm> +<indexterm role="cp"><primary>importing graphics</primary></indexterm> +<indexterm role="cp"><primary>EPS files</primary></indexterm> +<indexterm role="cp"><primary>JPEG files</primary></indexterm> +<indexterm role="cp"><primary>JPG files</primary></indexterm> +<indexterm role="cp"><primary>PDF graphic files</primary></indexterm> +<indexterm role="cp"><primary>PNG files</primary></indexterm> +<indexterm role="fn"><primary>\includegraphics</primary></indexterm> + +<para>Synopses for <filename>graphics</filename> package: +</para> +<screen>\includegraphics{<replaceable>filename</replaceable>} +\includegraphics[<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>filename</replaceable>} +\includegraphics[<replaceable>llx</replaceable>,<replaceable>lly</replaceable>][<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>filename</replaceable>} +\includegraphics*{<replaceable>filename</replaceable>} +\includegraphics*[<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>filename</replaceable>} +\includegraphics*[<replaceable>llx</replaceable>,<replaceable>lly</replaceable>][<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>filename</replaceable>} +</screen> +<para>Synopses for <filename>graphicx</filename> package: +</para> +<screen>\includegraphics{<replaceable>filename</replaceable>} +\includegraphics[<replaceable>key-value list</replaceable>]{<replaceable>filename</replaceable>} +\includegraphics*{<replaceable>filename</replaceable>} +\includegraphics*[<replaceable>key-value list</replaceable>]{<replaceable>filename</replaceable>} +</screen> +<para>Include a graphics file. The starred form <literal>\includegraphics*</literal> will +clip the graphic to the size specified, while for the unstarred form any +part of the graphic that is outside the box of the specified size will +over-print the surrounding area. +</para> +<para>This +</para> +<screen>\usepackage{graphicx} % in preamble + ... +\begin{center} + \includegraphics{plot.pdf} +\end{center} +</screen> +<para>will incorporate into the document the graphic in <filename>plot.pdf</filename>, +centered and at its nominal size. You can also give a path to the file, +as with <literal>\includegraphics{graphics/plot.pdf}</literal>. To specify a list +of locations to search for the file, see <link linkend="_005cgraphicspath">\graphicspath</link>. +</para> +<para>If your filename includes spaces then put it in double quotes, as with +<literal>\includegraphics{"sister picture.jpg"}</literal>. +</para> +<para>The <literal>\includegraphics{<replaceable>filename</replaceable>}</literal> command decides on the +type of graphic by splitting <replaceable>filename</replaceable> on the first dot. You can +use <replaceable>filename</replaceable> with no dot, as in <literal>\includegraphics{turing}</literal> +and then &latex; tries a sequence of extensions such as <literal>.png</literal> and +<literal>.pdf</literal> until it finds a file with that extension +(see <link linkend="_005cDeclareGraphicsExtensions">\DeclareGraphicsExtensions</link>). +</para> +<para>If your file name contains dots before the extension then you can hide +them with curly braces, as in +<literal>\includegraphics{{plot.2018.03.12.a}.pdf}</literal>. Or, if you use +the <filename>graphicx</filename> package then you can use the options <literal>type</literal> and +<literal>ext</literal>; see below. This and other filename issues are also handled +with the package <filename>grffile</filename>. +</para> +<para>This example puts a graphic in a figure environment so &latex; can +move it to the next page if fitting it on the current page is awkward +(see <link linkend="figure">figure</link>). +</para> +<screen>\begin{figure} + \centering + \includegraphics[width=3cm]{lungxray.jpg} + \caption{The evidence is overwhelming: don't smoke.} \label{fig:xray} +\end{figure} +</screen> +<para>This places a graphic that will not float, so it is sure to appear at +this point in the document even if makes &latex; stretch the text or +resort to blank areas on the page. It will be centered and will have a +caption. +</para> +<screen>\usepackage{caption} % in preamble + ... +\begin{center} + \includegraphics{pix/nix.png} + \captionof{figure}{The spirit of the night} \label{pix:nix} % if you want a caption +\end{center} +</screen> +<para>This example puts a box with a graphic side by side with one having +text, with the two vertically centered. +</para> +<screen>\newcommand*{\vcenteredhbox}[1]{\begingroup + \setbox0=\hbox{#1}\parbox{\wd0}{\box0}\endgroup} + ... +\begin{center} + \vcenteredhbox{\includegraphics[width=0.4\textwidth]{plot}} + \hspace{1em} + \vcenteredhbox{\begin{minipage}{0.4\textwidth} + \begin{displaymath} + f(x)=x\cdot \sin (1/x) + \end{displaymath} + \end{minipage}} +\end{center} +</screen> +<para>If you use the <filename>graphics</filename> package then the only options involve the +size of the graphic (but see <link linkend="_005crotatebox">\rotatebox</link> and <link linkend="_005cscalebox">\scalebox</link>). +When one optional argument is present then it is +<literal>[<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]</literal> and it gives the coordinates of the top +right corner of the image, as a pair of &tex; dimensions (see <link linkend="Units-of-length">Units +of length</link>). If the units are omitted they default to <literal>bp</literal>. In +this case, the lower left corner of the image is assumed to be at (0,0). +If two optional arguments are present then the leading one is +<literal>[<replaceable>llx</replaceable>,<replaceable>lly</replaceable>]</literal>, specifying the coordinates of the image’s +lower left. Thus, <literal>\includegraphics[1in,0.618in]{...}</literal> calls for +the graphic to be placed so it is 1 inch wide and 0.618 inches +tall and so its origin is at (0,0). +</para> +<para>The <filename>graphicx</filename> package gives you many more options. Specify them +in a key-value form, as here. +</para> +<screen>\begin{center} + \includegraphics[width=1in,angle=90]{lion} + \hspace{2em} + \includegraphics[angle=90,width=1in]{lion} +\end{center} +</screen> +<para>The options are read left-to-right. So the first graphic above is made +one inch wide and then rotated, while the second is rotated and then +made one inch wide. Thus, unless the graphic is perfectly square, the +two will end with different widths and heights. +</para> +<para>There are many options. The primary ones are listed first. +</para> +<para>Note that a graphic is placed by &latex; into a box, which is +traditionally referred to as its bounding box (distinct from the +PostScript BoundingBox described below). The graphic’s printed area may +go beyond this box, or sit inside this box, but when &latex; makes up a +page it puts together boxes and this is the box allocated for the +graphic. +</para> +<variablelist><varlistentry><term><literal>width</literal> +</term><listitem><para>The graphic will be shown so its bounding box is this width. An example +is <literal>\includegraphics[width=1in]{plot}</literal>. You can use the standard +&tex; dimensions (see <link linkend="Units-of-length">Units of length</link>) and also convenient is +<literal>\linewidth</literal>, or in a two-column document, <literal>\columnwidth</literal> +(see <link linkend="Page-layout-parameters">Page layout parameters</link>). An example is that by using the +<filename>calc</filename> package you can make the graphic be 1 cm narrow than +the width of the text with +<literal>\includegraphics[width=\linewidth-1.0cm]{hefferon.jpg}</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>height</literal> +</term><listitem><para>The graphic will be shown so its bounding box is this height. You can +use the standard &tex; dimensions (see <link linkend="Units-of-length">Units of length</link>), and also +convenient are <literal>\pageheight</literal> and <literal>\textheight</literal> (see <link linkend="Page-layout-parameters">Page +layout parameters</link>). For instance, +<literal>\includegraphics[height=0.25\textheight]{godel}</literal> will make the +graphic be a quarter of the height of the text area. +</para> +</listitem></varlistentry><varlistentry><term><literal>totalheight</literal> +</term><listitem><para>The graphic will be shown so its bounding box has this height plus +depth. This differs from the height if the graphic was rotated. For +instance, if it has been rotated by -90 then it will have zero height +but a large depth. +</para> +</listitem></varlistentry><varlistentry><term><literal>keepaspectratio</literal> +</term><listitem><para>If set to <literal>true</literal>, or just specified as with +<literal>\includegraphics[...,keepaspectratio,...]{...}</literal> and you give as +options both <literal>width</literal> and <literal>height</literal> (or <literal>totalheight</literal>), +then &latex; will make the graphic is as large as possible without +distortion. That is, &latex; will ensure that neither is the graphic +wider than <literal>width</literal> nor taller than <literal>height</literal> (or +<literal>totalheight</literal>). +</para> +</listitem></varlistentry><varlistentry><term><literal>scale</literal> +</term><listitem><para>Factor by which to scale the graphic. Specifying +<literal>\includegraphics[scale=2.0]{...}</literal> makes the graphic twice its +nominal size. This number may be any value; a number between 1 +and 0 will shrink the graphic and a negative number will reflect +it. +</para> +</listitem></varlistentry><varlistentry><term><literal>angle</literal> +</term><listitem><para>Rotate the picture. The angle is taken in degrees and counterclockwise. +The graphic is rotated about its <literal>origin</literal>; see that option. For a +complete description of how rotated material is typeset, +see <link linkend="_005crotatebox">\rotatebox</link>. +</para> +</listitem></varlistentry><varlistentry><term><literal>origin</literal> +</term><listitem><para>The point of the graphic about which the rotation happens. Possible +values are any string containing one or two of: <literal>l</literal> for left, +<literal>r</literal> for right, <literal>b</literal> for bottom, <literal>c</literal> for center, <literal>t</literal> +for top, and <literal>B</literal> for baseline. Thus, +<literal>\includegraphics[angle=180,origin=c]{moon}</literal> will turn the +picture upside down from the center, while +<literal>\includegraphics[angle=180,origin=lB]{LeBateau}</literal> will turn its +picture upside down about its left baseline. (The character <literal>c</literal> +gives the horizontal center in <literal>bc</literal> or <literal>tc</literal>, but gives the +vertical center in <literal>lc</literal> or <literal>rc</literal>.) The default is <literal>lB</literal>. +</para> +<para>To rotate about an arbitrary point, see <link linkend="_005crotatebox">\rotatebox</link>. +</para> +</listitem></varlistentry></variablelist> +<para>These are lesser-used options. +</para> +<variablelist><varlistentry><term><literal>viewport</literal> +</term><listitem><para>Pick out a subregion of the graphic to show. Takes four arguments, +separated by spaces and given in &tex; dimensions, as with +<literal>\includegraphics[.., viewport=0in 0in 1in 0.618in]{...}</literal>. The +dimensions default to big points, <literal>bp</literal>. They are taken +relative to the origin specified by the bounding box. See also the +<literal>trim</literal> option. +</para> +</listitem></varlistentry><varlistentry><term><literal>trim</literal> +</term><listitem><para>Gives parts of the graphic to not show. Takes four arguments, separated +by spaces, that are given in &tex; dimensions, as with +<literal>\includegraphics[.., trim= 0in 0.1in 0.2in 0.3in, ...]{...}</literal>. +These give the amounts of the graphic not to show, that is, &latex; +will crop the picture by 0 inches on the left, 0.1 inches on +the bottom, 0.2 inches on the right, and 0.3 inches on the +top. See also the <literal>viewport</literal> option. +</para> +</listitem></varlistentry><varlistentry><term><literal>clip</literal> +</term><listitem><para>If set to <literal>true</literal>, or just specified as with +<literal>\includegraphics[...,clip,...]{...}</literal>, then the graphic is +cropped to the bounding box. You can get this effect by instead using +the starred form of the command, as +<literal>\includegraphics*[...]{...}</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>page</literal> +</term><listitem><para>Give the page number of a multi-page PDF file. The default is +<literal>page=1</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>pagebox</literal> +</term><listitem><para>Specifies which bounding box to use for PDF files from among +<literal>mediabox</literal>, <literal>cropbox</literal>, <literal>bleedbox</literal>, <literal>trimbox</literal>, or +<literal>artbox</literal>. PDF files do not have the BoundingBox that PostScript +files have, but may specify up to four predefined rectangles. The +MediaBox gives the boundaries of the physical medium. The CropBox is the +region to which the contents of the page are to be clipped when +displayed. The BleedBox is the region to which the contents of the page +should be clipped in production. The TrimBox is the intended dimensions +of the finished page. The ArtBox is the extent of the page’s meaningful +content. The driver will set the image size based on CropBox if +present, otherwise it will not use one of the others, with a +driver-defined order of preference. MediaBox is always present. +</para> +</listitem></varlistentry><varlistentry><term><literal>interpolate</literal> +</term><listitem><para>Enable or disable interpolation of raster images by the viewer. Can be +set with <literal>interpolate=true</literal> or just specified as with +<literal>\includegraphics[...,interpolate,...]{...}</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>quiet</literal> +</term><listitem><para>Do not write information to the log. You can set it with +<literal>quiet=true</literal> or just specified it with +<literal>\includegraphics[...,quite,...]{...}</literal>, +</para> +</listitem></varlistentry><varlistentry><term><literal>draft</literal> +</term><listitem><para>If you set it with <literal>draft=true</literal> or just specified it with +<literal>\includegraphics[...,draft,...]{...}</literal>, then the graphic will not +appear in the document, possibly saving color printer ink. Instead, +&latex; will put an empty box of the correct size with the filename +printed in it. +</para> +</listitem></varlistentry></variablelist> +<para>These options address the bounding box for Encapsulated PostScript +graphic files, which have a size specified with a line +<literal>%%BoundingBox</literal> that appears in the file. It has four values, +giving the lower <inlineequation><mathphrase>x</mathphrase></inlineequation> coordinate, lower <inlineequation><mathphrase>y</mathphrase></inlineequation> coordinate, upper +<inlineequation><mathphrase>x</mathphrase></inlineequation> coordinate, and upper <inlineequation><mathphrase>y</mathphrase></inlineequation> coordinate. The units are +PostScript points, equivalent to &tex;’s big points, 1/72 inch. +For example, if an <filename>.eps</filename> file has the line <literal>%%BoundingBox 10 +20 40 80</literal> then its natural size is 30/72 inch wide by +60/72 inch tall. +</para> +<variablelist><varlistentry><term><literal>bb</literal> +</term><listitem><para>Specify the bounding box of the displayed region. The argument is four +dimensions separated by spaces, as with <literal>\includegraphics[.., bb= +0in 0in 1in 0.618in]{...}</literal>. Usually <literal>\includegraphics</literal> reads the +BoundingBox numbers from the EPS file automatically, so this option is +only useful if the bounding box is missing from that file or if you want +to change it. +</para> +</listitem></varlistentry><varlistentry><term><literal>bbllx, bblly, bburx, bbury</literal> +</term><listitem><para>Set the bounding box. These four are obsolete, but are retained for +compatibility with old packages. +</para> +</listitem></varlistentry><varlistentry><term><literal>natwidth, natheight</literal> +</term><listitem><para>An alternative for <literal>bb</literal>. Setting +<literal>\includegraphics[...,natwidth=1in,natheight=0.618in,...]{...}</literal> +is the same as setting <literal>bb=0 0 1in 0.618in</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>hiresbb</literal> +</term><listitem><para>If set to <literal>true</literal>, or just specified as with +<literal>\includegraphics[...,hiresbb,...]{...}</literal>, then &latex; will look +for <literal>%%HiResBoundingBox</literal> lines instead of <literal>%%BoundingBox</literal> +lines. (The <literal>BoundingBox</literal> lines use only natural numbers while the +<literal>HiResBoundingBox</literal> lines use decimals; both use units equivalent to +&tex;’s big points, 1/72 inch.) To override a prior setting of +<literal>true</literal>, you can set it to <literal>false</literal>. +</para> +</listitem></varlistentry></variablelist> +<para>These following options allow a user to override &latex;’s method of +choosing the graphic type based on the filename extension. An example +is that <literal>\includegraphics[type=png,ext=.xxx,read=.xxx]{lion}</literal> +will read the file <filename>lion.xxx</filename> as though it were +<filename>lion.png</filename>. For more on these, see <link linkend="_005cDeclareGraphicsRule">\DeclareGraphicsRule</link>. +</para> +<variablelist><varlistentry><term><literal>type</literal> +</term><listitem><para>Specify the graphics type. +</para> +</listitem></varlistentry><varlistentry><term><literal>ext</literal> +</term><listitem><para>Specify the graphics extension. +Only use this in conjunction with the option <literal>type</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>read</literal> +</term><listitem><para>Specify the file extension of the read file. +Only use this in conjunction with the option <literal>type</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>command</literal> +</term><listitem><para>Specify a command to be applied to this file. +Only use this in conjunction with the option <literal>type</literal>. +<!-- write18 and restricted execution. --> +</para> +</listitem></varlistentry></variablelist> + +</sect2> +<sect2 label="22.3.2" id="_005crotatebox"> +<title><literal>\rotatebox</literal></title> + +<indexterm role="cp"><primary>rotation</primary></indexterm> +<indexterm role="cp"><primary>rotating graphics</primary></indexterm> +<indexterm role="cp"><primary>rotating text</primary></indexterm> +<indexterm role="fn"><primary>\rotatebox</primary></indexterm> + +<para>Synopsis for <filename>graphics</filename> package: +</para> +<screen>\rotatebox{<replaceable>angle</replaceable>}{<replaceable>material</replaceable>} +</screen> +<para>Synopses for <filename>graphicx</filename> package: +</para> +<screen>\rotatebox{<replaceable>angle</replaceable>}{<replaceable>material</replaceable>} +\rotatebox[<replaceable>key-value list</replaceable>]{<replaceable>angle</replaceable>}{<replaceable>material</replaceable>} +</screen> +<para>Put <replaceable>material</replaceable> in a box and rotate it <replaceable>angle</replaceable> degrees counterclockwise. +</para> +<para>This example rotates the table column heads forty five degrees. +</para> +<screen>\begin{tabular}{ll} + \rotatebox{45}{Character} &\rotatebox{45}{NATO phonetic} \\ + A &AL-FAH \\ + B &BRAH-VOH +\end{tabular} +</screen> +<para>The <replaceable>material</replaceable> can be anything that goes in a box, including a graphic. +</para> +<screen> \rotatebox[origin=c]{45}{\includegraphics[width=1in]{lion}} +</screen> +<para>To place the rotated material, the first step is that &latex; sets +<replaceable>material</replaceable> in a box, with a reference point on the left baseline. +The second step is the rotation, by default about the reference point. +The third step is that &latex; computes a box to bound the rotated +material. Fourth, &latex; moves this box horizontally so that the left +edge of this new bounding box coincides with the left edge of the box +from the first step (they need not coincide vertically). This new +bounding box, in its new position, is what &latex; uses as the box when +typesetting this material. +</para> +<para>If you use the <filename>graphics</filename> package then the rotation is about the +reference point of the box. If you use the <filename>graphicx</filename> package then +then these are the options that can go in the <replaceable>key-value list</replaceable>, but +note that you can get the same effect without needing this package, +except for the <literal>x</literal> and <literal>y</literal> options (see <link linkend="_005cincludegraphics">\includegraphics</link>). +</para> +<variablelist><varlistentry><term><literal>origin</literal> +</term><listitem><para>The point of the <replaceable>material</replaceable>’s box about which the rotation happens. +Possible values are any string containing one or two of: <literal>l</literal> for +left, <literal>r</literal> for right, <literal>b</literal> for bottom, <literal>c</literal> for center, +<literal>t</literal> for top, and <literal>B</literal> for baseline. Thus, +<literal>\includegraphics[angle=180,origin=c]{moon}</literal> will turn the +picture upside down from the center, while +<literal>\includegraphics[angle=180,origin=lB]{LeBateau}</literal> will turn its +picture upside down about its left baseline. (The character <literal>c</literal> +gives the horizontal center in <literal>bc</literal> or <literal>tc</literal> but gives the +vertical center in <literal>lc</literal> or <literal>rc</literal>.) The default is <literal>lB</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>x, y</literal> +</term><listitem><para>Specify an arbitrary point of rotation with +<literal>\rotatebox[x=<replaceable>&tex; dimension</replaceable>,y=<replaceable>&tex; +dimension</replaceable>]{...}</literal> (see <link linkend="Units-of-length">Units of length</link>). These give the offset +from the box’s reference point. +</para> +</listitem></varlistentry><varlistentry><term><literal>units</literal> +</term><listitem><para>This key allows you to change the default of degrees counterclockwise. +Setting <literal>units=-360</literal> changes the direction to degrees clockwise and +setting <literal>units=6.283185</literal> changes to radians counterclockwise. +</para> +</listitem></varlistentry></variablelist> + +</sect2> +<sect2 label="22.3.3" id="_005cscalebox"> +<title><literal>\scalebox</literal></title> + +<indexterm role="cp"><primary>graphics, scaling</primary></indexterm> +<indexterm role="cp"><primary>graphics, resizing</primary></indexterm> +<indexterm role="cp"><primary>scaling</primary></indexterm> +<indexterm role="cp"><primary>resizing</primary></indexterm> +<indexterm role="cp"><primary>text, scaling</primary></indexterm> +<indexterm role="cp"><primary>text, resizing</primary></indexterm> +<indexterm role="fn"><primary>\scalebox</primary></indexterm> +<indexterm role="fn"><primary>\reflectbox</primary></indexterm> + +<para>Synopses: +</para> +<screen>\scalebox{<replaceable>horizontal factor</replaceable>}{<replaceable>material</replaceable>} +\scalebox{<replaceable>horizontal factor</replaceable>}[<replaceable>vertical factor</replaceable>]{<replaceable>material</replaceable>} +\reflectbox{<replaceable>material</replaceable>} +</screen> +<para>Scale the <replaceable>material</replaceable>. +</para> +<para>This example halves the size, both horizontally and vertically, of the +first text and doubles the size of the second. +</para> +<screen>\scalebox{0.5}{DRINK ME} and \scalebox{2.0}{Eat Me} +</screen> +<para>If you do not specify the optional <replaceable>vertical factor</replaceable> then it +defaults to the same value as the <replaceable>horizontal factor</replaceable>. +</para> +<para>You can use this command to resize a graphic, as with +<literal>\scalebox{0.5}{\includegraphics{lion}}</literal>. If you use the +<filename>graphicx</filename> package then you can accomplish the same thing with +optional arguments to <literal>\includegraphics</literal> +(see <link linkend="_005cincludegraphics">\includegraphics</link>). +</para> +<para>The <literal>\reflectbox</literal> command abbreviates +<literal>\scalebox{-1}[1]{<replaceable>material</replaceable>}</literal>. Thus, <literal>Able was +I\reflectbox{Able was I}</literal> will show the phrase ‘<literal>Able was I</literal>’ +immediately followed by its mirror reflection. +</para> + +</sect2> +<sect2 label="22.3.4" id="_005cresizebox"> +<title><literal>\resizebox</literal></title> + +<indexterm role="cp"><primary>graphics, scaling</primary></indexterm> +<indexterm role="cp"><primary>graphics, resizing</primary></indexterm> +<indexterm role="cp"><primary>scaling</primary></indexterm> +<indexterm role="cp"><primary>resizing</primary></indexterm> +<indexterm role="cp"><primary>text, scaling</primary></indexterm> +<indexterm role="cp"><primary>text, resizing</primary></indexterm> +<indexterm role="fn"><primary>\resizebox</primary></indexterm> + +<para>Synopses: +</para> +<screen>\resizebox{<replaceable>horizontal length</replaceable>}{<replaceable>vertical length</replaceable>}{<replaceable>material</replaceable>} +\resizebox*{<replaceable>horizontal length</replaceable>}{<replaceable>vertical length</replaceable>}{<replaceable>material</replaceable>} +</screen> +<para>Given a size, such as <literal>3cm</literal>, transform <replaceable>material</replaceable> to make it +that size. If either <replaceable>horizontal length</replaceable> or <replaceable>vertical length</replaceable> +is an exclamation point <literal>!</literal> then the other argument is used +to determine a scale factor for both directions. +</para> +<para>This example makes the graphic be a half inch wide and scales it +vertically by the same factor to keep it from being distorted. +</para> +<screen>\resizebox{0.5in}{!}{\includegraphics{lion}} +</screen> +<para>The unstarred form <literal>\resizebox</literal> takes <replaceable>vertical length</replaceable> to be +the box’s height while the starred form <literal>\resizebox*</literal> takes it to +be height+depth. For instance, make the text have a height+depth of a +quarter inch with <literal>\resizebox*{!}{0.25in}{\parbox{1in}{This +box has both height and depth.}}</literal>. +</para> +<para>You can use <literal>\depth</literal>, <literal>\height</literal>, <literal>\totalheight</literal>, and +<literal>\width</literal> to refer to the original size of the box. Thus, make the +text two inches wide but keep the original height with +<literal>\resizebox{2in}{\height}{Two inches}</literal>. +</para> + +</sect2> +</sect1> +</chapter> +<chapter label="23" id="Special-insertions"> <title>Special insertions</title> <indexterm role="cp"><primary>special insertions</primary></indexterm> @@ -8455,7 +10594,7 @@ special meaning do not correspond to simple characters you can type. </para> -<sect1 label="21.1" id="Reserved-characters"> +<sect1 label="23.1" id="Reserved-characters"> <title>Reserved characters</title> <indexterm role="cp"><primary>reserved characters</primary></indexterm> @@ -8502,7 +10641,66 @@ split the lines. </para> </sect1> -<sect1 label="21.2" id="Symbols-by-font-position"> +<sect1 label="23.2" id="Upper-and-lower-case"> +<title>Upper and lower case</title> + +<indexterm role="cp"><primary>Upper case</primary></indexterm> +<indexterm role="cp"><primary>Lower case</primary></indexterm> +<indexterm role="cp"><primary>characters, case</primary></indexterm> + +<para>Synopsis: +</para> +<screen>\uppercase{<replaceable>text</replaceable>} +\lowercase{<replaceable>text</replaceable>} +\MakeUppercase{<replaceable>text</replaceable>} +\MakeLowercase{<replaceable>text</replaceable>} +</screen> +<para>Change the case of characters. The &tex; primitives commands +<literal>\uppercase</literal> and <literal>\lowercase</literal> only work for American +characters. The &latex; commands <literal>\MakeUppercase</literal> and +<literal>\MakeLowercase</literal> commands also change characters accessed by +commands such as <literal>\ae</literal> or <literal>\aa</literal>. The commands +<literal>\MakeUppercase</literal> and <literal>\MakeLowercase</literal> are robust but they have +moving arguments (see <link linkend="_005cprotect">\protect</link>). +</para> +<para>These commands do not change the case of letters used in the name of a +command within <replaceable>text</replaceable>. But they do change the case of every other +Latin letter inside the argument <replaceable>text</replaceable>. Thus, +<literal>\MakeUppercase{Let $y=f(x)$</literal>} produces ‘<literal>LET Y=F(X)</literal>’. Another +example is that the name of an environment will be changed, so that +<literal>\MakeUppercase{\begin{tabular} ... \end{tabular}}</literal> will +produce an error because the first half is changed to +<literal>\begin{TABULAR}</literal>. +</para> +<para>&latex; uses the same fixed table for changing case throughout a +document, The table used is designed for the font encoding T1; this +works well with the standard &tex; fonts for all Latin alphabets but +will cause problems when using other alphabets. +</para> +<para>To change the case of text that results from a macro inside <replaceable>text</replaceable> +you need to do expansion. Here the <literal>\Schoolname</literal> produces +‘<literal>COLLEGE OF MATHEMATICS</literal>’. +</para> +<screen>\newcommand{\schoolname}{College of Mathematics} +\newcommand{\Schoolname}{\expandafter\MakeUppercase + <!-- /@w -->\expandafter{\schoolname}} +</screen> +<indexterm role="cp"><primary>package, <literal>textcase</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>textcase</literal> package</primary></indexterm> + +<para>The <filename>textcase</filename> package brings some of the missing feature of the +standard &latex; commands <literal>\MakeUppercase</literal> and +<literal>\MakeLowerCase</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>mfirstuc</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>mfirstuc</literal> package</primary></indexterm> + +<para>To uppercase only the first letter of words, you can use the package +<filename>mfirstuc</filename>. +</para> + +</sect1> +<sect1 label="23.3" id="Symbols-by-font-position"> <title>Symbols by font position</title> <indexterm role="fn"><primary>\symbol</primary></indexterm> @@ -8521,7 +10719,7 @@ example could also be written as <literal>\symbol{'40}</literal> or </para> </sect1> -<sect1 label="21.3" id="Text-symbols"> +<sect1 label="23.4" id="Text-symbols"> <title>Text symbols</title> <indexterm role="cp"><primary>text symbols</primary></indexterm> @@ -8809,7 +11007,7 @@ has the ascender height. </listitem></varlistentry></variablelist> </sect1> -<sect1 label="21.4" id="Accents"> +<sect1 label="23.5" id="Accents"> <title>Accents</title> <indexterm role="cp"><primary>accents</primary></indexterm> @@ -8818,6 +11016,7 @@ has the ascender height. <indexterm role="cp"><primary>package, <literal>babel</literal></primary></indexterm> <indexterm role="cp"><primary><literal>babel</literal> package</primary></indexterm> + <indexterm role="cp"><primary>multilingual support</primary></indexterm> <para>&latex; has wide support for many of the world’s scripts and languages, through the <literal>babel</literal> package and related support. This @@ -8837,7 +11036,7 @@ capital letters. These are not available with OT1. </para> </listitem></varlistentry><varlistentry><term><literal>\'</literal> </term><term><literal>\capitalacute</literal> -</term><listitem><indexterm role="fn"><primary>\’ (acute accent)</primary></indexterm> +</term><listitem><indexterm role="fn"><primary>\' (acute accent)</primary></indexterm> <indexterm role="fn"><primary>\capitalacute</primary></indexterm> <indexterm role="cp"><primary>acute accent</primary></indexterm> <para>Produces an acute accent, as in ó. In the <literal>tabbing</literal> @@ -8869,7 +11068,7 @@ environment, pushes current column to the right of the previous column </para> </listitem></varlistentry><varlistentry><term><literal>\`</literal> </term><term><literal>\capitalgrave</literal> -</term><listitem><indexterm role="fn"><primary>\‘ (grave accent)</primary></indexterm> +</term><listitem><indexterm role="fn"><primary>\` (grave accent)</primary></indexterm> <indexterm role="fn"><primary>\capitalgrave</primary></indexterm> <indexterm role="cp"><primary>grave accent</primary></indexterm> <para>Produces a grave accent over the following, as in ò. In the @@ -8975,7 +11174,7 @@ See also <literal>\b</literal> above. </listitem></varlistentry></variablelist> </sect1> -<sect1 label="21.5" id="Additional-Latin-letters"> +<sect1 label="23.6" id="Additional-Latin-letters"> <title>Additional Latin letters</title> <anchor id="Non_002dEnglish-characters"/><indexterm role="cp"><primary>Latin letters, additional</primary></indexterm> @@ -9076,7 +11275,7 @@ font encoding, such as T1. </listitem></varlistentry></variablelist> </sect1> -<sect1 label="21.6" id="_005crule"> +<sect1 label="23.7" id="_005crule"> <title><literal>\rule</literal></title> <indexterm role="fn"><primary>\rule</primary></indexterm> @@ -9099,7 +11298,7 @@ rectangles. The arguments are: </para></listitem></varlistentry></variablelist> </sect1> -<sect1 label="21.7" id="_005ctoday"> +<sect1 label="23.8" id="_005ctoday"> <title><literal>\today</literal></title> <indexterm role="fn"><primary>\today</primary></indexterm> @@ -9124,13 +11323,14 @@ will output ‘<literal>4 juillet 1976</literal>’: </screen> <indexterm role="cp"><primary>package, <literal>datetime</literal></primary></indexterm> <indexterm role="cp"><primary><literal>datetime</literal> package</primary></indexterm> + <para>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"> +<chapter label="24" id="Splitting-the-input"> <title>Splitting the input</title> <indexterm role="cp"><primary>splitting the input file</primary></indexterm> @@ -9150,7 +11350,7 @@ external file to be created with the main document. </para> -<sect1 label="22.1" id="_005cinclude"> +<sect1 label="24.1" id="_005cinclude"> <title><literal>\include</literal></title> <indexterm role="fn"><primary>\include</primary></indexterm> @@ -9174,8 +11374,8 @@ read by another <literal>\include</literal> command. </para> </sect1> -<sect1 label="22.2" id="_005cincludeonly"> -<title>\<literal>includeonly</literal></title> +<sect1 label="24.2" id="_005cincludeonly"> +<title><literal>\includeonly</literal></title> <indexterm role="fn"><primary>\includeonly</primary></indexterm> @@ -9193,7 +11393,7 @@ selection to be effective. </para> </sect1> -<sect1 label="22.3" id="_005cinput"> +<sect1 label="24.3" id="_005cinput"> <title><literal>\input</literal></title> <indexterm role="fn"><primary>\input</primary></indexterm> @@ -9214,12 +11414,12 @@ is tried (‘<literal>foo</literal>’ or ‘<literal>foo.bar</liter </sect1> </chapter> -<chapter label="23" id="Front_002fback-matter"> +<chapter label="25" id="Front_002fback-matter"> <title>Front/back matter</title> -<sect1 label="23.1" id="Tables-of-contents"> +<sect1 label="25.1" id="Tables-of-contents"> <title>Tables of contents</title> <indexterm role="cp"><primary>table of contents, creating</primary></indexterm> @@ -9251,7 +11451,7 @@ as for the table of contents. </para> -<sect2 label="23.1.1" id="_005caddcontentsline"> +<sect2 label="25.1.1" id="_005caddcontentsline"> <title><literal>\addcontentsline</literal></title> <indexterm role="fn"><primary>\addcontentsline</primary></indexterm> @@ -9265,7 +11465,7 @@ as for the table of contents. 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, +</term><listitem><para>The filename 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> @@ -9293,7 +11493,7 @@ following, matching the value of the <replaceable>ext</replaceable> argument: </sect2> -<sect2 label="23.1.2" id="_005caddtocontents"> +<sect2 label="25.1.2" id="_005caddtocontents"> <title><literal>\addtocontents</literal></title> <indexterm role="fn"><primary>\addtocontents{<replaceable>ext</replaceable>}{<replaceable>text</replaceable>}</primary></indexterm> @@ -9313,7 +11513,7 @@ figures), or <filename>lot</filename> (list of tables). </sect2> </sect1> -<sect1 label="23.2" id="Glossaries"> +<sect1 label="25.2" id="Glossaries"> <title>Glossaries</title> <indexterm role="cp"><primary>glossaries</primary></indexterm> @@ -9337,7 +11537,7 @@ glossaries. </para> </sect1> -<sect1 label="23.3" id="Indexes"> +<sect1 label="25.3" id="Indexes"> <title>Indexes</title> <indexterm role="cp"><primary>indexes</primary></indexterm> @@ -9381,6 +11581,7 @@ the index. <indexterm role="fn"><primary>\printindex</primary></indexterm> <indexterm role="cp"><primary>package, <literal>makeidx</literal></primary></indexterm> <indexterm role="cp"><primary><literal>makeidx</literal> package</primary></indexterm> + <para>The index is usually generated with the <literal>\printindex</literal> command. This is defined in the <literal>makeidx</literal> package, so <literal>\usepackage{makeidx}</literal> needs to be in the preamble. @@ -9392,12 +11593,14 @@ minus3pt</literal>’. </para> <indexterm role="cp"><primary>package, <literal>showidx</literal></primary></indexterm> <indexterm role="cp"><primary><literal>showidx</literal> package</primary></indexterm> + <para>The <literal>showidx</literal> package causes each index entries to be shown in the margin on the page where the entry appears. This can help in preparing the index. </para> <indexterm role="cp"><primary>package, <literal>multind</literal></primary></indexterm> <indexterm role="cp"><primary><literal>multind</literal> package</primary></indexterm> + <para>The <literal>multind</literal> package supports multiple indexes. See also the &tex; FAQ entry on this topic, <ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind</ulink>. @@ -9405,7 +11608,7 @@ preparing the index. </sect1> </chapter> -<chapter label="24" id="Letters"> +<chapter label="26" id="Letters"> <title>Letters</title> <indexterm role="cp"><primary>letters, writing</primary></indexterm> @@ -9492,7 +11695,7 @@ I am not interested in entering a business arrangement with you. </para> -<sect1 label="24.1" id="_005caddress"> +<sect1 label="26.1" id="_005caddress"> <title><literal>\address</literal></title> <indexterm role="fn"><primary>\address</primary></indexterm> @@ -9522,7 +11725,7 @@ formatted as a personal letter. </screen> </sect1> -<sect1 label="24.2" id="_005ccc"> +<sect1 label="26.2" id="_005ccc"> <title><literal>\cc</literal></title> <indexterm role="fn"><primary>\cc</primary></indexterm> @@ -9543,7 +11746,7 @@ backslash <literal>\\</literal>, as in: </screen> </sect1> -<sect1 label="24.3" id="_005cclosing"> +<sect1 label="26.3" id="_005cclosing"> <title><literal>\closing</literal></title> <indexterm role="fn"><primary>\closing</primary></indexterm> @@ -9561,7 +11764,7 @@ is a <literal>\closing</literal> (although this command is optional). For examp </screen> </sect1> -<sect1 label="24.4" id="_005cencl"> +<sect1 label="26.4" id="_005cencl"> <title><literal>\encl</literal></title> <indexterm role="fn"><primary>\encl</primary></indexterm> @@ -9581,7 +11784,7 @@ Separate multiple lines with a double backslash <literal>\\</literal>. </screen> </sect1> -<sect1 label="24.5" id="_005clocation"> +<sect1 label="26.5" id="_005clocation"> <title><literal>\location</literal></title> <indexterm role="fn"><primary>\location</primary></indexterm> @@ -9595,7 +11798,7 @@ appears if the page style is <literal>firstpage</literal>. </para> </sect1> -<sect1 label="24.6" id="_005cmakelabels"> +<sect1 label="26.6" id="_005cmakelabels"> <title><literal>\makelabels</literal></title> <indexterm role="fn"><primary>\makelabels</primary></indexterm> @@ -9623,7 +11826,7 @@ in the argument to the <literal>letter</literal> environment. By default <!-- xxx TODO, align on latex2e-fr.texi, see https://mail.gna.org/public/latexrefman-discuss/2015-10/msg00000.html --> </sect1> -<sect1 label="24.7" id="_005cname"> +<sect1 label="26.7" id="_005cname"> <title><literal>\name</literal></title> <indexterm role="fn"><primary>\name</primary></indexterm> @@ -9637,7 +11840,7 @@ return address. </para> </sect1> -<sect1 label="24.8" id="_005copening"> +<sect1 label="26.8" id="_005copening"> <title><literal>\opening</literal></title> <indexterm role="fn"><primary>\opening</primary></indexterm> @@ -9655,7 +11858,7 @@ text that starts your letter. For instance: </screen> </sect1> -<sect1 label="24.9" id="_005cps"> +<sect1 label="26.9" id="_005cps"> <title><literal>\ps</literal></title> <indexterm role="fn"><primary>\ps</primary></indexterm> <indexterm role="cp"><primary>postscript, in letters</primary></indexterm> @@ -9671,7 +11874,7 @@ text that starts your letter. For instance: </screen> </sect1> -<sect1 label="24.10" id="_005csignature"> +<sect1 label="26.10" id="_005csignature"> <title><literal>\signature</literal></title> <para>Synopsis: @@ -9725,7 +11928,7 @@ preamble). <!-- --> <!-- --> </sect1> -<sect1 label="24.11" id="_005ctelephone"> +<sect1 label="26.11" id="_005ctelephone"> <title><literal>\telephone</literal></title> <indexterm role="fn"><primary>\telephone</primary></indexterm> @@ -9742,7 +11945,7 @@ page. </sect1> </chapter> -<chapter label="25" id="Terminal-input_002foutput"> +<chapter label="27" id="Terminal-input_002foutput"> <title>Terminal input/output</title> <indexterm role="cp"><primary>input/output, to terminal</primary></indexterm> @@ -9750,7 +11953,7 @@ page. -<sect1 label="25.1" id="_005ctypein"> +<sect1 label="27.1" id="_005ctypein"> <title><literal>\typein[<replaceable>cmd</replaceable>]{<replaceable>msg</replaceable>}</literal></title> <indexterm role="fn"><primary>\typein</primary></indexterm> @@ -9769,7 +11972,7 @@ redefined to be the typed input. </para> </sect1> -<sect1 label="25.2" id="_005ctypeout"> +<sect1 label="27.2" id="_005ctypeout"> <title><literal>\typeout{<replaceable>msg</replaceable>}</literal></title> <indexterm role="fn"><primary>\typeout</primary></indexterm> @@ -9792,7 +11995,7 @@ printed, independent of surrounding spaces. A <literal>^^J</literal> in </sect1> </chapter> -<chapter label="26" id="Command-line"> +<chapter label="28" id="Command-line"> <title>Command line</title> <indexterm role="cp"><primary>command line</primary></indexterm> @@ -9807,7 +12010,7 @@ error: </para> <screen>latex '\nonstopmode\input foo.tex' </screen> -<indexterm role="fn"><primary>–help command-line option</primary></indexterm> +<indexterm role="fn"><primary>--help command-line option</primary></indexterm> <para>With many, but not all, implementations, command-line options can also be specified in the usual Unix way, starting with ‘<literal>-</literal>’ or ‘<literal>--</literal>’. For a list of those options, try ‘<literal>latex --help</literal>’. diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.pdf b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.pdf Binary files differindex 840fccb1c16..0abfe9be01b 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.pdf +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.pdf diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.txt b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.txt index 9a70ebbf698..f113d9386bf 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.txt +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.txt @@ -19,12 +19,14 @@ LaTeX2e: An unofficial reference manual 18 Page styles 19 Spaces 20 Boxes -21 Special insertions -22 Splitting the input -23 Front/back matter -24 Letters -25 Terminal input/output -26 Command line +21 Color +22 Graphics +23 Special insertions +24 Splitting the input +25 Front/back matter +26 Letters +27 Terminal input/output +28 Command line Appendix A Document templates Concept Index Command Index @@ -35,6 +37,10 @@ LaTeX2e: An unofficial reference manual 2.2 Output files 2.3 TeX engines 2.4 LaTeX command syntax + 2.4.1 Environments + 2.4.2 Command declarations + 2.4.3 '\makeatletter' and '\makeatother' + 2.4.3.1 '\@ifstar' 3 Document classes 3.1 Document class options 3.2 Additional packages @@ -53,6 +59,7 @@ LaTeX2e: An unofficial reference manual 5.5 Page layout parameters 5.6 Floats 6 Sectioning + 6.1 '\@startsection' 7 Cross references 7.1 '\label' 7.2 '\pageref{KEY}' @@ -65,6 +72,8 @@ LaTeX2e: An unofficial reference manual 8.4 'description' 8.5 'displaymath' 8.6 'document' + 8.6.1 '\AtBeginDocument' + 8.6.2 '\AtEndDocument' 8.7 'enumerate' 8.8 'eqnarray' 8.9 'equation' @@ -77,7 +86,8 @@ LaTeX2e: An unofficial reference manual 8.14 'itemize' 8.15 'letter' environment: writing letters 8.16 'list' - 8.16.1 '\item': An entry in a list. + 8.16.1 '\item': An entry in a list + 8.16.2 'trivlist': A restricted form of 'list' 8.17 'math' 8.18 'minipage' 8.19 'picture' @@ -148,6 +158,7 @@ LaTeX2e: An unofficial reference manual 12.7 '\newtheorem' 12.8 '\newfont': Define a new font (obsolete) 12.9 '\protect' + 12.10 '\ignorespaces & \ignorespacesafterend' 13 Counters 13.1 '\alph \Alph \arabic \roman \Roman \fnsymbol': Printing counters 13.2 '\usecounter{COUNTER}' @@ -187,16 +198,18 @@ LaTeX2e: An unofficial reference manual 19 Spaces 19.1 '\hspace' 19.2 '\hfill' - 19.3 '\(SPACE)' and \@ + 19.3 '\spacefactor' + 19.3.1 '\(SPACE)' and '\@' + 19.3.2 '\frenchspacing' + 19.3.3 '\normalsfcodes' 19.4 '\ ' after control sequence - 19.5 '\frenchspacing' - 19.6 '\thinspace': Insert 1/6em - 19.7 '\/': Insert italic correction - 19.8 '\hrulefill \dotfill' - 19.9 '\addvspace' - 19.10 '\bigskip \medskip \smallskip' - 19.11 '\vfill' - 19.12 '\vspace{LENGTH}' + 19.5 '\thinspace': Insert 1/6em + 19.6 '\/': Insert italic correction + 19.7 '\hrulefill \dotfill' + 19.8 '\addvspace' + 19.9 '\bigskip \medskip \smallskip' + 19.10 '\vfill' + 19.11 '\vspace{LENGTH}' 20 Boxes 20.1 '\mbox{TEXT}' 20.2 '\fbox' and '\framebox' @@ -207,40 +220,60 @@ LaTeX2e: An unofficial reference manual 20.7 '\savebox' 20.8 '\sbox{\BOXCMD}{TEXT}' 20.9 '\usebox{\BOXCMD}' -21 Special insertions - 21.1 Reserved characters - 21.2 Symbols by font position - 21.3 Text symbols - 21.4 Accents - 21.5 Additional Latin letters - 21.6 '\rule' - 21.7 '\today' -22 Splitting the input - 22.1 '\include' - 22.2 \'includeonly' - 22.3 '\input' -23 Front/back matter - 23.1 Tables of contents - 23.1.1 '\addcontentsline' - 23.1.2 '\addtocontents' - 23.2 Glossaries - 23.3 Indexes -24 Letters - 24.1 '\address' - 24.2 '\cc' - 24.3 '\closing' - 24.4 '\encl' - 24.5 '\location' - 24.6 '\makelabels' - 24.7 '\name' - 24.8 '\opening' - 24.9 '\ps' - 24.10 '\signature' - 24.11 '\telephone' -25 Terminal input/output - 25.1 '\typein[CMD]{MSG}' - 25.2 '\typeout{MSG}' -26 Command line +21 Color + 21.1 Color package options + 21.2 Color models + 21.3 Commands for color + 21.3.1 Define colors + 21.3.2 Colored text + 21.3.3 Colored boxes + 21.3.4 Colored pages +22 Graphics + 22.1 Graphics package options + 22.2 Graphics package configuration + 22.2.1 '\graphicspath' + 22.2.2 '\DeclareGraphicsExtensions' + 22.2.3 '\DeclareGraphicsRule' + 22.3 Commands for graphics + 22.3.1 '\includegraphics' + 22.3.2 '\rotatebox' + 22.3.3 '\scalebox' + 22.3.4 '\resizebox' +23 Special insertions + 23.1 Reserved characters + 23.2 Upper and lower case + 23.3 Symbols by font position + 23.4 Text symbols + 23.5 Accents + 23.6 Additional Latin letters + 23.7 '\rule' + 23.8 '\today' +24 Splitting the input + 24.1 '\include' + 24.2 '\includeonly' + 24.3 '\input' +25 Front/back matter + 25.1 Tables of contents + 25.1.1 '\addcontentsline' + 25.1.2 '\addtocontents' + 25.2 Glossaries + 25.3 Indexes +26 Letters + 26.1 '\address' + 26.2 '\cc' + 26.3 '\closing' + 26.4 '\encl' + 26.5 '\location' + 26.6 '\makelabels' + 26.7 '\name' + 26.8 '\opening' + 26.9 '\ps' + 26.10 '\signature' + 26.11 '\telephone' +27 Terminal input/output + 27.1 '\typein[CMD]{MSG}' + 27.2 '\typeout{MSG}' +28 Command line Appendix A Document templates A.1 'beamer' template A.2 'book' template @@ -250,8 +283,8 @@ Command Index LaTeX2e: An unofficial reference manual *************************************** -This document is an unofficial reference manual (version of November -2016) for LaTeX2e, a document preparation system. +This document is an unofficial reference manual (version of March 2018) +for LaTeX2e, a document preparation system. 1 About this document ********************* @@ -259,13 +292,13 @@ This document is an unofficial reference manual (version of November This is an unofficial reference manual for the LaTeX2e document preparation system, which is a macro package for the TeX typesetting program (*note Overview::). This document's home page is -<http://home.gna.org/latexrefman>. That page has links to the current -output in various formats, sources, mailing list archives and -subscriptions, and other infrastructure. +<http://puszcza.gnu.org.ua/software/latexrefman/>. That page has links +to the current output in various formats, sources, mailing list archives +and subscriptions, and other infrastructure. In this document, we will mostly just use 'LaTeX' rather than -'LaTeX2e', since the previous version of LaTeX (2.09) was retired many -years ago. +'LaTeX2e', since the previous version of LaTeX (2.09) was frozen decades +ago. LaTeX is currently maintained by a group of volunteers (<http://latex-project.org>). The official documentation written by the @@ -273,7 +306,7 @@ LaTeX project is available from their web site. This document is completely unofficial and has not been reviewed by the LaTeX maintainers. Do not send bug reports or anything else about this document to them. Instead, please send all comments to -<latexrefman-discuss@gna.org>. +<latexrefman@tug.org>. This document is a reference. There is a vast array of other sources of information about LaTeX, at all levels. Here are a few @@ -286,8 +319,9 @@ introductions. Writing your first document, with a bit of both text and math. <http://ctan.org/pkg/usrguide> - The guide for document authors that is maintained as part of LaTeX; - there are plenty of others available elsewhere. + The guide for document authors that is maintained as part of LaTeX. + Many other guides by many other people are also available, + independent of LaTeX itself; one such is the next item: <http://ctan.org/pkg/lshort> A short introduction to LaTeX, translated to many languages. @@ -478,6 +512,9 @@ The exact difference in behavior varies from command to command. This manual describes all accepted options and '*'-forms for the commands it covers (barring unintentional omissions, a.k.a. bugs). +2.4.1 Environments +------------------ + Synopsis: \begin{ENVIRONMENT NAME} @@ -508,10 +545,16 @@ required (it specifies the formatting of columns). ... rows of table ... \end{tabular} +2.4.2 Command declarations +-------------------------- + A command that changes the value, or changes the meaning, of some other command or parameter. For instance, the '\mainmatter' command changes the setting of page numbers from roman numerals to arabic. +2.4.3 '\makeatletter' and '\makeatother' +---------------------------------------- + Synopsis: \makeatletter @@ -523,7 +566,7 @@ at-sign character '@' have the category code of a letter, 11. '\makeatother' sets the category code of '@' to 12, its original value. As each character is read by TeX for LaTeX, it is assigned a -character category code, or "catcode" for shorter. For instance, the +character category code, or "catcode" for short. For instance, the backslash '\' is assigned the catcode 0, for characters that start a command. These two commands alter the catcode assigned to '@'. @@ -537,29 +580,83 @@ category codes, user-defined commands cannot contain an '@'. But '\makeatletter' and '\makeatother' allow users to define or redefine commands named with '@'. - Use these inside a '.tex' file, in the preamble. Don't use them + Use these two commands inside a '.tex' file, in the preamble, when +defining or redefining a command with '@' in its name. Don't use them inside '.sty' or '.cls' files since the '\usepackage' and '\documentclass' commands set the at sign to have the character code of a letter. - in their names, see document <http://ctan.org/pkg/macros2e>. These -macros are mainly useful to package or class authors; examples that may -be useful to document authors are provided hereinafter. + For a comprehensive list of macros with an at-sign in their names see +<http://ctan.org/pkg/macros2e>. These macros are mainly intended to +package or class authors. - The example code below, if put in the preamble, redefines the section -command to center the section title, put it in bold type, and adjust the -spacing. + The example below is typical. In the user's class file is a command +'\thesis@universityname'. The user wants to change the definition. +These three lines should go in the preamble, before the +'\begin{document}'. \makeatletter - \renewcommand\section{% - \@startsection{section}% Name - {1}% Level: 0=part, 1=chapter, etc. - {0pt}% Heading indent - {-3.5ex plus -1ex minus -.2ex}% Beforeskip (if neg, no head indent) - {2.3ex plus.2ex}% Afterskip (if neg, run-in heading) - {\centering\normalfont\Large\bfseries}} % Style of head + \renewcommand{\thesis@universityname}{Saint Michael's College} \makeatother +2.4.3.1 '\@ifstar' +.................. + +Synopsis: + + \newcommand{\mycmd}{\@ifstar{\mycmd@star}{\mycmd@nostar}} + \newcommand{\mycmd@nostar}[NON-STARRED COMMAND NUMBER OF ARGS]{BODY OF NON-STARRED COMMAND} + \newcommand{\mycmd@star}[STARRED COMMAND NUMBER OF ARGS]{BODY OF STARRED COMMAND} + + Many standard LaTeX environments or commands have a variant with the +same name but ending with a star character '*', an asterisk. Examples +are the 'table' and 'table*' environments and the '\section' and +'\section*' commands. + + When defining environments, following this pattern is straightforward +because '\newenvironment' and '\renewenvironment' allow the environment +name to contain a star. For commands the situation is more complex. As +in the synopsis above, there will be a user-called command, given above +as '\mycmd', which peeks ahead to see if it is followed by a star. For +instance, LaTeX does not really have a '\section*' command; instead, the +'\section' command peeks ahead. This command does not accept arguments +but instead expands to one of two commands that do accept arguments. In +the synopsis these two are '\mycmd@nostar' and '\mycmd@star'. They +could take the same number of arguments or a different number, or no +arguments at all. As always, in a LaTeX document a command using +at-sign '@' must be enclosed inside a '\makeatletter ... \makeatother' +block (*note \makeatletter and \makeatother::). + + This example of '\@ifstar' defines the command '\ciel' and a variant +'\ciel*'. Both have one required argument. A call to '\ciel{night}' +will return "starry night sky" while '\ciel*{blue}' will return "starry +not blue sky". + + \newcommand*{\ciel@unstarred}[1]{starry #1 sky} + \newcommand*{\ciel@starred}[1]{starry not #1 sky} + \newcommand*{\ciel}{\@ifstar{\ciel@starred}{\ciel@unstarred}} + + In the next example, the starred variant takes a different number of +arguments than does the unstarred one. With this definition, Agent +007's '``My name is \agentsecret*{Bond}, \agentsecret{James}{Bond}.''' +is equivalent to '``My name is \textsc{Bond}, \textit{James} +textsc{Bond}.''' + + \newcommand*{\agentsecret@unstarred}[2]{\textit{#1} \textsc{#2}} + \newcommand*{\agentsecret@starred}[1]{\textsc{#1}} + \newcommand*{\agentsecret}{\@ifstar{\agentsecret@starred}{\agentsecret@unstarred}} + + There are two sometimes more convenient ways to accomplish the work +of '\@ifstar'. The 'suffix' package allows the construct +'\newcommand\mycommand{UNSTARRED VERSION}' followed by +'\WithSuffix\newcommand\mycommand*{STARRED VERSION}'. And LaTeX3 has +the 'xparse' package that allows this code. + + \NewDocumentCommand\foo{s}{\IfBooleanTF#1 + {STARRED VERSION}% + {UNSTARRED VERSION}% + } + 3 Document classes ****************** @@ -635,8 +732,10 @@ paper size (these show height by width): TeX engines::), options other than 'letterpaper' set the print area but you must also set the physical paper size. One way to do that is to put '\pdfpagewidth=\paperwidth' and '\pdfpageheight=\paperheight' in your -document's preamble. The 'geometry' package provides flexible ways of -setting the print area and physical page size. +document's preamble. + + The 'geometry' package provides flexible ways of setting the print +area and physical page size. Miscellaneous other options: @@ -722,35 +821,37 @@ a package while a command to make the page headers say 'Memo from the SMC Math Department' is for a class. Inside of a class or package file you can use the at-sign '@' as a -character in command names without having to surround that command with -'\makeatletter' and '\makeatother'. *Note \makeatletter and -\makeatother::. This allow you to create commands that users will not -accidentally redefine. Another technique is to preface class- or -package-specific commands with some string to prevent your class or -package from interacting with others. For instance, the class 'smcmemo' -might have commands '\smc@tolist', '\smc@fromlist', etc. +character in command names without having to surround the code +containing that command with '\makeatletter' and '\makeatother'. *Note +\makeatletter and \makeatother::. This allow you to create commands +that users will not accidentally redefine. Another technique is to +preface class- or package-specific commands with some string to prevent +your class or package from interfering with others. For instance, the +class 'smcmemo' might have commands '\smc@tolist', '\smc@fromlist', etc. 3.3.1 Class and package structure --------------------------------- -A class file or package file typically has four parts. (1) In the -identification part, the file says that it is a LaTeX package or class -and describes itself, using the '\NeedsTeXFormat' and '\ProvidesClass' -or '\ProvidesPackage' commands. (2) The preliminary declarations part -declares some commands and can also load other files. Usually these -commands will be those needed for the code used in the next part. For -example, an 'smcmemo' class might be called with an option to read in a -file with a list of people for the to-head, as -'\documentclass[mathto]{smcmemo}', and therefore needs to define a -command '\newcommand{\setto}[1]{\def\@tolist{#1}}' used in that file. -(3) In the handle options part the class or package declares and -processes its options. Class options allow a user to start their -document as '\documentclass[OPTION LIST]{CLASS NAME}', to modify the -behavior of the class. An example is when you declare -'\documentclass[11pt]{article}' to set the default document font size. -Finally, (4) in the more declarations part the class or package usually -does most of its work: declaring new variables, commands and fonts, and -loading other files. +A class file or package file typically has four parts. + In the "identification part", the file says that it is a LaTeX + package or class and describes itself, using the '\NeedsTeXFormat' + and '\ProvidesClass' or '\ProvidesPackage' commands. + 1. The "preliminary declarations part" declares some commands and can + also load other files. Usually these commands will be those needed + for the code used in the next part. For example, an 'smcmemo' + class might be called with an option to read in a file with a list + of people for the to-head, as '\documentclass[mathto]{smcmemo}', + and therefore needs to define a command + '\newcommand{\setto}[1]{\def\@tolist{#1}}' used in that file. + 2. In the "handle options part" the class or package declares and + processes its options. Class options allow a user to start their + document as '\documentclass[OPTION LIST]{CLASS NAME}', to modify + the behavior of the class. An example is when you declare + '\documentclass[11pt]{article}' to set the default document font + size. + 3. Finally, in the "more declarations part" the class or package + usually does most of its work: declaring new variables, commands + and fonts, and loading other files. Here is a starting class file, which should be saved as 'stub.cls' where LaTeX can find it, for example in the same directory as the '.tex' @@ -788,6 +889,18 @@ These are the commands designed to help writers of classes or packages. times; the 'code' will be executed in the order that you called it. See also *note \AtBeginDocument::. +'\CheckCommand{CMD}[NUM][DEFAULT]{DEFINITION}' +'\CheckCommand*{CMD}[NUM][DEFAULT]{DEFINITION}' + Like '\newcommand' (*note \newcommand & \renewcommand::) but does + not define CMD; instead it checks that the current definition of + CMD is exactly as given by DEFINITION and is or is not "long" as + expected. A long command is a command that accepts '\par' within + an argument. The CMD command is expected to be long with the + unstarred version of '\CheckCommand'. Raises an error when the + check fails. This allows you to check before you start redefining + 'cmd' yourself that no other package has already redefined this + command. + '\ClassError{CLASS NAME}{ERROR TEXT}{HELP TEXT}' '\PackageError{PACKAGE NAME}{ERROR TEXT}{HELP TEXT}' '\ClassWarning{CLASS NAME}{WARNING TEXT}' @@ -812,7 +925,8 @@ These are the commands designed to help writers of classes or packages. To format the messages, including the HELP TEXT: use '\protect' to stop a command from expanding, get a line break with - '\MessageBreak', and get a space with '\space'. Note that LaTeX + '\MessageBreak', and get a space with '\space' when a space + character does not allow it, like after a command. Note that LaTeX appends a period to the messages. '\CurrentOption' @@ -821,7 +935,7 @@ These are the commands designed to help writers of classes or packages. '\DeclareOption*'. '\DeclareOption{OPTION}{CODE}' -'\DeclareOption*{OPTION}{CODE}' +'\DeclareOption*{CODE}' Make an option available to a user, for invoking in their '\documentclass' command. For example, the 'smcmemo' class could have an option allowing users to put the institutional logo on the @@ -850,14 +964,45 @@ These are the commands designed to help writers of classes or packages. \DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{% \PassOptionsToClass{\CurrentOption}{article}}} +'\DeclareRobustCommand{CMD}[NUM][DEFAULT]{DEFINITION}' +'\DeclareRobustCommand*{CMD}[NUM][DEFAULT]{DEFINITION}' + Like '\newcommand' and '\newcommand*' (*note \newcommand & + \renewcommand::) but these declare a robust command, even if some + code within the DEFINITION is fragile. (For a discussion of robust + and fragile commands *note \protect::.) Use this command to define + new robust commands or to redefine existing commands and make them + robust. Unlike '\newcommand' these do not give an error if macro + CMD already exists; instead, a log message is put into the + transcript file if a command is redefined. + + Commands defined this way are a bit less efficient than those + defined using '\newcommand' so unless the command's data is fragile + and the command is used within a moving argument, use + '\newcommand'. + + The 'etoolbox' package offers commands '\newrobustcmd', + '\newrobustcmd*', '\renewrobustcmd', '\renewrobustcmd*', + '\providerobustcmd', and '\providerobustcmd*' which are similar to + '\newcommand', '\newcommand*', '\renewcommand', '\renewcommand*', + '\providecommand', and '\providecommand*', but define a robust CMD + with two advantages as compared to '\DeclareRobustCommand': + 1. They use the low-level e-TeX protection mechanism rather than + the higher level LaTeX '\protect' mechanism, so they do not + incur the slight loss of performance mentioned above, and + 2. They make the same distinction between '\new...', '\renew...', + and '\provide...', as the standard commands, so they do not + just make a log message when you redefine CMD that already + exists, in that case you need to use either '\renew...' or + '\provide...' or you get an error. + '\IfFileExists{FILE NAME}{TRUE CODE}{FALSE CODE}' '\InputIfFileExists{FILE NAME}{TRUE CODE}{FALSE CODE}' - Execute TRUE CODE if LaTeX can find the file and FALSE CODE - otherwise. In the second case it inputs the file immediately after - executing TRUE CODE. Thus + Execute TRUE CODE if LaTeX can find the file 'FILE NAME' and FALSE + CODE otherwise. In the second case it inputs the file immediately + after executing TRUE CODE. Thus '\IfFileExists{img.pdf}{\includegraphics{img.pdf}}{\typeout{WARNING: - img.pdf not found}}' will include the graphic if it is found but - otherwise just give a warning. + img.pdf not found}}' will include the graphic 'img.pdf' if it is + found but otherwise just give a warning. This command looks for the file in all search paths that LaTeX uses, not only in the current directory. To look only in the @@ -875,12 +1020,13 @@ These are the commands designed to help writers of classes or packages. The OPTIONS LIST, if present, is a comma-separated list. The RELEASE DATE is optional. If present it must have the form - YYYY/MM/DD. If you request a RELEASE DATE and the date of the - package installed on your system is earlier, then you get a warning - on the screen and in the log like 'You have requested, on input - line 4, version `2038/01/19' of document class article, but only - version `2014/09/29 v1.4h Standard LaTeX document class' is - available.' + YYYY/MM/DD. + + If you request a RELEASE DATE and the date of the package installed + on your system is earlier, then you get a warning on the screen and + in the log like 'You have requested, on input line 4, version + `2038/01/19' of document class article, but only version + `2014/09/29 v1.4h Standard LaTeX document class' is available.' The command version '\LoadClassWithOptions' uses the list of options for the current class. This means it ignores any options @@ -890,8 +1036,8 @@ These are the commands designed to help writers of classes or packages. were passed. '\ExecuteOptions{OPTIONS-LIST}' - For each option in the OPTIONS-LIST, in order, this command - executes the command '\ds@'OPTION. If this command is not defined + For each option OPTION in the OPTIONS-LIST, in order, this command + executes the command '\ds@OPTION'. If this command is not defined then that option is silently ignored. It can be used to provide a default option list before @@ -900,13 +1046,13 @@ These are the commands designed to help writers of classes or packages. '\ExecuteOptions{11pt}\ProcessOptions\relax'. '\NeedsTeXFormat{FORMAT}[FORMAT DATE]' - Specifies the format that this class should be run under. Often + Specifies the format that this class must be run under. Often issued as the first line of a class file, and most often used as: - '\NeedsTeXFormat{LaTeX2e}'. The format that you specify must - exactly match the one installed on your system that you invoked, - including that the string is case sensitive. If it does not match - then execution stops with an error like 'This file needs format - `xxx' but this is `LaTeX2e'.' + '\NeedsTeXFormat{LaTeX2e}'. When a document using that class is + processed, the format name given here must match the format that is + actually being run (including that the FORMAT string is case + sensitive). If it does not match then execution stops with an + error like 'This file needs format `LaTeX2e' but this is `xxx'.' To specify a version of the format that you know to have certain features, include the optional FORMAT DATE on which those features @@ -914,16 +1060,14 @@ These are the commands designed to help writers of classes or packages. If the format version installed on your system is earlier than FORMAT DATE then you get a warning like 'You have requested release `2038/01/20' of LaTeX, but only release `2016/02/01' is available.' - (The LaTeX kernel has been frozen for many years so you probably do - not not need to specify the format date.) '\OptionNotUsed' Adds the current option to the list of unused options. Can only be used within the CODE argument of either '\DeclareOption' or '\DeclareOption*'. -'\PassOptionsToClass{OPTIONS LIST}{CLASS NAME}' -'\PassOptionsToPackage{OPTIONS LIST}{PACKAGE NAME}' +'\PassOptionsToClass{OPTION LIST}{CLASS NAME}' +'\PassOptionsToPackage{OPTION LIST}{PACKAGE NAME}' Adds the options in the comma-separated list OPTION LIST to the options used by any future '\RequirePackage' or '\usepackage' command for package PACKAGE NAME or the class CLASS NAME. @@ -935,14 +1079,15 @@ These are the commands designed to help writers of classes or packages. clash for package foo.' (LaTeX throws an error even if there is no conflict between the options.) - If your code is bringing in a package twice then you can collapse - that to once, for example replacing the two + If your own code is bringing in a package twice then you can + collapse that to once, for example replacing the two '\RequirePackage[landscape]{geometry}\RequirePackage[margins=1in]{geometry}' with the single '\RequirePackage[landscape,margins=1in]{geometry}'. But if you are loading a package that in turn loads another package - then you need to queue up the options you desire. For instance, - suppose the package 'foo' loads the package 'geometry'. Instead of - ' \RequirePackage{foo}\RequirePackage[draft]{graphics}' you must + then you need to queue up the options you desire for this other + package. For instance, suppose the package 'foo' loads the package + 'geometry'. Instead of + '\RequirePackage{foo}\RequirePackage[draft]{graphics}' you must write '\PassOptionsToPackage{draft}{graphics} \RequirePackage{foo}'. (If 'foo.sty' loads an option in conflict with what you want then you may have to look into altering its @@ -961,36 +1106,40 @@ These are the commands designed to help writers of classes or packages. Include it in the class file as '\ProcessOptions\relax' (because of the existence of the starred command). - Options come in two types. 'Local' options have been specified for + Options come in two types. "Local options" have been specified for this particular package in the OPTIONS argument of '\PassOptionsToPackage{OPTIONS}', '\usepackage[OPTIONS]', or - '\RequirePackage[OPTIONS]'. 'Global' options are those given by + '\RequirePackage[OPTIONS]'. "Global options" are those given by the class user in '\documentclass[OPTIONS]' (If an option is specified both locally and globally then it is local.) When '\ProcessOptions' is called for a package 'pkg.sty', the - following happens. (1) For each option OPTION so far declared with - '\DeclareOption', it looks to see if that option is either a global - or a local option for 'pkg'. If so then it executes the declared - code. This is done in the order in which these options were given - in 'pkg.sty'. (2) For each remaining local option, it executes the - command '\ds@'OPTION if it has been defined somewhere (other than - by a '\DeclareOption'); otherwise, it executes the default option - code given in '\DeclareOption*'. If no default option code has - been declared then it gives an error message. This is done in the - order in which these options were specified. + following happens: + 1. For each option OPTION so far declared with '\DeclareOption', + it looks to see if that option is either a global or a local + option for 'pkg'. If so then it executes the declared code. + This is done in the order in which these options were given in + 'pkg.sty'. + 2. For each remaining local option, it executes the command + '\ds@'OPTION if it has been defined somewhere (other than by a + '\DeclareOption'); otherwise, it executes the default option + code given in '\DeclareOption*'. If no default option code + has been declared then it gives an error message. This is + done in the order in which these options were specified. When '\ProcessOptions' is called for a class it works in the same - way except that all options are local, and the default value for + way except that all options are local, and the default CODE for '\DeclareOption*' is '\OptionNotUsed' rather than an error. - The starred version '\ProcessOptions*'\@OPTIONS executes the - options in the order specified in the calling commands, rather than - in the order of declaration in the class or package. For a package - this means that the global options are processed first. + The starred version '\ProcessOptions*' executes the options in the + order specified in the calling commands, rather than in the order + of declaration in the class or package. For a package this means + that the global options are processed first. -'\ProvidesClass{CLASS NAME}[<RELEASE DATE> <BRIEF ADDITIONAL INFORMATION>]' -'\ProvidesPackage{PACKAGE NAME}[<RELEASE DATE> <BRIEF ADDITIONAL INFORMATION>]' +'\ProvidesClass{CLASS NAME}[RELEASE DATE BRIEF ADDITIONAL INFORMATION]' +'\ProvidesClass{CLASS NAME}[RELEASE DATE]' +'\ProvidesPackage{PACKAGE NAME}[RELEASE DATE BRIEF ADDITIONAL INFORMATION]' +'\ProvidesPackage{PACKAGE NAME}[RELEASE DATE]' Identifies the class or package, printing a message to the screen and the log file. @@ -1004,20 +1153,20 @@ These are the commands designed to help writers of classes or packages. but the document class provides 'xxx'.' This warning does not prevent LaTeX from processing the rest of the class file normally. - If you include the optional part then you must include the date, - before the first space, and it must have the form 'YYYY/MM/DD'. - The rest of the optional part is free-form, although it - traditionally identifies the class, and is written to the screen - during compilation and to the log file. Thus, if your file - 'smcmem.cls' contains the line '\ProvidesClass{smcmem}[2008/06/01 - SMC memo class]' and your document's first line is - '\documentclass{smcmem}' then you will see 'Document Class: smcmemo - 2008/06/01 SMC memo class'. - - The date in the optional portion allows class and package users to + If you include the optional argument, then you must include the + date, before the first space if any, and it must have the form + 'YYYY/MM/DD'. The rest of the optional argument is free-form, + although it traditionally identifies the class, and is written to + the screen during compilation and to the log file. Thus, if your + file 'smcmemo.cls' contains the line + '\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC memo class]' and your + document's first line is '\documentclass{smcmemo}' then you will + see 'Document Class: smcmemo 2008/06/01 v1.0 SMC memo class'. + + The date in the optional argument allows class and package users to ask to be warned if the version of the class or package installed on their system is earlier than RELEASE DATE, by using the optional - calls such as '\documentclass{smcmem}[2018/10/12]' or + arguments such as '\documentclass{smcmemo}[2018/10/12]' or '\usepackage{foo}[[2017/07/07]]'. (Note that package users only rarely include a date, and class users almost never do.) @@ -1025,17 +1174,19 @@ These are the commands designed to help writers of classes or packages. Declare a file other than the main class and package files, such as configuration files or font definition files. Put this command in that file and you get in the log a string like 'File: test.config - 2017/10/12 config file for test.cls'. + 2017/10/12 config file for test.cls' for FILE NAME equal to + 'test.config' and ADDITIONAL INFORMATION equal to '2017/10/12 + config file for test.cls'. -'\RequirePackage[OPTIONS LIST]{PACKAGE NAME}[RELEASE DATE]' +'\RequirePackage[OPTION LIST]{PACKAGE NAME}[RELEASE DATE]' '\RequirePackageWithOptions{PACKAGE NAME}[RELEASE DATE]' - Load a package, like the author command '\usepackage'. *Note - Additional packages::. An example is + Load a package, like the document author command '\usepackage'. + *Note Additional packages::. An example is '\RequirePackage[landscape,margin=1in]{geometry}'. Note that the LaTeX development team strongly recommends use of these commands over Plain TeX's '\input'; see the Class Guide. - The OPTIONS LIST, if present, is a comma-separated list. The + The OPTION LIST, if present, is a comma-separated list. The RELEASE DATE, if present, must have the form YYYY/MM/DD. If the release date of the package as installed on your system is earlier than RELEASE DATE then you get a warning like 'You have requested, @@ -1195,7 +1346,7 @@ switching to bold letters and symbols in formulas. Finally, the command '\oldstylenums{NUMERALS}' will typeset so-called "old-style" numerals, which have differing heights and depths (and sometimes widths) from the standard "lining" numerals, which all have -the same height as upper-case letters. LaTeX's default fonts support +the same height as uppercase letters. LaTeX's default fonts support this, and will respect '\textbf' (but not other styles; there are no italic old-style numerals in Computer Modern). Many other fonts have old-style numerals also; sometimes the 'textcomp' package must be @@ -1243,7 +1394,8 @@ ones. 'T1', also known as the Cork encoding, which has support for the accented characters used by the most widespread European languages (German, French, Italian, Polish and others), which allows TeX to - hyphenate words containing accented letters. + hyphenate words containing accented letters. For more, see + <https://ctan.org/pkg/encguide>. '\fontfamily{FAMILY}' Select the font family. The web page @@ -1251,60 +1403,62 @@ ones. through many of the fonts easily used with LaTeX. Here are examples of some common families: - 'pag' Avant Garde - 'fvs' Bitstream Vera Sans - 'pbk' Bookman - 'bch' Charter - 'ccr' Computer Concrete - 'cmr' Computer Modern - 'pcr' Courier - 'phv' Helvetica - 'fi4' Inconsolata - 'lmr' Latin Modern - 'lmss' Latin Modern Sans - 'lmtt' Latin Modern Typewriter - 'pnc' New Century Schoolbook - 'ppl' Palatino - 'ptm' Times - 'uncl' Uncial - 'put' Utopia - 'pzc' Zapf Chancery + 'pag' Avant Garde + 'fvs' Bitstream Vera Sans + 'pbk' Bookman + 'bch' Charter + 'ccr' Computer Concrete + 'cmr' Computer Modern + 'cmss' Computer Modern Sans Serif + 'cmtt' Computer Modern Typewriter + 'pcr' Courier + 'phv' Helvetica + 'fi4' Inconsolata + 'lmr' Latin Modern + 'lmss' Latin Modern Sans + 'lmtt' Latin Modern Typewriter + 'pnc' New Century Schoolbook + 'ppl' Palatino + 'ptm' Times + 'uncl' Uncial + 'put' Utopia + 'pzc' Zapf Chancery '\fontseries{SERIES}' Select the font series. A "series" combines a "weight" and a "width". Typically, a font supports only a few of the possible combinations. Some common combined series values include: - 'm' Medium (normal) - 'b' Bold - 'c' Condensed - 'bc' Bold condensed - 'bx' Bold extended + 'm' Medium (normal) + 'b' Bold + 'c' Condensed + 'bc' Bold condensed + 'bx' Bold extended The possible values for weight, individually, are: - 'ul' Ultra light - 'el' Extra light - 'l' Light - 'sl' Semi light - 'm' Medium (normal) - 'sb' Semi bold - 'b' Bold - 'eb' Extra bold - 'ub' Ultra bold - - The possible values for width, individually, are (the percentages - are just guides and are not followed precisely by all fonts): - - 'uc' Ultra condensed, 50% - 'ec' Extra condensed, 62.5% - 'c' Condensed, 75% - 'sc' Semi condensed, 87.5% - 'm' Medium, 100% - 'sx' Semi expanded, 112.5% - 'x' Expanded, 125% - 'ex' Extra expanded, 150% - 'ux' Ultra expanded, 200% + 'ul' Ultra light + 'el' Extra light + 'l' Light + 'sl' Semi light + 'm' Medium (normal) + 'sb' Semi bold + 'b' Bold + 'eb' Extra bold + 'ub' Ultra bold + + The possible values for width, individually, are (the meaning and + relationship of these terms varies with individual typefaces): + + 'uc' Ultra condensed + 'ec' Extra condensed + 'c' Condensed + 'sc' Semi condensed + 'm' Medium + 'sx' Semi expanded + 'x' Expanded + 'ex' Extra expanded + 'ux' Ultra expanded When forming the SERIES string from the weight and width, drop the 'm' that stands for medium weight or medium width, unless both @@ -1313,12 +1467,12 @@ ones. '\fontshape{SHAPE}' Select font shape. Valid shapes are: - 'n' Upright (normal) - 'it' Italic - 'sl' Slanted (oblique) - 'sc' Small caps - 'ui' Upright italics - 'ol' Outline + 'n' Upright (normal) + 'it' Italic + 'sl' Slanted (oblique) + 'sc' Small caps + 'ui' Upright italics + 'ol' Outline The two last shapes are not available for most font families, and small caps are often missing as well. @@ -1337,7 +1491,8 @@ ones. LaTeX multiplies the line spacing by the value of the '\baselinestretch' parameter; the default factor is 1. A change takes effect when '\selectfont' (see below) is called. You can - make line skip changes happen for the entire document by doing + make a line skip change happen for the entire document, for + instance doubling it, by doing '\renewcommand{\baselinestretch}{2.0}' in the preamble. However, the best way to double-space a document is to use the @@ -1855,7 +2010,198 @@ setting \setcounter{secnumdepth}{LEVEL} suppresses heading numbers at any depth > LEVEL, where 'chapter' is -level zero. (*Note \setcounter::.) +level zero. The default 'secnumdepth' is 3 in LaTeX's 'article' class +and 2 in the 'book' and 'report' classes. (*Note \setcounter::.) + +6.1 '\@startsection' +==================== + +Synopsis: + + \@startsection{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} + + Used to help redefine the behavior of commands that start sectioning +divisions such as '\section' or '\subsection'. + + Note that the 'titlesec' package makes manipulation of sectioning +easier. Further, while most requirements for sectioning commands can be +satisfied with '\@startsection', some cannot. For instance, in the +standard LaTeX 'book' and 'report' classes the commands '\chapter' and +'\report' are not constructed in this way. To make such a command you +may want to use the '\secdef' command. + + Technically, '\@startsection' has the form + \@startsection{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}*[TOCTITLE]{TITLE} +(the star '*' is optional), so that issuing + \renewcommand{\section}{\@startsection{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}} +redefines '\section' to have the form '\section*[TOCTITLE]{TITLE}' (here +too, the star '*' is optional). *Note Sectioning::. This implies that +when you write a command like '\renewcommand{section}{...}', the +'\@startsection{...}' must come last in the definition. See the +examples below. + +NAME + Name of the counter used to number the sectioning header. This + counter must be defined separately. Most commonly this is either + 'section', 'subsection', or 'paragraph'. Although in those three + cases the counter name is the same as the sectioning command + itself, using the same name is not required. + + Then '\the'NAME displays the title number and '\'NAME'mark' is for + the page headers. See the third example below. + +LEVEL + An integer giving the depth of the sectioning command: 0 for + 'chapter' (only applies to the standard 'book' and 'report' + classes), 1 for 'section', 2 for 'subsection', 3 for + 'subsubsection', 4 for 'paragraph', and 5 for 'subparagraph'. In + the 'book' and 'report' classes 'part' has level -1, while in the + 'article' class 'part' has level 0. + + If LEVEL is less than or equal to the value of 'secnumdepth' then + the titles for this sectioning command will be numbered. For + instance, in an 'article', if 'secnumdepth' is 1 then a + '\section{Introduction}' command will produce output like "1 + Introduction" while '\subsection{Discussion}' will produce output + like "Discussion", without the number prefix. *Note + Sectioning/secnumdepth::. + + If LEVEL is less than or equal to the value of TOCDEPTH then the + table of contents will have an entry for this sectioning unit. For + instance, in an 'article', if TOCDEPTH is 1 then the table of + contents will list sections but not subsections. + +INDENT + A length giving the indentation of all of the title lines with + respect to the left margin. To have the title flush with the + margin use '0pt'. A negative indentation such as '-\parindent' + will move the title into the left margin. + +BEFORESKIP + The absolute value of this length is the amount of vertical space + that is inserted before this sectioning unit's title. This space + will be discarded if the sectioning unit happens to start at the + top of a fresh page. If this number is negative then the first + paragraph following the header is not indented, if it is + non-negative then the first paragraph is indented. (Note that the + negative of '1pt plus 2pt minus 3pt' is '-1pt plus -2pt minus + -3pt'.) + + For example, if BEFORESKIP is '-3.5ex plus -1ex minus -0.2ex' then + to start the new sectioning unit, LaTeX will add about 3.5 times + the height of a letter x in vertical space, and the first paragraph + in the section will not be indented. Using a rubber length, with + 'plus' and 'minus', is good practice here since it gives LaTeX more + flexibility in making up the page (*note Lengths::). + + The full accounting of the vertical space between the baseline of + the line prior to this sectioning unit's header and the baseline of + the header is that it is the sum of the '\parskip' of the text + font, the '\baselineskip' of the title font, and the absolute value + of the BEFORESKIP. This space is typically rubber so it may + stretch or shrink. (If the sectioning unit starts on a fresh page + so that the vertical space is discarded then the baseline of the + header text will be where LaTeX would put the baseline of the first + text line on that page.) + +AFTERSKIP + This is a length. If AFTERSKIP is non-negative then this is the + vertical space inserted after the sectioning unit's title header. + If it is negative then the title header becomes a run-in header, so + that it becomes part of the next paragraph. In this case the + absolute value of the length gives the horizontal space between the + end of the title and the beginning of the following paragraph. + (Note that the negative of '1pt plus 2pt minus 3pt' is '-1pt plus + -2pt minus -3pt'.) + + As with BEFORESKIP, using a rubber length, with 'plus' and 'minus' + components, is good practice here since it gives LaTeX more + flexibility in putting together the page. + + If 'afterskip' is non-negative then the full accounting of the + vertical space between the baseline of the sectioning unit's header + and the baseline of the first line of the following paragraph is + that it is the sum of the '\parskip' of the title font, the + '\baselineskip' of the text font, and the value of AFTER. That + space is typically rubber so it may stretch or shrink. (Note that + because the sign of 'afterskip' changes the sectioning unit + header's from standalone to run-in, you cannot use a negative + 'afterskip' to cancel part of the '\parskip'.) + +STYLE + Controls the styling of the title. See the examples below. + Typical commands to use here are '\centering', '\raggedright', + '\normalfont', '\hrule', or '\newpage'. The last command in STYLE + may be one such as '\MakeUppercase' or '\fbox' that takes one + argument. The section title will be supplied as the argument to + this command. For instance, setting STYLE to + '\bfseries\MakeUppercase' would produce titles that are bold and + upper case. + + These are LaTeX's defaults for the first three sectioning units that +are defined with '\@startsection', for the 'article', 'book', and +'report' classes. + + 'section' 'subsection' 'subsubsection' +----------------------------------------------------------------------------- +*note NAME: \@startsection/name.sectionsubsection subsubsection +*note LEVEL: \@startsection/level.12 3 +*note INDENT: \@startsection/indent.'0pt''0pt' '0pt' +*note BEFORESKIP: \@startsection/beforeskip.'-3.5ex plus -1ex'-3.25ex plus -1ex'-3.25ex plus -1ex + minus -0.2ex' minus -0.2ex' minus -0.2ex' +*note AFTERSKIP: \@startsection/afterskip.'2.3ex plus 0.2ex''1.5ex plus 0.2ex''1.5ex plus 0.2ex' +*note STYLE: \@startsection/style.'\normalfont\Large\bfseries''\normalfont\large\bfseries''\normalfont\normalsize\bfseries' + + Here are examples. They go either in a package or class file or in +the preamble of a LaTeX document. If you put them in the preamble they +must go between a '\makeatletter' command and a '\makeatother'. +(Probably the error message 'You can't use `\spacefactor' in vertical +mode.' means that you forgot this.) *Note \makeatletter and +\makeatother::. + + This will put section titles in large boldface type, centered. It +says '\renewcommand' because LaTeX's standard classes have already +defined a '\section'. For the same reason it does not define a +'section' counter, or the commands '\thesection' and '\l@section'. + + \renewcommand\section{% + \@startsection{section}% *note NAME: \@startsection/name. + {1}% *note LEVEL: \@startsection/level. + {0pt}% *note INDENT: \@startsection/indent. + {-3.5ex plus -1ex minus -.2ex}% *note BEFORESKIP: \@startsection/beforeskip. + {2.3ex plus.2ex}% *note AFTERSKIP: \@startsection/afterskip. + {\centering\normalfont\Large\bfseries}% *note STYLE: \@startsection/style. + } + + This will put 'subsection' titles in small caps type, inline with the +paragraph. + + \renewcommand\subsection{% + \@startsection{subsection}% *note NAME: \@startsection/name. + {2}% *note LEVEL: \@startsection/level. + {0em}% *note INDENT: \@startsection/indent. + {-1ex plus 0.1ex minus -0.05ex}% *note BEFORESKIP: \@startsection/beforeskip. + {-1em plus 0.2em}% *note AFTERSKIP: \@startsection/afterskip. + {\scshape}% *note STYLE: \@startsection/style. + } + + The prior examples redefined existing sectional unit title commands. +This defines a new one, illustrating the needed counter and macros to +display that counter. + + \setcounter{secnumdepth}{6}% show counters this far down + \newcounter{subsubparagraph}[subparagraph]% counter for numbering + \renewcommand{\thesubsubparagraph}% how to display + {\thesubparagraph.\@arabic\c@subsubparagraph}% numbering + \newcommand{\subsubparagraph}{\@startsection + {subsubparagraph}% + {6}% + {0em}% + {\baselineskip}% + {0.5\baselineskip}% + {\normalfont\normalsize}} + \newcommand*\l@subsubparagraph{\@dottedtocline{6}{10em}{5em}}% for toc + \newcommand{\subsubparagraphmark}[1]{}% for page headers 7 Cross references ****************** @@ -2188,19 +2534,30 @@ centered. Synopsis: \begin{description} - \item [FIRST LABEL] text of first item - \item [SECOND LABEL] text of second item + \item[LABEL OF FIRST ITEM] text of first item + \item[LABEL OF SECOND ITEM] text of second item ... \end{description} - Environment to make a labelled list of items. Each item's LABEL is -typeset in bold, flush-left. Each item's text may contain multiple -paragraphs. Although the labels on the items are optional there is no -sensible default, so all items should have labels. + Environment to make a labeled list of items. Each item's LABEL is +typeset in bold, and is flush left so that long labels continue into the +first line of the item text. There must be at least one item; having +none causes the LaTeX error 'Something's wrong--perhaps a missing +\item'. - The list consists of at least one item, created with the '\item' -command (*note \item::). Having no items causes the LaTeX error -'Something's wrong--perhaps a missing \item'). + This example shows the environment used for a sequence of +definitions. The labels 'lama' and 'llama' come out in boldface with +their left edges aligned on the left margin. + + \begin{definition} + \item[lama] A priest. + \item[llama] A beast. + \end{definition} + + Start list items with the '\item' command (*note \item::). Use the +optional labels, as in '\item[Main point]', because there is no sensible +default. Following the '\item' is optional text, which may contain +multiple paragraphs. Since the labels are in bold style, if the label text calls for a font change given in argument style (see *note Font styles::) then it @@ -2208,20 +2565,21 @@ will come out bold. For instance, if the label text calls for typewriter with '\item[\texttt{label text}]' then it will appear in bold typewriter, if that is available. The simplest way to get non-bold typewriter is to use declarative style: '\item[{\tt label text}]'. -Similarly, to get the standard roman font, use '\item[{\rm label -text}]'. +Similarly, get the standard roman font with '\item[{\rm label text}]'. For other major LaTeX labelled list environments, see *note itemize:: -and *note enumerate::. For information about customizing list layout, -see *note list::; also, the package 'enumitem' is useful for this. +and *note enumerate::. Unlike those environments, nesting 'description' +environments does not change the default label; it is boldface and flush +left at all levels. - This example shows the environment used for a sequence of -definitions. + For information about list layout parameters, including the default +values, and for information about customizing list layout, see *note +list::. The package 'enumitem' is useful for customizing lists. - \begin{definition} - \item[lama] A priest. - \item[llama] A beast. - \end{definition} + This example changes the description labels to small caps. + + \renewcommand{\descriptionlabel}[1]{% + {\hspace{\labelsep}\textsc{#1}}} 8.5 'displaymath' ================= @@ -2229,32 +2587,31 @@ definitions. Synopsis: \begin{displaymath} - ... math text ... + MATH TEXT \end{displaymath} Environment to typeset the math text on its own line, in display style and centered. To make the text be flush-left use the global option 'fleqn'; see *note Document class options::. - LaTeX will not break the math text across lines. - In the 'displaymath' environment no equation number is added to the math text. One way to get an equation number is to use the 'equation' environment (*note equation::). - Note that the 'amsmath' package has extensive displayed equation -facilities. Those facilities are the best approach for such output in -new documents. For example, there are a number of options in that -package for having math text broken across lines. - - The construct '\[..math text..\]' is essentially a synonym for -'\begin{displaymath}..math text..\end{displaymath}' but the latter is -easier to work with in the source file; for instance, searching for a -square bracket may get false positives but the word 'displaymath' will -likely be unique. (The construct '$$..math text..$$' from Plain TeX is -sometimes mistakenly used as a synonym for 'displaymath'. It is not a -synonym, because the 'displaymath' environment checks that it isn't -started in math mode and that it ends in math mode begun by the matching + LaTeX will not break the MATH TEXT across lines. + + Note that the 'amsmath' package has significantly more extensive +displayed equation facilities. For example, there are a number of ways +in that package for having math text broken across lines. + + The construct '\[MATH TEXT\]' is essentially a synonym for +'\begin{displaymath}MATH TEXT\end{displaymath}' but the latter is easier +to work with in the source file; for instance, searching for a square +bracket may get false positives but the word 'displaymath' will likely +be unique. (The construct '$$MATH TEXT$$' from Plain TeX is sometimes +mistakenly used as a synonym for 'displaymath'. It is not a synonym, +because the 'displaymath' environment checks that it isn't started in +math mode and that it ends in math mode begun by the matching environment start, because the 'displaymath' environment has different vertical spacing, and because the 'displaymath' environment honors the 'fleqn' option.) @@ -2272,6 +2629,9 @@ vertical spacing, and because the 'displaymath' environment honors the The 'document' environment encloses the entire body of a document. It is required in every LaTeX document. *Note Starting and ending::. +8.6.1 '\AtBeginDocument' +------------------------ + Synopsis: \AtBeginDocument{CODE} @@ -2285,6 +2645,9 @@ you cannot do any typesetting with it. You can issue this command more than once; the successive code lines will be executed in the order that you gave them. +8.6.2 '\AtEndDocument' +---------------------- + Synopsis: \AtEndDocument{CODE} @@ -2304,33 +2667,38 @@ will be executed in the order that you gave them. Synopsis: \begin{enumerate} - \item [FIRST LABEL] text of first item - \item [SECOND LABEL] text of second item + \item[OPTIONAL LABEL OF FIRST ITEM] text of first item + \item[OPTIONAL LABEL OF SECOND ITEM] text of second item ... \end{enumerate} Environment to produce a numbered list of items. The format of the -label numbering depends on whether this environment is nested within -another; see below. - - The list consists of at least one item. Having no items causes the -LaTeX error 'Something's wrong--perhaps a missing \item'. Each item is -produced with an '\item' command. +label numbering depends on the nesting level of this environment; see +below. The default top-level numbering is '1.', '2.', etc. Each +'enumerate' list environment must have at least one item; having none +causes the LaTeX error 'Something's wrong--perhaps a missing \item'. - This example lists the top two finishers in the 1908 Olympic -marathon. + This example gives the first two finishers in the 1908 Olympic +marathon. As a top-level list the labels would come out as '1.' and +'2.'. \begin{enumerate} \item Johnny Hayes (USA) \item Charles Hefferon (RSA) \end{enumerate} - Enumerations may be nested within a paragraph-making environment, -including 'itemize' (*note itemize::), 'description' (*note -description::) and 'enumeration', up to four levels deep. The format of -the label produced depends on the place in the nesting. This gives -LaTeX's default for the format at each nesting level (where 1 is the -outermost level): + Start list items with the '\item' command (*note \item::). If you +give '\item' an optional argument by following it with square brackets, +as in '\item[Interstitial label]', then the next item will continue the +interrupted sequence (*note \item::). That is, you will get labels like +'1.', then 'Interstitial label', then '2.'. Following the '\item' is +optional text, which may contain multiple paragraphs. + + Enumerations may be nested within other 'enumerate' environments, or +within any paragraph-making environment such as 'itemize' (*note +itemize::), up to four levels deep. This gives LaTeX's default for the +format at each nesting level, where 1 is the top level, the outermost +level. 1. arabic number followed by a period: '1.', '2.', ... 2. lower case letter inside parentheses: '(a)', '(b)' ... @@ -2338,27 +2706,27 @@ outermost level): 4. upper case letter followed by a period: 'A.', 'B.', ... The 'enumerate' environment uses the counters '\enumi' through -'\enumiv' counters (*note Counters::). If you use the optional argument -to '\item' then the counter is not incremented for that item (*note -\item::). +'\enumiv' (*note Counters::). + + For other major LaTeX labeled list environments, see *note +description:: and *note itemize::. For information about list layout +parameters, including the default values, and for information about +customizing list layout, see *note list::. The package 'enumitem' is +useful for customizing lists. To change the format of the label use '\renewcommand' (*note \newcommand & \renewcommand::) on the commands '\labelenumi' through '\labelenumiv'. For instance, this first level list will be labelled -with uppercase letters, in boldface, and without a trailing period: +with uppercase letters, in boldface, and without a trailing period. \renewcommand{\labelenumi}{\textbf{\Alph{enumi}}} \begin{enumerate} - \item eI - \item bi: - \item si: + \item Shows as boldface A + \item Shows as boldface B \end{enumerate} - For a list of counter-labelling commands like '\Alph' see *note \alph -\Alph \arabic \roman \Roman \fnsymbol::. - - For more on customizing the layout see *note list::. Also, the -package 'enumitem' is useful for this. + For a list of counter-labeling commands see *note \alph \Alph \arabic +\roman \Roman \fnsymbol::. 8.8 'eqnarray' ============== @@ -2428,6 +2796,10 @@ equation number in the right margin. The equation number is generated using the 'equation' counter. + You should have no blank lines between '\begin{equation}' and +'\begin{equation}', or LaTeX will tell you that there is a missing +dollar sign, $'$'. + Note that the 'amsmath' package has extensive displayed equation facilities. Those facilities are the best approach for such output in new documents. @@ -2594,88 +2966,69 @@ paragraph unit. Synopsis: \begin{itemize} - \item ITEM1 - \item ITEM2 + \item[OPTIONAL LABEL OF FIRST ITEM] text of first item + \item[OPTIONAL LABEL OF SECOND ITEM] text of second item ... \end{itemize} The 'itemize' environment produces an "unordered", "bulleted" list. -Itemized lists can be nested within one another, up to four levels deep. -They can also be nested within other paragraph-making environments, such -as 'enumerate' (*note enumerate::). - - Each item of an 'itemize' list begins with an '\item' command. There -must be at least one '\item' command within the environment. +The format of the label numbering depends on the nesting level of this +environment; see below. Each 'itemize' list environment must have at +least one item; having none causes the LaTeX error 'Something's +wrong--perhaps a missing \item'. - By default, the marks at each level look like this: + This example gives a two-item list. As a top-level list each label +would come out as a bullet, *. - 1. * (bullet) - 2. -- (bold en-dash) - 3. * (asterisk) - 4. . (centered dot, rendered here as a period) + \begin{itemize} + \item Pencil and watercolor sketch by Cassandra + \item Rice portrait + \end{itemize} - The 'itemize' environment uses the commands '\labelitemi' through -'\labelitemiv' to produce the default label. So, you can use -'\renewcommand' to change the labels. For instance, to have the first -level use diamonds: + Start list items with the '\item' command (*note \item::). If you +give '\item' an optional argument by following it with square brackets, +as in '\item[Optional label]', then by default it will appear in bold +and be flush right, so it could extend into the left margin. For labels +that are flush left see the *note description:: environment. Following +the '\item' is optional text, which may contain multiple paragraphs. + + Itemized lists can be nested within one another, up to four levels +deep. They can also be nested within other paragraph-making +environments, such as 'enumerate' (*note enumerate::). The 'itemize' +environment uses the commands '\labelitemi' through '\labelitemiv' to +produce the default label (this also uses the convention of lower case +roman numerals at the end of the command names that signify the nesting +level). These are the default marks at each level. + + 1. * (bullet, from '\textbullet') + 2. -- (bold en-dash, from '\normalfont\bfseries\textendash') + 3. * (asterisk, from '\textasteriskcentered') + 4. . (centered dot, rendered here as a period, from + '\textperiodcentered') + + Change the labels with '\renewcommand'. For instance, this makes the +first level use diamonds. \renewcommand{\labelitemi}{$\diamond$} - The '\leftmargini' through '\leftmarginvi' parameters define the -distance between the left margin of the enclosing environment and the -left margin of the list. By convention, '\leftmargin' is set to the -appropriate '\leftmarginN' when a new level of nesting is entered. - - The defaults vary from '.5em' (highest levels of nesting) to '2.5em' -(first level), and are a bit reduced in two-column mode. This example -greatly reduces the margin space for outermost lists: - - \setlength{\leftmargini}{1.25em} % default 2.5em - - Some parameters that affect list formatting: - -'\itemindent' - Extra indentation before each item in a list; default zero. - -'\labelsep' - Space between the label and text of an item; default '.5em'. - -'\labelwidth' - Width of the label; default '2em', or '1.5em' in two-column mode. - -'\listparindent' - Extra indentation added to second and subsequent paragraphs within - a list item; default '0pt'. - -'\rightmargin' - Horizontal distance between the right margin of the list and the - enclosing environment; default '0pt', except in the 'quote', - 'quotation', and 'verse' environments, where it is set equal to - '\leftmargin'. - - Parameters affecting vertical spacing between list items (rather -loose, by default). + The distance between the left margin of the enclosing environment and +the left margin of the 'itemize' list is determined by the parameters +'\leftmargini' through '\leftmarginvi'. (Note the convention of using +lower case roman numerals a the end of the command name to denote the +nesting level.) The defaults are: '2.5em' in level 1 ('2em' in +two-column mode), '2.2em' in level 2, '1.87em' in level 3, and '1.7em' +in level 4, with smaller values for more deeply nested levels. -'\itemsep' - Vertical space between items. The default is '2pt plus1pt - minus1pt' for '10pt' documents, '3pt plus2pt minus1pt' for '11pt', - and '4.5pt plus2pt minus1pt' for '12pt'. + For other major LaTeX labeled list environments, see *note +description:: and *note enumerate::. For information about list layout +parameters, including the default values, and for information about +customizing list layout, see *note list::. The package 'enumitem' is +useful for customizing lists. -'\parsep' - Extra vertical space between paragraphs within a list item. - Defaults are the same as '\itemsep'. + This example greatly reduces the margin space for outermost itemized +lists. -'\topsep' - Vertical space between the first item and the preceding paragraph. - For top-level lists, the default is '8pt plus2pt minus4pt' for - '10pt' documents, '9pt plus3pt minus5pt' for '11pt', and '10pt - plus4pt minus6pt' for '12pt'. These are reduced for nested lists. - -'\partopsep' - Extra space added to '\topsep' when the list environment starts a - paragraph. The default is '2pt plus1pt minus1pt' for '10pt' - documents, '3pt plus1pt minus1pt' for '11pt', and '3pt plus2pt - minus2pt' for '12pt'. + \setlength{\leftmargini}{1.25em} % default 2.5em Especially for lists with short items, it may be desirable to elide space between items. Here is an example defining an 'itemize*' @@ -2698,50 +3051,307 @@ This environment is used for creating letters. *Note Letters::. 8.16 'list' =========== -The 'list' environment is a generic environment which is used for -defining many of the more specific environments. It is seldom used in -documents, but often in macros. +Synopsis: \begin{list}{LABELING}{SPACING} - \item ITEM1 - \item ITEM2 + \item[OPTIONAL LABEL OF FIRST ITEM] text of first item + \item[OPTIONAL LABEL OF SECOND ITEM] text of second item ... \end{list} - The mandatory LABELING argument specifies how items should be -labelled (unless the optional argument is supplied to '\item'). This -argument is a piece of text that is inserted in a box to form the label. -It can and usually does contain other LaTeX commands. + The 'list' environment is a generic environment for constructing more +specialized lists. It is most often used to create lists via the +'description', 'enumerate', and 'itemize' environments (*note +description::, *note enumerate::, and *note itemize::). - The mandatory SPACING argument contains commands to change the -spacing parameters for the list. This argument will most often be -empty, i.e., '{}', which leaves the default spacing. + Also, many standard LaTeX environments that are not visually lists +are constructed using 'list', including 'quotation', 'quote', 'center', +'verbatim', and plenty more (*note quotation and quote::, *note +center::, *note flushright::). - The width used for typesetting the list items is specified by -'\linewidth' (*note Page layout parameters::). + The third-party package 'enumitem' is useful for customizing lists. +Here, we describe the 'list' environment by defining a new custom +environment. -8.16.1 '\item': An entry in a list. ------------------------------------ + \newcounter{namedlistcounter} % number the items + \newenvironment{named} + {\begin{list} + {Item~\Roman{namedlistcounter}.} % labeling argument + {\usecounter{namedlistcounter} % spacing argument + \setlength{\leftmargin}{3.5em}} % still spacing arg + } + {\end{list}} + + \begin{named} + \item Shows as ``Item~I.'' + \item[Special label.] Shows as ``Special label.'' + \item Shows as ``Item~II.'' + \end{named} + + The 'list' environment's mandatory first argument, LABELING, +specifies the default labeling of list items. It can contain text and +LaTeX commands, as above where it contains both 'Item' and +'\Roman{...}'. LaTeX forms the label by putting the LABELING argument +in a box of width '\labelwidth'. If the label is wider than that, the +additional material extends to the right. When making an instance of a +list you can override the default labeling by giving '\item' an optional +argument by including square braces and the text, as in the above +'\item[Special label.]'; *note \item::. + + The label box is constructed by the command '\makelabel'. By default +it positions the contents flush right. It takes one argument, the +label. It typesets the contents in LR mode. An example of changing its +definition is that to the above example before the definition of the +'named' environment add '\newcommand{\namedmakelabel}[1]{\textsc{#1}}', +and between the '\setlength' command and the parenthesis that closes the +SPACING argument also add '\let\makelabel\namedmakelabel'. Then the +items will be typeset in small caps. Similarly, changing the second +code line to '\let\makelabel\fbox' puts the labels inside a framed box. +Another example is at the bottom of this entry. + + The mandatory second argument SPACING can have a list of commands to +redefine the spacing parameters for the list, such as +'\setlength{\labelwidth}{2em}'. If this argument is empty, i.e., '{}', +then the list will have the default spacing given below. To number the +items using a counter, put '\usecounter{COUNTERNAME}' in this argument +(*note \usecounter::). + + Below are the spacing parameters for list formatting. See also the +figure below. Each is a length (*note Lengths::). The vertical spaces +are normally rubber lengths, with 'plus' and 'minus' components, to give +TeX flexibility in setting the page. Change each with a command such as +'\setlength{itemsep}{2pt plus1pt minus1pt}'. For some effects these +lengths should be zero or negative. Default values for derived +environments such as 'itemize' can be changed from the values shown here +for the basic 'list'. + +'\itemindent' + Extra horizontal space indentation, beyond 'leftmargin', of the + first line each item. Its default value is '0pt'. + +'\itemsep' + Vertical space between items, beyond the '\parsep'. The defaults + for the first three levels in LaTeX's 'article', 'book', and + 'report' classes at 10 point size are: '4pt plus2pt minus1pt', + '\parsep' (that is, '2pt plus1pt minus1pt'), and '\topsep' (that + is, '2pt plus1pt minus1pt'). The defaults at 11 point are: '4.5pt + plus2pt minus1pt', '\parsep' (that is, '2pt plus1pt minus1pt'), and + 'topsep' (that is, '2pt plus1pt minus1pt'). The defaults at 12 + point are: '5pt plus2.5pt minus1pt', '\parsep' (that is, '2.5pt + plus1pt minus1pt'), and '\topsep' (that is, '2.5pt plus1pt + minus1pt'). + +'\labelsep' + Horizontal space between the label and text of an item. The + default for LaTeX's 'article', 'book', and 'report' classes is + '0.5em'. + +'\labelwidth' + Horizontal width. The box containing the label is nominally this + wide. If '\makelabel' returns text that is wider than this then + the first line of the item will be indented to make room for this + extra material. If '\makelabel' returns text of width less than or + equal to '\labelwidth' then LaTeX's default is that the label is + typeset flush right in a box of this width. + + The left edge of the label box is + '\leftmargin'+'\itemindent'-'\labelsep'-'\labelwidth' from the left + margin of the enclosing environment. + + The default for LaTeX's 'article', 'book', and 'report' classes at + the top level is '\leftmargini'-'\labelsep', (which is '2em' in one + column mode and '1.5em' in two column mode). At the second level + it is '\leftmarginii'-'\labelsep', and at the third level it is + '\leftmarginiii'-'\labelsep'. These definitions make the label's + left edge coincide with the left margin of the enclosing + environment. + +'\leftmargin' + Horizontal space between the left margin of the enclosing + environment (or the left margin of the page if this is a top-level + list), and the left margin of this list. It must be non-negative. + + In the standard LaTeX document classes, a top-level list has this + set to the value of '\leftmargini', while a list that is nested + inside a top-level list has this margin set to '\leftmarginii'. + More deeply nested lists get the values of '\leftmarginiii' through + '\leftmarginvi'. (Nesting greater than level five generates the + error message 'Too deeply nested'.) + + The defaults for the first three levels in LaTeX's 'article', + 'book', and 'report' classes are: '\leftmargini' is '2.5em' (in two + column mode, '2em'), '\leftmarginii' is '2.2em', and + '\leftmarginiii' is '1.87em'. + +'\listparindent' + Horizontal space of additional line indentation, beyond + '\leftmargin', for second and subsequent paragraphs within a list + item. A negative value makes this an "outdent". Its default value + is '0pt'. + +'\parsep' + Vertical space between paragraphs within an item. In the 'book' + and 'article' classes The defaults for the first three levels in + LaTeX's 'article', 'book', and 'report' classes at 10 point size + are: '4pt plus2pt minus1pt', '2pt plus1pt minus1pt', and '0pt'. + The defaults at 11 point size are: '4.5pt plus2pt minus1pt', '2pt + plus1pt minus1pt', and '0pt'. The defaults at 12 point size are: + '5pt plus2.5pt minus1pt', '2.5pt plus1pt minus1pt', and '0pt'. + +'\partopsep' + Vertical space added, beyond '\topsep'+'\parskip', to the top and + bottom of the entire environment if the list instance is preceded + by a blank line. (A blank line in the LaTeX source before the list + changes spacing at both the top and bottom of the list; whether the + line following the list is blank does not matter.) + + The defaults for the first three levels in LaTeX's 'article', + 'book', and 'report' classes at 10 point size are: '2pt plus1 + minus1pt', '2pt plus1pt minus1pt', and '1pt plus0pt minus1pt'. The + defaults at 11 point are: '3pt plus1pt minus1pt', '3pt plus1pt + minus1pt', and '1pt plus0pt minus1pt'). The defaults at 12 point + are: '3pt plus2pt minus3pt', '3pt plus2pt minus2pt', and '1pt + plus0pt minus1pt'. + +'\rightmargin' + Horizontal space between the right margin of the list and the right + margin of the enclosing environment. Its default value is '0pt'. + It must be non-negative. + +'\topsep' + Vertical space added to both the top and bottom of the list, in + addition to '\parskip' (*note \parskip::). The defaults for the + first three levels in LaTeX's 'article', 'book', and 'report' + classes at 10 point size are: '8pt plus2pt minus4pt', '4pt plus2pt + minus1pt', and '2pt plus1pt minus1pt'. The defaults at 11 point + are: '9pt plus3pt minus5pt', '4.5pt plus2pt minus1pt', and '2pt + plus1pt minus1pt'. The defaults at 12 point are: '10pt plus4pt + minus6pt', '5pt plus2.5pt minus1pt', and '2.5pt plus1pt minus1pt'. + + This shows the horizontal and vertical distances. + +....................................................................... +..............Surrounding environment, preceding material.............. - + | v0 + |---h0--|-h1-| | + ..Label.. .....First item..................................... - + ............................................................ + ............................................................ - + | v1 + ........First item, second paragraph .................. - + |-h2-| | v2 + | + ..Label.. .....Second item.................................... - + ............................................................ + ............................................................ - +|-h3--|-h4-| |-h5-| |v3 + | +..............Surrounding environment, following material.............. - +....................................................................... + The lengths shown are listed below. The key relationship is that the +right edge of the bracket for H1 equals the right edge of the bracket +for H4, so that the left edge of the label box is at H3+H4-(H0+H1). + +V0 + '\topsep' + '\parskip' if the list environment does not start a new + paragraph, and '\topsep'+'\parskip'+'\partopsep' if it does + +V1 + '\parsep' + +V2 + '\itemsep'+'\parsep' + +V3 + Same as V0. (This space is affected by whether a blank line + appears in the source above the environment; whether a blank line + appears in the source below the environment does not matter.) + +H1 + '\labelsep' + +H2 + '\listparindent' + +H3 + '\leftmargin' + +H4 + '\itemindent' + +H5 + '\rightmargin' + + The list's left and right margins, shown above as H3 and H5, are with +respect to the ones provided by the surrounding environment, or with +respect to the page margins for a top-level list. The line width used +for typesetting the list items is '\linewidth' (*note Page layout +parameters::). For instance, set the list's left margin to be one +quarter of the distance between the left and right margins of the +enclosing environment with '\setlength{\leftmargin}{0.25\linewidth}'. + + Page breaking in a list structure is controlled by the three +parameters below. For each, the LaTeX default is '-\@lowpenalty', that +is, '-51'. Because it is negative, it somewhat encourages a page break +at each spot. Change it with, e.g., '\@beginparpenalty=9999'; a value +of 10000 prohibits a page break. + +'\@beginparpenalty' + The page breaking penalty for breaking before the list (default + '-51'). + +'\@itempenalty' + The page breaking penalty for breaking before a list item (default + '-51'). + +'\@endparpenalty' + The page breaking penalty for breaking after a list (default + '-51'). + + This example has the labels in red. They are numbered, and the left +edge of the label lines up with the left edge of the item text. + + \usepackage{color} + \newcounter{cnt} + \newcommand{\makeredlabel}[1]{\textcolor{red}{#1.}} + \newenvironment{redlabel} + {\begin{list} + {\arabic{cnt}} + {\usecounter{cnt} + \setlength{\labelwidth}{0em} + \setlength{\labelsep}{0.5em} + \setlength{\leftmargin}{1.5em} + \setlength{\itemindent}{0.5em} % equals \labelwidth+\labelsep + \let\makelabel=\makeredlabel + } + } + {\end{list} } + +8.16.1 '\item': An entry in a list +---------------------------------- Synopsis: \item text of item or - \item[OPTIONAL LABEL] text of item + \item[OPTIONAL-LABEL] text of item An entry in a list. The entries are prefixed by a label, whose default depends on the list type. - Because the optional argument OPTIONAL LABEL is surrounded by square -brackets ('[' and ']'), to use square brackets inside the optional -argument you must hide them inside curly braces, as in '\item[Close -square bracket, {]}]'. Similarly, to use an open square bracket as -first character in the text of the item, also hide it inside curly -braces. *Note LaTeX command syntax::. + Because the optional label is surrounded by square brackets '[...]', +if you have an item whose text starts with '[', you have to to hide the +bracket inside curly braces, as in: '\item {[} is an open square +bracket'; otherwise, LaTeX will think it marks the start of an optional +label. - In this example the 'enumerate' list has two items that use the -default label and one that uses the optional label. + Similarly, if the item does have the optional label and you need a +close square bracket inside that label, you must hide it in the same +way: '\item[Close square bracket, {]}]'. *Note LaTeX command syntax::. + + In this example the enumerate list has two items that use the default +label and one that uses the optional label. \begin{enumerate} \item Moe @@ -2750,9 +3360,46 @@ default label and one that uses the optional label. \end{enumerate} The first item is labelled '1.', the second item is labelled -'sometimes', and the third item is labelled '2.' (note that, because of -the optional label in the second item, the third item does not get a -'3.'). +'sometimes', and the third item is labelled '2.'. Because of the +optional label in the second item, the third item is not labelled '3.'. + +8.16.2 'trivlist': A restricted form of 'list' +---------------------------------------------- + +Synopsis: + + \begin{trivlist} + ... + \end{trivlist} + + A restricted version of the list environment, in which margins are +not indented and an '\item' without an optional argument produces no +text. It is most often used in macros, to define an environment where +the '\item' command as part of the environment's definition. For +instance, the 'center' environment is defined essentially like this: + + \newenvironment{center} + {\begin{trivlist}\centering\item\relax} + {\end{trivlist}} + + Using 'trivlist' in this way allows the macro to inherit some common +code: combining vertical space of two adjacent environments; detecting +whether the text following the environment should be considered a new +paragraph or a continuation of the previous one; adjusting the left and +right margins for possible nested list environments. + + Specifically, 'trivlist' uses the current values of the list +parameters (*note list::), except that '\parsep' is set to the value of +'\parskip', and '\leftmargin', '\labelwidth', and '\itemindent' are set +to zero. + + This example outputs the items as two paragraphs, except that (by +default) they have no paragraph indent and are vertically separated. + + \begin{trivlist} + \item The \textit{Surprise} is not old; no one would call her old. + \item She has a bluff bow, lovely lines. + \end{trivlist} 8.17 'math' =========== @@ -2763,7 +3410,7 @@ Synopsis: MATH \end{math} - The 'math' environment inserts the given MATH within the running + The 'math' environment inserts given MATH material within the running text. '\(...\)' and '$...$' are synonyms. *Note Math formulas::. 8.18 'minipage' @@ -3108,23 +3755,64 @@ short quotation or a sequence of short quotations. Synopsis: \begin{tabbing} - ROW1COL1 \= ROW1COL2 \= ROW1COL3 \= ROW1COL4 \\ - ROW2COL1 \> \> ROW2COL3 \\ + ROW1COL1 \= ROW1COL2 ... \\ + ROW2COL1 \> ROW2COL2 ... \\ ... \end{tabbing} - The 'tabbing' environment provides a way to align text in columns. -It works by setting tab stops and tabbing to them much as was done on an -ordinary typewriter. It is best suited for cases where the width of -each column is constant and known in advance. + The 'tabbing' environment aligns text in columns. It works by +setting tab stops and tabbing to them much as was done on a typewriter. +It is best suited for cases where the width of each column is constant +and known in advance. - This environment can be broken across pages, unlike the 'tabular' -environment. + This example has a first line where the tab stops are set to explicit +widths, ended by a '\kill' command (which is described below): + + \begin{tabbing} + \hspace{0.75in} \= \hspace{0.40in} \= \hspace{0.40in} \kill + Ship \> Guns \> Year \\ + \textit{Sophie} \> 14 \> 1800 \\ + \textit{Polychrest} \> 24 \> 1803 \\ + \textit{Lively} \> 38 \> 1804 \\ + \textit{Surprise} \> 28 \> 1805 \\ + \end{tabbing} - The following commands can be used inside a 'tabbing' environment: + Both the 'tabbing' environment and the more widely-used 'tabular' +environment put text in columns. The most important distinction is that +in 'tabular' the width of columns is determined automatically by LaTeX, +while in 'tabbing' the user sets the tab stops. Another distinction is +that 'tabular' generates a box, but 'tabbing' can be broken across +pages. Finally, while 'tabular' can be used in any mode, 'tabbing' can +be used only in paragraph mode and it starts a new paragraph. + + A 'tabbing' environment always starts a new paragraph, without +indentation. Moreover, as shown in the example above, there is no need +to use the starred form of the '\hspace' command at the beginning of a +tabbed row. The right margin of the 'tabbing' environment is the end of +line, so that the width of the environment is '\linewidth'. + + The 'tabbing' environment contains a sequence of "tabbed rows". The +first tabbed row begins immediately after '\begin{tabbing}' and each row +ends with '\\' or '\kill'. The last row may omit the '\\' and end with +just '\end{tabbing}'. + + At any point the 'tabbing' environment has a current tab stop +pattern, a sequence of N > 0 tab stops, numbered 0, 1, etc. These +create N corresponding columns. Tab stop 0 is always the left margin, +defined by the enclosing environment. Tab stop number I is set if it is +assigned a horizontal position on the page. Tab stop number I can only +be set if all the stops 0, ..., i-1 have already been set; normally +later stops are to the right of earlier ones. + + By default any text typeset in a 'tabbing' environment is typeset +ragged right and left-aligned on the current tab stop. Typesetting is +done in LR mode (*note Modes::). + + The following commands can be used inside a 'tabbing' environment. +They are all fragile (*note \protect::). '\\ (tabbing)' - End a line. + End a tabbed line and typeset it. '\= (tabbing)' Sets a tab stop at the current position. @@ -3147,28 +3835,28 @@ environment. '\' (tabbing)' Moves everything that you have typed so far in the current column, i.e., everything from the most recent '\>', '\<', '\'', '\\', or - '\kill' command, to the right of the previous column, flush against - the current column's tab stop. + '\kill' command, to the previous column and aligned to the right, + flush against the current column's tab stop. '\` (tabbing)' 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 '\`' command moves all the text that follows it, up to the '\\' or '\end{tabbing}' - command that ends the line, to the right margin of the tabbing + command that ends the line, to the right margin of the 'tabbing' environment. There must be no '\>' or '\'' command between the - '\`' and the command that ends the line. + '\`' and the '\\' or '\end{tabbing}' command that ends the line. '\a (tabbing)' In a 'tabbing' environment, the commands '\=', '\'' and '\`' do not - produce accents as usual (*note Accents::). Instead, the commands - '\a=', '\a'' and '\a`' are used. + produce accents as usual (*note Accents::). Instead, use the + commands '\a=', '\a'' and '\a`'. '\kill' Sets tab stops without producing text. Works just like '\\' except that it throws away the current line instead of producing output - for it. The effect of any '\=', '\+' or '\-' commands in that line - remain in effect. + for it. Any '\=', '\+' or '\-' commands in that line remain in + effect. '\poptabs' Restores the tab stop positions saved by the last '\pushtabs'. @@ -3179,20 +3867,35 @@ environment. environment. '\tabbingsep' - Distance to left of tab stop moved by '\''. + Distance of the text moved by '\'' to left of current tab stop. - This example typesets a Pascal function in a traditional format: + This example typesets a Pascal function: \begin{tabbing} function \= fact(n : integer) : integer;\\ \> begin \= \+ \\ - \> if \= n $>$ 1 then \+ \\ + \> if \= n > 1 then \+ \\ fact := n * fact(n-1) \- \\ else \+ \\ fact := 1; \-\- \\ end;\\ \end{tabbing} + The output looks like this: + function fact(n : integer) : integer; + begin + if n > 1 then + fact := n * fact(n-1); + else + fact := 1; + end; + + (The above example is just for illustration of the environment. To +actually typeset computer code in typewriter like this, a verbatim +environment (*note verbatim::) would normally suffice. For +pretty-printed code, there are quite a few packages, including +'algorithm2e', 'fancyvrb', 'listings', and 'minted'.) + 8.22 'table' ============ @@ -3569,12 +4272,22 @@ Synopsis: The 'thebibliography' environment produces a bibliography or reference list. - In the 'article' class, this reference list is labelled "References"; -in the 'report' class, it is labelled "Bibliography". You can change -the label (in the standard classes) by redefining the command -'\refname'. For instance, this eliminates it entirely: + In the 'article' class, this reference list is labelled 'References' +and the label is stored in macro '\refname'; in the 'report' class, it +is labelled 'Bibliography' and the label is stored in macro '\bibname'. + + You can change the label by redefining the command '\refname' or +'\bibname', whichever is applicable depending on the class: + + * For standard classes whose top level sectioning is '\chapter' (such + as 'book' and 'report'), the label is in the macro '\bibname'; - \renewcommand{\refname}{} + * For standard classes whose the top level sectioning is '\section' + (such as 'article'), the label is in macro '\refname'. + + Typically it is neither necessary nor desirable to directly redefine +'\refname' or '\bibname'; language support packages like 'babel' do +this. The mandatory WIDEST-LABEL argument is text that, when typeset, is as wide as the widest item label produced by the '\bibitem' commands. It @@ -3729,7 +4442,8 @@ produces a printed '\'. It turns LaTeX into a typewriter with carriage returns and blanks having the same effect that they would on a typewriter. - The 'verbatim' uses a monospaced typewriter-like font ('\tt'). + The 'verbatim' environment uses a monospaced typewriter-like font +('\tt'). 8.27.1 '\verb' -------------- @@ -4616,11 +5330,14 @@ characters in each: 12.9 '\protect' =============== -All LaTeX commands are either "fragile" or "robust". Footnotes, line -breaks, any command that has an optional argument, and many more, are -fragile. A fragile command can break when it is used in the argument to -certain commands. To prevent such commands from breaking one solution -is to have them preceded by the command '\protect'. +All LaTeX commands are either "fragile" or "robust". A fragile command +can break when it is used in the argument to certain other commands. +Commands that contain data that LaTeX writes to an auxiliary file and +re-reads later are fragile. This includes material that goes into a +table of contents, list of figures, list of tables, etc. Fragile +commands also include line breaks, any command that has an optional +argument, and many more. To prevent such commands from breaking, one +solution is to preceded them with the command '\protect'. For example, when LaTeX runs the '\section{SECTION NAME}' command it writes the SECTION NAME text to the '.aux' auxiliary file, moving it @@ -4662,6 +5379,79 @@ because the '\(..\)' in the section title expands to illegal TeX in the \section{Einstein's \( e=mc^2 \)} ... +12.10 '\ignorespaces & \ignorespacesafterend' +============================================= + +Synopsis: + + \ignorespaces + + or + + \ignorespacesafterend + + Both commands cause LaTeX to ignore spaces after the end of the +command up until the first non-space character. The first is a command +from Plain TeX, and the second is LaTeX-specific. + + The 'ignorespaces' is often used when defining commands via +'\newcommand', or '\newenvironment', or '\def'. The example below +illustrates. It allows a user to show the points values for quiz +questions in the margin but it is inconvenient because, as shown in the +'enumerate' list, users must not put any space between the command and +the question text. + + \newcommand{\points}[1]{\makebox[0pt]{\makebox[10em][l]{#1~pts}} + \begin{enumerate} + \item\points{10}no extra space output here + \item\points{15} extra space output between the number and the word `extra' + \end{enumerate} + + The solution is to change to +'\newcommand{\points}[1]{\makebox[0pt]{\makebox[10em][l]{#1~pts}}\ignorespaces}'. + + A second example shows spaces being removed from the front of text. +The commands below allow a user to uniformly attach a title to names. +But, as given, if a title accidentally starts with a space then +'\fullname' will reproduce that. + + \makeatletter + \newcommand{\honorific}[1]{\def\@honorific{#1}} % remember title + \newcommand{\fullname}[1]{\@honorific~#1} % recall title; put before name + \makeatother + \begin{tabular}{|l|} + \honorific{Mr/Ms} \fullname{Jones} \\ % no extra space here + \honorific{ Mr/Ms} \fullname{Jones} % extra space before title + \end{tabular} + + To fix this, change to +'\newcommand{\fullname}[1]{\ignorespaces\@honorific~#1}'. + + The '\ignorespaces' is also often used in a '\newenvironment' at the +end of the BEGIN clause, that is, as part of the second argument, as in +'\begin{newenvironment}{ENV NAME}{... \ignorespaces}{...}'. + + To strip spaces off the end of an environment use +'\ignorespacesafterend'. An example is that this will show a much +larger vertical space between the first and second environments than +between the second and third. + + \newenvironment{eq}{\begin{equation}}{\end{equation}} + \begin{eq} + e=mc^2 + \end{eq} + \begin{equation} + F=ma + \end{equation} + \begin{equation} + E=IR + \end{equation} + + Putting a comment character '%' immediately after the '\end{eq}' will +make the vertical space disappear, but that is inconvenient. The +solution is to change to +'\newenvironment{eq}{\begin{equation}}{\end{equation}\ignorespacesafterend}'. + 13 Counters *********** @@ -5342,7 +6132,7 @@ mode, see *note \ensuremath::. down arrow '\downarrow'. '\ell' - U+2113 Lower-case cursive letter l (ordinary). + U+2113 Lowercase cursive letter l (ordinary). '\emptyset' U+2205 Empty set symbol (ordinary). The variant form is @@ -6517,38 +7307,103 @@ horizontally as far as needed (*note Lengths::). that does not disappear at line breaks use '\hspace*{\fill}' instead (*note \hspace::). -19.3 '\(SPACE)' and \@ -====================== +19.3 '\spacefactor' +=================== -Mark a punctuation character, typically a period, as either ending a +Synopsis: + + \spacefactor=INTEGER + + While LaTeX is making the page, to give the lines the best appearance +it may stretch or shrink the gaps between words. The '\spacefactor' +command (from Plain TeX) allows you to change the LaTeX's default +behavior. + + After LaTeX places each character, or rule or other box, it sets a +parameter called the "space factor". If the next thing in the input is +a space then this parameter affects how much of a horizontal gap LaTeX +will have it span. (This gap is not a character; it is called +"interword glue".) A larger space factor means that the glue gap can +stretch more and shrink less. + + Normally, the space factor is 1000; this value is in effect following +most characters, and any non-character box or math formula. But it is +3000 after a period, exclamation mark, or question mark, it is 2000 +after a colon, 1500 after a semicolon, 1250 after a comma, and 0 after a +right parenthesis or bracket, or closing double quote or single quote. +Finally, it is 999 after a capital letter. + + If the space factor F is 1000 then the glue gap will be the font's +normal space value (for Computer Modern Roman 10 point this is +3.3333 points). Otherwise, if the space factor F is greater than 2000 +then TeX adds the font's extra space value (for Computer Modern Roman 10 +point this is 1.11111 points), and then the font's normal stretch value +is multiplied by f /1000 and the normal shrink value is multiplied by +1000/f (for Computer Modern Roman 10 point these are 1.66666 and +1.11111 points). In short, compared to a normal space, such as the +space following a word ending in a lowercase letter, inter-sentence +spacing has a fixed extra space added and then the space can stretch 3 +times as much and shrink 1/3 as much. + + The rules for how TeX uses space factors are even more complex +because they play two more roles. In practice, there are two +consequences. First, if a period or other punctuation is followed by a +close parenthesis or close double quote then its effect is still in +place, that is, the following glue will have increased stretch and +shrink. Second, conversely, if punctuation comes after a capital letter +then its effect is not in place so you get an ordinary space. For how +to adjust to this second case, for instance if an abbreviation does not +end in a capital letter, *note \(SPACE) and \@::. + +19.3.1 '\(SPACE)' and '\@' +-------------------------- + +Here, '\(SPACE)' means a backslash followed by a space. These commands +mark a punctuation character, typically a period, as either ending a sentence or as ending an abbreviation. By default, in justifying a line LaTeX adjusts the space after a sentence-ending period (or a question mark, exclamation point, comma, or -colon) more than the space between words (*note \frenchspacing::). -LaTeX assumes that the period ends a sentence unless it is preceded by a -capital letter, in which case it takes that period for part of an -abbreviation. Note that if a sentence-ending period is immediately -followed by a right parenthesis or bracket, or right single or double -quote, then the inter-sentence space follows that parenthesis or quote. - - If you have a period ending an abbreviation whose last letter is not -a capital letter, and that abbreviation is not the last word in the +colon) more than the space between words. *Note \spacefactor::. As +described there, LaTeX assumes that the period ends a sentence unless it +is preceded by a capital letter, in which case it takes that period for +part of an abbreviation. Note that if a sentence-ending period is +immediately followed by a right parenthesis or bracket, or right single +or double quote, then the space effect of that period follows through +that parenthesis or quote. + + So: if you have a period ending an abbreviation whose last letter is +not a capital letter, and that abbreviation is not the last word in the sentence, then follow that period with a backslash-space ('\ ') or a tie -('~'). Examples are 'Nat.\ Acad.\ Science', and 'Mr.~Bean', and -'(manure, etc.)\ for sale'. - - For another use of '\ ', *note \(SPACE) after control sequence::. +('~') or a '\@'. Examples are 'Nat.\ Acad.\ Science', and 'Mr.~Bean', +and '(manure, etc.\@) for sale' (note that in the last the '\@' comes +before the closing parenthesis). In the opposite situation, if you have a capital letter followed by a -period that ends the sentence, then put '\@' before that period. For -example, 'book by the MAA\@.' will have inter-sentence spacing after the -period. +period that does end the sentence, then put '\@' before the period. For +example, 'book by the MAA\@.' will have correct inter-sentence spacing +after the period. - In contrast, putting '\@' after a period tells TeX that the period -does not end the sentence. In the example 'reserved words (if, then, -etc.\@) are different', TeX will put interword space after the closing -parenthesis (note that '\@' is before the parenthesis). + For another use of '\(SPACE)', *note \(SPACE) after control +sequence::. + +19.3.2 '\frenchspacing' +----------------------- + +This declaration (from Plain TeX) causes LaTeX to treat inter-sentence +spacing in the same way as interword spacing. + + In justifying the text in a line, some typographic traditions, +including English, prefer to adjust the space between sentences (or +after other punctuation marks) more than the space between words. +Following this declaration, all spaces are instead treated equally. + + Revert to the default behavior by declaring '\nonfrenchspacing'. + +19.3.3 '\normalsfcodes' +----------------------- + +Reset the LaTeX space factor values to the default. 19.4 '\ ' after control sequence ================================ @@ -6570,27 +7425,14 @@ punctuation mark. Compare: Some individual commands, notably those defined with the 'xspace', package do not follow the standard behavior. -19.5 '\frenchspacing' -===================== - -This declaration (from Plain TeX) causes LaTeX to treat inter-sentence -spacing in the same way as interword spacing. - - In justifying the text in a line, some typographic traditions, -including English, prefer to adjust the space between sentences (or -after other punctuation marks) more than the space between words. -Following this declaration, all spaces are instead treated equally. - - Revert to the default behavior by declaring '\nonfrenchspacing'. - -19.6 '\thinspace': Insert 1/6em +19.5 '\thinspace': Insert 1/6em =============================== '\thinspace' produces an unbreakable and unstretchable space that is 1/6 of an em. This is the proper space to use between nested quotes, as in '". -19.7 '\/': Insert italic correction +19.6 '\/': Insert italic correction =================================== The '\/' command produces an "italic correction". This is a small space @@ -6615,7 +7457,7 @@ after the 'f') with pdfTeX. There is no concept of italic correction in math mode; spacing is done in a different way. -19.8 '\hrulefill \dotfill' +19.7 '\hrulefill \dotfill' ========================== Produce an infinite rubber length (*note Lengths::) filled with a @@ -6638,7 +7480,7 @@ with '\renewcommand{\hrulefill}{\leavevmode\leaders\hrule height '\renewcommand{\dotfill}{\leavevmode\cleaders\hb@xt@ 1.00em{\hss .\hss }\hfill\kern\z@}', which changes the default length of 0.33em to 1.00em. -19.9 '\addvspace' +19.8 '\addvspace' ================= '\addvspace{LENGTH}' @@ -6660,8 +7502,8 @@ two consecutive Theorem's are separated by one vertical space, not two. were not in vertical mode when you invoked this command; one way to change that is to precede this command with a '\par' command. -19.10 '\bigskip \medskip \smallskip' -==================================== +19.9 '\bigskip \medskip \smallskip' +=================================== These commands produce a given amount of space, specified by the document class. @@ -6681,7 +7523,7 @@ document class. of a line space, with stretch and shrink (the default for the 'book' and 'article' classes is '3pt plus 1pt minus 1pt'). -19.11 '\vfill' +19.10 '\vfill' ============== End the current paragraph and insert a vertical rubber length (*note @@ -6706,7 +7548,7 @@ halfway between them. Lost Dog! \end{document} -19.12 '\vspace{LENGTH}' +19.11 '\vspace{LENGTH}' ======================= Synopsis, one of these two: @@ -6765,7 +7607,7 @@ specification of the box width with the optional WIDTH argument (a dimension), and positioning with the optional POSITION argument. Both commands produce a rule of thickness '\fboxrule' (default -'.4pt'), and leave a space of '\fboxsep' (default '3pt') between the +'0.4pt'), and leave a space of '\fboxsep' (default '3pt') between the rule and the contents of the box. *Note \framebox (picture)::, for the '\framebox' command in the @@ -6777,7 +7619,7 @@ rule and the contents of the box. Synopsis: \begin{lrbox}{\CMD} - TEXT + TEXT \end{lrbox} This is the environment form of *note '\sbox': \sbox. @@ -6818,7 +7660,7 @@ Synopsis: \parbox[POSITION][HEIGHT][INNER-POS]{WIDTH}{TEXT} The '\parbox' command produces a box whose contents are created in -'paragraph' mode. It should be used to make a box small pieces of text, +"paragraph mode". It should be used to make a box small pieces of text, with nothing fancy inside. In particular, you shouldn't use any paragraph-making environments inside a '\parbox' argument. For larger pieces of text, including ones containing a paragraph-making @@ -6903,13 +7745,979 @@ Synopsis: '\usebox' produces the box most recently saved in the bin \BOXCMD by a '\savebox' command (*note \savebox::). -21 Special insertions +21 Color +******** + +You can add color to text, rules, etc. You can also have color in a box +or on an entire page and write text on top of it. + + Color support comes as an additional package. So all the commands +below will only work if your document preamble contains +'\usepackage{color}', that brings in the standard package. + + Many other packages also supplement LaTeX's color abilities. +Particularly worth mentioning is 'xcolor', which is widely used and +significantly extends the capabilities described here, including adding +'HTML' and 'Hsb' color models. + +21.1 Color package options +========================== + +Synopsis (must be in the document preamble): + + \usepackage[COMMA-SEPARATED OPTION LIST]{color} + + When you load the 'color' package there are two kinds of available +options. + + The first specifies the "printer driver". LaTeX doesn't contain +information about different output systems but instead depends on +information stored in a file. Normally you should not specify the +driver option in the document, and instead rely on your system's +default. One advantage of this is that it makes the document portable +across systems. For completeness we include a list of the drivers. The +currently relevant ones are: 'dvipdfmx', 'dvips', 'dvisvgm', 'luatex', +'pdftex', 'xetex'. The two 'xdvi' and 'oztex' are essentially aliases +for 'dvips' (and 'xdvi' is monochrome). Ones that should not be used +for new systems are: 'dvipdf', 'dvipdfm', 'dviwin', 'dvipsone', 'emtex', +'pctexps', 'pctexwin', 'pctexhp', 'pctex32', 'truetex', 'tcidvi', 'vtex' +(and 'dviwindo' is an alias for 'dvipsone'). + + The second kind of options, beyond the drivers, are below. + +'monochrome' + Disable the color commands, so that they do not generate errors but + do not generate color either. + +'dvipsnames' + Make available a list of 68 color names that are often used, + particularly in legacy documents. These color names were + originally provided by the 'dvips' driver, giving the option name. + +'nodvipsnames' + Do not load that list of color names, saving LaTeX a tiny amount of + memory space. + +21.2 Color models +================= + +A "color model" is a way of representing colors. LaTeX's capabilities +depend on the printer driver. However, the 'pdftex', 'xetex', and +'luatex' printer drivers are today by far the most commonly used. The +models below work for those drivers. All but one of these is also +supported by essentially all other printer drivers used today. + + Note that color combination can be additive or subtractive. Additive +mixes colors of light, so that for instance combining full intensities +of red, green, and blue produces white. Subtractive mixes pigments, +such as with inks, so that combining full intensity of cyan, magenta, +and yellow makes black. + +'cmyk' + A comma-separated list with four real numbers between 0 and 1, + inclusive. The first number is the intensity of cyan, the second + is magenta, and the others are yellow and black. A number value of + 0 means minimal intensity, while a 1 is for full intensity. This + model is often used in color printing. It is a subtractive model. + +'gray' + A single real number between 0 and 1, inclusive. The colors are + shades of grey. The number 0 produces black while 1 gives white. + +'rgb' + A comma-separated list with three real numbers between 0 and 1, + inclusive. The first number is the intensity of the red component, + the second is green, and the third the blue. A number value of 0 + means that none of that component is added in, while a 1 means full + intensity. This is an additive model. + +'RGB' + ('pdftex', 'xetex', 'luatex' drivers) A comma-separated list with + three integers between 0 and 255, inclusive. This model is a + convenience for using 'rgb' since outside of LaTeX colors are often + described in a red-green-blue model using numbers in this range. + The values entered here are converted to the 'rgb' model by + dividing by 255. + +'named' + Colors are accessed by name, such as 'PrussianBlue'. The list of + names depends on the driver, but all support the names 'black', + 'blue', 'cyan', 'green', 'magenta', 'red', 'white', and 'yellow' + (See the 'dvipsnames' option in *note Color package options::). + +21.3 Commands for color +======================= + +These are the commands available with the 'color' package. + +21.3.1 Define colors +-------------------- + +Synopsis: + + \definecolor{NAME}{MODEL}{SPECIFICATION} + + Give the name NAME to the color. For example, after +'\definecolor{silver}{rgb}{0.75,0.75,0.74}' you can use that color name +with 'Hi ho, \textcolor{silver}{Silver}!'. + + This example gives the color a more abstract name, so it could change +and not be misleading. + + \definecolor{logocolor}{RGB}{145,92,131} % RGB needs pdflatex + \newcommand{\logo}{\textcolor{logocolor}{Bob's Big Bagels}} + + Often a document's colors are defined in the preamble, or in the +class or style, rather than in the document body. + +21.3.2 Colored text +------------------- + +Synopses: + + \textcolor{NAME}{...} + \textcolor[COLOR MODEL]{COLOR SPECIFICATION}{...} + + or + + \color{NAME} + \color[COLOR MODEL]{SPECIFICATION} + + The affected text gets the color. This line + + \textcolor{magenta}{My name is Ozymandias, king of kings:} Look on my works, ye Mighty, and despair! + + causes the first half to be in magenta while the rest is in black. +You can use a color declared with '\definecolor' in exactly the same way +that we just used the builtin color 'magenta'. + + \definecolor{MidlifeCrisisRed}{rgb}{1.0,0.11,0.0} + I'm thinking about getting a \textcolor{MidlifeCrisisRed}{sports car}. + + The two '\textcolor' and '\color' differ in that the first is a +command form, enclosing the text to be colored as an argument. Often +this form is more convenient, or at least more explicit. The second +form is a declaration, as in 'The moon is made of {\color{green} green} +cheese', so it is in effect until the end of the current group or +environment. This is sometimes useful when writing macros or as below +where it colors everything inside the 'center' environment, including +the vertical and horizontal lines. + + \begin{center} \color{blue} + \begin{tabular}{l|r} + UL &UR \\ \hline + LL &LR + \end{tabular} + \end{center} + + You can use color in equations. A document might have +'\definecolor{highlightcolor}{RGB}{225,15,0}' in the preamble, and then +contain this equation. + + \begin{equation} + \int_a^b \textcolor{highlightcolor}{f'(x)}\,dx=f(b)-f(a) + \end{equation} + + Typically the colors used in a document are declared in a class or +style but sometimes you want a one-off. Those are the second forms in +the synopses. + + Colors of \textcolor[rgb]{0.33,0.14,0.47}{Purple} and {\color[rgb]{0.72,0.60,0.37} Gold} for the team + + The format of COLOR SPECIFICATION depends on the color model (*note +Color models::). For instance, while 'rgb' takes three numbers, 'gray' +takes only one. + + The selection was \textcolor[gray]{0.5}{grayed out}. + + Colors inside colors do not combine. Thus + + \textcolor{green}{kind of \textcolor{blue}{blue}} + + has a final word that is blue, not a combination of blue and green. + +21.3.3 Colored boxes +-------------------- + +Synopses: + + \colorbox{NAME}{...} + \colorbox[MODEL NAME]{BOX BACKGROUND COLOR SPECIFICATION}{...} + + or + + \fcolorbox{FRAME COLOR}{BOX BACKGROUND COLOR}{...} + \fcolorbox[MODEL NAME]{FRAME COLOR SPECIFICATION}{BOX BACKGROUND COLOR SPECIFICATION}{...} + + Make a box with the stated background color. The '\fcolorbox' +command puts a frame around the box. For instance this + + Name:~\colorbox{cyan}{\makebox[5cm][l]{\strut}} + + makes a cyan-colored box that is five centimeters long and gets its +depth and height from the '\strut' (so the depth is '-.3\baselineskip' +and the height is '\baselineskip'). This puts white text on a blue +background. + + \colorbox{blue}{\textcolor{white}{Welcome to the machine.}} + + The '\fcolorbox' commands use the same parameters as '\fbox' (*note +\fbox and \framebox::), '\fboxrule' and '\fboxsep', to set the thickness +of the rule and the boundary between the box interior and the +surrounding rule. LaTeX's defaults are '0.4pt' and '3pt', respectively. + + This example changes the thickness of the border to 0.8 points. Note +that it is surrounded by curly braces so that the change ends at the end +of the second line. + + {\setlength{\fboxrule}{0.8pt} + \fcolorbox{black}{red}{Under no circumstances turn this knob.}} + +21.3.4 Colored pages +-------------------- + +Synopses: + + \pagecolor{NAME} + \pagecolor[COLOR MODEL]{COLOR SPECIFICATION} + \nopagecolor + + The first two set the background of the page, and all subsequent +pages, to the color. For an explanation of the specification in the +second form *note Colored text::. The third returns the background to +normal, which is a transparent background. (If that is not supported +use '\pagecolor{white}', although that will make a white background +rather than the default transparent background.) + + ... + \pagecolor{cyan} + ... + \nopagecolor + +22 Graphics +*********** + +You can use graphics such as PNG or PDF files in your LaTeX document. +You need an additional package, which comes standard with LaTeX. This +example is the short how-to. + + \include{graphicx} % goes in the preamble + ... + \includegraphics[width=0.5\linewidth]{plot.pdf} + + To use the commands described here your document preamble must +contain either '\usepackage{graphicx}' or '\usepackage{graphics}'. Most +of the time, 'graphicx' is the better choice. + + Graphics come in two main types, raster and vector. LaTeX can use +both. In raster graphics the file contains an entry for each location +in an array, describing what color it is. An example is a photograph, +in JPG format. In vector graphics, the file contains a list of +instructions such as 'draw a circle with this radius and that center'. +An example is a line drawing produced by the Asymptote program, in PDF +format. Generally vector graphics are more useful because you can +rescale their size without pixelation or other problems, and because +they often have a smaller size. + + There are systems particularly well-suited to make graphics for a +LaTeX document. For example, these allow you to use the same fonts as +in your document. LaTeX comes with a 'picture' environment (*note +picture::) that has simple capabilities. Besides that, there are other +ways to include the graphic-making commands in the document. Two such +systems are the PSTricks and TikZ packages. There are also systems +external to LaTeX, that generate a graphic that you include using the +commands of this chapter. Two that use a programming language are +Asymptote and MetaPost. One that uses a graphical interface is Xfig. +Full description of these systems is outside the scope of this document; +see their documentation. + +22.1 Graphics package options +============================= + +Synopsis (must be in the document preamble): + + \usepackage[COMMA-SEPARATED OPTION LIST]{graphics} + + or + + \usepackage[COMMA-SEPARATED OPTION LIST]{graphicx} + + The 'graphicx' package has a format for optional arguments to the +'\includegraphics' command that is convenient (it is the key-value +format), so it is the better choice for new documents. When you load +the 'graphics' or 'graphicx' package with '\usepackage' there are two +kinds of available options. + + The first is that LaTeX does not contain information about different +output systems but instead depends on information stored in a "printer +driver" file. Normally you should not specify the driver option in the +document, and instead rely on your system's default. One advantage of +this is that it makes the document portable across systems. + + For completeness here is a list of the drivers. The currently +relevant ones are: 'dvipdfmx', 'dvips', 'dvisvgm', 'luatex', 'pdftex', +'xetex'. The two 'xdvi' and 'oztex' are essentially aliases for 'dvips' +(and 'xdvi' is monochrome). Ones that should not be used for new +systems are: 'dvipdf', 'dvipdfm', 'dviwin', 'dvipsone', 'emtex', +'pctexps', 'pctexwin', 'pctexhp', 'pctex32', 'truetex', 'tcidvi', 'vtex' +(and 'dviwindo' is an alias for 'dvipsone'). These are stored in files +with a '.def' extension, such as 'pdftex.def'. + + The second kind of options are below. + +'demo' + Instead of an image file, LaTeX puts in a 150 pt by 100 pt + rectangle (unless another size is specified in the + '\includegraphics' command). + +'draft' + For each graphic file, it is not shown but instead the file name is + printed in a box of the correct size. In order to determine the + size, the file must be present. + +'final' + (Default) Override any previous 'draft' option, so that the + document shows the contents of the graphic files. + +'hiderotate' + Do not show rotated text. (This allows for the possibility that a + previewer does not have the capability to rotate text.) + +'hidescale' + Do not show scaled text. (This allows for the possibility that a + previewer does not have the capability to scale.) + +'hiresbb' + In a PS or EPS file the graphic size may be specified in two ways. + The '%%BoundingBox' lines describe the graphic size using integer + multiples of a PostScript point, that is, integer multiples of 1/72 + inch. A later addition to the PostScript language allows decimal + multiples, such as 1.23, in '%%HiResBoundingBox' lines. This + option has LaTeX to read the size from the latter. + +22.2 Graphics package configuration +=================================== + +These commands configure the way LaTeX searches the file system for the +graphic. + + The behavior of file system search code is necessarily platform +dependent. In this document we cover Linux, Macintosh, and Windows, as +those systems are typically configured. For other situations consult +the documentation in 'grfguide.pdf', or the LaTeX source, or your TeX +distribution's documentation. + +22.2.1 '\graphicspath' +---------------------- + +Synopsis: + + \graphicspath{LIST OF DIR NAMES INSIDE CURLY BRACKETS} + + Declare a list of directories to search for graphics files. This +allows you to later say something like '\includegraphics{lion.png}' +instead of having to give its path. + + LaTeX always looks for graphic files first in the current directory. +The declaration below tells the system to then look in the subdirectory +'pix', and then '../pix'. + + \usepackage{graphicx} % or graphics; put in preamble + ... + \graphicspath{ {pix/} {../pix/} } + + The '\graphicspath' declaration is optional. If you don't include it +then LaTeX's default is to search all of the places that it usually +looks for a file (it uses LaTeX's '\input@path'). In particular, in +this case one of the places it looks is the current directory. + + Enclose each directory name in curly braces; for example, above it +says ''{pix}''. Do this even if there is only one directory. Each +directory name must end in a forward slash, '/'. This is true even on +Windows, where good practice is to use forward slashes for all the +directory separators since it makes the document portable to other +platforms. If you have spaces in your directory name then use double +quotes, as with '{"my docs/"}'. Getting one of these rules wrong will +cause LaTeX to report 'Error: File `FILENAME' not found'. + + Basically, the algorithm is that with this example, after looking in +the current directory, + + \graphicspath{ {pix/} {../pix/} } + ... + \usepackage{lion.png} + + for each of the listed directories, LaTeX concatenates it with the +file name and searches for the result, checking for 'pix/lion.png' and +then '../pix/lion.png'. This algorithm means that the '\graphicspath' +command does not recursively search subdirectories: if you issue +'\graphicspath{{a/}}' and the graphic is in 'a/b/lion.png' then LaTeX +will not find it. It also means that you can use absolute paths such as +'\graphicspath{{/home/jim/logos/}}' or +'\graphicspath{{C:/Users/Albert/Pictures/}}'. However, using these +means that the document is not portable. (You could preserve +portability by adjusting your TeX system settings configuration file +parameter 'TEXINPUTS'; see the documentation of your system.) + + You can use '\graphicspath' in the preamble or in the document body. +You can use it more than once. For debugging, show its value with +'\makeatletter\typeout{\Ginput@path}\makeatother'. + + The directories are taken with respect to the base file. That is, +suppose that you are working on a document based on 'book/book.tex' and +it contains '\include{chapters/chap1}'. If in 'chap1.tex' you put +'\graphicspath{{plots/}}' then LaTeX will not search for graphics in +'book/chapters/plots', but instead in 'book/plots'. + +22.2.2 '\DeclareGraphicsExtensions' +----------------------------------- + +Synopses: + + \DeclareGraphicsExtensions{COMMA-SEPARATED LIST OF FILE EXTENSIONS} + + Declare the filename extensions to try. This allows you to specify +the order in which to choose graphic formats when you include graphic +files by giving the filename without the extension, as in +'\includegraphics{functionplot}'. + + In this example, LaTeX will find files in the PNG format before PDF +files. + + \DeclareGraphicsExtensions{.png,PNG,.pdf,.PDF} + ... + \includegraphics{lion} % will find lion.png before lion.pdf + + Because the file name 'lion' does not have a period, LaTeX uses the +extension list. For each directory in the graphics path (*note +\graphicspath::), LaTeX will try the extensions in the order given. If +it does not find such a file after trying all the directories and +extensions then it reports '! LaTeX Error: File `'lion'' not found'. +Note that you must include the periods at the start of the extensions. + + Because Linux and Macintosh filenames are case sensitive, the list of +file extensions is case sensitive on those platforms. The Windows +platform is not case sensitive. + + You are not required to include '\DeclareGraphicsExtensions' in your +document; the printer driver has a sensible default. For example, the +most recent 'pdftex.def' has the extension list +''.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2''. + + You can use this command in the preamble or in the document body. +You can use it more than once. For debugging, show its value with +'\makeatletter\typeout{\Gin@extensions}\makeatother'. + +22.2.3 '\DeclareGraphicsRule' +----------------------------- + +Synopsis: + + \DeclareGraphicsRule{EXTENSION}{TYPE}{SIZE-FILE EXTENSION}{COMMAND} + + Declare how to handle graphic files whose names end in EXTENSION. + + This example declares that all files with names have the form +'filename-without-dot.mps' will be treated as output from MetaPost, +meaning that the printer driver will use its MetaPost-handling code to +input the file. + + \DeclareGraphicsRule{.mps}{mps}{.mps}{} + + This + + \DeclareGraphicsRule{*}{mps}{*}{} + + tells LaTeX that it should handle as MetaPost output any file with an +extension not covered by another rule, so it covers 'filename.1', +'filename.2', etc. + + This describes the four arguments. + +EXTENSION + The file extension to which this rule applies. The extension is + anything after and including the first dot in the filename. Use + the Kleene star, '*', to denote the default behaviour for all + undeclared extensions. + +TYPE + The type of file involved. This type is a string that must be + defined in the printer driver. For instance, files with extensions + '.ps', '.eps', or '.ps.gz' may all be classed as type 'eps'. All + files of the same type will be input with the same internal command + by the printer driver. For example, the file types that 'pdftex' + recognizes are: 'jpg', 'jbig2', 'mps', 'pdf', 'png', 'tif'. + +SIZE-FILE EXTENSION + The extension of the file to be read to determine the size of the + graphic, if there is such a file. It may be the same as EXTENSION + but it may be different. + + As an example, consider a PostScript graphic. To make it smaller, + it might be compressed into a '.ps.gz' file. Compressed files are + not easily read by LaTeX so you can put the bounding box + information in a separate file. If SIZE-FILE EXTENSION is empty + then you must specify size information in the arguments of + '\includegraphics'. + + If the driver file has a procedure for reading size files for + 'type' then that will be used, otherwise it will use the procedure + for reading '.eps' files. (Thus you may specify the size of bitmap + files in a file with a PostScript style '%%BoundingBox' line if no + other format is available.) + +COMMAND + A command that will be applied to the file. This is very often + left blank. This command must start with a single backward quote. + Thus, '\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c #1}' + specifies that any file with the extension '.eps.gz' should be + treated as an 'eps' file, with the the BoundingBox information + stored in the file with extension '.eps.bb', and that the command + 'gunzip -c' will run on your platform to decompresses the file. + + Such a command is specific to your platform. In addition, your TeX + system must allow you to run external commands; as a security + measure modern systems restrict running commands unless you + explicitly allow it. See the documentation for your TeX + distribution. + +22.3 Commands for graphics +========================== + +These are the commands available with the 'graphics' and 'graphicx' +packages. + +22.3.1 '\includegraphics' +------------------------- + +Synopses for 'graphics' package: + + \includegraphics{FILENAME} + \includegraphics[URX,URY]{FILENAME} + \includegraphics[LLX,LLY][URX,URY]{FILENAME} + \includegraphics*{FILENAME} + \includegraphics*[URX,URY]{FILENAME} + \includegraphics*[LLX,LLY][URX,URY]{FILENAME} + + Synopses for 'graphicx' package: + + \includegraphics{FILENAME} + \includegraphics[KEY-VALUE LIST]{FILENAME} + \includegraphics*{FILENAME} + \includegraphics*[KEY-VALUE LIST]{FILENAME} + + Include a graphics file. The starred form '\includegraphics*' will +clip the graphic to the size specified, while for the unstarred form any +part of the graphic that is outside the box of the specified size will +over-print the surrounding area. + + This + + \usepackage{graphicx} % in preamble + ... + \begin{center} + \includegraphics{plot.pdf} + \end{center} + + will incorporate into the document the graphic in 'plot.pdf', +centered and at its nominal size. You can also give a path to the file, +as with '\includegraphics{graphics/plot.pdf}'. To specify a list of +locations to search for the file, *note \graphicspath::. + + If your filename includes spaces then put it in double quotes, as +with '\includegraphics{"sister picture.jpg"}'. + + The '\includegraphics{FILENAME}' command decides on the type of +graphic by splitting FILENAME on the first dot. You can use FILENAME +with no dot, as in '\includegraphics{turing}' and then LaTeX tries a +sequence of extensions such as '.png' and '.pdf' until it finds a file +with that extension (*note \DeclareGraphicsExtensions::). + + If your file name contains dots before the extension then you can +hide them with curly braces, as in +'\includegraphics{{plot.2018.03.12.a}.pdf}'. Or, if you use the +'graphicx' package then you can use the options 'type' and 'ext'; see +below. This and other filename issues are also handled with the package +'grffile'. + + This example puts a graphic in a figure environment so LaTeX can move +it to the next page if fitting it on the current page is awkward (*note +figure::). + + \begin{figure} + \centering + \includegraphics[width=3cm]{lungxray.jpg} + \caption{The evidence is overwhelming: don't smoke.} \label{fig:xray} + \end{figure} + + This places a graphic that will not float, so it is sure to appear at +this point in the document even if makes LaTeX stretch the text or +resort to blank areas on the page. It will be centered and will have a +caption. + + \usepackage{caption} % in preamble + ... + \begin{center} + \includegraphics{pix/nix.png} + \captionof{figure}{The spirit of the night} \label{pix:nix} % if you want a caption + \end{center} + + This example puts a box with a graphic side by side with one having +text, with the two vertically centered. + + \newcommand*{\vcenteredhbox}[1]{\begingroup + \setbox0=\hbox{#1}\parbox{\wd0}{\box0}\endgroup} + ... + \begin{center} + \vcenteredhbox{\includegraphics[width=0.4\textwidth]{plot}} + \hspace{1em} + \vcenteredhbox{\begin{minipage}{0.4\textwidth} + \begin{displaymath} + f(x)=x\cdot \sin (1/x) + \end{displaymath} + \end{minipage}} + \end{center} + + If you use the 'graphics' package then the only options involve the +size of the graphic (but see *note \rotatebox:: and *note \scalebox::). +When one optional argument is present then it is '[URX,URY]' and it +gives the coordinates of the top right corner of the image, as a pair of +TeX dimensions (*note Units of length::). If the units are omitted they +default to 'bp'. In this case, the lower left corner of the image is +assumed to be at (0,0). If two optional arguments are present then the +leading one is '[LLX,LLY]', specifying the coordinates of the image's +lower left. Thus, '\includegraphics[1in,0.618in]{...}' calls for the +graphic to be placed so it is 1 inch wide and 0.618 inches tall and so +its origin is at (0,0). + + The 'graphicx' package gives you many more options. Specify them in +a key-value form, as here. + + \begin{center} + \includegraphics[width=1in,angle=90]{lion} + \hspace{2em} + \includegraphics[angle=90,width=1in]{lion} + \end{center} + + The options are read left-to-right. So the first graphic above is +made one inch wide and then rotated, while the second is rotated and +then made one inch wide. Thus, unless the graphic is perfectly square, +the two will end with different widths and heights. + + There are many options. The primary ones are listed first. + + Note that a graphic is placed by LaTeX into a box, which is +traditionally referred to as its bounding box (distinct from the +PostScript BoundingBox described below). The graphic's printed area may +go beyond this box, or sit inside this box, but when LaTeX makes up a +page it puts together boxes and this is the box allocated for the +graphic. + +'width' + The graphic will be shown so its bounding box is this width. An + example is '\includegraphics[width=1in]{plot}'. You can use the + standard TeX dimensions (*note Units of length::) and also + convenient is '\linewidth', or in a two-column document, + '\columnwidth' (*note Page layout parameters::). An example is + that by using the 'calc' package you can make the graphic be 1 cm + narrow than the width of the text with + '\includegraphics[width=\linewidth-1.0cm]{hefferon.jpg}'. + +'height' + The graphic will be shown so its bounding box is this height. You + can use the standard TeX dimensions (*note Units of length::), and + also convenient are '\pageheight' and '\textheight' (*note Page + layout parameters::). For instance, + '\includegraphics[height=0.25\textheight]{godel}' will make the + graphic be a quarter of the height of the text area. + +'totalheight' + The graphic will be shown so its bounding box has this height plus + depth. This differs from the height if the graphic was rotated. + For instance, if it has been rotated by -90 then it will have zero + height but a large depth. + +'keepaspectratio' + If set to 'true', or just specified as with + '\includegraphics[...,keepaspectratio,...]{...}' and you give as + options both 'width' and 'height' (or 'totalheight'), then LaTeX + will make the graphic is as large as possible without distortion. + That is, LaTeX will ensure that neither is the graphic wider than + 'width' nor taller than 'height' (or 'totalheight'). + +'scale' + Factor by which to scale the graphic. Specifying + '\includegraphics[scale=2.0]{...}' makes the graphic twice its + nominal size. This number may be any value; a number between 1 + and 0 will shrink the graphic and a negative number will reflect + it. + +'angle' + Rotate the picture. The angle is taken in degrees and + counterclockwise. The graphic is rotated about its 'origin'; see + that option. For a complete description of how rotated material is + typeset, *note \rotatebox::. + +'origin' + The point of the graphic about which the rotation happens. + Possible values are any string containing one or two of: 'l' for + left, 'r' for right, 'b' for bottom, 'c' for center, 't' for top, + and 'B' for baseline. Thus, + '\includegraphics[angle=180,origin=c]{moon}' will turn the picture + upside down from the center, while + '\includegraphics[angle=180,origin=lB]{LeBateau}' will turn its + picture upside down about its left baseline. (The character 'c' + gives the horizontal center in 'bc' or 'tc', but gives the vertical + center in 'lc' or 'rc'.) The default is 'lB'. + + To rotate about an arbitrary point, *note \rotatebox::. + + These are lesser-used options. + +'viewport' + Pick out a subregion of the graphic to show. Takes four arguments, + separated by spaces and given in TeX dimensions, as with + '\includegraphics[.., viewport=0in 0in 1in 0.618in]{...}'. The + dimensions default to big points, 'bp'. They are taken relative to + the origin specified by the bounding box. See also the 'trim' + option. + +'trim' + Gives parts of the graphic to not show. Takes four arguments, + separated by spaces, that are given in TeX dimensions, as with + '\includegraphics[.., trim= 0in 0.1in 0.2in 0.3in, ...]{...}'. + These give the amounts of the graphic not to show, that is, LaTeX + will crop the picture by 0 inches on the left, 0.1 inches on the + bottom, 0.2 inches on the right, and 0.3 inches on the top. See + also the 'viewport' option. + +'clip' + If set to 'true', or just specified as with + '\includegraphics[...,clip,...]{...}', then the graphic is cropped + to the bounding box. You can get this effect by instead using the + starred form of the command, as '\includegraphics*[...]{...}'. + +'page' + Give the page number of a multi-page PDF file. The default is + 'page=1'. + +'pagebox' + Specifies which bounding box to use for PDF files from among + 'mediabox', 'cropbox', 'bleedbox', 'trimbox', or 'artbox'. PDF + files do not have the BoundingBox that PostScript files have, but + may specify up to four predefined rectangles. The MediaBox gives + the boundaries of the physical medium. The CropBox is the region + to which the contents of the page are to be clipped when displayed. + The BleedBox is the region to which the contents of the page should + be clipped in production. The TrimBox is the intended dimensions + of the finished page. The ArtBox is the extent of the page's + meaningful content. The driver will set the image size based on + CropBox if present, otherwise it will not use one of the others, + with a driver-defined order of preference. MediaBox is always + present. + +'interpolate' + Enable or disable interpolation of raster images by the viewer. + Can be set with 'interpolate=true' or just specified as with + '\includegraphics[...,interpolate,...]{...}'. + +'quiet' + Do not write information to the log. You can set it with + 'quiet=true' or just specified it with + '\includegraphics[...,quite,...]{...}', + +'draft' + If you set it with 'draft=true' or just specified it with + '\includegraphics[...,draft,...]{...}', then the graphic will not + appear in the document, possibly saving color printer ink. + Instead, LaTeX will put an empty box of the correct size with the + filename printed in it. + + These options address the bounding box for Encapsulated PostScript +graphic files, which have a size specified with a line '%%BoundingBox' +that appears in the file. It has four values, giving the lower x +coordinate, lower y coordinate, upper x coordinate, and upper y +coordinate. The units are PostScript points, equivalent to TeX's big +points, 1/72 inch. For example, if an '.eps' file has the line +'%%BoundingBox 10 20 40 80' then its natural size is 30/72 inch wide by +60/72 inch tall. + +'bb' + Specify the bounding box of the displayed region. The argument is + four dimensions separated by spaces, as with '\includegraphics[.., + bb= 0in 0in 1in 0.618in]{...}'. Usually '\includegraphics' reads + the BoundingBox numbers from the EPS file automatically, so this + option is only useful if the bounding box is missing from that file + or if you want to change it. + +'bbllx, bblly, bburx, bbury' + Set the bounding box. These four are obsolete, but are retained + for compatibility with old packages. + +'natwidth, natheight' + An alternative for 'bb'. Setting + '\includegraphics[...,natwidth=1in,natheight=0.618in,...]{...}' is + the same as setting 'bb=0 0 1in 0.618in'. + +'hiresbb' + If set to 'true', or just specified as with + '\includegraphics[...,hiresbb,...]{...}', then LaTeX will look for + '%%HiResBoundingBox' lines instead of '%%BoundingBox' lines. (The + 'BoundingBox' lines use only natural numbers while the + 'HiResBoundingBox' lines use decimals; both use units equivalent to + TeX's big points, 1/72 inch.) To override a prior setting of + 'true', you can set it to 'false'. + + These following options allow a user to override LaTeX's method of +choosing the graphic type based on the filename extension. An example +is that '\includegraphics[type=png,ext=.xxx,read=.xxx]{lion}' will read +the file 'lion.xxx' as though it were 'lion.png'. For more on these, +*note \DeclareGraphicsRule::. + +'type' + Specify the graphics type. + +'ext' + Specify the graphics extension. Only use this in conjunction with + the option 'type'. + +'read' + Specify the file extension of the read file. Only use this in + conjunction with the option 'type'. + +'command' + Specify a command to be applied to this file. Only use this in + conjunction with the option 'type'. + +22.3.2 '\rotatebox' +------------------- + +Synopsis for 'graphics' package: + + \rotatebox{ANGLE}{MATERIAL} + + Synopses for 'graphicx' package: + + \rotatebox{ANGLE}{MATERIAL} + \rotatebox[KEY-VALUE LIST]{ANGLE}{MATERIAL} + + Put MATERIAL in a box and rotate it ANGLE degrees counterclockwise. + + This example rotates the table column heads forty five degrees. + + \begin{tabular}{ll} + \rotatebox{45}{Character} &\rotatebox{45}{NATO phonetic} \\ + A &AL-FAH \\ + B &BRAH-VOH + \end{tabular} + + The MATERIAL can be anything that goes in a box, including a graphic. + + \rotatebox[origin=c]{45}{\includegraphics[width=1in]{lion}} + + To place the rotated material, the first step is that LaTeX sets +MATERIAL in a box, with a reference point on the left baseline. The +second step is the rotation, by default about the reference point. The +third step is that LaTeX computes a box to bound the rotated material. +Fourth, LaTeX moves this box horizontally so that the left edge of this +new bounding box coincides with the left edge of the box from the first +step (they need not coincide vertically). This new bounding box, in its +new position, is what LaTeX uses as the box when typesetting this +material. + + If you use the 'graphics' package then the rotation is about the +reference point of the box. If you use the 'graphicx' package then then +these are the options that can go in the KEY-VALUE LIST, but note that +you can get the same effect without needing this package, except for the +'x' and 'y' options (*note \includegraphics::). + +'origin' + The point of the MATERIAL's box about which the rotation happens. + Possible values are any string containing one or two of: 'l' for + left, 'r' for right, 'b' for bottom, 'c' for center, 't' for top, + and 'B' for baseline. Thus, + '\includegraphics[angle=180,origin=c]{moon}' will turn the picture + upside down from the center, while + '\includegraphics[angle=180,origin=lB]{LeBateau}' will turn its + picture upside down about its left baseline. (The character 'c' + gives the horizontal center in 'bc' or 'tc' but gives the vertical + center in 'lc' or 'rc'.) The default is 'lB'. + +'x, y' + Specify an arbitrary point of rotation with '\rotatebox[x=TeX + DIMENSION,y=TeX DIMENSION]{...}' (*note Units of length::). These + give the offset from the box's reference point. + +'units' + This key allows you to change the default of degrees + counterclockwise. Setting 'units=-360' changes the direction to + degrees clockwise and setting 'units=6.283185' changes to radians + counterclockwise. + +22.3.3 '\scalebox' +------------------ + +Synopses: + + \scalebox{HORIZONTAL FACTOR}{MATERIAL} + \scalebox{HORIZONTAL FACTOR}[VERTICAL FACTOR]{MATERIAL} + \reflectbox{MATERIAL} + + Scale the MATERIAL. + + This example halves the size, both horizontally and vertically, of +the first text and doubles the size of the second. + + \scalebox{0.5}{DRINK ME} and \scalebox{2.0}{Eat Me} + + If you do not specify the optional VERTICAL FACTOR then it defaults +to the same value as the HORIZONTAL FACTOR. + + You can use this command to resize a graphic, as with +'\scalebox{0.5}{\includegraphics{lion}}'. If you use the 'graphicx' +package then you can accomplish the same thing with optional arguments +to '\includegraphics' (*note \includegraphics::). + + The '\reflectbox' command abbreviates '\scalebox{-1}[1]{MATERIAL}'. +Thus, 'Able was I\reflectbox{Able was I}' will show the phrase 'Able was +I' immediately followed by its mirror reflection. + +22.3.4 '\resizebox' +------------------- + +Synopses: + + \resizebox{HORIZONTAL LENGTH}{VERTICAL LENGTH}{MATERIAL} + \resizebox*{HORIZONTAL LENGTH}{VERTICAL LENGTH}{MATERIAL} + + Given a size, such as '3cm', transform MATERIAL to make it that size. +If either HORIZONTAL LENGTH or VERTICAL LENGTH is an exclamation +point '!' then the other argument is used to determine a scale factor +for both directions. + + This example makes the graphic be a half inch wide and scales it +vertically by the same factor to keep it from being distorted. + + \resizebox{0.5in}{!}{\includegraphics{lion}} + + The unstarred form '\resizebox' takes VERTICAL LENGTH to be the box's +height while the starred form '\resizebox*' takes it to be height+depth. +For instance, make the text have a height+depth of a quarter inch with +'\resizebox*{!}{0.25in}{\parbox{1in}{This box has both height and +depth.}}'. + + You can use '\depth', '\height', '\totalheight', and '\width' to +refer to the original size of the box. Thus, make the text two inches +wide but keep the original height with '\resizebox{2in}{\height}{Two +inches}'. + +23 Special insertions ********************* LaTeX provides commands for inserting characters that have a special meaning do not correspond to simple characters you can type. -21.1 Reserved characters +23.1 Reserved characters ======================== LaTeX sets aside the following characters for special purposes (for @@ -6940,7 +8748,51 @@ circumflex use '\^{}'. A text body font backslash results from In that example the double backslash '\\' is only there to split the lines. -21.2 Symbols by font position +23.2 Upper and lower case +========================= + +Synopsis: + + \uppercase{TEXT} + \lowercase{TEXT} + \MakeUppercase{TEXT} + \MakeLowercase{TEXT} + + Change the case of characters. The TeX primitives commands +'\uppercase' and '\lowercase' only work for American characters. The +LaTeX commands '\MakeUppercase' and '\MakeLowercase' commands also +change characters accessed by commands such as '\ae' or '\aa'. The +commands '\MakeUppercase' and '\MakeLowercase' are robust but they have +moving arguments (*note \protect::). + + These commands do not change the case of letters used in the name of +a command within TEXT. But they do change the case of every other Latin +letter inside the argument TEXT. Thus, '\MakeUppercase{Let $y=f(x)$'} +produces 'LET Y=F(X)'. Another example is that the name of an +environment will be changed, so that '\MakeUppercase{\begin{tabular} ... +\end{tabular}}' will produce an error because the first half is changed +to '\begin{TABULAR}'. + + LaTeX uses the same fixed table for changing case throughout a +document, The table used is designed for the font encoding T1; this +works well with the standard TeX fonts for all Latin alphabets but will +cause problems when using other alphabets. + + To change the case of text that results from a macro inside TEXT you +need to do expansion. Here the '\Schoolname' produces 'COLLEGE OF +MATHEMATICS'. + + \newcommand{\schoolname}{College of Mathematics} + \newcommand{\Schoolname}{\expandafter\MakeUppercase + \expandafter{\schoolname}} + + The 'textcase' package brings some of the missing feature of the +standard LaTeX commands '\MakeUppercase' and '\MakeLowerCase'. + + To uppercase only the first letter of words, you can use the package +'mfirstuc'. + +23.3 Symbols by font position ============================= You can access any character of the current font using its number with @@ -6952,7 +8804,7 @@ the '\verb*' command has the code decimal 32, so it can be typed as or hexadecimal (base 16) with a '"' prefix, so the previous example could also be written as '\symbol{'40}' or '\symbol{"20}'. -21.3 Text symbols +23.4 Text symbols ================= LaTeX provides commands to generate a number of non-letter symbols in @@ -7132,7 +8984,7 @@ available in OT1; you may need to load the 'textcomp' package. '\textvisiblespace' Visible space symbol. -21.4 Accents +23.5 Accents ============ LaTeX has wide support for many of the world's scripts and languages, @@ -7228,7 +9080,7 @@ capital letters. These are not available with OT1. '\capitalcaron' Produces a ha'c<ek (check, caron) accent, as in 'o<'. -21.5 Additional Latin letters +23.6 Additional Latin letters ============================= Here are the basic LaTeX commands for inserting letters (beyond A-Z) @@ -7285,7 +9137,7 @@ English. you need the 'fontenc' package to select an alternate font encoding, such as T1. -21.6 '\rule' +23.7 '\rule' ============ Synopsis: @@ -7304,7 +9156,7 @@ WIDTH THICKNESS The thickness of the rule (mandatory). -21.7 '\today' +23.8 '\today' ============= The '\today' command produces today's date, in the format 'MONTH DD, @@ -7326,7 +9178,7 @@ others, will localize '\today'. For example, the following will output The 'datetime' package, among others, can produce a wide variety of other date formats. -22 Splitting the input +24 Splitting the input ********************** A large document requires a lot of input. Rather than putting the whole @@ -7338,7 +9190,7 @@ when you run LaTeX. *Note filecontents::, for an environment that allows bundling an external file to be created with the main document. -22.1 '\include' +24.1 '\include' =============== Synopsis: @@ -7356,7 +9208,7 @@ if FILE is listed as an argument to '\includeonly'. See *note The '\include' command may not appear in the preamble or in a file read by another '\include' command. -22.2 \'includeonly' +24.2 '\includeonly' =================== Synopsis: @@ -7371,7 +9223,7 @@ effective. This command can only appear in the preamble. -22.3 '\input' +24.3 '\input' ============= Synopsis: @@ -7386,10 +9238,10 @@ that point. first tried with that extension ('foo.tex' or 'foo.bar.tex'). If that is not found, the original FILE is tried ('foo' or 'foo.bar'). -23 Front/back matter +25 Front/back matter ******************** -23.1 Tables of contents +25.1 Tables of contents ======================= A table of contents is produced with the '\tableofcontents' command. @@ -7410,7 +9262,7 @@ contents. The command '\nofiles' overrides these commands, and _prevents_ any of these lists from being generated. -23.1.1 '\addcontentsline' +25.1.1 '\addcontentsline' ------------------------- Synopsis: @@ -7421,9 +9273,9 @@ Synopsis: table where: EXT - The extension of the file on which information is to be written, - typically one of: 'toc' (table of contents), 'lof' (list of - figures), or 'lot' (list of tables). + The filename extension of the file on which information is to be + written, typically one of: 'toc' (table of contents), 'lof' (list + of figures), or 'lot' (list of tables). UNIT The name of the sectional unit being added, typically one of the @@ -7444,7 +9296,7 @@ TEXT '\contentsline{UNIT}{TEXT}{NUM}', where 'NUM' is the current value of counter 'UNIT'. -23.1.2 '\addtocontents' +25.1.2 '\addtocontents' ----------------------- The '\addtocontents'{EXT}{TEXT} command adds text (or formatting @@ -7459,7 +9311,7 @@ EXT TEXT The text to be written. -23.2 Glossaries +25.2 Glossaries =============== The command '\makeglossary' enables creating glossaries. @@ -7474,7 +9326,7 @@ value. The 'glossary' package on CTAN provides support for fancier glossaries. -23.3 Indexes +25.3 Indexes ============ The command '\makeindex' enables creating indexes. Put this in the @@ -7514,7 +9366,7 @@ the index. FAQ entry on this topic, <http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind>. -24 Letters +26 Letters ********** Synopsis: @@ -7593,7 +9445,7 @@ marked as optional are typically omitted. These commands are used with the 'letter' class. -24.1 '\address' +26.1 '\address' =============== Synopsis: @@ -7619,7 +9471,7 @@ as a personal letter. \address{Stephen Maturin \\ The Grapes of the Savoy} -24.2 '\cc' +26.2 '\cc' ========== Synopsis: @@ -7635,7 +9487,7 @@ in: \cc{President \\ Vice President} -24.3 '\closing' +26.3 '\closing' =============== Synopsis: @@ -7647,7 +9499,7 @@ there is a '\closing' (although this command is optional). For example, \closing{Regards,} -24.4 '\encl' +26.4 '\encl' ============ Synopsis: @@ -7662,7 +9514,7 @@ Separate multiple lines with a double backslash '\\'. \encl{License \\ Passport } -24.5 '\location' +26.5 '\location' ================ Synopsis: @@ -7672,7 +9524,7 @@ Synopsis: The TEXT appears centered at the bottom of the each page. It only appears if the page style is 'firstpage'. -24.6 '\makelabels' +26.6 '\makelabels' ================== Synopsis: @@ -7694,7 +9546,7 @@ returned by the macro '\returnaddress' while RECIPIENT ADDRESS is the value passed in the argument to the 'letter' environment. By default '\mlabel' ignores the first argument, the SENDER ADDRESS. -24.7 '\name' +26.7 '\name' ============ Synopsis: @@ -7704,7 +9556,7 @@ Synopsis: Sender's name, used for printing on the envelope together with the return address. -24.8 '\opening' +26.8 '\opening' =============== Synopsis: @@ -7717,7 +9569,7 @@ starts your letter. For instance: \opening{Dear John:} -24.9 '\ps' +26.9 '\ps' ========== Synopsis: @@ -7729,7 +9581,7 @@ Synopsis: \ps{P.S. After you have read this letter, burn it. Or eat it.} -24.10 '\signature' +26.10 '\signature' ================== Synopsis: @@ -7758,7 +9610,7 @@ in the document. To have it apply to one letter only, put it inside a '\signature{\vspace{-6\medskipamount}\includegraphics{sig.png}\\ My name}' (this requires writing '\usepackage{graphicx}' in the preamble). -24.11 '\telephone' +26.11 '\telephone' ================== Synopsis: @@ -7770,10 +9622,10 @@ where it applies to all letters. This only appears if the 'firstpage' pagestyle is selected. If so, it appears on the lower right of the page. -25 Terminal input/output +27 Terminal input/output ************************ -25.1 '\typein[CMD]{MSG}' +27.1 '\typein[CMD]{MSG}' ======================== Synopsis: @@ -7787,7 +9639,7 @@ it had been included in the input file in place of the '\typein' command. If the '\CMD' argument is present, it must be a command name. This command name is then defined or redefined to be the typed input. -25.2 '\typeout{MSG}' +27.2 '\typeout{MSG}' ==================== Synopsis: @@ -7803,7 +9655,7 @@ and ignoring spaces after a command name apply to 'msg'. A '\space' command in 'msg' causes a single space to be printed, independent of surrounding spaces. A '^^J' in 'msg' prints a newline. -26 Command line +28 Command line *************** The input file specification indicates the file to be formatted; TeX @@ -7973,1998 +9825,2157 @@ Concept Index * Menu: -* * prompt: Command line. (line 7880) +* * prompt: Command line. (line 9743) * *-form of environment commands: \newenvironment & \renewenvironment. - (line 4388) -* *-form of sectioning commands: Sectioning. (line 1842) + (line 5102) +* *-form of sectioning commands: Sectioning. (line 1997) * *-form, defining new commands: \newcommand & \renewcommand. - (line 4228) -* .glo file: Glossaries. (line 7523) -* .idx file: Indexes. (line 7539) -* .ind file: Indexes. (line 7553) -* 'see' and 'see also' index entries: Indexes. (line 7546) -* abstracts: abstract. (line 2011) -* accents: Accents. (line 7194) -* accents, mathematical: Math accents. (line 6184) + (line 4942) +* .glo file: Glossaries. (line 9386) +* .idx file: Indexes. (line 9402) +* .ind file: Indexes. (line 9416) +* 'see' and 'see also' index entries: Indexes. (line 9409) +* abstracts: abstract. (line 2357) +* accents: Accents. (line 9057) +* accents, mathematical: Math accents. (line 6974) * accessing any character of a font: Symbols by font position. - (line 7002) -* acute accent: Accents. (line 7208) -* acute accent, math: Math accents. (line 6189) + (line 8865) +* acute accent: Accents. (line 9071) +* acute accent, math: Math accents. (line 6979) * additional packages, loading: Additional packages. - (line 701) + (line 802) * ae ligature: Additional Latin letters. - (line 7300) -* align environment, from amsmath: eqnarray. (line 2376) -* aligning equations: eqnarray. (line 2376) -* alignment via tabbing: tabbing. (line 3121) -* amsmath package, replacing eqnarray: eqnarray. (line 2376) -* appendix, creating: Sectioning. (line 1848) + (line 9163) +* algorithm2e package: tabbing. (line 3906) +* align environment, from amsmath: eqnarray. (line 2744) +* aligning equations: eqnarray. (line 2744) +* alignment via tabbing: tabbing. (line 3768) +* amsmath package: array. (line 2437) +* amsmath package <1>: displaymath. (line 2613) +* amsmath package, replacing eqnarray: eqnarray. (line 2744) +* appendix, creating: Sectioning. (line 2003) * aring: Additional Latin letters. - (line 7296) -* arrays, math: array. (line 2057) -* arrow, left, in text: Text symbols. (line 7139) -* arrow, right, in text: Text symbols. (line 7174) -* ascender height: Text symbols. (line 7107) -* ASCII circumflex, in text: Text symbols. (line 7072) -* ASCII tilde, in text: Text symbols. (line 7075) -* asterisk, centered, in text: Text symbols. (line 7078) -* at clause, in font definitions: \newfont. (line 4616) -* author, for titlepage: \maketitle. (line 6445) -* auxiliary file: Output files. (line 382) -* babel package: Accents. (line 7194) -* backslash, in text: Text symbols. (line 7081) -* bar, double vertical, in text: Text symbols. (line 7087) -* bar, vertical, in text: Text symbols. (line 7084) -* bar-over accent: Accents. (line 7217) -* bar-over accent, math: Math accents. (line 6192) -* bar-under accent: Accents. (line 7234) -* basics of LaTeX: Overview. (line 301) -* beamer template and class: beamer template. (line 7896) -* beginning of document hook: \AtBeginDocument. (line 2285) + (line 9159) +* arrays, math: array. (line 2403) +* arrow, left, in text: Text symbols. (line 9002) +* arrow, right, in text: Text symbols. (line 9037) +* ascender height: Text symbols. (line 8970) +* ASCII circumflex, in text: Text symbols. (line 8935) +* ASCII tilde, in text: Text symbols. (line 8938) +* asterisk, centered, in text: Text symbols. (line 8941) +* at clause, in font definitions: \newfont. (line 5330) +* author, for titlepage: \maketitle. (line 7235) +* auxiliary file: Output files. (line 416) +* babel package: thebibliography. (line 4302) +* babel package <1>: Accents. (line 9057) +* background, colored: Colored pages. (line 8035) +* backslash, in text: Text symbols. (line 8944) +* bar, double vertical, in text: Text symbols. (line 8950) +* bar, vertical, in text: Text symbols. (line 8947) +* bar-over accent: Accents. (line 9080) +* bar-over accent, math: Math accents. (line 6982) +* bar-under accent: Accents. (line 9097) +* basics of LaTeX: Overview. (line 335) +* beamer template and class: beamer template. (line 9759) +* beginning of document hook: \AtBeginDocument. (line 2645) * bibliography format, open: Document class options. - (line 663) -* bibliography, creating (automatically): Using BibTeX. (line 3645) -* bibliography, creating (manually): thebibliography. (line 3576) -* bibTeX, using: Using BibTeX. (line 3645) -* big circle symbols, in text: Text symbols. (line 7090) -* Big point: Units of length. (line 4914) + (line 764) +* bibliography, creating (automatically): Using BibTeX. (line 4358) +* bibliography, creating (manually): thebibliography. (line 4279) +* bibTeX, using: Using BibTeX. (line 4358) +* big circle symbols, in text: Text symbols. (line 8953) +* Big point: Units of length. (line 5704) * black boxes, omitting: Document class options. - (line 649) -* bold font: Font styles. (line 1138) -* bold math: Font styles. (line 1197) -* bold typewriter, avoiding: description. (line 2215) -* box, allocating new: \newsavebox. (line 4365) -* boxes: Boxes. (line 6795) -* brace, left, in text: Text symbols. (line 7093) -* brace, right, in text: Text symbols. (line 7096) -* breaking lines: Line breaking. (line 3787) -* breaking pages: Page breaking. (line 3930) -* breve accent: Accents. (line 7274) -* breve accent, math: Math accents. (line 6195) + (line 750) +* bold font: Font styles. (line 1289) +* bold math: Font styles. (line 1348) +* bold typewriter, avoiding: description. (line 2572) +* box, allocating new: \newsavebox. (line 5079) +* box, colored: Colored boxes. (line 7998) +* boxes: Boxes. (line 7640) +* brace, left, in text: Text symbols. (line 8956) +* brace, right, in text: Text symbols. (line 8959) +* breaking lines: Line breaking. (line 4501) +* breaking pages: Page breaking. (line 4644) +* breve accent: Accents. (line 9137) +* breve accent, math: Math accents. (line 6985) * bug reporting: About this document. - (line 258) -* bullet symbol: Math symbols. (line 5289) -* bullet, in text: Text symbols. (line 7099) -* bulleted lists: itemize. (line 2606) -* calligraphic letters for math: Font styles. (line 1141) -* cap height: Text symbols. (line 7107) -* caron accent: Accents. (line 7285) + (line 306) +* bullet symbol: Math symbols. (line 6079) +* bullet, in text: Text symbols. (line 8962) +* bulleted lists: itemize. (line 2979) +* calligraphic letters for math: Font styles. (line 1292) +* cap height: Text symbols. (line 8970) +* caron accent: Accents. (line 9148) * catcode: \makeatletter and \makeatother. - (line 529) + (line 572) * category code, character: \makeatletter and \makeatother. - (line 529) -* cc list, in letters: \cc. (line 7683) -* cedilla accent: Accents. (line 7239) -* centered asterisk, in text: Text symbols. (line 7078) + (line 572) +* cc list, in letters: \cc. (line 9546) +* cedilla accent: Accents. (line 9102) +* centered asterisk, in text: Text symbols. (line 8941) * centered equations: Document class options. - (line 653) -* centered period, in text: Text symbols. (line 7146) -* centering text, declaration for: \centering. (line 2166) -* centering text, environment for: center. (line 2123) -* Centimeter: Units of length. (line 4918) + (line 754) +* centered period, in text: Text symbols. (line 9009) +* centering text, declaration for: \centering. (line 2512) +* centering text, environment for: center. (line 2469) +* Centimeter: Units of length. (line 5708) * character category code: \makeatletter and \makeatother. - (line 529) -* characters, accented: Accents. (line 7194) + (line 572) +* characters, accented: Accents. (line 9057) +* characters, case: Upper and lower case. + (line 8820) * characters, non-English: Additional Latin letters. - (line 7290) + (line 9153) * characters, reserved: Reserved characters. - (line 6968) + (line 8786) * characters, special: Reserved characters. - (line 6968) -* check accent: Accents. (line 7285) -* check accent, math: Math accents. (line 6198) -* Cicero: Units of length. (line 4927) -* circle symbol, big, in text: Text symbols. (line 7090) -* circled letter, in text: Text symbols. (line 7102) -* circumflex accent: Accents. (line 7221) -* circumflex accent, math: Math accents. (line 6210) -* circumflex, ASCII, in text: Text symbols. (line 7072) -* citation key: \bibitem. (line 3607) + (line 8786) +* check accent: Accents. (line 9148) +* check accent, math: Math accents. (line 6988) +* Cicero: Units of length. (line 5717) +* circle symbol, big, in text: Text symbols. (line 8953) +* circled letter, in text: Text symbols. (line 8965) +* circumflex accent: Accents. (line 9084) +* circumflex accent, math: Math accents. (line 7000) +* circumflex, ASCII, in text: Text symbols. (line 8935) +* citation key: \bibitem. (line 4320) * class and package commands: Class and package commands. - (line 784) + (line 885) * class and package difference: Class and package construction. - (line 726) + (line 827) * class and package structure: Class and package structure. - (line 740) + (line 841) * class file example: Class and package structure. - (line 770) + (line 871) * class file layout: Class and package structure. - (line 740) + (line 841) * class options: Document class options. - (line 604) + (line 703) * class options <1>: Class and package structure. - (line 740) + (line 841) * class options <2>: Class and package commands. - (line 831) -* classes of documents: Document classes. (line 570) -* closing letters: \closing. (line 7699) -* closing quote: Text symbols. (line 7063) -* code, typesetting: verbatim. (line 3734) -* command line: Command line. (line 7868) + (line 945) +* classes of documents: Document classes. (line 669) +* closing letters: \closing. (line 9562) +* closing quote: Text symbols. (line 8926) +* code, typesetting: verbatim. (line 4447) +* color: Color. (line 7807) +* color <1>: Define colors. (line 7912) +* color <2>: Colored text. (line 7932) +* color <3>: Colored boxes. (line 7998) +* color <4>: Colored pages. (line 8035) +* color models: Color models. (line 7860) +* color package commands: Commands for color. (line 7907) +* color package options: Color package options. + (line 7822) +* color, define: Define colors. (line 7912) +* colored boxes: Colored boxes. (line 7998) +* colored page: Colored pages. (line 8035) +* colored text: Colored text. (line 7932) +* command line: Command line. (line 9731) * command syntax: LaTeX command syntax. - (line 452) + (line 486) * commands, class and package: Class and package commands. - (line 784) + (line 885) * commands, defining new ones: \newcommand & \renewcommand. - (line 4220) -* commands, defining new ones <1>: \providecommand. (line 4311) + (line 4934) +* commands, defining new ones <1>: \providecommand. (line 5025) * commands, document class: Class and package construction. - (line 717) + (line 818) +* commands, graphics package: Commands for graphics. + (line 8343) +* commands, ignore spaces: \ignorespaces & \ignorespacesafterend. + (line 5400) * commands, redefining: \newcommand & \renewcommand. - (line 4220) -* composite word mark, in text: Text symbols. (line 7107) -* computer programs, typesetting: verbatim. (line 3734) -* contents file: Output files. (line 392) -* copyright symbol: Text symbols. (line 7020) -* counters, a list of: Counters. (line 4683) -* counters, defining new: \newcounter. (line 4326) -* counters, getting value of: \value. (line 4783) + (line 4934) +* commands, star-variants: \@ifstar. (line 609) +* composite word mark, in text: Text symbols. (line 8970) +* computer programs, typesetting: verbatim. (line 4447) +* configuration, graphics package: Graphics package configuration. + (line 8157) +* contents file: Output files. (line 426) +* copyright symbol: Text symbols. (line 8883) +* counters, a list of: Counters. (line 5473) +* counters, defining new: \newcounter. (line 5040) +* counters, getting value of: \value. (line 5573) * counters, printing: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4709) -* counters, setting: \setcounter. (line 4812) -* creating pictures: picture. (line 2813) -* creating tables: table. (line 3212) -* credit footnote: \maketitle. (line 6455) -* cross references: Cross references. (line 1869) -* cross references, resolving: Output files. (line 382) -* cross referencing with page number: \pageref. (line 1951) -* cross referencing, symbolic: \ref. (line 1972) -* currency, dollar: Text symbols. (line 7118) -* currency, euro: Text symbols. (line 7127) -* dagger, double, in text: Text symbols. (line 7115) -* dagger, in text: Text symbols. (line 7023) -* dagger, in text <1>: Text symbols. (line 7112) -* date, for titlepage: \maketitle. (line 6451) -* date, today's: \today. (line 7366) -* datetime package: \today. (line 7382) + (line 5499) +* counters, setting: \setcounter. (line 5602) +* creating pictures: picture. (line 3460) +* creating tables: table. (line 3915) +* credit footnote: \maketitle. (line 7245) +* cross references: Cross references. (line 2215) +* cross references, resolving: Output files. (line 416) +* cross referencing with page number: \pageref. (line 2297) +* cross referencing, symbolic: \ref. (line 2318) +* currency, dollar: Text symbols. (line 8981) +* currency, euro: Text symbols. (line 8990) +* dagger, double, in text: Text symbols. (line 8978) +* dagger, in text: Text symbols. (line 8886) +* dagger, in text <1>: Text symbols. (line 8975) +* date, for titlepage: \maketitle. (line 7241) +* date, today's: \today. (line 9229) +* datetime package: \today. (line 9245) +* define color: Define colors. (line 7912) * defining a new command: \newcommand & \renewcommand. - (line 4220) -* defining a new command <1>: \providecommand. (line 4311) + (line 4934) +* defining a new command <1>: \providecommand. (line 5025) * defining new environments: \newenvironment & \renewenvironment. - (line 4380) -* defining new fonts: \newfont. (line 4599) -* defining new theorems: \newtheorem. (line 4487) -* definitions: Definitions. (line 4215) -* description lists, creating: description. (line 2198) -* design size, in font definitions: \newfont. (line 4616) -* Didot point: Units of length. (line 4924) -* dieresis accent: Accents. (line 7204) + (line 5094) +* defining new fonts: \newfont. (line 5313) +* defining new theorems: \newtheorem. (line 5201) +* definitions: Definitions. (line 4929) +* description lists, creating: description. (line 2544) +* design size, in font definitions: \newfont. (line 5330) +* Didot point: Units of length. (line 5714) +* dieresis accent: Accents. (line 9067) * difference between class and package: Class and package construction. - (line 726) -* discretionary hyphenation: \discretionary. (line 3872) -* discretionary multiplication: Math miscellany. (line 6280) + (line 827) +* discretionary hyphenation: \discretionary. (line 4586) +* discretionary multiplication: Math miscellany. (line 7070) * displaying quoted text with paragraph indentation: quotation and quote. - (line 3085) + (line 3732) * displaying quoted text without paragraph indentation: quotation and quote. - (line 3085) + (line 3732) * document class commands: Class and package construction. - (line 717) + (line 818) * document class options: Document class options. - (line 604) + (line 703) * document class, defined: Starting and ending. - (line 335) -* document classes: Document classes. (line 570) -* document templates: Document templates. (line 7889) -* dollar sign: Text symbols. (line 7118) -* dot accent: Accents. (line 7213) -* dot over accent, math: Math accents. (line 6204) -* dot-over accent: Accents. (line 7213) -* dot-under accent: Accents. (line 7243) -* dotless i: Accents. (line 7251) -* dotless i, math: Math accents. (line 6213) -* dotless j: Accents. (line 7254) -* dotless j, math: Math accents. (line 6216) -* double angle quotation marks: Text symbols. (line 7038) -* double dagger, in text: Text symbols. (line 7026) -* double dagger, in text <1>: Text symbols. (line 7115) -* double dot accent, math: Math accents. (line 6201) -* double guillemets: Text symbols. (line 7038) -* double left quote: Text symbols. (line 7152) -* double low-9 quotation mark: Text symbols. (line 7060) -* double quote, straight base: Text symbols. (line 7168) -* double right quote: Text symbols. (line 7155) + (line 369) +* document classes: Document classes. (line 669) +* document templates: Document templates. (line 9752) +* dollar sign: Text symbols. (line 8981) +* dot accent: Accents. (line 9076) +* dot over accent, math: Math accents. (line 6994) +* dot-over accent: Accents. (line 9076) +* dot-under accent: Accents. (line 9106) +* dotless i: Accents. (line 9114) +* dotless i, math: Math accents. (line 7003) +* dotless j: Accents. (line 9117) +* dotless j, math: Math accents. (line 7006) +* double angle quotation marks: Text symbols. (line 8901) +* double dagger, in text: Text symbols. (line 8889) +* double dagger, in text <1>: Text symbols. (line 8978) +* double dot accent, math: Math accents. (line 6991) +* double guillemets: Text symbols. (line 8901) +* double left quote: Text symbols. (line 9015) +* double low-9 quotation mark: Text symbols. (line 8923) +* double quote, straight base: Text symbols. (line 9031) +* double right quote: Text symbols. (line 9018) * double spacing: Low-level font commands. - (line 1349) -* double vertical bar, in text: Text symbols. (line 7087) -* e-dash: Text symbols. (line 7124) -* e-TeX: TeX engines. (line 407) -* ellipsis: Text symbols. (line 7044) -* em: Units of length. (line 4932) -* em-dash: Text symbols. (line 7121) -* em-dash, three-quarters: Text symbols. (line 7177) -* em-dash, two-thirds: Text symbols. (line 7183) -* emphasis: Font styles. (line 1126) -* enclosure list: \encl. (line 7711) -* end of document hook: \AtEndDocument. (line 2298) + (line 1504) +* double vertical bar, in text: Text symbols. (line 8950) +* e-dash: Text symbols. (line 8987) +* e-TeX: TeX engines. (line 441) +* ellipsis: Text symbols. (line 8907) +* em: Units of length. (line 5722) +* em-dash: Text symbols. (line 8984) +* em-dash, three-quarters: Text symbols. (line 9040) +* em-dash, two-thirds: Text symbols. (line 9046) +* emphasis: Font styles. (line 1277) +* enclosure list: \encl. (line 9574) +* end of document hook: \AtEndDocument. (line 2661) * ending and starting: Starting and ending. - (line 327) -* engines, TeX: TeX engines. (line 401) -* enlarge current page: \enlargethispage. (line 3959) + (line 361) +* engines, TeX: TeX engines. (line 435) +* enlarge current page: \enlargethispage. (line 4673) +* enumitem package: list. (line 3085) * environment: Starting and ending. - (line 343) -* environment, theorem-like: \newtheorem. (line 4487) -* environments: Environments. (line 1994) + (line 377) +* environment, theorem-like: \newtheorem. (line 5201) +* environments: Environments. (line 2340) * environments, defining: \newenvironment & \renewenvironment. - (line 4380) -* equation number, cross referencing: \ref. (line 1972) + (line 5094) +* EPS files: Graphics package configuration. + (line 8157) +* EPS files <1>: \includegraphics. (line 8349) +* equation number, cross referencing: \ref. (line 2318) * equation numbers, left vs. right: Document class options. - (line 659) -* equation numbers, omitting: eqnarray. (line 2411) -* equations, aligning: eqnarray. (line 2376) -* equations, environment for: equation. (line 2432) + (line 760) +* equation numbers, omitting: eqnarray. (line 2779) +* equations, aligning: eqnarray. (line 2744) +* equations, environment for: equation. (line 2800) * equations, flush left vs. centered: Document class options. - (line 653) + (line 754) * es-zet German letter: Additional Latin letters. - (line 7336) + (line 9199) * eth, Icelandic letter: Additional Latin letters. - (line 7304) -* euro symbol: Text symbols. (line 7127) -* ex: Units of length. (line 4932) -* exclamation point, upside-down: Text symbols. (line 7130) + (line 9167) +* etoolbox package: Class and package commands. + (line 989) +* euro symbol: Text symbols. (line 8990) +* ex: Units of length. (line 5722) +* exclamation point, upside-down: Text symbols. (line 8993) * exponent: Subscripts & superscripts. - (line 5148) + (line 5938) * extended Latin: Additional Latin letters. - (line 7290) -* external files, writing: filecontents. (line 2503) + (line 9153) +* external files, writing: filecontents. (line 2876) * families, of fonts: Low-level font commands. - (line 1255) -* feminine ordinal symbol: Text symbols. (line 7143) -* figure number, cross referencing: \ref. (line 1972) -* figures, footnotes in: minipage. (line 2800) -* figures, inserting: figure. (line 2450) + (line 1407) +* fancyvrb package: tabbing. (line 3906) +* feminine ordinal symbol: Text symbols. (line 9006) +* figure number, cross referencing: \ref. (line 2318) +* figures, footnotes in: minipage. (line 3447) +* figures, inserting: figure. (line 2823) * file, root: Splitting the input. - (line 7391) -* fixed-width font: Font styles. (line 1159) -* float package: Floats. (line 1713) -* float page: Floats. (line 1719) + (line 9254) +* fixed-width font: Font styles. (line 1310) +* flafter package: Floats. (line 1898) +* float package: Floats. (line 1868) +* float page: Floats. (line 1874) * flush left equations: Document class options. - (line 653) -* flushing floats and starting a page: \clearpage. (line 3946) + (line 754) +* flushing floats and starting a page: \clearpage. (line 4660) * font catalogue: Low-level font commands. - (line 1255) + (line 1407) * font commands, low-level: Low-level font commands. - (line 1241) + (line 1392) * font size: Low-level font commands. - (line 1333) -* font sizes: Font sizes. (line 1215) -* font styles: Font styles. (line 1073) + (line 1487) +* font sizes: Font sizes. (line 1366) +* font styles: Font styles. (line 1224) * font symbols, by number: Symbols by font position. - (line 7002) -* fonts: Fonts. (line 1067) -* fonts, new commands for: \newfont. (line 4599) -* footer style: \pagestyle. (line 6490) + (line 8865) +* fonts: Fonts. (line 1218) +* fonts, new commands for: \newfont. (line 5313) +* footer style: \pagestyle. (line 7280) * footer, parameters for: Page layout parameters. - (line 1535) + (line 1690) * footmisc package: Footnotes in section headings. - (line 4143) -* footnote number, cross referencing: \ref. (line 1972) + (line 4857) +* footnote number, cross referencing: \ref. (line 2318) * footnote parameters: Footnote parameters. - (line 4199) -* footnotes in figures: minipage. (line 2800) -* footnotes, creating: Footnotes. (line 3992) -* Footnotes, in a minipage: \footnote. (line 4039) + (line 4913) +* footnotes in figures: minipage. (line 3447) +* footnotes, creating: Footnotes. (line 4706) +* Footnotes, in a minipage: \footnote. (line 4753) * Footnotes, in a table: Footnotes in a table. - (line 4093) + (line 4807) * footnotes, in section headings: Footnotes in section headings. - (line 4139) -* footnotes, symbols instead of numbers: \footnote. (line 4027) -* formulas, environment for: equation. (line 2432) -* formulas, math: Math formulas. (line 5111) -* forward reference: Cross references. (line 1885) -* forward references, resolving: Output files. (line 382) -* fragile commands: \protect. (line 4634) -* French quotation marks: Text symbols. (line 7038) -* functions, math: Math functions. (line 6076) + (line 4853) +* footnotes, symbols instead of numbers: \footnote. (line 4741) +* formulas, environment for: equation. (line 2800) +* formulas, math: Math formulas. (line 5901) +* forward reference: Cross references. (line 2231) +* forward references, resolving: Output files. (line 416) +* fragile commands: \protect. (line 5348) +* French quotation marks: Text symbols. (line 8901) +* functions, math: Math functions. (line 6866) * geometry package: Document class options. - (line 638) + (line 737) +* geometry package <1>: Document class options. + (line 741) * global options: Document class options. - (line 604) + (line 703) * global options <1>: Additional packages. - (line 710) -* glossaries: Glossaries. (line 7521) -* glossary package: Glossaries. (line 7530) -* glue register, plain TeX: \newlength. (line 4350) -* graphics packages: \line. (line 2976) -* grave accent: Accents. (line 7225) -* grave accent, math: Math accents. (line 6207) -* greater than symbol, in text: Text symbols. (line 7133) -* greek letters: Math symbols. (line 5181) -* group, and environments: Environments. (line 2006) -* ha'c<ek accent, math: Math accents. (line 6198) -* hacek accent: Accents. (line 7285) -* hat accent: Accents. (line 7221) -* hat accent, math: Math accents. (line 6210) -* header style: \pagestyle. (line 6490) + (line 811) +* glossaries: Glossaries. (line 9384) +* glossary package: Glossaries. (line 9393) +* glue register, plain TeX: \newlength. (line 5064) +* graphics: Graphics. (line 8056) +* graphics <1>: Graphics package configuration. + (line 8157) +* graphics <2>: \includegraphics. (line 8349) +* graphics package: Graphics. (line 8056) +* graphics package <1>: Graphics package configuration. + (line 8157) +* graphics package <2>: \includegraphics. (line 8349) +* graphics package commands: Commands for graphics. + (line 8343) +* graphics package options: Graphics package options. + (line 8093) +* graphics packages: \line. (line 3623) +* graphics, resizing: \scalebox. (line 8723) +* graphics, resizing <1>: \resizebox. (line 8751) +* graphics, scaling: \scalebox. (line 8723) +* graphics, scaling <1>: \resizebox. (line 8751) +* grave accent: Accents. (line 9088) +* grave accent, math: Math accents. (line 6997) +* greater than symbol, in text: Text symbols. (line 8996) +* greek letters: Math symbols. (line 5971) +* group, and environments: Environments. (line 2352) +* ha'c<ek accent, math: Math accents. (line 6988) +* hacek accent: Accents. (line 9148) +* hat accent: Accents. (line 9084) +* hat accent, math: Math accents. (line 7000) +* header style: \pagestyle. (line 7280) * header, parameters for: Page layout parameters. - (line 1535) + (line 1690) * hello, world: Starting and ending. - (line 327) -* here, putting floats: Floats. (line 1713) -* hungarian umlaut accent: Accents. (line 7247) -* hyphenation, defining: \hyphenation. (line 3897) -* hyphenation, discretionary: \discretionary. (line 3872) -* hyphenation, forcing: \- (hyphenation). (line 3860) -* hyphenation, preventing: \mbox. (line 6801) + (line 361) +* here, putting floats: Floats. (line 1868) +* hungarian umlaut accent: Accents. (line 9110) +* hyphenation, defining: \hyphenation. (line 4611) +* hyphenation, discretionary: \discretionary. (line 4586) +* hyphenation, forcing: \- (hyphenation). (line 4574) +* hyphenation, preventing: \mbox. (line 7646) * Icelandic eth: Additional Latin letters. - (line 7304) + (line 9167) * Icelandic thorn: Additional Latin letters. - (line 7340) + (line 9203) * ij letter, Dutch: Additional Latin letters. - (line 7316) -* implementations of TeX: TeX engines. (line 401) -* in-line formulas: math. (line 2773) -* indent, forcing: \indent. (line 5029) -* indent, suppressing: \noindent. (line 5040) -* indentation of paragraphs, in minipage: minipage. (line 2796) -* index entries, 'see' and 'see also': Indexes. (line 7546) -* indexes: Indexes. (line 7536) -* infinite horizontal stretch: \hfill. (line 6565) -* infinite vertical stretch: \vfill. (line 6739) + (line 9179) +* implementations of TeX: TeX engines. (line 435) +* importing graphics: \includegraphics. (line 8349) +* in-line formulas: math. (line 3420) +* including graphics: \includegraphics. (line 8349) +* indent, forcing: \indent. (line 5819) +* indent, suppressing: \noindent. (line 5830) +* indentation of paragraphs, in minipage: minipage. (line 3443) +* index entries, 'see' and 'see also': Indexes. (line 9409) +* indexes: Indexes. (line 9399) +* infinite horizontal stretch: \hfill. (line 7355) +* infinite vertical stretch: \vfill. (line 7584) * input file: Splitting the input. - (line 7388) + (line 9251) * input/output, to terminal: Terminal input/output. - (line 7835) -* inserting figures: figure. (line 2450) -* insertions of special characters: Special insertions. (line 6962) -* italic correction: \/. (line 6648) -* italic font: Font styles. (line 1144) -* justification, ragged left: \raggedleft. (line 2593) -* justification, ragged right: \raggedright. (line 2567) -* Knuth, Donald E.: Overview. (line 301) -* label: Cross references. (line 1872) -* labelled lists, creating: description. (line 2198) -* Lamport TeX: Overview. (line 319) -* Lamport, Leslie: Overview. (line 301) + (line 9698) +* inserting figures: figure. (line 2823) +* insertions of special characters: Special insertions. (line 8780) +* italic correction: \/. (line 7493) +* italic font: Font styles. (line 1295) +* JPEG files: Graphics package configuration. + (line 8157) +* JPEG files <1>: \includegraphics. (line 8349) +* JPG files: Graphics package configuration. + (line 8157) +* JPG files <1>: \includegraphics. (line 8349) +* justification, ragged left: \raggedleft. (line 2966) +* justification, ragged right: \raggedright. (line 2940) +* Knuth, Donald E.: Overview. (line 335) +* label: Cross references. (line 2218) +* labelled lists, creating: description. (line 2544) +* Lamport TeX: Overview. (line 353) +* Lamport, Leslie: Overview. (line 335) * landscape orientation: Document class options. - (line 656) -* LaTeX logo: Text symbols. (line 7029) -* LaTeX overview: Overview. (line 301) + (line 757) +* LaTeX logo: Text symbols. (line 8892) +* LaTeX overview: Overview. (line 335) * LaTeX Project team: About this document. - (line 269) + (line 302) * LaTeX vs. LaTeX2e: About this document. - (line 265) -* LaTeX2e logo: Text symbols. (line 7032) + (line 298) +* LaTeX2e logo: Text symbols. (line 8895) * Latin letters, additional: Additional Latin letters. - (line 7290) -* layout commands: Layout. (line 1379) + (line 9153) +* layout commands: Layout. (line 1534) * layout, page parameters for: Page layout parameters. - (line 1535) -* left angle quotation marks: Text symbols. (line 7038) -* left arrow, in text: Text symbols. (line 7139) -* left brace, in text: Text symbols. (line 7093) -* left quote: Text symbols. (line 7048) -* left quote, double: Text symbols. (line 7152) -* left quote, single: Text symbols. (line 7158) + (line 1690) +* left angle quotation marks: Text symbols. (line 8901) +* left arrow, in text: Text symbols. (line 9002) +* left brace, in text: Text symbols. (line 8956) +* left quote: Text symbols. (line 8911) +* left quote, double: Text symbols. (line 9015) +* left quote, single: Text symbols. (line 9021) * left-hand equation numbers: Document class options. - (line 659) -* left-justifying text: \raggedright. (line 2567) -* left-justifying text, environment for: flushleft. (line 2554) -* left-to-right mode: Modes. (line 6363) -* length command: \setlength. (line 4954) -* lengths, adding to: \addtolength. (line 4962) -* lengths, allocating new: \newlength. (line 4350) -* lengths, defining and using: Lengths. (line 4872) -* lengths, predefined: Predefined lengths. (line 5002) -* lengths, setting: \setlength. (line 4950) -* less than symbol, in text: Text symbols. (line 7136) -* letters, accented: Accents. (line 7194) + (line 760) +* left-justifying text: \raggedright. (line 2940) +* left-justifying text, environment for: flushleft. (line 2927) +* left-to-right mode: Modes. (line 7153) +* length command: \setlength. (line 5744) +* lengths, adding to: \addtolength. (line 5752) +* lengths, allocating new: \newlength. (line 5064) +* lengths, defining and using: Lengths. (line 5662) +* lengths, predefined: Predefined lengths. (line 5792) +* lengths, setting: \setlength. (line 5740) +* less than symbol, in text: Text symbols. (line 8999) +* letters, accented: Accents. (line 9057) * letters, additional Latin: Additional Latin letters. - (line 7290) -* letters, ending: \closing. (line 7699) -* letters, starting: \opening. (line 7769) -* letters, writing: Letters. (line 7576) -* line break, forcing: \\. (line 3798) -* line breaking: Line breaking. (line 3787) + (line 9153) +* letters, ending: \closing. (line 9562) +* letters, starting: \opening. (line 9632) +* letters, writing: Letters. (line 9439) +* line break, forcing: \\. (line 4512) +* line breaking: Line breaking. (line 4501) * line breaks, forcing: \linebreak & \nolinebreak. - (line 3913) + (line 4627) * line breaks, preventing: \linebreak & \nolinebreak. - (line 3913) -* lines in tables: tabular. (line 3254) -* lining numerals: Font styles. (line 1201) -* lining text up in tables: tabular. (line 3254) -* lining text up using tab stops: tabbing. (line 3121) -* list items, specifying counter: \usecounter. (line 4757) -* list of figures file: Output files. (line 392) -* list of tables file: Output files. (line 392) -* lists of items: itemize. (line 2606) -* lists of items, generic: list. (line 2713) -* lists of items, numbered: enumerate. (line 2314) + (line 4627) +* lines in tables: tabular. (line 3957) +* lining numerals: Font styles. (line 1352) +* lining text up in tables: tabular. (line 3957) +* lining text up using tab stops: tabbing. (line 3768) +* list items, specifying counter: \usecounter. (line 5547) +* list of figures file: Output files. (line 426) +* list of tables file: Output files. (line 426) +* listings package: tabbing. (line 3906) +* lists of items: itemize. (line 2979) +* lists of items, generic: list. (line 3067) +* lists of items, numbered: enumerate. (line 2677) * loading additional packages: Additional packages. - (line 701) -* log file: Output files. (line 377) -* logo, LaTeX: Text symbols. (line 7029) -* logo, LaTeX2e: Text symbols. (line 7032) -* logo, TeX: Text symbols. (line 7069) -* low-9 quotation marks, single and double: Text symbols. (line 7060) + (line 802) +* log file: Output files. (line 411) +* logo, LaTeX: Text symbols. (line 8892) +* logo, LaTeX2e: Text symbols. (line 8895) +* logo, TeX: Text symbols. (line 8932) +* long command: Class and package commands. + (line 902) +* low-9 quotation marks, single and double: Text symbols. (line 8923) * low-level font commands: Low-level font commands. - (line 1241) -* LR mode: Modes. (line 6363) -* ltugboat class: tugboat template. (line 7947) -* LuaTeX: TeX engines. (line 424) -* m-width: Units of length. (line 4932) -* macro package, LaTeX as: Overview. (line 306) -* macron accent: Accents. (line 7217) -* macron accent, math: Math accents. (line 6192) -* macros2e package For a comprehensive list of macros with an at-sign: \makeatletter and \makeatother. - (line 549) -* Madsen, Lars: eqnarray. (line 2376) -* makeidx package: Indexes. (line 7558) -* makeindex program: Indexes. (line 7553) -* making a title page: titlepage. (line 3695) -* making paragraphs: Making paragraphs. (line 5021) -* marginal notes: Marginal notes. (line 5061) -* masculine ordinal symbol: Text symbols. (line 7143) -* math accents: Math accents. (line 6184) -* math formulas: Math formulas. (line 5111) -* math functions: Math functions. (line 6076) -* math miscellany: Math miscellany. (line 6279) -* math mode: Modes. (line 6363) -* math mode, entering: Math formulas. (line 5111) + (line 1392) +* Lower case: Upper and lower case. + (line 8820) +* LR mode: Modes. (line 7153) +* ltugboat class: tugboat template. (line 9810) +* LuaTeX: TeX engines. (line 458) +* m-width: Units of length. (line 5722) +* macro package, LaTeX as: Overview. (line 340) +* macron accent: Accents. (line 9080) +* macron accent, math: Math accents. (line 6982) +* macros2e package: \makeatletter and \makeatother. + (line 593) +* Madsen, Lars: eqnarray. (line 2744) +* makeidx package: Indexes. (line 9421) +* makeindex program: Indexes. (line 9416) +* making a title page: titlepage. (line 4408) +* making paragraphs: Making paragraphs. (line 5811) +* marginal notes: Marginal notes. (line 5851) +* masculine ordinal symbol: Text symbols. (line 9006) +* math accents: Math accents. (line 6974) +* math formulas: Math formulas. (line 5901) +* math functions: Math functions. (line 6866) +* math miscellany: Math miscellany. (line 7069) +* math mode: Modes. (line 7153) +* math mode, entering: Math formulas. (line 5901) * math mode, spacing: Spacing in math mode. - (line 6236) -* math symbols: Math symbols. (line 5181) -* math, bold: Font styles. (line 1197) -* Millimeter: Units of length. (line 4921) -* minipage, creating a: minipage. (line 2785) -* modes: Modes. (line 6363) -* monospace font: Font styles. (line 1159) -* moving arguments: \protect. (line 4644) -* mpfootnote counter: \footnote. (line 4039) -* mu, math unit: Units of length. (line 4943) -* multicolumn text: \twocolumn. (line 1393) -* multilingual support: Accents. (line 7194) -* multind package: Indexes. (line 7569) + (line 7026) +* math symbols: Math symbols. (line 5971) +* math, bold: Font styles. (line 1348) +* mfirstuc package: Upper and lower case. + (line 8859) +* Millimeter: Units of length. (line 5711) +* minipage, creating a: minipage. (line 3432) +* minted package: tabbing. (line 3906) +* modes: Modes. (line 7153) +* monospace font: Font styles. (line 1310) +* moving arguments: \protect. (line 5361) +* mpfootnote counter: \footnote. (line 4753) +* mu, math unit: Units of length. (line 5733) +* multicolumn text: \twocolumn. (line 1548) +* multilingual support: Accents. (line 9057) +* multind package: Indexes. (line 9432) * multiplication symbol, discretionary line break: Math miscellany. - (line 6280) -* nested \include, not allowed: \include. (line 7412) + (line 7070) +* nested \include, not allowed: \include. (line 9275) * new class commands: Class and package construction. - (line 717) + (line 818) +* new command, check: Class and package commands. + (line 900) +* new command, definition: Class and package commands. + (line 975) * new commands, defining: \newcommand & \renewcommand. - (line 4220) -* new commands, defining <1>: \providecommand. (line 4311) + (line 4934) +* new commands, defining <1>: \providecommand. (line 5025) * new line, output as input: \obeycr & \restorecr. - (line 3830) -* new line, starting: \\. (line 3798) -* new line, starting (paragraph mode): \newline. (line 3839) -* new page, starting: \newpage. (line 3953) + (line 4544) +* new line, starting: \\. (line 4512) +* new line, starting (paragraph mode): \newline. (line 4553) +* new page, starting: \newpage. (line 4667) * non-English characters: Additional Latin letters. - (line 7290) -* notes in the margin: Marginal notes. (line 5061) -* null delimiter: Math miscellany. (line 6309) -* numbered items, specifying counter: \usecounter. (line 4757) -* numerals, old-style: Font styles. (line 1201) -* oblique font: Font styles. (line 1156) + (line 9153) +* notes in the margin: Marginal notes. (line 5851) +* null delimiter: Math miscellany. (line 7099) +* numbered items, specifying counter: \usecounter. (line 5547) +* numerals, old-style: Font styles. (line 1352) +* oblique font: Font styles. (line 1307) * oe ligature: Additional Latin letters. - (line 7332) -* ogonek: Accents. (line 7258) -* old-style numerals: Font styles. (line 1201) -* one-column output: \onecolumn. (line 1384) -* opening quote: Text symbols. (line 7048) -* OpenType fonts: TeX engines. (line 401) + (line 9195) +* ogonek: Accents. (line 9121) +* old-style numerals: Font styles. (line 1352) +* one-column output: \onecolumn. (line 1539) +* opening quote: Text symbols. (line 8911) +* OpenType fonts: TeX engines. (line 435) * options, class: Class and package commands. - (line 831) + (line 945) +* options, color package: Color package options. + (line 7822) * options, document class: Document class options. - (line 604) + (line 703) * options, document class <1>: Class and package structure. - (line 740) + (line 841) * options, global: Additional packages. - (line 710) + (line 811) +* options, graphics package: Graphics package options. + (line 8093) * options, package: Class and package structure. - (line 740) + (line 841) * options, package <1>: Class and package commands. - (line 831) -* ordinals, feminine and masculine: Text symbols. (line 7143) + (line 945) +* ordinals, feminine and masculine: Text symbols. (line 9006) * oslash: Additional Latin letters. - (line 7328) -* overbar accent: Accents. (line 7217) -* overdot accent, math: Math accents. (line 6204) -* overview of LaTeX: Overview. (line 301) + (line 9191) +* overbar accent: Accents. (line 9080) +* overdot accent, math: Math accents. (line 6994) +* overview of LaTeX: Overview. (line 335) * package file layout: Class and package structure. - (line 740) + (line 841) * package options: Class and package structure. - (line 740) + (line 841) * package options <1>: Class and package commands. - (line 831) -* package, babel: Accents. (line 7194) -* package, datetime: \today. (line 7382) -* package, float: Floats. (line 1713) + (line 945) +* package, algorithm2e: tabbing. (line 3906) +* package, amsmath: array. (line 2437) +* package, amsmath <1>: displaymath. (line 2613) +* package, babel: thebibliography. (line 4302) +* package, babel <1>: Accents. (line 9057) +* package, datetime: \today. (line 9245) +* package, enumitem: list. (line 3085) +* package, etoolbox: Class and package commands. + (line 989) +* package, fancyvrb: tabbing. (line 3906) +* package, flafter: Floats. (line 1898) +* package, float: Floats. (line 1868) * package, footmisc: Footnotes in section headings. - (line 4143) + (line 4857) * package, geometry: Document class options. - (line 638) + (line 737) +* package, geometry <1>: Document class options. + (line 741) +* package, listings: tabbing. (line 3906) * package, macros2e: \makeatletter and \makeatother. - (line 549) -* package, makeidx: Indexes. (line 7558) -* package, multind: Indexes. (line 7569) -* package, picture: picture. (line 2830) + (line 593) +* package, makeidx: Indexes. (line 9421) +* package, mfirstuc: Upper and lower case. + (line 8859) +* package, minted: tabbing. (line 3906) +* package, multind: Indexes. (line 9432) +* package, picture: picture. (line 3477) * package, setspace: Low-level font commands. - (line 1349) -* package, showidx: Indexes. (line 7565) -* package, textcomp: Font styles. (line 1201) + (line 1504) +* package, showidx: Indexes. (line 9428) +* package, textcase: Upper and lower case. + (line 8856) +* package, textcomp: Font styles. (line 1352) * package, xspace: \(SPACE) after control sequence. - (line 6622) + (line 7480) * packages, loading additional: Additional packages. - (line 701) + (line 802) * page break, forcing: \pagebreak & \nopagebreak. - (line 3974) + (line 4688) * page break, preventing: \pagebreak & \nopagebreak. - (line 3974) -* page breaking: Page breaking. (line 3930) + (line 4688) +* page breaking: Page breaking. (line 4644) * page layout parameters: Page layout parameters. - (line 1535) -* page number, cross referencing: \pageref. (line 1951) -* page numbering style: \pagenumbering. (line 6465) -* page styles: Page styles. (line 6433) -* paragraph indentation, in minipage: minipage. (line 2796) + (line 1690) +* page number, cross referencing: \pageref. (line 2297) +* page numbering style: \pagenumbering. (line 7255) +* page styles: Page styles. (line 7223) +* page, colored: Colored pages. (line 8035) +* paragraph indentation, in minipage: minipage. (line 3443) * paragraph indentations in quoted text: quotation and quote. - (line 3085) + (line 3732) * paragraph indentations in quoted text, omitting: quotation and quote. - (line 3085) -* paragraph mode: Modes. (line 6363) -* paragraph symbol: Text symbols. (line 7052) -* paragraphs: Making paragraphs. (line 5021) + (line 3732) +* paragraph mode: Modes. (line 7153) +* paragraph mode <1>: \parbox. (line 7718) +* paragraph symbol: Text symbols. (line 8915) +* paragraphs: Making paragraphs. (line 5811) * parameters, for footnotes: Footnote parameters. - (line 4199) + (line 4913) * parameters, page layout: Page layout parameters. - (line 1535) -* pdfTeX: Output files. (line 369) -* pdfTeX engine: TeX engines. (line 407) -* period, centered, in text: Text symbols. (line 7146) -* pica: Units of length. (line 4908) -* pict2e package: \line. (line 2976) -* picture package: picture. (line 2830) -* pictures, creating: picture. (line 2813) -* pilcrow: Text symbols. (line 7052) -* placement of floats: Floats. (line 1692) -* poetry, an environment for: verse. (line 3768) -* Point: Units of length. (line 4904) + (line 1690) +* PDF graphic files: Graphics package configuration. + (line 8157) +* PDF graphic files <1>: \includegraphics. (line 8349) +* pdfTeX: Output files. (line 403) +* pdfTeX engine: TeX engines. (line 441) +* period, centered, in text: Text symbols. (line 9009) +* pica: Units of length. (line 5698) +* pict2e package: \line. (line 3623) +* picture package: picture. (line 3477) +* pictures, creating: picture. (line 3460) +* pilcrow: Text symbols. (line 8915) +* placement of floats: Floats. (line 1847) +* PNG files: Graphics package configuration. + (line 8157) +* PNG files <1>: \includegraphics. (line 8349) +* poetry, an environment for: verse. (line 4482) +* Point: Units of length. (line 5694) * polish l: Additional Latin letters. - (line 7320) + (line 9183) * portrait orientation: Document class options. - (line 656) -* position, in picture: picture. (line 2835) + (line 757) +* position, in picture: picture. (line 3482) * positional parameter: \newcommand & \renewcommand. - (line 4251) -* postscript, in letters: \ps. (line 7782) -* pounds symbol: Text symbols. (line 7056) + (line 4965) +* postscript, in letters: \ps. (line 9645) +* pounds symbol: Text symbols. (line 8919) * preamble, defined: Starting and ending. - (line 340) -* predefined lengths: Predefined lengths. (line 5002) -* prompt, *: Command line. (line 7880) -* pronunciation: Overview. (line 319) + (line 374) +* predefined lengths: Predefined lengths. (line 5792) +* prompt, *: Command line. (line 9743) +* pronunciation: Overview. (line 353) * quad: Spacing in math mode. - (line 6262) -* question mark, upside-down: Text symbols. (line 7149) -* quotation marks, French: Text symbols. (line 7038) -* quote, single straight: Text symbols. (line 7164) -* quote, straight base: Text symbols. (line 7168) + (line 7052) +* question mark, upside-down: Text symbols. (line 9012) +* quotation marks, French: Text symbols. (line 8901) +* quote, single straight: Text symbols. (line 9027) +* quote, straight base: Text symbols. (line 9031) * quoted text with paragraph indentation, displaying: quotation and quote. - (line 3085) + (line 3732) * quoted text without paragraph indentation, displaying: quotation and quote. - (line 3085) -* ragged left text: \raggedleft. (line 2593) -* ragged left text, environment for: flushright. (line 2580) -* ragged right text: \raggedright. (line 2567) -* ragged right text, environment for: flushleft. (line 2554) + (line 3732) +* ragged left text: \raggedleft. (line 2966) +* ragged left text, environment for: flushright. (line 2953) +* ragged right text: \raggedright. (line 2940) +* ragged right text, environment for: flushleft. (line 2927) * redefining environments: \newenvironment & \renewenvironment. - (line 4380) -* reference, forward: Cross references. (line 1885) -* references, resolving forward: Output files. (line 382) -* registered symbol: Text symbols. (line 7171) -* remarks in the margin: Marginal notes. (line 5061) + (line 5094) +* reference, forward: Cross references. (line 2231) +* references, resolving forward: Output files. (line 416) +* registered symbol: Text symbols. (line 9034) +* remarks in the margin: Marginal notes. (line 5851) * reporting bugs: About this document. - (line 258) + (line 306) * reserved characters: Reserved characters. - (line 6968) -* right angle quotation marks: Text symbols. (line 7038) -* right arrow, in text: Text symbols. (line 7174) -* right brace, in text: Text symbols. (line 7096) -* right quote: Text symbols. (line 7063) -* right quote, double: Text symbols. (line 7155) -* right quote, single: Text symbols. (line 7161) + (line 8786) +* resizing: \scalebox. (line 8723) +* resizing <1>: \resizebox. (line 8751) +* right angle quotation marks: Text symbols. (line 8901) +* right arrow, in text: Text symbols. (line 9037) +* right brace, in text: Text symbols. (line 8959) +* right quote: Text symbols. (line 8926) +* right quote, double: Text symbols. (line 9018) +* right quote, single: Text symbols. (line 9024) * right-hand equation numbers: Document class options. - (line 659) -* right-justifying text: \raggedleft. (line 2593) -* right-justifying text, environment for: flushright. (line 2580) -* ring accent: Accents. (line 7263) -* ring accent, math: Math accents. (line 6219) -* robust commands: \protect. (line 4634) -* roman font: Font styles. (line 1147) + (line 760) +* right-justifying text: \raggedleft. (line 2966) +* right-justifying text, environment for: flushright. (line 2953) +* ring accent: Accents. (line 9126) +* ring accent, math: Math accents. (line 7009) +* robust commands: \protect. (line 5348) +* roman font: Font styles. (line 1298) * root file: Splitting the input. - (line 7391) -* rubber lengths, defining new: \newlength. (line 4350) + (line 9254) +* rotating graphics: \rotatebox. (line 8658) +* rotating text: \rotatebox. (line 8658) +* rotation: \rotatebox. (line 8658) +* row, tabbing: tabbing. (line 3807) +* rubber lengths, defining new: \newlength. (line 5064) * running header and footer: Page layout parameters. - (line 1535) -* running header and footer style: \pagestyle. (line 6490) -* sans serif font: Font styles. (line 1153) -* Scaled point: Units of length. (line 4930) -* script letters for math: Font styles. (line 1141) -* section number, cross referencing: \ref. (line 1972) -* section numbers, printing: Sectioning. (line 1858) -* section symbol: Text symbols. (line 7066) -* sectioning commands: Sectioning. (line 1817) + (line 1690) +* running header and footer style: \pagestyle. (line 7280) +* sans serif font: Font styles. (line 1304) +* Scaled point: Units of length. (line 5720) +* scaling: \scalebox. (line 8723) +* scaling <1>: \resizebox. (line 8751) +* script letters for math: Font styles. (line 1292) +* section number, cross referencing: \ref. (line 2318) +* section numbers, printing: Sectioning. (line 2013) +* section symbol: Text symbols. (line 8929) +* section, redefining: \@startsection. (line 2025) +* sectioning commands: Sectioning. (line 1972) * series, of fonts: Low-level font commands. - (line 1280) + (line 1434) * setspace package: Low-level font commands. - (line 1349) -* setting counters: \setcounter. (line 4812) + (line 1504) +* setting counters: \setcounter. (line 5602) * shapes, of fonts: Low-level font commands. - (line 1320) + (line 1474) * sharp S letters: Additional Latin letters. - (line 7336) -* showidx package: Indexes. (line 7565) -* simulating typed text: verbatim. (line 3734) -* single angle quotation marks: Text symbols. (line 7038) -* single guillemets: Text symbols. (line 7038) -* single left quote: Text symbols. (line 7158) -* single low-9 quotation mark: Text symbols. (line 7060) -* single quote, straight: Text symbols. (line 7164) -* single right quote: Text symbols. (line 7161) -* sizes of text: Font sizes. (line 1215) -* skip register, plain TeX: \newlength. (line 4350) -* slanted font: Font styles. (line 1156) -* small caps font: Font styles. (line 1150) -* space, inserting vertical: \addvspace. (line 6696) -* space, vertical: \vspace. (line 6765) -* spaces: Spaces. (line 6533) + (line 9199) +* showidx package: Indexes. (line 9428) +* simulating typed text: verbatim. (line 4447) +* single angle quotation marks: Text symbols. (line 8901) +* single guillemets: Text symbols. (line 8901) +* single left quote: Text symbols. (line 9021) +* single low-9 quotation mark: Text symbols. (line 8923) +* single quote, straight: Text symbols. (line 9027) +* single right quote: Text symbols. (line 9024) +* sizes of text: Font sizes. (line 1366) +* skip register, plain TeX: \newlength. (line 5064) +* slanted font: Font styles. (line 1307) +* small caps font: Font styles. (line 1301) +* space, inserting vertical: \addvspace. (line 7541) +* space, vertical: \vspace. (line 7610) +* spaces: Spaces. (line 7323) +* spaces, ignore around commands: \ignorespaces & \ignorespacesafterend. + (line 5400) * spacing within math mode: Spacing in math mode. - (line 6236) -* spacing, inter-sentence: \frenchspacing. (line 6628) -* Spanish ordinals, feminine and masculine: Text symbols. (line 7143) + (line 7026) +* spacing, inter-sentence: \frenchspacing. (line 7448) +* spacing, inter-sentence <1>: \normalsfcodes. (line 7461) +* Spanish ordinals, feminine and masculine: Text symbols. (line 9006) * special characters: Reserved characters. - (line 6968) + (line 8786) * special characters <1>: Additional Latin letters. - (line 7290) -* special insertions: Special insertions. (line 6962) -* specifier, float placement: Floats. (line 1692) + (line 9153) +* special insertions: Special insertions. (line 8780) +* specifier, float placement: Floats. (line 1847) * splitting the input file: Splitting the input. - (line 7388) + (line 9251) * stable option to footmisc package: Footnotes in section headings. - (line 4143) + (line 4857) +* star-variants, commands: \@ifstar. (line 609) * starred form, defining new commands: \newcommand & \renewcommand. - (line 4228) -* starting a new page: \newpage. (line 3953) -* starting a new page and clearing floats: \clearpage. (line 3946) + (line 4942) +* starting a new page: \newpage. (line 4667) +* starting a new page and clearing floats: \clearpage. (line 4660) * starting and ending: Starting and ending. - (line 327) -* starting on a right-hand page: \cleardoublepage. (line 3937) -* sterling symbol: Text symbols. (line 7056) -* straight double quote, base: Text symbols. (line 7168) -* straight quote, base: Text symbols. (line 7168) -* straight single quote: Text symbols. (line 7164) -* stretch, infinite horizontal: \hfill. (line 6565) -* stretch, infinite vertical: \vfill. (line 6739) -* stretch, omitting vertical: \raggedbottom. (line 1524) -* styles of text: Font styles. (line 1073) -* styles, page: Page styles. (line 6433) + (line 361) +* starting on a right-hand page: \cleardoublepage. (line 4651) +* sterling symbol: Text symbols. (line 8919) +* straight double quote, base: Text symbols. (line 9031) +* straight quote, base: Text symbols. (line 9031) +* straight single quote: Text symbols. (line 9027) +* stretch, infinite horizontal: \hfill. (line 7355) +* stretch, infinite vertical: \vfill. (line 7584) +* stretch, omitting vertical: \raggedbottom. (line 1679) +* styles of text: Font styles. (line 1224) +* styles, page: Page styles. (line 7223) * subscript: Subscripts & superscripts. - (line 5148) + (line 5938) * superscript: Subscripts & superscripts. - (line 5148) -* symbols, math: Math symbols. (line 5181) -* symbols, text: Text symbols. (line 7014) -* tab stops, using: tabbing. (line 3121) + (line 5938) +* symbols, math: Math symbols. (line 5971) +* symbols, text: Text symbols. (line 8877) +* tab stops, using: tabbing. (line 3768) * table of contents entry, manually adding: \addcontentsline. - (line 7472) -* table of contents file: Output files. (line 392) + (line 9335) +* table of contents file: Output files. (line 426) * table of contents, avoiding footnotes: Footnotes in section headings. - (line 4139) -* table of contents, creating: Tables of contents. (line 7451) -* tables, creating: table. (line 3212) -* template, beamer: beamer template. (line 7896) -* template, book: book template. (line 7927) -* template, TUGboat: tugboat template. (line 7947) -* templates, document: Document templates. (line 7889) + (line 4853) +* table of contents, creating: Tables of contents. (line 9314) +* tables, creating: table. (line 3915) +* template, beamer: beamer template. (line 9759) +* template, book: book template. (line 9790) +* template, TUGboat: tugboat template. (line 9810) +* templates, document: Document templates. (line 9752) * terminal input/output: Terminal input/output. - (line 7835) -* TeX logo: Text symbols. (line 7069) -* text symbols: Text symbols. (line 7014) -* textcomp package: Font styles. (line 1201) -* thanks, for titlepage: \maketitle. (line 6455) -* theorem-like environment: \newtheorem. (line 4487) -* theorems, defining: \newtheorem. (line 4487) -* theorems, typesetting: theorem. (line 3682) + (line 9698) +* TeX logo: Text symbols. (line 8932) +* text symbols: Text symbols. (line 8877) +* text, resizing: \scalebox. (line 8723) +* text, resizing <1>: \resizebox. (line 8751) +* text, scaling: \scalebox. (line 8723) +* text, scaling <1>: \resizebox. (line 8751) +* textcase package: Upper and lower case. + (line 8856) +* textcomp package: Font styles. (line 1352) +* thanks, for titlepage: \maketitle. (line 7245) +* theorem-like environment: \newtheorem. (line 5201) +* theorems, defining: \newtheorem. (line 5201) +* theorems, typesetting: theorem. (line 4395) * thorn, Icelandic letter: Additional Latin letters. - (line 7340) -* three-quarters em-dash: Text symbols. (line 7177) -* tie-after accent: Accents. (line 7269) -* tilde accent: Accents. (line 7231) -* tilde accent, math: Math accents. (line 6222) -* tilde, ASCII, in text: Text symbols. (line 7075) + (line 9203) +* three-quarters em-dash: Text symbols. (line 9040) +* tie-after accent: Accents. (line 9132) +* tilde accent: Accents. (line 9094) +* tilde accent, math: Math accents. (line 7012) +* tilde, ASCII, in text: Text symbols. (line 8938) * title page, separate or run-in: Document class options. - (line 667) -* title pages, creating: titlepage. (line 3695) -* title, for titlepage: \maketitle. (line 6459) -* titles, making: \maketitle. (line 6439) -* trademark symbol: Text symbols. (line 7180) -* transcript file: Output files. (line 377) -* TrueType fonts: TeX engines. (line 401) -* TUGboat template: tugboat template. (line 7947) -* two-column output: \twocolumn. (line 1393) -* two-thirds em-dash: Text symbols. (line 7183) -* type styles: Font styles. (line 1073) -* typed text, simulating: verbatim. (line 3734) -* typeface sizes: Font sizes. (line 1215) -* typefaces: Fonts. (line 1067) -* typewriter font: Font styles. (line 1159) -* typewriter labels in lists: description. (line 2215) -* umlaut accent: Accents. (line 7204) -* underbar: Accents. (line 7277) -* underscore, in text: Text symbols. (line 7186) -* Unicode input, native: TeX engines. (line 401) -* units, of length: Units of length. (line 4900) + (line 768) +* title pages, creating: titlepage. (line 4408) +* title, for titlepage: \maketitle. (line 7249) +* titles, making: \maketitle. (line 7229) +* trademark symbol: Text symbols. (line 9043) +* transcript file: Output files. (line 411) +* TrueType fonts: TeX engines. (line 435) +* TUGboat template: tugboat template. (line 9810) +* two-column output: \twocolumn. (line 1548) +* two-thirds em-dash: Text symbols. (line 9046) +* type styles: Font styles. (line 1224) +* typed text, simulating: verbatim. (line 4447) +* typeface sizes: Font sizes. (line 1366) +* typefaces: Fonts. (line 1218) +* typewriter font: Font styles. (line 1310) +* typewriter labels in lists: description. (line 2572) +* umlaut accent: Accents. (line 9067) +* underbar: Accents. (line 9140) +* underscore, in text: Text symbols. (line 9049) +* Unicode input, native: TeX engines. (line 435) +* units, of length: Units of length. (line 5690) * unofficial nature of this manual: About this document. - (line 269) -* unordered lists: itemize. (line 2606) -* using BibTeX: Using BibTeX. (line 3645) -* UTF-8: TeX engines. (line 401) -* variables, a list of: Counters. (line 4683) -* vector symbol, math: Math accents. (line 6225) -* verbatim text: verbatim. (line 3734) -* verbatim text, inline: \verb. (line 3751) -* vertical bar, double, in text: Text symbols. (line 7087) -* vertical bar, in text: Text symbols. (line 7084) -* vertical space: \addvspace. (line 6696) -* vertical space <1>: \vspace. (line 6765) -* vertical space before paragraphs: \parskip. (line 5055) -* visible space: \verb. (line 3762) -* visible space symbol, in text: Text symbols. (line 7189) + (line 302) +* unordered lists: itemize. (line 2979) +* Upper case: Upper and lower case. + (line 8820) +* using BibTeX: Using BibTeX. (line 4358) +* UTF-8: TeX engines. (line 435) +* variables, a list of: Counters. (line 5473) +* vector symbol, math: Math accents. (line 7015) +* verbatim text: verbatim. (line 4447) +* verbatim text, inline: \verb. (line 4465) +* vertical bar, double, in text: Text symbols. (line 8950) +* vertical bar, in text: Text symbols. (line 8947) +* vertical space: \addvspace. (line 7541) +* vertical space <1>: \vspace. (line 7610) +* vertical space before paragraphs: \parskip. (line 5845) +* visible space: \verb. (line 4476) +* visible space symbol, in text: Text symbols. (line 9052) * weights, of fonts: Low-level font commands. - (line 1290) -* white space: Spaces. (line 6533) -* wide hat accent, math: Math accents. (line 6228) -* wide tilde accent, math: Math accents. (line 6231) + (line 1444) +* white space: Spaces. (line 7323) +* wide hat accent, math: Math accents. (line 7018) +* wide tilde accent, math: Math accents. (line 7021) * widths, of fonts: Low-level font commands. - (line 1302) -* writing external files: filecontents. (line 2503) -* writing letters: Letters. (line 7576) -* x-height: Units of length. (line 4932) -* XeTeX: TeX engines. (line 433) -* xindy program: Indexes. (line 7553) + (line 1456) +* writing external files: filecontents. (line 2876) +* writing letters: Letters. (line 9439) +* x-height: Units of length. (line 5722) +* XeTeX: TeX engines. (line 467) +* xindy program: Indexes. (line 9416) * xspace package: \(SPACE) after control sequence. - (line 6622) + (line 7480) Command Index ************* * Menu: -* $: Math formulas. (line 5129) -* &: tabular. (line 3280) -* --help command-line option: Command line. (line 7876) -* .aux file: Output files. (line 382) -* .dvi file: Output files. (line 359) -* .fd file: \newfont. (line 4609) -* .lof file: Output files. (line 392) -* .lof file <1>: Tables of contents. (line 7461) -* .log file: Output files. (line 377) -* .lot file: Output files. (line 392) -* .lot file <1>: Tables of contents. (line 7461) -* .pdf file: Output files. (line 369) -* .tex, default extension: Command line. (line 7868) -* .toc file: Output files. (line 392) -* .toc file <1>: Tables of contents. (line 7451) -* .xdv file: TeX engines. (line 433) +* $: Math formulas. (line 5919) +* &: tabular. (line 3983) +* --help command-line option: Command line. (line 9739) +* .aux file: Output files. (line 416) +* .dvi file: Output files. (line 393) +* .fd file: \newfont. (line 5323) +* .lof file: Output files. (line 426) +* .lof file <1>: Tables of contents. (line 9324) +* .log file: Output files. (line 411) +* .lot file: Output files. (line 426) +* .lot file <1>: Tables of contents. (line 9324) +* .pdf file: Output files. (line 403) +* .tex, default extension: Command line. (line 9731) +* .toc file: Output files. (line 426) +* .toc file <1>: Tables of contents. (line 9314) +* .xdv file: TeX engines. (line 467) * 10pt option: Document class options. - (line 612) + (line 711) * 11pt option: Document class options. - (line 612) + (line 711) * 12pt option: Document class options. - (line 612) + (line 711) * [...] for optional arguments: LaTeX command syntax. - (line 452) + (line 486) * \ character starting commands: LaTeX command syntax. - (line 452) + (line 486) * \!: Spacing in math mode. - (line 6259) -* \" (umlaut accent): Accents. (line 7204) + (line 7049) +* \" (umlaut accent): Accents. (line 9067) * \#: Reserved characters. - (line 6975) + (line 8793) * \$: Reserved characters. - (line 6975) + (line 8793) * \%: Reserved characters. - (line 6975) + (line 8793) * \&: Reserved characters. - (line 6975) -* \' (acute accent): Accents. (line 7208) -* \' (tabbing): tabbing. (line 3160) -* \(: Math formulas. (line 5121) -* \(SPACE): \(SPACE) and \@. (line 6575) -* \): Math formulas. (line 5121) -* \*: Math miscellany. (line 6279) -* \+: tabbing. (line 3152) + (line 8793) +* \' (acute accent): Accents. (line 9071) +* \' (tabbing): tabbing. (line 3848) +* \(: Math formulas. (line 5911) +* \(SPACE): \(SPACE) and \@. (line 7416) +* \): Math formulas. (line 5911) +* \*: Math miscellany. (line 7069) +* \+: tabbing. (line 3840) * \,: Spacing in math mode. - (line 6255) -* \-: tabbing. (line 3156) -* \- (hyphenation): \- (hyphenation). (line 3860) -* \. (dot-over accent): Accents. (line 7213) -* \/: \/. (line 6648) + (line 7045) +* \-: tabbing. (line 3844) +* \- (hyphenation): \- (hyphenation). (line 4574) +* \. (dot-over accent): Accents. (line 9076) +* \/: \/. (line 7493) * \:: Spacing in math mode. - (line 6251) + (line 7041) * \;: Spacing in math mode. - (line 6246) -* \<: tabbing. (line 3148) -* \= (macron accent): Accents. (line 7217) -* \= (tabbing): tabbing. (line 3142) -* \>: tabbing. (line 3146) + (line 7036) +* \<: tabbing. (line 3836) +* \= (macron accent): Accents. (line 9080) +* \= (tabbing): tabbing. (line 3830) +* \>: tabbing. (line 3834) * \> <1>: Spacing in math mode. - (line 6251) -* \> (tabbing): tabbing. (line 3145) -* \@: \(SPACE) and \@. (line 6575) -* \@fnsymbol: \footnote. (line 4027) -* \a (tabbing): tabbing. (line 3175) -* \a' (acute accent in tabbing): tabbing. (line 3176) -* \a= (macron accent in tabbing): tabbing. (line 3176) + (line 7041) +* \> (tabbing): tabbing. (line 3833) +* \@: \(SPACE) and \@. (line 7416) +* \@beginparpenalty: list. (line 3312) +* \@endparpenalty: list. (line 3320) +* \@fnsymbol: \footnote. (line 4741) +* \@ifstar: \@ifstar. (line 609) +* \@itempenalty: list. (line 3316) +* \@startsection: \@startsection. (line 2025) +* \a (tabbing): tabbing. (line 3863) +* \a' (acute accent in tabbing): tabbing. (line 3864) +* \a= (macron accent in tabbing): tabbing. (line 3864) * \aa (aa): Additional Latin letters. - (line 7296) + (line 9159) * \AA (AA): Additional Latin letters. - (line 7296) -* \acute: Math accents. (line 6188) -* \addcontentsline: \addcontentsline. (line 7472) -* \address: \address. (line 7656) -* \addtocontents{EXT}{TEXT}: \addtocontents. (line 7506) -* \addtocounter: \addtocounter. (line 4828) -* \addtolength: \addtolength. (line 4962) -* \addvspace: \addvspace. (line 6696) + (line 9159) +* \acute: Math accents. (line 6978) +* \addcontentsline: \addcontentsline. (line 9335) +* \address: \address. (line 9519) +* \addtocontents{EXT}{TEXT}: \addtocontents. (line 9369) +* \addtocounter: \addtocounter. (line 5618) +* \addtolength: \addtolength. (line 5752) +* \addvspace: \addvspace. (line 7541) * \ae (ae): Additional Latin letters. - (line 7300) + (line 9163) * \AE (AE): Additional Latin letters. - (line 7300) -* \aleph: Math symbols. (line 5197) -* \Alph example: enumerate. (line 2360) -* \alpha: Math symbols. (line 5200) + (line 9163) +* \aleph: Math symbols. (line 5987) +* \Alph example: enumerate. (line 2732) +* \alpha: Math symbols. (line 5990) * \alph{COUNTER}: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4717) + (line 5507) * \Alph{COUNTER}: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4720) -* \alsoname: Indexes. (line 7550) -* \amalg: Math symbols. (line 5203) -* \and for \author: \maketitle. (line 6445) -* \angle: Math symbols. (line 5206) -* \appendix: Sectioning. (line 1848) -* \approx: Math symbols. (line 5211) + (line 5510) +* \alsoname: Indexes. (line 9413) +* \amalg: Math symbols. (line 5993) +* \and for \author: \maketitle. (line 7235) +* \angle: Math symbols. (line 5996) +* \appendix: Sectioning. (line 2003) +* \approx: Math symbols. (line 6001) * \arabic{COUNTER}: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4723) -* \arccos: Math functions. (line 6079) -* \arcsin: Math functions. (line 6082) -* \arctan: Math functions. (line 6085) -* \arg: Math functions. (line 6088) -* \arraycolsep: array. (line 2088) -* \arrayrulewidth: tabular. (line 3404) -* \arraystretch: tabular. (line 3410) -* \ast: Math symbols. (line 5214) -* \asymp: Math symbols. (line 5223) -* \AtBeginDocument: \AtBeginDocument. (line 2285) + (line 5513) +* \arccos: Math functions. (line 6869) +* \arcsin: Math functions. (line 6872) +* \arctan: Math functions. (line 6875) +* \arg: Math functions. (line 6878) +* \arraycolsep: array. (line 2434) +* \arrayrulewidth: tabular. (line 4107) +* \arraystretch: tabular. (line 4113) +* \ast: Math symbols. (line 6004) +* \asymp: Math symbols. (line 6013) +* \AtBeginDocument: \AtBeginDocument. (line 2645) * \AtBeginDvi: Class and package commands. - (line 787) -* \AtEndDocument: \AtEndDocument. (line 2298) + (line 888) +* \AtEndDocument: \AtEndDocument. (line 2661) * \AtEndOfClass: Class and package commands. - (line 792) + (line 893) * \AtEndOfPackage: Class and package commands. - (line 792) -* \author{NAME \and NAME2}: \maketitle. (line 6444) -* \a` (grave accent in tabbing): tabbing. (line 3176) -* \b (bar-under accent): Accents. (line 7234) -* \backslash: Math symbols. (line 5226) -* \bar: Math accents. (line 6191) + (line 893) +* \author{NAME \and NAME2}: \maketitle. (line 7234) +* \a` (grave accent in tabbing): tabbing. (line 3864) +* \b (bar-under accent): Accents. (line 9097) +* \backslash: Math symbols. (line 6016) +* \bar: Math accents. (line 6981) * \baselineskip: Low-level font commands. - (line 1333) + (line 1487) * \baselinestretch: Low-level font commands. - (line 1343) -* \begin: Environments. (line 1994) -* \beta: Math symbols. (line 5230) -* \bf: Font styles. (line 1137) -* \bfseries: Font styles. (line 1106) -* \bibitem: \bibitem. (line 3601) -* \bibliography: Using BibTeX. (line 3645) -* \bibliographystyle: Using BibTeX. (line 3645) -* \bigcap: Math symbols. (line 5233) -* \bigcirc: Math symbols. (line 5237) -* \bigcup: Math symbols. (line 5241) -* \bigodot: Math symbols. (line 5245) -* \bigoplus: Math symbols. (line 5248) -* \bigotimes: Math symbols. (line 5251) + (line 1497) +* \begin: Environments. (line 2340) +* \beta: Math symbols. (line 6020) +* \bf: Font styles. (line 1288) +* \bfseries: Font styles. (line 1257) +* \bibitem: \bibitem. (line 4314) +* \bibliography: Using BibTeX. (line 4358) +* \bibliographystyle: Using BibTeX. (line 4358) +* \bibname: thebibliography. (line 4296) +* \bigcap: Math symbols. (line 6023) +* \bigcirc: Math symbols. (line 6027) +* \bigcup: Math symbols. (line 6031) +* \bigodot: Math symbols. (line 6035) +* \bigoplus: Math symbols. (line 6038) +* \bigotimes: Math symbols. (line 6041) * \bigskip: \bigskip \medskip \smallskip. - (line 6721) + (line 7566) * \bigskipamount: \bigskip \medskip \smallskip. - (line 6722) -* \bigsqcup: Math symbols. (line 5262) -* \bigtriangledown: Math symbols. (line 5254) -* \bigtriangleup: Math symbols. (line 5258) -* \biguplus: Math symbols. (line 5265) -* \bigvee: Math symbols. (line 5269) -* \bigwedge: Math symbols. (line 5272) -* \bmod: Math functions. (line 6091) -* \boldmath: Math formulas. (line 5134) -* \bot: Math symbols. (line 5275) -* \bottomfraction: Floats. (line 1755) -* \bottomfraction <1>: Floats. (line 1756) -* \bowtie: Math symbols. (line 5280) -* \Box: Math symbols. (line 5283) -* \breve: Math accents. (line 6194) -* \bullet: Math symbols. (line 5288) -* \c (cedilla accent): Accents. (line 7239) -* \cal: Font styles. (line 1140) -* \cap: Math symbols. (line 5291) -* \capitalacute: Accents. (line 7208) -* \capitalbreve: Accents. (line 7274) -* \capitalcaron: Accents. (line 7285) -* \capitalcedilla: Accents. (line 7239) -* \capitalcircumflex: Accents. (line 7221) -* \capitaldieresis: Accents. (line 7204) -* \capitaldotaccent: Accents. (line 7243) -* \capitalgrave: Accents. (line 7225) -* \capitalhungarumlaut: Accents. (line 7247) -* \capitalmacron: Accents. (line 7217) -* \capitalnewtie: Accents. (line 7269) -* \capitalogonek: Accents. (line 7258) -* \capitalring: Accents. (line 7263) -* \capitaltie: Accents. (line 7269) -* \capitaltilde: Accents. (line 7231) -* \caption: figure. (line 2484) -* \caption <1>: table. (line 3232) -* \cc: \cc. (line 7683) -* \cdot: Math symbols. (line 5296) -* \cdots: Math miscellany. (line 6298) -* \centering: \centering. (line 2166) -* \chapter: Sectioning. (line 1820) -* \check: Math accents. (line 6197) -* \chi: Math symbols. (line 5299) -* \circ: Math symbols. (line 5302) -* \circle: \circle. (line 2888) -* \cite: \cite. (line 3620) + (line 7567) +* \bigsqcup: Math symbols. (line 6052) +* \bigtriangledown: Math symbols. (line 6044) +* \bigtriangleup: Math symbols. (line 6048) +* \biguplus: Math symbols. (line 6055) +* \bigvee: Math symbols. (line 6059) +* \bigwedge: Math symbols. (line 6062) +* \bmod: Math functions. (line 6881) +* \boldmath: Math formulas. (line 5924) +* \bot: Math symbols. (line 6065) +* \bottomfraction: Floats. (line 1910) +* \bottomfraction <1>: Floats. (line 1911) +* \bowtie: Math symbols. (line 6070) +* \Box: Math symbols. (line 6073) +* \breve: Math accents. (line 6984) +* \bullet: Math symbols. (line 6078) +* \c (cedilla accent): Accents. (line 9102) +* \cal: Font styles. (line 1291) +* \cap: Math symbols. (line 6081) +* \capitalacute: Accents. (line 9071) +* \capitalbreve: Accents. (line 9137) +* \capitalcaron: Accents. (line 9148) +* \capitalcedilla: Accents. (line 9102) +* \capitalcircumflex: Accents. (line 9084) +* \capitaldieresis: Accents. (line 9067) +* \capitaldotaccent: Accents. (line 9106) +* \capitalgrave: Accents. (line 9088) +* \capitalhungarumlaut: Accents. (line 9110) +* \capitalmacron: Accents. (line 9080) +* \capitalnewtie: Accents. (line 9132) +* \capitalogonek: Accents. (line 9121) +* \capitalring: Accents. (line 9126) +* \capitaltie: Accents. (line 9132) +* \capitaltilde: Accents. (line 9094) +* \caption: figure. (line 2857) +* \caption <1>: table. (line 3935) +* \cc: \cc. (line 9546) +* \cdot: Math symbols. (line 6086) +* \cdots: Math miscellany. (line 7088) +* \centering: \centering. (line 2512) +* \chapter: Sectioning. (line 1975) +* \check: Math accents. (line 6987) +* \CheckCommand: Class and package commands. + (line 900) +* \CheckCommand*: Class and package commands. + (line 900) +* \chi: Math symbols. (line 6089) +* \circ: Math symbols. (line 6092) +* \circle: \circle. (line 3535) +* \cite: \cite. (line 4333) * \ClassError: Class and package commands. - (line 807) + (line 920) * \ClassInfo: Class and package commands. - (line 807) + (line 920) * \ClassInfoNoLine: Class and package commands. - (line 807) + (line 920) * \ClassWarning: Class and package commands. - (line 807) + (line 920) * \ClassWarningNoLine: Class and package commands. - (line 807) -* \cleardoublepage: \cleardoublepage. (line 3937) -* \clearpage: \clearpage. (line 3946) -* \cline: \cline. (line 3537) -* \closing: \closing. (line 7699) -* \clubsuit: Math symbols. (line 5307) -* \columnsep: \twocolumn. (line 1409) + (line 920) +* \cleardoublepage: \cleardoublepage. (line 4651) +* \clearpage: \clearpage. (line 4660) +* \cline: \cline. (line 4240) +* \closing: \closing. (line 9562) +* \clubsuit: Math symbols. (line 6097) +* \columnsep: \twocolumn. (line 1564) * \columnsep <1>: Page layout parameters. - (line 1535) + (line 1690) * \columnsep <2>: Page layout parameters. - (line 1538) -* \columnseprule: \twocolumn. (line 1415) + (line 1693) +* \columnseprule: \twocolumn. (line 1570) * \columnseprule <1>: Page layout parameters. - (line 1536) + (line 1691) * \columnseprule <2>: Page layout parameters. - (line 1538) -* \columnwidth: \twocolumn. (line 1422) + (line 1693) +* \columnwidth: \twocolumn. (line 1577) * \columnwidth <1>: Page layout parameters. - (line 1537) + (line 1692) * \columnwidth <2>: Page layout parameters. - (line 1538) -* \complement: Math symbols. (line 5310) -* \cong: Math symbols. (line 5316) -* \contentsline: \addcontentsline. (line 7499) -* \coprod: Math symbols. (line 5319) -* \copyright: Text symbols. (line 7018) -* \cos: Math functions. (line 6094) -* \cosh: Math functions. (line 6097) -* \cot: Math functions. (line 6100) -* \coth: Math functions. (line 6103) -* \csc: Math functions. (line 6106) -* \cup: Math symbols. (line 5322) + (line 1693) +* \complement: Math symbols. (line 6100) +* \cong: Math symbols. (line 6106) +* \contentsline: \addcontentsline. (line 9362) +* \coprod: Math symbols. (line 6109) +* \copyright: Text symbols. (line 8881) +* \cos: Math functions. (line 6884) +* \cosh: Math functions. (line 6887) +* \cot: Math functions. (line 6890) +* \coth: Math functions. (line 6893) +* \csc: Math functions. (line 6896) +* \cup: Math symbols. (line 6112) * \CurrentOption: Class and package commands. - (line 825) -* \d (dot-under accent): Accents. (line 7243) -* \dag: Text symbols. (line 7022) -* \dagger: Math symbols. (line 5327) -* \dashbox: \dashbox. (line 2943) -* \dashv: Math symbols. (line 5330) -* \date{TEXT}: \maketitle. (line 6450) -* \day: \day \month \year. (line 4861) -* \dblfloatpagefraction: \twocolumn. (line 1456) -* \dblfloatsep: \twocolumn. (line 1462) -* \dbltextfloatsep: \twocolumn. (line 1469) -* \dbltopfraction: \twocolumn. (line 1434) -* \dbltopnumber: \twocolumn. (line 1474) -* \ddag: Text symbols. (line 7025) -* \ddagger: Math symbols. (line 5334) -* \ddot: Math accents. (line 6200) -* \ddots: Math miscellany. (line 6302) + (line 939) +* \d (dot-under accent): Accents. (line 9106) +* \dag: Text symbols. (line 8885) +* \dagger: Math symbols. (line 6117) +* \dashbox: \dashbox. (line 3590) +* \dashv: Math symbols. (line 6120) +* \date{TEXT}: \maketitle. (line 7240) +* \day: \day \month \year. (line 5651) +* \dblfloatpagefraction: \twocolumn. (line 1611) +* \dblfloatsep: \twocolumn. (line 1617) +* \dbltextfloatsep: \twocolumn. (line 1624) +* \dbltopfraction: \twocolumn. (line 1589) +* \dbltopnumber: \twocolumn. (line 1629) +* \ddag: Text symbols. (line 8888) +* \ddagger: Math symbols. (line 6124) +* \ddot: Math accents. (line 6990) +* \ddots: Math miscellany. (line 7092) +* \DeclareGraphicsExtensions: \DeclareGraphicsExtensions. + (line 8231) +* \DeclareGraphicsRule: \DeclareGraphicsRule. + (line 8270) * \DeclareOption: Class and package commands. - (line 831) + (line 945) * \DeclareOption*: Class and package commands. - (line 831) -* \deg: Math functions. (line 6109) -* \Delta: Math symbols. (line 5337) -* \delta: Math symbols. (line 5340) -* \depth: Predefined lengths. (line 5006) -* \det: Math functions. (line 6112) + (line 945) +* \DeclareRobustCommand: Class and package commands. + (line 975) +* \DeclareRobustCommand*: Class and package commands. + (line 975) +* \deg: Math functions. (line 6899) +* \Delta: Math symbols. (line 6127) +* \delta: Math symbols. (line 6130) +* \depth: Predefined lengths. (line 5796) +* \det: Math functions. (line 6902) * \dh (d): Additional Latin letters. - (line 7304) + (line 9167) * \DH (D): Additional Latin letters. - (line 7304) -* \Diamond: Math symbols. (line 5343) -* \diamond: Math symbols. (line 5347) -* \diamondsuit: Math symbols. (line 5351) -* \dim: Math functions. (line 6115) -* \displaystyle: Math formulas. (line 5139) -* \div: Math symbols. (line 5354) + (line 9167) +* \Diamond: Math symbols. (line 6133) +* \diamond: Math symbols. (line 6137) +* \diamondsuit: Math symbols. (line 6141) +* \dim: Math functions. (line 6905) +* \displaystyle: Math formulas. (line 5929) +* \div: Math symbols. (line 6144) * \dj: Additional Latin letters. - (line 7310) + (line 9173) * \DJ: Additional Latin letters. - (line 7310) -* \documentclass: Document classes. (line 570) -* \dot: Math accents. (line 6203) -* \doteq: Math symbols. (line 5357) + (line 9173) +* \documentclass: Document classes. (line 669) +* \dot: Math accents. (line 6993) +* \doteq: Math symbols. (line 6147) * \dotfill: \hrulefill \dotfill. - (line 6673) -* \dots: Text symbols. (line 7042) -* \doublerulesep: tabular. (line 3415) -* \downarrow: Math symbols. (line 5361) -* \Downarrow: Math symbols. (line 5365) -* \ell: Math symbols. (line 5369) -* \emph: Font styles. (line 1126) -* \emptyset: Math symbols. (line 5372) -* \encl: \encl. (line 7711) -* \end: Environments. (line 1994) -* \enlargethispage: \enlargethispage. (line 3959) -* \enumi: enumerate. (line 2350) -* \enumii: enumerate. (line 2350) -* \enumiii: enumerate. (line 2350) -* \enumiv: enumerate. (line 2350) -* \epsilon: Math symbols. (line 5376) -* \equiv: Math symbols. (line 5382) -* \eta: Math symbols. (line 5385) + (line 7518) +* \dots: Text symbols. (line 8905) +* \doublerulesep: tabular. (line 4118) +* \downarrow: Math symbols. (line 6151) +* \Downarrow: Math symbols. (line 6155) +* \ell: Math symbols. (line 6159) +* \emph: Font styles. (line 1277) +* \emptyset: Math symbols. (line 6162) +* \encl: \encl. (line 9574) +* \end: Environments. (line 2340) +* \enlargethispage: \enlargethispage. (line 4673) +* \enumi: enumerate. (line 2718) +* \enumii: enumerate. (line 2718) +* \enumiii: enumerate. (line 2718) +* \enumiv: enumerate. (line 2718) +* \epsilon: Math symbols. (line 6166) +* \equiv: Math symbols. (line 6172) +* \eta: Math symbols. (line 6175) * \evensidemargin: Document class options. - (line 680) + (line 781) * \evensidemargin <1>: Page layout parameters. - (line 1596) + (line 1751) * \evensidemargin <2>: Page layout parameters. - (line 1597) + (line 1752) * \ExecuteOptions: Class and package commands. - (line 899) -* \exists: Math symbols. (line 5388) -* \exp: Math functions. (line 6118) -* \extracolsep: tabular. (line 3363) + (line 1045) +* \exists: Math symbols. (line 6178) +* \exp: Math functions. (line 6908) +* \extracolsep: tabular. (line 4066) * \fbox: \fbox and \framebox. - (line 6808) + (line 7653) * \fboxrule: \framebox (picture). - (line 2937) + (line 3584) * \fboxrule <1>: \fbox and \framebox. - (line 6820) + (line 7665) * \fboxsep: \framebox (picture). - (line 2937) + (line 3584) * \fboxsep <1>: \fbox and \framebox. - (line 6820) -* \fill: \hfill. (line 6568) -* \flat: Math symbols. (line 5391) -* \floatpagefraction: Floats. (line 1759) -* \floatpagefraction <1>: Floats. (line 1760) -* \floatsep: Floats. (line 1775) -* \floatsep <1>: Floats. (line 1776) -* \flushbottom: \flushbottom. (line 1503) -* \fnsymbol, and footnotes: \footnote. (line 4027) + (line 7665) +* \fill: \hfill. (line 7358) +* \flat: Math symbols. (line 6181) +* \floatpagefraction: Floats. (line 1914) +* \floatpagefraction <1>: Floats. (line 1915) +* \floatsep: Floats. (line 1930) +* \floatsep <1>: Floats. (line 1931) +* \flushbottom: \flushbottom. (line 1658) +* \fnsymbol, and footnotes: \footnote. (line 4741) * \fnsymbol{COUNTER}: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4732) + (line 5522) * \fontencoding: Low-level font commands. - (line 1246) + (line 1397) * \fontfamily: Low-level font commands. - (line 1255) + (line 1407) * \fontseries: Low-level font commands. - (line 1280) + (line 1434) * \fontshape: Low-level font commands. - (line 1320) + (line 1474) * \fontsize: Low-level font commands. - (line 1333) -* \footnote: \footnote. (line 4010) -* \footnotemark: \footnotemark. (line 4048) + (line 1487) +* \footnote: \footnote. (line 4724) +* \footnotemark: \footnotemark. (line 4762) * \footnoterule: Footnote parameters. - (line 4199) + (line 4913) * \footnotesep: Footnote parameters. - (line 4205) -* \footnotesize: Font sizes. (line 1220) -* \footnotetext: \footnotetext. (line 4080) + (line 4919) +* \footnotesize: Font sizes. (line 1371) +* \footnotetext: \footnotetext. (line 4794) * \footskip: Page layout parameters. - (line 1555) + (line 1710) * \footskip <1>: Page layout parameters. - (line 1556) -* \forall: Math symbols. (line 5394) -* \frac: Math miscellany. (line 6306) -* \frac{NUM}{DEN}: Math miscellany. (line 6305) -* \frame: \frame. (line 2958) + (line 1711) +* \forall: Math symbols. (line 6184) +* \frac: Math miscellany. (line 7096) +* \frac{NUM}{DEN}: Math miscellany. (line 7095) +* \frame: \frame. (line 3605) * \framebox: \framebox (picture). - (line 2929) + (line 3576) * \framebox <1>: \fbox and \framebox. - (line 6808) -* \frenchspacing: \frenchspacing. (line 6628) -* \frown: Math symbols. (line 5397) -* \fussy: \fussy. (line 3879) -* \Gamma: Math symbols. (line 5400) -* \gamma: Math symbols. (line 5403) -* \gcd: Math functions. (line 6121) -* \ge: Math symbols. (line 5406) -* \geq: Math symbols. (line 5410) -* \gets: Math symbols. (line 5414) -* \gg: Math symbols. (line 5417) -* \glossary: Glossaries. (line 7523) -* \glossaryentry: Glossaries. (line 7526) -* \grave: Math accents. (line 6206) -* \guillemotleft (<<): Text symbols. (line 7034) -* \guillemotright (>>): Text symbols. (line 7035) -* \guilsinglleft (<): Text symbols. (line 7036) -* \guilsinglright (>): Text symbols. (line 7037) -* \H (Hungarian umlaut accent): Accents. (line 7247) -* \hat: Math accents. (line 6209) -* \hbar: Math symbols. (line 5421) + (line 7653) +* \frenchspacing: \frenchspacing. (line 7448) +* \frown: Math symbols. (line 6187) +* \fussy: \fussy. (line 4593) +* \Gamma: Math symbols. (line 6190) +* \gamma: Math symbols. (line 6193) +* \gcd: Math functions. (line 6911) +* \ge: Math symbols. (line 6196) +* \geq: Math symbols. (line 6200) +* \gets: Math symbols. (line 6204) +* \gg: Math symbols. (line 6207) +* \glossary: Glossaries. (line 9386) +* \glossaryentry: Glossaries. (line 9389) +* \graphicspath: \graphicspath. (line 8169) +* \grave: Math accents. (line 6996) +* \guillemotleft (<<): Text symbols. (line 8897) +* \guillemotright (>>): Text symbols. (line 8898) +* \guilsinglleft (<): Text symbols. (line 8899) +* \guilsinglright (>): Text symbols. (line 8900) +* \H (Hungarian umlaut accent): Accents. (line 9110) +* \hat: Math accents. (line 6999) +* \hbar: Math symbols. (line 6211) * \headheight: Page layout parameters. - (line 1543) + (line 1698) * \headheight <1>: Page layout parameters. - (line 1544) + (line 1699) * \headsep: Page layout parameters. - (line 1548) + (line 1703) * \headsep <1>: Page layout parameters. - (line 1549) -* \heartsuit: Math symbols. (line 5424) -* \height: Predefined lengths. (line 5004) -* \hfill: \hfill. (line 6565) -* \hline: \hline. (line 3559) -* \hom: Math functions. (line 6124) -* \hookleftarrow: Math symbols. (line 5427) -* \hookrightarrow: Math symbols. (line 5430) + (line 1704) +* \heartsuit: Math symbols. (line 6214) +* \height: Predefined lengths. (line 5794) +* \hfill: \hfill. (line 7355) +* \hline: \hline. (line 4262) +* \hom: Math functions. (line 6914) +* \hookleftarrow: Math symbols. (line 6217) +* \hookrightarrow: Math symbols. (line 6220) * \hrulefill: \hrulefill \dotfill. - (line 6673) + (line 7518) * \hsize: Page layout parameters. - (line 1648) + (line 1803) * \hsize <1>: Page layout parameters. - (line 1648) -* \hspace: \hspace. (line 6538) -* \huge: Font sizes. (line 1220) -* \Huge: Font sizes. (line 1220) -* \hyphenation: \hyphenation. (line 3897) -* \i (dotless i): Accents. (line 7251) -* \iff: Math symbols. (line 5433) + (line 1803) +* \hspace: \hspace. (line 7328) +* \huge: Font sizes. (line 1371) +* \Huge: Font sizes. (line 1371) +* \hyphenation: \hyphenation. (line 4611) +* \i (dotless i): Accents. (line 9114) +* \iff: Math symbols. (line 6223) * \IfFileExists: Class and package commands. - (line 861) + (line 1006) +* \ignorespaces: \ignorespaces & \ignorespacesafterend. + (line 5400) +* \ignorespacesafterend: \ignorespaces & \ignorespacesafterend. + (line 5400) * \ij (ij): Additional Latin letters. - (line 7316) + (line 9179) * \IJ (IJ): Additional Latin letters. - (line 7316) -* \Im: Math symbols. (line 5437) -* \imath: Math accents. (line 6212) -* \in: Math symbols. (line 5440) -* \include: \include. (line 7400) -* \includeonly: \includeonly. (line 7418) -* \indent: \indent. (line 5029) -* \index: Indexes. (line 7539) -* \indexentry: Indexes. (line 7542) -* \indexspace: Indexes. (line 7562) -* \inf: Math functions. (line 6127) -* \infty: Math symbols. (line 5446) -* \input: \input. (line 7433) + (line 9179) +* \Im: Math symbols. (line 6227) +* \imath: Math accents. (line 7002) +* \in: Math symbols. (line 6230) +* \include: \include. (line 9263) +* \includegraphics: \includegraphics. (line 8349) +* \includeonly: \includeonly. (line 9281) +* \indent: \indent. (line 5819) +* \index: Indexes. (line 9402) +* \indexentry: Indexes. (line 9405) +* \indexspace: Indexes. (line 9425) +* \inf: Math functions. (line 6917) +* \infty: Math symbols. (line 6236) +* \input: \input. (line 9296) * \InputIfFileExists: Class and package commands. - (line 861) -* \int: Math symbols. (line 5449) -* \intextsep: Floats. (line 1779) -* \intextsep <1>: Floats. (line 1780) -* \iota: Math symbols. (line 5452) -* \it: Font styles. (line 1143) -* \item: description. (line 2211) -* \item <1>: enumerate. (line 2326) -* \item <2>: itemize. (line 2606) -* \itemindent: itemize. (line 2649) -* \itemsep: itemize. (line 2671) -* \itshape: Font styles. (line 1100) -* \j (dotless j): Accents. (line 7254) -* \jmath: Math accents. (line 6215) -* \Join: Math symbols. (line 5455) -* \k (ogonek): Accents. (line 7258) -* \kappa: Math symbols. (line 5459) -* \ker: Math functions. (line 6130) -* \kill: tabbing. (line 3180) + (line 1006) +* \int: Math symbols. (line 6239) +* \intextsep: Floats. (line 1934) +* \intextsep <1>: Floats. (line 1935) +* \iota: Math symbols. (line 6242) +* \it: Font styles. (line 1294) +* \item: description. (line 2567) +* \item <1>: enumerate. (line 2700) +* \item <2>: itemize. (line 2979) +* \item <3>: itemize. (line 3001) +* \itemindent: list. (line 3141) +* \itemsep: list. (line 3145) +* \itshape: Font styles. (line 1251) +* \j (dotless j): Accents. (line 9117) +* \jmath: Math accents. (line 7005) +* \Join: Math symbols. (line 6245) +* \k (ogonek): Accents. (line 9121) +* \kappa: Math symbols. (line 6249) +* \ker: Math functions. (line 6920) +* \kill: tabbing. (line 3868) * \l (/l): Additional Latin letters. - (line 7320) + (line 9183) * \L (/L): Additional Latin letters. - (line 7320) -* \label: \label. (line 1900) -* \labelenumi: enumerate. (line 2355) -* \labelenumii: enumerate. (line 2355) -* \labelenumiii: enumerate. (line 2355) -* \labelenumiv: enumerate. (line 2355) -* \labelitemi: itemize. (line 2629) -* \labelitemii: itemize. (line 2629) -* \labelitemiii: itemize. (line 2629) -* \labelitemiv: itemize. (line 2629) -* \labelsep: itemize. (line 2652) -* \labelwidth: itemize. (line 2655) -* \Lambda: Math symbols. (line 5462) -* \lambda: Math symbols. (line 5465) -* \land: Math symbols. (line 5468) -* \langle: Math symbols. (line 5473) -* \large: Font sizes. (line 1220) -* \Large: Font sizes. (line 1220) -* \LARGE: Font sizes. (line 1220) -* \LaTeX: Text symbols. (line 7028) -* \LaTeXe: Text symbols. (line 7031) -* \lbrace: Math symbols. (line 5478) -* \lbrack: Math symbols. (line 5482) -* \lceil: Math symbols. (line 5486) -* \ldots: Text symbols. (line 7041) -* \le: Math symbols. (line 5490) -* \leadsto: Math symbols. (line 5494) -* \left DELIM1 ... \right DELIM2: Math miscellany. (line 6308) -* \Leftarrow: Math symbols. (line 5501) -* \leftarrow: Math symbols. (line 5506) -* \lefteqn: eqnarray. (line 2416) -* \leftharpoondown: Math symbols. (line 5510) -* \leftharpoonup: Math symbols. (line 5513) -* \leftmargin: itemize. (line 2636) -* \leftmargini: itemize. (line 2636) -* \leftmarginii: itemize. (line 2636) -* \leftmarginiii: itemize. (line 2636) -* \leftmarginiv: itemize. (line 2636) -* \leftmarginv: itemize. (line 2636) -* \leftmarginvi: itemize. (line 2636) -* \Leftrightarrow: Math symbols. (line 5516) -* \leftrightarrow: Math symbols. (line 5521) -* \leq: Math symbols. (line 5526) -* \lfloor: Math symbols. (line 5530) -* \lg: Math functions. (line 6133) -* \lhd: Math symbols. (line 5533) -* \lim: Math functions. (line 6136) -* \liminf: Math functions. (line 6139) -* \limsup: Math functions. (line 6142) -* \line: \line. (line 2969) + (line 9183) +* \label: \label. (line 2246) +* \labelenumi: enumerate. (line 2727) +* \labelenumii: enumerate. (line 2727) +* \labelenumiii: enumerate. (line 2727) +* \labelenumiv: enumerate. (line 2727) +* \labelitemi: itemize. (line 3008) +* \labelitemii: itemize. (line 3008) +* \labelitemiii: itemize. (line 3008) +* \labelitemiv: itemize. (line 3008) +* \labelsep: list. (line 3157) +* \labelwidth: list. (line 3162) +* \Lambda: Math symbols. (line 6252) +* \lambda: Math symbols. (line 6255) +* \land: Math symbols. (line 6258) +* \langle: Math symbols. (line 6263) +* \large: Font sizes. (line 1371) +* \Large: Font sizes. (line 1371) +* \LARGE: Font sizes. (line 1371) +* \LaTeX: Text symbols. (line 8891) +* \LaTeXe: Text symbols. (line 8894) +* \lbrace: Math symbols. (line 6268) +* \lbrack: Math symbols. (line 6272) +* \lceil: Math symbols. (line 6276) +* \ldots: Text symbols. (line 8904) +* \le: Math symbols. (line 6280) +* \leadsto: Math symbols. (line 6284) +* \left DELIM1 ... \right DELIM2: Math miscellany. (line 7098) +* \Leftarrow: Math symbols. (line 6291) +* \leftarrow: Math symbols. (line 6296) +* \lefteqn: eqnarray. (line 2784) +* \leftharpoondown: Math symbols. (line 6300) +* \leftharpoonup: Math symbols. (line 6303) +* \leftmargin: itemize. (line 3027) +* \leftmargin <1>: list. (line 3182) +* \leftmargini: itemize. (line 3027) +* \leftmarginii: itemize. (line 3027) +* \leftmarginiii: itemize. (line 3027) +* \leftmarginiv: itemize. (line 3027) +* \leftmarginv: itemize. (line 3027) +* \leftmarginvi: itemize. (line 3027) +* \Leftrightarrow: Math symbols. (line 6306) +* \leftrightarrow: Math symbols. (line 6311) +* \leq: Math symbols. (line 6316) +* \lfloor: Math symbols. (line 6320) +* \lg: Math functions. (line 6923) +* \lhd: Math symbols. (line 6323) +* \lim: Math functions. (line 6926) +* \liminf: Math functions. (line 6929) +* \limsup: Math functions. (line 6932) +* \line: \line. (line 3616) * \linebreak: \linebreak & \nolinebreak. - (line 3913) + (line 4627) * \linespread: Low-level font commands. - (line 1356) -* \linethickness: \linethickness. (line 2983) + (line 1511) +* \linethickness: \linethickness. (line 3630) * \linewidth: Page layout parameters. - (line 1562) + (line 1717) * \linewidth <1>: Page layout parameters. - (line 1563) -* \listoffigures: Tables of contents. (line 7461) -* \listoftables: Tables of contents. (line 7461) -* \listparindent: itemize. (line 2658) -* \ll: Math symbols. (line 5541) -* \ln: Math functions. (line 6145) -* \lnot: Math symbols. (line 5545) + (line 1718) +* \listoffigures: Tables of contents. (line 9324) +* \listoftables: Tables of contents. (line 9324) +* \listparindent: list. (line 3199) +* \ll: Math symbols. (line 6331) +* \ln: Math functions. (line 6935) +* \lnot: Math symbols. (line 6335) * \LoadClass: Class and package commands. - (line 878) + (line 1023) * \LoadClassWithOptions: Class and package commands. - (line 878) -* \location: \location. (line 7727) -* \log: Math functions. (line 6148) -* \longleftarrow: Math symbols. (line 5548) -* \longleftrightarrow: Math symbols. (line 5553) -* \longmapsto: Math symbols. (line 5557) -* \longrightarrow: Math symbols. (line 5562) -* \lor: Math symbols. (line 5567) -* \lq: Text symbols. (line 7047) -* \makebox: \makebox. (line 6844) -* \makebox (for picture): \makebox (picture). (line 2901) -* \makeglossary: Glossaries. (line 7521) -* \makeindex: Indexes. (line 7536) -* \makelabels: \makelabels. (line 7737) -* \maketitle: \maketitle. (line 6439) -* \mapsto: Math symbols. (line 5570) -* \marginpar: Marginal notes. (line 5061) + (line 1023) +* \location: \location. (line 9590) +* \log: Math functions. (line 6938) +* \longleftarrow: Math symbols. (line 6338) +* \longleftrightarrow: Math symbols. (line 6343) +* \longmapsto: Math symbols. (line 6347) +* \longrightarrow: Math symbols. (line 6352) +* \lor: Math symbols. (line 6357) +* \lq: Text symbols. (line 8910) +* \makebox: \makebox. (line 7689) +* \makebox (for picture): \makebox (picture). (line 3548) +* \makeglossary: Glossaries. (line 9384) +* \makeindex: Indexes. (line 9399) +* \makelabel: list. (line 3114) +* \makelabels: \makelabels. (line 9600) +* \maketitle: \maketitle. (line 7229) +* \mapsto: Math symbols. (line 6360) +* \marginpar: Marginal notes. (line 5851) * \marginparpush: Page layout parameters. - (line 1569) + (line 1724) * \marginparpush <1>: Page layout parameters. - (line 1572) -* \marginparpush <2>: Marginal notes. (line 5091) -* \marginparsep: Marginal notes. (line 5095) + (line 1727) +* \marginparpush <2>: Marginal notes. (line 5881) +* \marginparsep: Marginal notes. (line 5885) * \marginparwidth: Page layout parameters. - (line 1571) + (line 1726) * \marginparwidth <1>: Page layout parameters. - (line 1572) -* \marginparwidth <2>: Marginal notes. (line 5099) + (line 1727) +* \marginparwidth <2>: Marginal notes. (line 5889) * \marginsep: Page layout parameters. - (line 1570) + (line 1725) * \marginsep <1>: Page layout parameters. - (line 1572) -* \markboth{LEFT}{RIGHT}: \pagestyle. (line 6513) -* \markright{RIGHT}: \pagestyle. (line 6520) -* \mathbf: Font styles. (line 1179) -* \mathcal: Font styles. (line 1195) -* \mathdollar: Math miscellany. (line 6313) -* \mathellipsis: Math miscellany. (line 6316) -* \mathnormal: Font styles. (line 1192) -* \mathparagraph: Math miscellany. (line 6319) -* \mathring: Math accents. (line 6218) -* \mathrm: Font styles. (line 1176) -* \mathsection: Math miscellany. (line 6322) -* \mathsf: Font styles. (line 1182) -* \mathsterling: Math miscellany. (line 6325) -* \mathtt: Font styles. (line 1185) -* \mathunderscore: Math miscellany. (line 6328) -* \mathversion: Font styles. (line 1197) -* \max: Math functions. (line 6151) -* \mbox: \mbox. (line 6801) -* \mbox, and LR mode: Modes. (line 6381) -* \mdseries: Font styles. (line 1103) + (line 1727) +* \markboth{LEFT}{RIGHT}: \pagestyle. (line 7303) +* \markright{RIGHT}: \pagestyle. (line 7310) +* \mathbf: Font styles. (line 1330) +* \mathcal: Font styles. (line 1346) +* \mathdollar: Math miscellany. (line 7103) +* \mathellipsis: Math miscellany. (line 7106) +* \mathnormal: Font styles. (line 1343) +* \mathparagraph: Math miscellany. (line 7109) +* \mathring: Math accents. (line 7008) +* \mathrm: Font styles. (line 1327) +* \mathsection: Math miscellany. (line 7112) +* \mathsf: Font styles. (line 1333) +* \mathsterling: Math miscellany. (line 7115) +* \mathtt: Font styles. (line 1336) +* \mathunderscore: Math miscellany. (line 7118) +* \mathversion: Font styles. (line 1348) +* \max: Math functions. (line 6941) +* \mbox: \mbox. (line 7646) +* \mbox, and LR mode: Modes. (line 7171) +* \mdseries: Font styles. (line 1254) * \medskip: \bigskip \medskip \smallskip. - (line 6726) + (line 7571) * \medskipamount: \bigskip \medskip \smallskip. - (line 6727) + (line 7572) * \medspace: Spacing in math mode. - (line 6251) -* \mho: Math symbols. (line 5574) -* \mid: Math symbols. (line 5579) -* \min: Math functions. (line 6154) -* \models: Math symbols. (line 5589) -* \month: \day \month \year. (line 4861) -* \mp: Math symbols. (line 5594) -* \mu: Math symbols. (line 5597) -* \multicolumn: \multicolumn. (line 3430) -* \multiput: \multiput. (line 3007) -* \nabla: Math symbols. (line 5600) -* \name: \name. (line 7759) -* \natural: Math symbols. (line 5603) -* \ne: Math symbols. (line 5606) -* \nearrow: Math symbols. (line 5609) + (line 7041) +* \mho: Math symbols. (line 6364) +* \mid: Math symbols. (line 6369) +* \min: Math functions. (line 6944) +* \models: Math symbols. (line 6379) +* \month: \day \month \year. (line 5651) +* \mp: Math symbols. (line 6384) +* \mu: Math symbols. (line 6387) +* \multicolumn: \multicolumn. (line 4133) +* \multiput: \multiput. (line 3654) +* \nabla: Math symbols. (line 6390) +* \name: \name. (line 9622) +* \natural: Math symbols. (line 6393) +* \ne: Math symbols. (line 6396) +* \nearrow: Math symbols. (line 6399) * \NeedsTeXFormat: Class and package commands. - (line 909) -* \neg: Math symbols. (line 5612) -* \neq: Math symbols. (line 5616) + (line 1055) +* \neg: Math symbols. (line 6402) +* \neq: Math symbols. (line 6406) * \newcommand: \newcommand & \renewcommand. - (line 4220) -* \newcounter: \newcounter. (line 4326) + (line 4934) +* \newcounter: \newcounter. (line 5040) * \newenvironment: \newenvironment & \renewenvironment. - (line 4380) -* \newfont: \newfont. (line 4599) -* \newlength: \newlength. (line 4350) -* \newline: \newline. (line 3839) -* \NEWLINE: \(SPACE) and \@. (line 6575) -* \newpage: \newpage. (line 3953) -* \newsavebox: \newsavebox. (line 4365) -* \newtheorem: \newtheorem. (line 4487) -* \newtie: Accents. (line 7269) + (line 5094) +* \newfont: \newfont. (line 5313) +* \newlength: \newlength. (line 5064) +* \newline: \newline. (line 4553) +* \NEWLINE: \(SPACE) and \@. (line 7416) +* \newpage: \newpage. (line 4667) +* \newsavebox: \newsavebox. (line 5079) +* \newtheorem: \newtheorem. (line 5201) +* \newtie: Accents. (line 9132) * \ng: Additional Latin letters. - (line 7324) + (line 9187) * \NG: Additional Latin letters. - (line 7324) -* \ni: Math symbols. (line 5619) -* \nocite: \nocite. (line 3635) -* \nocorr: Font styles. (line 1088) -* \nocorrlist: Font styles. (line 1088) -* \nofiles: Tables of contents. (line 7466) -* \noindent: \noindent. (line 5040) + (line 9187) +* \ni: Math symbols. (line 6409) +* \nocite: \nocite. (line 4348) +* \nocorr: Font styles. (line 1239) +* \nocorrlist: Font styles. (line 1239) +* \nofiles: Tables of contents. (line 9329) +* \noindent: \noindent. (line 5830) * \nolinebreak: \linebreak & \nolinebreak. - (line 3913) -* \nonfrenchspacing: \frenchspacing. (line 6628) -* \nonumber: eqnarray. (line 2411) + (line 4627) +* \nonfrenchspacing: \frenchspacing. (line 7448) +* \nonumber: eqnarray. (line 2779) * \nopagebreak: \pagebreak & \nopagebreak. - (line 3974) -* \normalfont: Font styles. (line 1124) -* \normalmarginpar: Marginal notes. (line 5079) -* \normalsize: Font sizes. (line 1220) -* \not: Math symbols. (line 5624) -* \notin: Math symbols. (line 5632) -* \nu: Math symbols. (line 5636) -* \nwarrow: Math symbols. (line 5639) + (line 4688) +* \normalfont: Font styles. (line 1275) +* \normalmarginpar: Marginal notes. (line 5869) +* \normalsfcodes: \normalsfcodes. (line 7461) +* \normalsize: Font sizes. (line 1371) +* \not: Math symbols. (line 6414) +* \notin: Math symbols. (line 6422) +* \nu: Math symbols. (line 6426) +* \nwarrow: Math symbols. (line 6429) * \o (/o): Additional Latin letters. - (line 7328) + (line 9191) * \O (/O): Additional Latin letters. - (line 7328) + (line 9191) * \obeycr: \obeycr & \restorecr. - (line 3830) + (line 4544) * \oddsidemargin: Document class options. - (line 680) + (line 781) * \oddsidemargin <1>: Page layout parameters. - (line 1595) + (line 1750) * \oddsidemargin <2>: Page layout parameters. - (line 1597) -* \odot: Math symbols. (line 5642) + (line 1752) +* \odot: Math symbols. (line 6432) * \oe (oe): Additional Latin letters. - (line 7332) + (line 9195) * \OE (OE): Additional Latin letters. - (line 7332) -* \oint: Math symbols. (line 5647) -* \oldstylenums: Font styles. (line 1201) -* \Omega: Math symbols. (line 5651) -* \omega: Math symbols. (line 5654) -* \ominus: Math symbols. (line 5657) -* \onecolumn: \onecolumn. (line 1384) -* \opening: \opening. (line 7769) -* \oplus: Math symbols. (line 5660) + (line 9195) +* \oint: Math symbols. (line 6437) +* \oldstylenums: Font styles. (line 1352) +* \Omega: Math symbols. (line 6441) +* \omega: Math symbols. (line 6444) +* \ominus: Math symbols. (line 6447) +* \onecolumn: \onecolumn. (line 1539) +* \opening: \opening. (line 9632) +* \oplus: Math symbols. (line 6450) * \OptionNotUsed: Class and package commands. - (line 927) -* \oslash: Math symbols. (line 5664) -* \otimes: Math symbols. (line 5667) -* \oval: \oval. (line 3018) -* \overbrace{MATH}: Math miscellany. (line 6331) -* \overline{TEXT}: Math miscellany. (line 6335) -* \owns: Math symbols. (line 5672) -* \P: Text symbols. (line 7050) + (line 1071) +* \oslash: Math symbols. (line 6454) +* \otimes: Math symbols. (line 6457) +* \oval: \oval. (line 3665) +* \overbrace{MATH}: Math miscellany. (line 7121) +* \overline{TEXT}: Math miscellany. (line 7125) +* \owns: Math symbols. (line 6462) +* \P: Text symbols. (line 8913) * \PackageError: Class and package commands. - (line 807) + (line 920) * \PackageInfo: Class and package commands. - (line 807) + (line 920) * \PackageInfoNoLine: Class and package commands. - (line 807) + (line 920) * \PackageWarning: Class and package commands. - (line 807) + (line 920) * \PackageWarningNoLine: Class and package commands. - (line 807) + (line 920) * \pagebreak: \pagebreak & \nopagebreak. - (line 3974) -* \pagenumbering: \pagenumbering. (line 6465) -* \pageref: \pageref. (line 1951) -* \pagestyle: \pagestyle. (line 6490) + (line 4688) +* \pagenumbering: \pagenumbering. (line 7255) +* \pageref: \pageref. (line 2297) +* \pagestyle: \pagestyle. (line 7280) * \paperheight: Page layout parameters. - (line 1608) + (line 1763) * \paperheight <1>: Page layout parameters. - (line 1609) + (line 1764) * \paperwidth: Page layout parameters. - (line 1614) + (line 1769) * \paperwidth <1>: Page layout parameters. - (line 1615) -* \paragraph: Sectioning. (line 1825) -* \parallel: Math symbols. (line 5677) -* \parbox: \parbox. (line 6869) -* \parindent: minipage. (line 2796) -* \parindent <1>: \indent. (line 5029) -* \parsep: itemize. (line 2676) -* \parskip: \parskip. (line 5055) -* \parskip example: itemize. (line 2692) -* \part: Sectioning. (line 1819) -* \partial: Math symbols. (line 5680) -* \partopsep: itemize. (line 2686) + (line 1770) +* \paragraph: Sectioning. (line 1980) +* \parallel: Math symbols. (line 6467) +* \parbox: \parbox. (line 7714) +* \parindent: minipage. (line 3443) +* \parindent <1>: \indent. (line 5819) +* \parsep: list. (line 3205) +* \parskip: \parskip. (line 5845) +* \parskip example: itemize. (line 3046) +* \part: Sectioning. (line 1974) +* \partial: Math symbols. (line 6470) +* \partopsep: list. (line 3214) * \PassOptionsToClass: Class and package commands. - (line 933) + (line 1077) * \PassOptionsToPackage: Class and package commands. - (line 933) + (line 1077) * \pdfpageheight: Document class options. - (line 638) + (line 737) * \pdfpagewidth: Document class options. - (line 638) -* \perp: Math symbols. (line 5683) -* \phi: Math symbols. (line 5688) -* \Pi: Math symbols. (line 5692) -* \pi: Math symbols. (line 5695) -* \pm: Math symbols. (line 5699) -* \pmod: Math functions. (line 6157) -* \poptabs: tabbing. (line 3186) -* \poptabs <1>: tabbing. (line 3187) -* \pounds: Text symbols. (line 7054) -* \Pr: Math functions. (line 6160) -* \prec: Math symbols. (line 5702) -* \preceq: Math symbols. (line 5705) -* \prime: Math symbols. (line 5710) -* \printindex: Indexes. (line 7558) + (line 737) +* \perp: Math symbols. (line 6473) +* \phi: Math symbols. (line 6478) +* \Pi: Math symbols. (line 6482) +* \pi: Math symbols. (line 6485) +* \pm: Math symbols. (line 6489) +* \pmod: Math functions. (line 6947) +* \poptabs: tabbing. (line 3874) +* \poptabs <1>: tabbing. (line 3875) +* \pounds: Text symbols. (line 8917) +* \Pr: Math functions. (line 6950) +* \prec: Math symbols. (line 6492) +* \preceq: Math symbols. (line 6495) +* \prime: Math symbols. (line 6500) +* \printindex: Indexes. (line 9421) * \ProcessOptions: Class and package commands. - (line 966) + (line 1111) * \ProcessOptions*: Class and package commands. - (line 966) -* \prod: Math symbols. (line 5719) -* \propto: Math symbols. (line 5722) -* \protect: \protect. (line 4634) -* \providecommand: \providecommand. (line 4311) + (line 1111) +* \prod: Math symbols. (line 6509) +* \propto: Math symbols. (line 6512) +* \protect: \protect. (line 5348) +* \providecommand: \providecommand. (line 5025) * \ProvidesClass: Class and package commands. - (line 1000) + (line 1149) * \ProvidesFile: Class and package commands. - (line 1031) + (line 1180) * \ProvidesPackage: Class and package commands. - (line 1000) -* \ps: \ps. (line 7782) -* \Psi: Math symbols. (line 5725) -* \psi: Math symbols. (line 5728) -* \pushtabs: tabbing. (line 3189) -* \put: \put. (line 3045) + (line 1149) +* \ps: \ps. (line 9645) +* \Psi: Math symbols. (line 6515) +* \psi: Math symbols. (line 6518) +* \pushtabs: tabbing. (line 3877) +* \put: \put. (line 3692) * \qquad: Spacing in math mode. - (line 6268) + (line 7058) * \quad: Spacing in math mode. - (line 6262) -* \quotedblbase (,,): Text symbols. (line 7058) -* \quotesinglbase (,): Text symbols. (line 7059) -* \r (ring accent): Accents. (line 7263) -* \raggedbottom: \raggedbottom. (line 1524) -* \raggedleft: \raggedleft. (line 2593) -* \raggedright: \raggedright. (line 2567) -* \raisebox: \raisebox. (line 6912) -* \rangle: Math symbols. (line 5731) -* \rbrace: Math symbols. (line 5735) -* \rbrack: Math symbols. (line 5739) -* \rceil: Math symbols. (line 5743) -* \Re: Math symbols. (line 5746) -* \ref: \ref. (line 1972) -* \refstepcounter: \refstepcounter. (line 4840) + (line 7052) +* \quotedblbase (,,): Text symbols. (line 8921) +* \quotesinglbase (,): Text symbols. (line 8922) +* \r (ring accent): Accents. (line 9126) +* \raggedbottom: \raggedbottom. (line 1679) +* \raggedleft: \raggedleft. (line 2966) +* \raggedright: \raggedright. (line 2940) +* \raisebox: \raisebox. (line 7757) +* \rangle: Math symbols. (line 6521) +* \rbrace: Math symbols. (line 6525) +* \rbrack: Math symbols. (line 6529) +* \rceil: Math symbols. (line 6533) +* \Re: Math symbols. (line 6536) +* \ref: \ref. (line 2318) +* \reflectbox: \scalebox. (line 8723) +* \refname: thebibliography. (line 4299) +* \refstepcounter: \refstepcounter. (line 5630) * \renewenvironment: \newenvironment & \renewenvironment. - (line 4380) + (line 5094) * \RequirePackage: Class and package commands. - (line 1038) + (line 1189) * \RequirePackageWithOptions: Class and package commands. - (line 1038) + (line 1189) +* \resizebox: \resizebox. (line 8751) * \restorecr: \obeycr & \restorecr. - (line 3830) -* \restriction: Math symbols. (line 5751) -* \revemptyset: Math symbols. (line 5756) -* \reversemarginpar: Marginal notes. (line 5079) -* \rfloor: Math symbols. (line 5761) -* \rhd: Math symbols. (line 5765) -* \rho: Math symbols. (line 5772) -* \right: Math miscellany. (line 6309) -* \Rightarrow: Math symbols. (line 5776) -* \rightarrow: Math symbols. (line 5780) -* \rightharpoondown: Math symbols. (line 5785) -* \rightharpoonup: Math symbols. (line 5788) -* \rightleftharpoons: Math symbols. (line 5791) -* \rightmargin: itemize. (line 2662) -* \rm: Font styles. (line 1146) -* \rmfamily: Font styles. (line 1097) + (line 4544) +* \restriction: Math symbols. (line 6541) +* \revemptyset: Math symbols. (line 6546) +* \reversemarginpar: Marginal notes. (line 5869) +* \rfloor: Math symbols. (line 6551) +* \rhd: Math symbols. (line 6555) +* \rho: Math symbols. (line 6562) +* \right: Math miscellany. (line 7099) +* \Rightarrow: Math symbols. (line 6566) +* \rightarrow: Math symbols. (line 6570) +* \rightharpoondown: Math symbols. (line 6575) +* \rightharpoonup: Math symbols. (line 6578) +* \rightleftharpoons: Math symbols. (line 6581) +* \rightmargin: list. (line 3229) +* \rm: Font styles. (line 1297) +* \rmfamily: Font styles. (line 1248) * \roman{COUNTER}: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4726) + (line 5516) * \Roman{COUNTER}: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4729) -* \rq: Text symbols. (line 7062) -* \rule: \rule. (line 7347) -* \S: Text symbols. (line 7065) -* \savebox: \savebox. (line 6928) -* \sbox: \sbox. (line 6940) -* \sc: Font styles. (line 1149) -* \scriptsize: Font sizes. (line 1220) -* \scshape: Font styles. (line 1118) -* \searrow: Math symbols. (line 5794) -* \sec: Math functions. (line 6163) -* \section: Sectioning. (line 1822) -* \seename: Indexes. (line 7550) + (line 5519) +* \rotatebox: \rotatebox. (line 8658) +* \rq: Text symbols. (line 8925) +* \rule: \rule. (line 9210) +* \S: Text symbols. (line 8928) +* \savebox: \savebox. (line 7773) +* \sbox: \sbox. (line 7785) +* \sc: Font styles. (line 1300) +* \scalebox: \scalebox. (line 8723) +* \scriptsize: Font sizes. (line 1371) +* \scshape: Font styles. (line 1269) +* \searrow: Math symbols. (line 6584) +* \sec: Math functions. (line 6953) +* \section: Sectioning. (line 1977) +* \seename: Indexes. (line 9413) * \selectfont: Low-level font commands. - (line 1362) -* \setcounter: \setcounter. (line 4812) -* \setlength: \setlength. (line 4950) -* \setminus: Math symbols. (line 5797) -* \settodepth: \settodepth. (line 4972) -* \settoheight: \settoheight. (line 4982) -* \settowidth: \settowidth. (line 4992) -* \sf: Font styles. (line 1152) -* \sffamily: Font styles. (line 1115) -* \sharp: Math symbols. (line 5803) -* \shortstack: \shortstack. (line 3055) -* \Sigma: Math symbols. (line 5806) -* \sigma: Math symbols. (line 5809) -* \signature: \signature. (line 7799) -* \sim: Math symbols. (line 5813) -* \simeq: Math symbols. (line 5816) -* \sin: Math functions. (line 6166) -* \sinh: Math functions. (line 6169) -* \sl: Font styles. (line 1155) -* \sloppy: \sloppy. (line 3889) -* \slshape: Font styles. (line 1112) -* \small: Font sizes. (line 1220) -* \smallint: Math symbols. (line 5819) + (line 1517) +* \setcounter: \setcounter. (line 5602) +* \setlength: \setlength. (line 5740) +* \setminus: Math symbols. (line 6587) +* \settodepth: \settodepth. (line 5762) +* \settoheight: \settoheight. (line 5772) +* \settowidth: \settowidth. (line 5782) +* \sf: Font styles. (line 1303) +* \sffamily: Font styles. (line 1266) +* \sharp: Math symbols. (line 6593) +* \shortstack: \shortstack. (line 3702) +* \Sigma: Math symbols. (line 6596) +* \sigma: Math symbols. (line 6599) +* \signature: \signature. (line 9662) +* \sim: Math symbols. (line 6603) +* \simeq: Math symbols. (line 6606) +* \sin: Math functions. (line 6956) +* \sinh: Math functions. (line 6959) +* \sl: Font styles. (line 1306) +* \sloppy: \sloppy. (line 4603) +* \slshape: Font styles. (line 1263) +* \small: Font sizes. (line 1371) +* \smallint: Math symbols. (line 6609) * \smallskip: \bigskip \medskip \smallskip. - (line 6731) + (line 7576) * \smallskipamount: \bigskip \medskip \smallskip. - (line 6732) -* \smile: Math symbols. (line 5823) -* \spadesuit: Math symbols. (line 5826) -* \sqcap: Math symbols. (line 5829) -* \sqcup: Math symbols. (line 5833) -* \sqrt[ROOT]{ARG}: Math miscellany. (line 6339) -* \sqsubset: Math symbols. (line 5837) -* \sqsubseteq: Math symbols. (line 5842) -* \sqsupset: Math symbols. (line 5847) -* \sqsupseteq: Math symbols. (line 5852) + (line 7577) +* \smile: Math symbols. (line 6613) +* \spacefactor: \spacefactor. (line 7369) +* \spadesuit: Math symbols. (line 6616) +* \sqcap: Math symbols. (line 6619) +* \sqcup: Math symbols. (line 6623) +* \sqrt[ROOT]{ARG}: Math miscellany. (line 7129) +* \sqsubset: Math symbols. (line 6627) +* \sqsubseteq: Math symbols. (line 6632) +* \sqsupset: Math symbols. (line 6637) +* \sqsupseteq: Math symbols. (line 6642) * \ss (ss): Additional Latin letters. - (line 7336) + (line 9199) * \SS (SS): Additional Latin letters. - (line 7336) -* \stackrel{TEXT}{RELATION}: Math miscellany. (line 6344) -* \star: Math symbols. (line 5856) -* \stepcounter: \stepcounter. (line 4854) -* \stop: Command line. (line 7880) -* \subparagraph: Sectioning. (line 1826) -* \subsection: Sectioning. (line 1823) -* \subset: Math symbols. (line 5863) -* \subseteq: Math symbols. (line 5866) -* \subsubsection: Sectioning. (line 1824) -* \succ: Math symbols. (line 5869) -* \succeq: Math symbols. (line 5873) -* \sum: Math symbols. (line 5878) -* \sup: Math functions. (line 6172) -* \suppressfloats: Floats. (line 1748) -* \supset: Math symbols. (line 5882) -* \supseteq: Math symbols. (line 5885) -* \surd: Math symbols. (line 5888) -* \swarrow: Math symbols. (line 5893) + (line 9199) +* \stackrel{TEXT}{RELATION}: Math miscellany. (line 7134) +* \star: Math symbols. (line 6646) +* \stepcounter: \stepcounter. (line 5644) +* \stop: Command line. (line 9743) +* \subparagraph: Sectioning. (line 1981) +* \subsection: Sectioning. (line 1978) +* \subset: Math symbols. (line 6653) +* \subseteq: Math symbols. (line 6656) +* \subsubsection: Sectioning. (line 1979) +* \succ: Math symbols. (line 6659) +* \succeq: Math symbols. (line 6663) +* \sum: Math symbols. (line 6668) +* \sup: Math functions. (line 6962) +* \suppressfloats: Floats. (line 1903) +* \supset: Math symbols. (line 6672) +* \supseteq: Math symbols. (line 6675) +* \surd: Math symbols. (line 6678) +* \swarrow: Math symbols. (line 6683) * \symbol: Symbols by font position. - (line 7002) -* \t (tie-after accent): Accents. (line 7269) -* \TAB: \(SPACE) and \@. (line 6575) -* \tabbingsep: tabbing. (line 3194) -* \tabcolsep: tabular. (line 3419) -* \tableofcontents: Tables of contents. (line 7451) -* \tan: Math functions. (line 6175) -* \tanh: Math functions. (line 6178) -* \tau: Math symbols. (line 5896) -* \telephone: \telephone. (line 7823) -* \TeX: Text symbols. (line 7068) -* \textascendercompwordmark: Text symbols. (line 7106) -* \textasciicircum: Text symbols. (line 7071) -* \textasciitilde: Text symbols. (line 7074) -* \textasteriskcentered: Text symbols. (line 7077) + (line 8865) +* \t (tie-after accent): Accents. (line 9132) +* \TAB: \(SPACE) and \@. (line 7416) +* \tabbingsep: tabbing. (line 3882) +* \tabcolsep: tabular. (line 4122) +* \tableofcontents: Tables of contents. (line 9314) +* \tan: Math functions. (line 6965) +* \tanh: Math functions. (line 6968) +* \tau: Math symbols. (line 6686) +* \telephone: \telephone. (line 9686) +* \TeX: Text symbols. (line 8931) +* \textascendercompwordmark: Text symbols. (line 8969) +* \textasciicircum: Text symbols. (line 8934) +* \textasciitilde: Text symbols. (line 8937) +* \textasteriskcentered: Text symbols. (line 8940) * \textbackslash: Reserved characters. - (line 6982) -* \textbackslash <1>: Text symbols. (line 7080) -* \textbar: Text symbols. (line 7083) -* \textbardbl: Text symbols. (line 7086) -* \textbf: Font styles. (line 1106) -* \textbigcircle: Text symbols. (line 7089) -* \textbraceleft: Text symbols. (line 7092) -* \textbraceright: Text symbols. (line 7095) -* \textbullet: Text symbols. (line 7098) -* \textcapitalcompwordmark: Text symbols. (line 7105) -* \textcircled{LETTER}: Text symbols. (line 7101) -* \textcompwordmark: Text symbols. (line 7104) -* \textcopyright: Text symbols. (line 7019) -* \textdagger: Text symbols. (line 7111) -* \textdaggerdbl: Text symbols. (line 7114) -* \textdollar (or \$): Text symbols. (line 7117) -* \textellipsis: Text symbols. (line 7043) -* \textemdash (or ---): Text symbols. (line 7120) -* \textendash (or --): Text symbols. (line 7123) -* \texteuro: Text symbols. (line 7126) -* \textexclamdown (or !`): Text symbols. (line 7129) -* \textfloatsep: Floats. (line 1784) -* \textfloatsep <1>: Floats. (line 1785) -* \textfraction: Floats. (line 1763) -* \textfraction <1>: Floats. (line 1764) -* \textgreater: Text symbols. (line 7132) + (line 8800) +* \textbackslash <1>: Text symbols. (line 8943) +* \textbar: Text symbols. (line 8946) +* \textbardbl: Text symbols. (line 8949) +* \textbf: Font styles. (line 1257) +* \textbigcircle: Text symbols. (line 8952) +* \textbraceleft: Text symbols. (line 8955) +* \textbraceright: Text symbols. (line 8958) +* \textbullet: Text symbols. (line 8961) +* \textcapitalcompwordmark: Text symbols. (line 8968) +* \textcircled{LETTER}: Text symbols. (line 8964) +* \textcompwordmark: Text symbols. (line 8967) +* \textcopyright: Text symbols. (line 8882) +* \textdagger: Text symbols. (line 8974) +* \textdaggerdbl: Text symbols. (line 8977) +* \textdollar (or \$): Text symbols. (line 8980) +* \textellipsis: Text symbols. (line 8906) +* \textemdash (or ---): Text symbols. (line 8983) +* \textendash (or --): Text symbols. (line 8986) +* \texteuro: Text symbols. (line 8989) +* \textexclamdown (or !`): Text symbols. (line 8992) +* \textfloatsep: Floats. (line 1939) +* \textfloatsep <1>: Floats. (line 1940) +* \textfraction: Floats. (line 1918) +* \textfraction <1>: Floats. (line 1919) +* \textgreater: Text symbols. (line 8995) * \textheight: Page layout parameters. - (line 1620) + (line 1775) * \textheight <1>: Page layout parameters. - (line 1621) -* \textit: Font styles. (line 1100) -* \textleftarrow: Text symbols. (line 7138) -* \textless: Text symbols. (line 7135) -* \textmd: Font styles. (line 1103) -* \textnormal: Font styles. (line 1124) -* \textordfeminine: Text symbols. (line 7141) -* \textordmasculine: Text symbols. (line 7142) -* \textparagraph: Text symbols. (line 7051) -* \textperiodcentered: Text symbols. (line 7145) -* \textquestiondown (or ?`): Text symbols. (line 7148) -* \textquotedblleft (or ``): Text symbols. (line 7151) -* \textquotedblright (or ''): Text symbols. (line 7154) -* \textquoteleft (or `): Text symbols. (line 7157) -* \textquoteright (or '): Text symbols. (line 7160) -* \textquotesingle: Text symbols. (line 7163) -* \textquotestraightbase: Text symbols. (line 7166) -* \textquotestraightdblbase: Text symbols. (line 7167) -* \textregistered: Text symbols. (line 7170) -* \textrightarrow: Text symbols. (line 7173) -* \textrm: Font styles. (line 1097) -* \textsc: Font styles. (line 1118) -* \textsf: Font styles. (line 1115) -* \textsl: Font styles. (line 1112) -* \textsterling: Text symbols. (line 7055) -* \textthreequartersemdash: Text symbols. (line 7176) -* \texttrademark: Text symbols. (line 7179) -* \texttt: Font styles. (line 1121) -* \texttwelveudash: Text symbols. (line 7182) -* \textunderscore: Text symbols. (line 7185) -* \textup: Font styles. (line 1109) -* \textvisiblespace: Text symbols. (line 7188) + (line 1776) +* \textit: Font styles. (line 1251) +* \textleftarrow: Text symbols. (line 9001) +* \textless: Text symbols. (line 8998) +* \textmd: Font styles. (line 1254) +* \textnormal: Font styles. (line 1275) +* \textordfeminine: Text symbols. (line 9004) +* \textordmasculine: Text symbols. (line 9005) +* \textparagraph: Text symbols. (line 8914) +* \textperiodcentered: Text symbols. (line 9008) +* \textquestiondown (or ?`): Text symbols. (line 9011) +* \textquotedblleft (or ``): Text symbols. (line 9014) +* \textquotedblright (or ''): Text symbols. (line 9017) +* \textquoteleft (or `): Text symbols. (line 9020) +* \textquoteright (or '): Text symbols. (line 9023) +* \textquotesingle: Text symbols. (line 9026) +* \textquotestraightbase: Text symbols. (line 9029) +* \textquotestraightdblbase: Text symbols. (line 9030) +* \textregistered: Text symbols. (line 9033) +* \textrightarrow: Text symbols. (line 9036) +* \textrm: Font styles. (line 1248) +* \textsc: Font styles. (line 1269) +* \textsf: Font styles. (line 1266) +* \textsl: Font styles. (line 1263) +* \textsterling: Text symbols. (line 8918) +* \textthreequartersemdash: Text symbols. (line 9039) +* \texttrademark: Text symbols. (line 9042) +* \texttt: Font styles. (line 1272) +* \texttwelveudash: Text symbols. (line 9045) +* \textunderscore: Text symbols. (line 9048) +* \textup: Font styles. (line 1260) +* \textvisiblespace: Text symbols. (line 9051) * \textwidth: Page layout parameters. - (line 1628) + (line 1783) * \textwidth <1>: Page layout parameters. - (line 1629) + (line 1784) * \th (th): Additional Latin letters. - (line 7340) + (line 9203) * \TH (TH): Additional Latin letters. - (line 7340) -* \thanks{TEXT}: \maketitle. (line 6454) -* \theta: Math symbols. (line 5899) -* \thicklines: \thicklines. (line 2993) + (line 9203) +* \thanks{TEXT}: \maketitle. (line 7244) +* \theta: Math symbols. (line 6689) +* \thicklines: \thicklines. (line 3640) * \thickspace: Spacing in math mode. - (line 6246) -* \thinlines: \thinlines. (line 3000) + (line 7036) +* \thinlines: \thinlines. (line 3647) * \thinspace: Spacing in math mode. - (line 6255) -* \thinspace <1>: \thinspace. (line 6641) -* \thispagestyle: \thispagestyle. (line 6526) -* \tilde: Math accents. (line 6221) -* \times: Math symbols. (line 5903) -* \tiny: Font sizes. (line 1220) -* \title{TEXT}: \maketitle. (line 6458) -* \to: Math symbols. (line 5907) -* \today: \today. (line 7366) -* \top: Math symbols. (line 5911) -* \topfraction: Floats. (line 1768) -* \topfraction <1>: Floats. (line 1769) + (line 7045) +* \thinspace <1>: \thinspace. (line 7486) +* \thispagestyle: \thispagestyle. (line 7316) +* \tilde: Math accents. (line 7011) +* \times: Math symbols. (line 6693) +* \tiny: Font sizes. (line 1371) +* \title{TEXT}: \maketitle. (line 7248) +* \to: Math symbols. (line 6697) +* \today: \today. (line 9229) +* \top: Math symbols. (line 6701) +* \topfraction: Floats. (line 1923) +* \topfraction <1>: Floats. (line 1924) * \topmargin: Page layout parameters. - (line 1652) -* \topsep: itemize. (line 2680) + (line 1807) +* \topsep: list. (line 3234) * \topskip: Page layout parameters. - (line 1659) + (line 1814) * \topskip <1>: Page layout parameters. - (line 1660) -* \totalheight: Predefined lengths. (line 5008) -* \triangle: Math symbols. (line 5916) -* \triangleleft: Math symbols. (line 5919) -* \triangleright: Math symbols. (line 5925) -* \tt: Font styles. (line 1158) -* \ttfamily: Font styles. (line 1121) -* \twocolumn: \twocolumn. (line 1393) -* \typein: \typein. (line 7838) -* \typeout: \typeout. (line 7852) -* \u (breve accent): Accents. (line 7274) -* \unboldmath: Math formulas. (line 5134) -* \underbar: Accents. (line 7277) -* \underbrace{MATH}: Math miscellany. (line 6348) -* \underline{TEXT}: Math miscellany. (line 6352) -* \unitlength: picture. (line 2817) -* \unlhd: Math symbols. (line 5931) -* \unrhd: Math symbols. (line 5938) -* \Uparrow: Math symbols. (line 5945) -* \uparrow: Math symbols. (line 5949) -* \Updownarrow: Math symbols. (line 5953) -* \updownarrow: Math symbols. (line 5958) -* \upharpoonright: Math symbols. (line 5963) -* \uplus: Math symbols. (line 5968) -* \upshape: Font styles. (line 1109) -* \Upsilon: Math symbols. (line 5975) -* \upsilon: Math symbols. (line 5978) -* \usebox: \usebox. (line 6952) -* \usecounter: \usecounter. (line 4757) + (line 1815) +* \totalheight: Predefined lengths. (line 5798) +* \triangle: Math symbols. (line 6706) +* \triangleleft: Math symbols. (line 6709) +* \triangleright: Math symbols. (line 6715) +* \tt: Font styles. (line 1309) +* \ttfamily: Font styles. (line 1272) +* \twocolumn: \twocolumn. (line 1548) +* \typein: \typein. (line 9701) +* \typeout: \typeout. (line 9715) +* \u (breve accent): Accents. (line 9137) +* \unboldmath: Math formulas. (line 5924) +* \underbar: Accents. (line 9140) +* \underbrace{MATH}: Math miscellany. (line 7138) +* \underline{TEXT}: Math miscellany. (line 7142) +* \unitlength: picture. (line 3464) +* \unlhd: Math symbols. (line 6721) +* \unrhd: Math symbols. (line 6728) +* \Uparrow: Math symbols. (line 6735) +* \uparrow: Math symbols. (line 6739) +* \Updownarrow: Math symbols. (line 6743) +* \updownarrow: Math symbols. (line 6748) +* \upharpoonright: Math symbols. (line 6753) +* \uplus: Math symbols. (line 6758) +* \upshape: Font styles. (line 1260) +* \Upsilon: Math symbols. (line 6765) +* \upsilon: Math symbols. (line 6768) +* \usebox: \usebox. (line 7797) +* \usecounter: \usecounter. (line 5547) * \usefont: Low-level font commands. - (line 1370) + (line 1525) * \usepackage: Additional packages. - (line 701) -* \v (breve accent): Accents. (line 7285) -* \value: \value. (line 4783) -* \vanothing: Math symbols. (line 5986) -* \varepsilon: Math symbols. (line 5981) -* \varphi: Math symbols. (line 5991) -* \varpi: Math symbols. (line 5995) -* \varrho: Math symbols. (line 5999) -* \varsigma: Math symbols. (line 6003) -* \vartheta: Math symbols. (line 6007) -* \vdash: Math symbols. (line 6011) -* \vdots: Math miscellany. (line 6357) -* \vec: Math accents. (line 6224) -* \vector: \vector. (line 3074) -* \vee: Math symbols. (line 6015) -* \verb: \verb. (line 3751) -* \Vert: Math symbols. (line 6020) -* \vert: Math symbols. (line 6036) -* \vfill: \vfill. (line 6739) -* \vline: \vline. (line 3511) -* \vspace: \vspace. (line 6765) -* \wedge: Math symbols. (line 6054) -* \widehat: Math accents. (line 6227) -* \widetilde: Math accents. (line 6230) -* \width: Predefined lengths. (line 5002) -* \wp: Math symbols. (line 6058) -* \wr: Math symbols. (line 6061) -* \Xi: Math symbols. (line 6064) -* \xi: Math symbols. (line 6067) -* \year: \day \month \year. (line 4861) -* \zeta: Math symbols. (line 6070) -* \[: Math formulas. (line 5121) -* \\ (for center): center. (line 2131) -* \\ (for eqnarray): eqnarray. (line 2399) -* \\ (for flushright): flushright. (line 2586) -* \\ (for \shortstack objects): \shortstack. (line 3069) -* \\ (tabbing): tabbing. (line 3139) -* \\ for flushleft: flushleft. (line 2560) -* \\ for letters: Letters. (line 7620) -* \\ for tabular: tabular. (line 3282) -* \\ for verse: verse. (line 3779) -* \\ for \author: \maketitle. (line 6445) -* \\ for \title: \maketitle. (line 6459) -* \\ force line break: \\. (line 3798) -* \\* (for eqnarray): eqnarray. (line 2407) -* \]: Math formulas. (line 5121) + (line 802) +* \v (breve accent): Accents. (line 9148) +* \value: \value. (line 5573) +* \vanothing: Math symbols. (line 6776) +* \varepsilon: Math symbols. (line 6771) +* \varphi: Math symbols. (line 6781) +* \varpi: Math symbols. (line 6785) +* \varrho: Math symbols. (line 6789) +* \varsigma: Math symbols. (line 6793) +* \vartheta: Math symbols. (line 6797) +* \vdash: Math symbols. (line 6801) +* \vdots: Math miscellany. (line 7147) +* \vec: Math accents. (line 7014) +* \vector: \vector. (line 3721) +* \vee: Math symbols. (line 6805) +* \verb: \verb. (line 4465) +* \Vert: Math symbols. (line 6810) +* \vert: Math symbols. (line 6826) +* \vfill: \vfill. (line 7584) +* \vline: \vline. (line 4214) +* \vspace: \vspace. (line 7610) +* \wedge: Math symbols. (line 6844) +* \widehat: Math accents. (line 7017) +* \widetilde: Math accents. (line 7020) +* \width: Predefined lengths. (line 5792) +* \wp: Math symbols. (line 6848) +* \wr: Math symbols. (line 6851) +* \Xi: Math symbols. (line 6854) +* \xi: Math symbols. (line 6857) +* \year: \day \month \year. (line 5651) +* \zeta: Math symbols. (line 6860) +* \[: Math formulas. (line 5911) +* \\ (for center): center. (line 2477) +* \\ (for eqnarray): eqnarray. (line 2767) +* \\ (for flushright): flushright. (line 2959) +* \\ (for \shortstack objects): \shortstack. (line 3716) +* \\ (tabbing): tabbing. (line 3827) +* \\ for flushleft: flushleft. (line 2933) +* \\ for letters: Letters. (line 9483) +* \\ for tabular: tabular. (line 3985) +* \\ for verse: verse. (line 4493) +* \\ for \author: \maketitle. (line 7235) +* \\ for \title: \maketitle. (line 7249) +* \\ force line break: \\. (line 4512) +* \\* (for eqnarray): eqnarray. (line 2775) +* \]: Math formulas. (line 5911) * \^: Reserved characters. - (line 6982) -* \^ (circumflex accent): Accents. (line 7221) + (line 8800) +* \^ (circumflex accent): Accents. (line 9084) * \_: Reserved characters. - (line 6975) -* \` (grave accent): Accents. (line 7225) -* \` (tabbing): tabbing. (line 3166) + (line 8793) +* \` (grave accent): Accents. (line 9088) +* \` (tabbing): tabbing. (line 3854) * \{: Reserved characters. - (line 6975) -* \|: Math symbols. (line 5194) + (line 8793) +* \|: Math symbols. (line 5984) * \}: Reserved characters. - (line 6975) + (line 8793) * \~: Reserved characters. - (line 6982) -* \~ (tilde accent): Accents. (line 7231) + (line 8800) +* \~ (tilde accent): Accents. (line 9094) * ^: Subscripts & superscripts. - (line 5148) + (line 5938) * _: Subscripts & superscripts. - (line 5148) + (line 5938) * {...} for required arguments: LaTeX command syntax. - (line 452) + (line 486) * a4paper option: Document class options. - (line 617) + (line 716) * a5paper option: Document class options. - (line 617) -* abstract environment: abstract. (line 2011) -* array environment: array. (line 2057) -* article class: Document classes. (line 575) + (line 716) +* abstract environment: abstract. (line 2357) +* array environment: array. (line 2403) +* article class: Document classes. (line 674) * b5paper option: Document class options. - (line 617) -* book class: Document classes. (line 575) -* bottomnumber: Floats. (line 1791) -* bottomnumber <1>: Floats. (line 1792) -* bp: Units of length. (line 4914) -* cc: Units of length. (line 4927) -* center environment: center. (line 2123) + (line 716) +* book class: Document classes. (line 674) +* bottomnumber: Floats. (line 1946) +* bottomnumber <1>: Floats. (line 1947) +* bp: Units of length. (line 5704) +* cc: Units of length. (line 5717) +* center environment: center. (line 2469) * clock option to slides class: Document class options. - (line 695) -* cm: Units of length. (line 4918) -* dbltopnumber: Floats. (line 1795) -* dbltopnumber <1>: Floats. (line 1796) -* dd: Units of length. (line 4924) -* description environment: description. (line 2198) -* displaymath environment: displaymath. (line 2239) -* displaymath environment <1>: Math formulas. (line 5111) -* document environment: document. (line 2282) + (line 796) +* cm: Units of length. (line 5708) +* dbltopnumber: Floats. (line 1950) +* dbltopnumber <1>: Floats. (line 1951) +* dd: Units of length. (line 5714) +* description environment: description. (line 2544) +* displaymath environment: displaymath. (line 2597) +* displaymath environment <1>: Math formulas. (line 5901) +* document environment: document. (line 2639) * draft option: Document class options. - (line 645) -* dvipdfmx command: Output files. (line 359) -* dvips command: Output files. (line 359) -* dvitype command: Output files. (line 359) -* em: Units of length. (line 4932) -* enumerate environment: enumerate. (line 2314) -* environment, abstract: abstract. (line 2011) -* environment, array: array. (line 2057) -* environment, center: center. (line 2123) -* environment, description: description. (line 2198) -* environment, displaymath: displaymath. (line 2239) -* environment, displaymath <1>: Math formulas. (line 5111) -* environment, document: document. (line 2282) -* environment, enumerate: enumerate. (line 2314) -* environment, eqnarray: eqnarray. (line 2376) -* environment, equation: equation. (line 2432) -* environment, equation <1>: Math formulas. (line 5111) -* environment, figure: figure. (line 2450) -* environment, filecontents: filecontents. (line 2503) -* environment, filecontents*: filecontents. (line 2503) -* environment, flushleft: flushleft. (line 2554) -* environment, flushright: flushright. (line 2580) -* environment, itemize: itemize. (line 2606) -* environment, letter: letter. (line 2708) -* environment, list: list. (line 2713) -* environment, math: math. (line 2773) -* environment, math <1>: Math formulas. (line 5111) -* environment, minipage: minipage. (line 2785) -* environment, picture: picture. (line 2813) + (line 746) +* dvipdfmx command: Output files. (line 393) +* dvips command: Output files. (line 393) +* dvitype command: Output files. (line 393) +* em: Units of length. (line 5722) +* enumerate environment: enumerate. (line 2677) +* environment, abstract: abstract. (line 2357) +* environment, array: array. (line 2403) +* environment, center: center. (line 2469) +* environment, description: description. (line 2544) +* environment, displaymath: displaymath. (line 2597) +* environment, displaymath <1>: Math formulas. (line 5901) +* environment, document: document. (line 2639) +* environment, enumerate: enumerate. (line 2677) +* environment, eqnarray: eqnarray. (line 2744) +* environment, equation: equation. (line 2800) +* environment, equation <1>: Math formulas. (line 5901) +* environment, figure: figure. (line 2823) +* environment, filecontents: filecontents. (line 2876) +* environment, filecontents*: filecontents. (line 2876) +* environment, flushleft: flushleft. (line 2927) +* environment, flushright: flushright. (line 2953) +* environment, itemize: itemize. (line 2979) +* environment, letter: letter. (line 3062) +* environment, list: list. (line 3067) +* environment, math: math. (line 3420) +* environment, math <1>: Math formulas. (line 5901) +* environment, minipage: minipage. (line 3432) +* environment, picture: picture. (line 3460) * environment, quotation: quotation and quote. - (line 3085) + (line 3732) * environment, quote: quotation and quote. - (line 3085) -* environment, tabbing: tabbing. (line 3121) -* environment, table: table. (line 3212) -* environment, tabular: tabular. (line 3254) -* environment, thebibliography: thebibliography. (line 3576) -* environment, theorem: theorem. (line 3682) -* environment, titlepage: titlepage. (line 3695) -* environment, verbatim: verbatim. (line 3734) -* environment, verse: verse. (line 3768) -* eqnarray environment: eqnarray. (line 2376) -* equation environment: equation. (line 2432) -* equation environment <1>: Math formulas. (line 5111) -* etex command: TeX engines. (line 407) -* ex: Units of length. (line 4932) + (line 3732) +* environment, tabbing: tabbing. (line 3768) +* environment, table: table. (line 3915) +* environment, tabular: tabular. (line 3957) +* environment, thebibliography: thebibliography. (line 4279) +* environment, theorem: theorem. (line 4395) +* environment, titlepage: titlepage. (line 4408) +* environment, verbatim: verbatim. (line 4447) +* environment, verse: verse. (line 4482) +* eqnarray environment: eqnarray. (line 2744) +* equation environment: equation. (line 2800) +* equation environment <1>: Math formulas. (line 5901) +* etex command: TeX engines. (line 441) +* ex: Units of length. (line 5722) * executivepaper option: Document class options. - (line 617) -* figure environment: figure. (line 2450) -* filecontents environment: filecontents. (line 2503) -* filecontents* environment: filecontents. (line 2503) + (line 716) +* figure environment: figure. (line 2823) +* filecontents environment: filecontents. (line 2876) +* filecontents* environment: filecontents. (line 2876) * final option: Document class options. - (line 645) + (line 746) * first-latex-doc document: About this document. - (line 285) + (line 318) * fleqn option: Document class options. - (line 645) -* flushleft environment: flushleft. (line 2554) -* flushright environment: flushright. (line 2580) -* <http://home.gna.org/latexrefman> home page: About this document. - (line 258) -* in: Units of length. (line 4911) -* inch: Units of length. (line 4911) -* itemize environment: itemize. (line 2606) + (line 746) +* flushleft environment: flushleft. (line 2927) +* flushright environment: flushright. (line 2953) +* <http://puszcza.gnu.org.ua/software/latexrefman/> home page: About this document. + (line 291) +* in: Units of length. (line 5701) +* inch: Units of length. (line 5701) +* itemize environment: itemize. (line 2979) * landscape option: Document class options. - (line 645) -* latex command: Output files. (line 359) + (line 746) +* latex command: Output files. (line 393) * latex-doc-ptr document: About this document. - (line 282) -* <latexrefman-discuss@gna.org> email address: About this document. - (line 269) + (line 315) +* <latexrefman@tug.org> email address: About this document. + (line 302) * legalpaper option: Document class options. - (line 617) + (line 716) * leqno option: Document class options. - (line 645) -* letter class: Document classes. (line 575) -* letter environment: letter. (line 2708) + (line 746) +* letter class: Document classes. (line 674) +* letter environment: letter. (line 3062) * letterpaper option: Document class options. - (line 617) -* list environment: list. (line 2713) -* lR box: picture. (line 2878) -* lrbox: lrbox. (line 6830) + (line 716) +* list environment: list. (line 3067) +* lR box: picture. (line 3525) +* lrbox: lrbox. (line 7675) * lshort document: About this document. - (line 292) -* lualatex command: TeX engines. (line 424) -* math environment: math. (line 2773) -* math environment <1>: Math formulas. (line 5111) -* minipage environment: minipage. (line 2785) -* mm: Units of length. (line 4921) -* mu: Units of length. (line 4943) + (line 326) +* lualatex command: TeX engines. (line 458) +* math environment: math. (line 3420) +* math environment <1>: Math formulas. (line 5901) +* minipage environment: minipage. (line 3432) +* mm: Units of length. (line 5711) +* mu: Units of length. (line 5733) * notitlepage option: Document class options. - (line 645) + (line 746) * onecolumn option: Document class options. - (line 674) + (line 775) * oneside option: Document class options. - (line 674) + (line 775) * openany option: Document class options. - (line 674) + (line 775) * openbib option: Document class options. - (line 645) + (line 746) * openright option: Document class options. - (line 674) -* pc: Units of length. (line 4908) -* pdflatex command: Output files. (line 369) -* picture environment: picture. (line 2813) -* pt: Units of length. (line 4904) + (line 775) +* pc: Units of length. (line 5698) +* pdflatex command: Output files. (line 403) +* picture environment: picture. (line 3460) +* pt: Units of length. (line 5694) * quotation environment: quotation and quote. - (line 3085) + (line 3732) * quote environment: quotation and quote. - (line 3085) -* report class: Document classes. (line 575) -* secnumdepth counter: Sectioning. (line 1858) -* slides class: Document classes. (line 575) -* sp: Units of length. (line 4930) -* tabbing environment: tabbing. (line 3121) -* table environment: table. (line 3212) -* tabular environment: tabular. (line 3254) -* textcomp package: Text symbols. (line 7014) -* thebibliography environment: thebibliography. (line 3576) -* theorem environment: theorem. (line 3682) -* titlepage environment: titlepage. (line 3695) + (line 3732) +* report class: Document classes. (line 674) +* secnumdepth counter: Sectioning. (line 2013) +* slides class: Document classes. (line 674) +* sp: Units of length. (line 5720) +* tabbing environment: tabbing. (line 3768) +* table environment: table. (line 3915) +* tabular environment: tabular. (line 3957) +* textcomp package: Text symbols. (line 8877) +* thebibliography environment: thebibliography. (line 4279) +* theorem environment: theorem. (line 4395) +* titlepage environment: titlepage. (line 4408) * titlepage option: Document class options. - (line 645) + (line 746) * topmargin: Page layout parameters. - (line 1653) -* topnumber: Floats. (line 1799) -* topnumber <1>: Floats. (line 1800) -* totalnumber: Floats. (line 1803) -* totalnumber <1>: Floats. (line 1804) + (line 1808) +* topnumber: Floats. (line 1954) +* topnumber <1>: Floats. (line 1955) +* totalnumber: Floats. (line 1958) +* totalnumber <1>: Floats. (line 1959) * twocolumn option: Document class options. - (line 674) + (line 775) * twoside option: Document class options. - (line 674) + (line 775) * usrguide official documentation: About this document. - (line 288) -* verbatim environment: verbatim. (line 3734) -* verse environment: verse. (line 3768) -* xdvi command: Output files. (line 359) -* xdvipdfmx: TeX engines. (line 433) -* xelatex command: TeX engines. (line 433) + (line 321) +* verbatim environment: verbatim. (line 4447) +* verse environment: verse. (line 4482) +* xdvi command: Output files. (line 393) +* xdvipdfmx: TeX engines. (line 467) +* xelatex command: TeX engines. (line 467) diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.xml b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.xml index 7be3644661f..2658617dce8 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.xml +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.xml @@ -1,20 +1,30 @@ <?xml version="1.0"?> -<!DOCTYPE texinfo PUBLIC "-//GNU//DTD TexinfoML V6.0//EN" "http://www.gnu.org/software/texinfo/dtd/6.0/texinfo.dtd"> +<!DOCTYPE texinfo PUBLIC "-//GNU//DTD TexinfoML V6.4//EN" "http://www.gnu.org/software/texinfo/dtd/6.4/texinfo.dtd"> <texinfo xml:lang="en"> <filename file="latex2e.xml"></filename> <preamble>\input texinfo -</preamble><!-- c $Id: latex2e.texi 561 2017-07-21 15:19:34Z karl $ --> +</preamble><!-- c $Id: latex2e.texi 613 2018-03-21 18:48:08Z jimhefferon $ --> <!-- comment %**start of header (This is for running Texinfo on a region.) --> <setfilename file="latex2e.info" spaces=" ">latex2e.info</setfilename> -<set name="UPDATED" line=" UPDATED November 2016">November 2016</set> -<settitle spaces=" ">&latex;2e unofficial reference manual (November 2016)</settitle> +<set name="UPDATED" line=" UPDATED March 2018">March 2018</set> +<set name="LTXREFMAN_HOME_PAGE" line=" LTXREFMAN_HOME_PAGE http://puszcza.gnu.org.ua/software/latexrefman/ +">http://puszcza.gnu.org.ua/software/latexrefman/</set> +<set name="LTXREFMAN_BUGS" line=" LTXREFMAN_BUGS latexrefman@@tug.org +">latexrefman@@tug.org</set> +<clear name="HAS-MATH" line=" HAS-MATH +"></clear> +<macro name="iftexthenelse" line=" iftexthenelse {then,else} +"><formalarg>then</formalarg><formalarg>else</formalarg>\else\@c +</macro> + + +<settitle spaces=" ">&latex;2e unofficial reference manual (March 2018)</settitle> <!-- comment %**end of header (This is for running Texinfo on a region.) --> <!-- c latex 2.09 commands should all be present now, --> <!-- c xx but latex2e stuff is missing. --> <!-- c xx random list of a few of the missing items is at the end of this file --> <!-- c --> -<!-- c xx misc commands from clsguide.pdf --> <!-- c xx ending a run with errors --> <!-- c xx ctan, distributions, components of TeX --> <!-- c xx classes and packages - required, additional, useful; oberdiek; fonts --> @@ -25,6 +35,7 @@ <!-- c xx merge latex-manual from savannah --> <!-- c xx merge display style math --> <!-- c xx vertical mode, horizontal mode --> +<!-- c xx JH Discuss restricted execution --> <!-- c --> <!-- c xx The typeset source2e has an index with all kernel --> <!-- c xx commands, though some are internal and shouldn't be included. --> @@ -33,7 +44,7 @@ <copying endspaces=" "> <para>This document is an unofficial reference manual for &latex;, a -document preparation system, version of November 2016. +document preparation system, version of March 2018. </para> <para>This manual was originally translated from <file>LATEX.HLP</file> v1.0a in the VMS Help Library. The pre-translation version was written by @@ -48,7 +59,7 @@ Group as <cite>&tex;niques</cite> number 10), as reference material (no text was directly copied). </para> <para>Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, -2014, 2015, 2016 Karl Berry.&linebreak; +2014, 2015, 2016, 2017, 2018 Karl Berry.&linebreak; Copyright 1988, 1994, 2007 Stephen Gilmore.&linebreak; Copyright 1994, 1995, 1996 Torsten Martinsen. </para> @@ -80,13 +91,12 @@ into another language, under the above conditions for modified versions. </pre></menudescription></menuentry></direntry> <tex endspaces=" "> -\global\hbadness=4444 % don&textrsquo;t complain much </tex> <titlepage endspaces=" "> <title spaces=" ">&latex;2e: An unofficial reference manual</title> -<subtitle spaces=" ">November 2016</subtitle> -<author spaces=" "><url><urefurl>http://home.gna.org/latexrefman</urefurl></url></author> +<subtitle spaces=" ">March 2018</subtitle> +<author spaces=" "><url><urefurl>http://puszcza.gnu.org.ua/software/latexrefman/</urefurl></url></author> <page></page> <vskip> 0pt plus 1filll</vskip> <insertcopying></insertcopying> @@ -100,26 +110,24 @@ into another language, under the above conditions for modified versions. </macro> <macro name="BESU" line=" BESU {utf8,math}"><formalarg>utf8</formalarg><formalarg>math</formalarg>@U{\utf8\} </macro> -<macro name="iftexthenelse" line=" iftexthenelse {then,else}"><formalarg>then</formalarg><formalarg>else</formalarg>\else\@c -</macro> <macro name="EnvIndex" line=" EnvIndex {env}"><formalarg>env</formalarg>@findex @r{environment}, @code{\env\} @findex @code{\env\} @r{environment} + </macro> <macro name="PkgIndex" line=" PkgIndex {pkg}"><formalarg>pkg</formalarg>@cindex @r{package}, @code{\pkg\} @cindex @code{\pkg\} @r{package} + </macro> <set name="NotInPlainTeX" line=" NotInPlainTeX Not available in plain @TeX{}.">Not available in plain @TeX{}.</set> <set name="NeedsAMSSymb" line=" NeedsAMSSymb @value{NotInPlainTeX} In @LaTeX{} you need to load the @file{amssymb} package.">@value{NotInPlainTeX} In @LaTeX{} you need to load the @file{amssymb} package.</set> <set name="NeedsSTIX" line=" NeedsSTIX @value{NotInPlainTeX} In @LaTeX{} you need to load the @file{stix} package.">@value{NotInPlainTeX} In @LaTeX{} you need to load the @file{stix} package.</set> -<clear name="HAS-MATH" line=" HAS-MATH "></clear> - <node name="Top" spaces=" "><nodename>Top</nodename><nodenext automatic="on">About this document</nodenext><nodeup automatic="on">(dir)</nodeup></node> <top spaces=" "><sectiontitle>&latex;2e: An unofficial reference manual</sectiontitle> <para>This document is an unofficial reference manual (version of -November 2016) for &latex;2e, a document preparation system. +March 2018) for &latex;2e, a document preparation system. </para> <menu endspaces=" "> <menuentry leadingtext="* "><menunode separator=":: ">About this document</menunode><menudescription><pre xml:space="preserve">Bug reporting, etc. @@ -142,6 +150,8 @@ November 2016) for &latex;2e, a document preparation system. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Page styles</menunode><menudescription><pre xml:space="preserve">Various styles of page layout. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Spaces</menunode><menudescription><pre xml:space="preserve">Horizontal and vertical space. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Boxes</menunode><menudescription><pre xml:space="preserve">Making boxes. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Color</menunode><menudescription><pre xml:space="preserve">Defining and using colors. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Graphics</menunode><menudescription><pre xml:space="preserve">Importing graphics from outside &latex;. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Special insertions</menunode><menudescription><pre xml:space="preserve">Inserting reserved and special characters. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Splitting the input</menunode><menudescription><pre xml:space="preserve">Dealing with big files by splitting. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Front/back matter</menunode><menudescription><pre xml:space="preserve">Tables of contents, glossaries, indexes. @@ -158,31 +168,31 @@ November 2016) for &latex;2e, a document preparation system. <node name="About-this-document" spaces=" "><nodename>About this document</nodename><nodenext automatic="on">Overview</nodenext><nodeprev automatic="on">Top</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>About this document</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="1">bug reporting</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="2">reporting bugs</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="1"><url><urefurl>http://home.gna.org/latexrefman</urefurl></url> <r>home page</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1"><url><urefurl>http://puszcza.gnu.org.ua/software/latexrefman/</urefurl></url> <r>home page</r></indexterm></findex> <para>This is an unofficial reference manual for the &latex;2e document preparation system, which is a macro package for the &tex; typesetting program (<pxref label="Overview"><xrefnodename>Overview</xrefnodename></pxref>). This document&textrsquo;s home page is -<url><urefurl>http://home.gna.org/latexrefman</urefurl></url>. That page has links to the +<url><urefurl>http://puszcza.gnu.org.ua/software/latexrefman/</urefurl></url>. That page has links to the current output in various formats, sources, mailing list archives and subscriptions, and other infrastructure. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="3">&latex; vs.&noeos; &latex;2e</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="1">&latex; vs.&noeos; &latex;2e</indexterm></cindex> <para>In this document, we will mostly just use &textlsquo;&latex;&textrsquo; rather than &textlsquo;&latex;2e&textrsquo;, since the previous version of &latex; (2.09) was -retired many years ago. +frozen decades ago. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="4">unofficial nature of this manual</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="5">&latex; Project team</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="2"><email><emailaddress>latexrefman-discuss&arobase;gna.org</emailaddress></email> <r>email address</r></indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="2">unofficial nature of this manual</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="3">&latex; Project team</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="2"><email><emailaddress>latexrefman&arobase;tug.org</emailaddress></email> <r>email address</r></indexterm></findex> <para>&latex; is currently maintained by a group of volunteers (<url><urefurl>http://latex-project.org</urefurl></url>). The official documentation written by the &latex; project is available from their web site. This document is completely unofficial and has not been reviewed by the &latex; -maintainers. Do not send bug reports or anything else about this -document to them. Instead, please send all comments to -<email><emailaddress>latexrefman-discuss&arobase;gna.org</emailaddress></email>. +maintainers. +<cindex index="cp" spaces=" "><indexterm index="cp" number="4">bug reporting</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="5">reporting bugs</indexterm></cindex> +Do not send bug reports or anything else about this document to them. +Instead, please send all comments to <email><emailaddress>latexrefman&arobase;tug.org</emailaddress></email>. </para> <para>This document is a reference. There is a vast array of other sources of information about &latex;, at all levels. Here are a few @@ -199,8 +209,9 @@ introductions. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="url">http://ctan.org/pkg/usrguide</itemformat></item> </tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="5">usrguide <r>official documentation</r></indexterm></findex> -<para>The guide for document authors that is maintained as part of &latex;; -there are plenty of others available elsewhere. +<para>The guide for document authors that is maintained as part of &latex;. +Many other guides by many other people are also available, independent +of &latex; itself; one such is the next item: </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="url">http://ctan.org/pkg/lshort</itemformat></item> </tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="6">lshort <r>document</r></indexterm></findex> @@ -497,6 +508,7 @@ commands it covers (barring unintentional omissions, a.k.a.&noeos; bugs). <node name="Environment" spaces=" "><nodename>Environment</nodename><nodenext automatic="on">Declaration</nodenext><nodeup automatic="on">&latex; command syntax</nodeup></node> +<subsection spaces=" "><sectiontitle>Environments</sectiontitle> <para>Synopsis: </para> @@ -536,14 +548,18 @@ required (it specifies the formatting of columns). </pre></example> +</subsection> <node name="Declaration" spaces=" "><nodename>Declaration</nodename><nodenext automatic="on">\makeatletter and \makeatother</nodenext><nodeprev automatic="on">Environment</nodeprev><nodeup automatic="on">&latex; command syntax</nodeup></node> +<subsection spaces=" "><sectiontitle>Command declarations</sectiontitle> <para>A command that changes the value, or changes the meaning, of some other command or parameter. For instance, the <code>\mainmatter</code> command changes the setting of page numbers from roman numerals to arabic. </para> +</subsection> <node name="_005cmakeatletter-and-_005cmakeatother" spaces=" "><nodename>\makeatletter and \makeatother</nodename><nodeprev automatic="on">Declaration</nodeprev><nodeup automatic="on">&latex; command syntax</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\makeatletter</code> and <code>\makeatother</code></sectiontitle> <para>Synopsis: </para> @@ -563,7 +579,7 @@ character category code, or <cindex index="cp" spaces=" "><indexterm index="cp" number="42">catcode</indexterm></cindex> <cindex index="cp" spaces=" "><indexterm index="cp" number="43">character category code</indexterm></cindex> <cindex index="cp" spaces=" "><indexterm index="cp" number="44">category code, character</indexterm></cindex> -<dfn>catcode</dfn> for shorter. For instance, the backslash <code>\</code> is +<dfn>catcode</dfn> for short. For instance, the backslash <code>\</code> is assigned the catcode 0, for characters that start a command. These two commands alter the catcode assigned to <code>&arobase;</code>. </para> @@ -577,46 +593,117 @@ So under the default category codes, user-defined commands cannot contain an <code>&arobase;</code>. But <code>\makeatletter</code> and <code>\makeatother</code> allow users to define or redefine commands named with <code>&arobase;</code>. </para> -<para>Use these inside a <file>.tex</file> file, in the preamble. Don&textrsquo;t use them -inside <file>.sty</file> or <file>.cls</file> files since the <code>\usepackage</code> -and <code>\documentclass</code> commands set the at sign to have the character -code of a letter. +<para>Use these two commands inside a <file>.tex</file> file, in the preamble, when +defining or redefining a command with <code>&arobase;</code> in its name. Don&textrsquo;t use +them inside <file>.sty</file> or <file>.cls</file> files since the +<code>\usepackage</code> and <code>\documentclass</code> commands set the at sign to +have the character code of a letter. </para> <cindex index="cp" spaces=" "><indexterm index="cp" number="45"><r>package</r>, <code>macros2e</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="46"><code>macros2e</code> <r>package</r> For a comprehensive list of macros with an at-sign</indexterm></cindex> -<para>in their names, see document -<url><urefurl>http://ctan.org/pkg/macros2e</urefurl></url>. These macros are mainly useful -to package or class authors; examples that may be useful to document -authors are provided hereinafter. +<cindex index="cp" spaces=" "><indexterm index="cp" number="46"><code>macros2e</code> <r>package</r></indexterm></cindex> + +<para>For a comprehensive list of macros with an at-sign +in their names see <url><urefurl>http://ctan.org/pkg/macros2e</urefurl></url>. These macros are +mainly intended to package or class authors. </para> -<para>The example code below, if put in the preamble, redefines the -section command to center the section title, put it in bold type, -and adjust the spacing. +<para>The example below is typical. In the user&textrsquo;s class file is a command +<code>\thesis&arobase;universityname</code>. The user wants to change the +definition. These three lines should go in the preamble, before the +<code>\begin{document}</code>. </para> -<!-- c xxx TODO, make \@startsection a separate node, see latex2e-fr.texi --> -<!-- c From http://zoonek.free.fr/LaTeX/LaTeX_samples_section/0.html --> <example endspaces=" "> <pre xml:space="preserve">\makeatletter -\renewcommand\section{% - \&arobase;startsection{section}% Name - {1}% Level: 0=part, 1=chapter, etc. - {0pt}% Heading indent - {-3.5ex plus -1ex minus -.2ex}% Beforeskip (if neg, no head indent) - {2.3ex plus.2ex}% Afterskip (if neg, run-in heading) - {\centering\normalfont\Large\bfseries}} % Style of head +\renewcommand{\thesis&arobase;universityname}{Saint Michael's College} \makeatother </pre></example> -<!-- c xx TODO document \@ifstar, see latex2e-fr.texi --> +<menu endspaces=" "> +<menuentry leadingtext="* "><menunode separator=":: ">\&arobase;ifstar</menunode><menudescription><pre xml:space="preserve">Define your own commands with *-variants. +</pre></menudescription></menuentry></menu> + + +<node name="_005c_0040ifstar" spaces=" "><nodename>\&arobase;ifstar</nodename><nodeup automatic="on">\makeatletter and \makeatother</nodeup></node> +<subsubsection spaces=" "><sectiontitle><code>\&arobase;ifstar</code></sectiontitle> + +<findex index="fn" spaces=" "><indexterm index="fn" number="28">\&arobase;ifstar</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="47">commands, star-variants</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="48">star-variants, commands</indexterm></cindex> + +<para>Synopsis: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\newcommand{\mycmd}{\&arobase;ifstar{\mycmd&arobase;star}{\mycmd&arobase;nostar}} +\newcommand{\mycmd&arobase;nostar}[<var>non-starred command number of args</var>]{<var>body of non-starred command</var>} +\newcommand{\mycmd&arobase;star}[<var>starred command number of args</var>]{<var>body of starred command</var>} +</pre></example> + +<para>Many standard &latex; environments or commands have a variant with the +same name but ending with a star character <code>*</code>, an asterisk. +Examples are the <code>table</code> and <code>table*</code> environments and the +<code>\section</code> and <code>\section*</code> commands. +</para> +<para>When defining environments, following this pattern is straightforward +because <code>\newenvironment</code> and <code>\renewenvironment</code> allow the +environment name to contain a star. For commands the situation is more +complex. As in the synopsis above, there will be a user-called command, +given above as <code>\mycmd</code>, which peeks ahead to see if it is followed +by a star. For instance, &latex; does not really have a +<code>\section*</code> command; instead, the <code>\section</code> command peeks +ahead. This command does not accept arguments but instead expands to +one of two commands that do accept arguments. In the synopsis these two +are <code>\mycmd&arobase;nostar</code> and <code>\mycmd&arobase;star</code>. They could take the +same number of arguments or a different number, or no arguments at all. +As always, in a &latex; document a command using at-sign <code>&arobase;</code> +must be enclosed inside a <code>\makeatletter ... \makeatother</code> block +(<pxref label="_005cmakeatletter-and-_005cmakeatother"><xrefnodename>\makeatletter and \makeatother</xrefnodename></pxref>). +</para> +<para>This example of <code>\&arobase;ifstar</code> defines the command <code>\ciel</code> and a +variant <code>\ciel*</code>. Both have one required argument. A call to +<code>\ciel{night}</code> will return "starry night sky" while +<code>\ciel*{blue}</code> will return "starry not blue sky". +</para> +<example endspaces=" "> +<pre xml:space="preserve">\newcommand*{\ciel&arobase;unstarred}[1]{starry #1 sky} +\newcommand*{\ciel&arobase;starred}[1]{starry not #1 sky} +\newcommand*{\ciel}{\&arobase;ifstar{\ciel&arobase;starred}{\ciel&arobase;unstarred}} +</pre></example> +<para>In the next example, the starred variant takes a different number of +arguments than does the unstarred one. With this definition, Agent +007&textrsquo;s <code>``My name is \agentsecret*{Bond}, +\agentsecret{James}{Bond}.''</code> is equivalent to <code>``My name is +\textsc{Bond}, \textit{James} textsc{Bond}.''</code> +</para> +<example endspaces=" "> +<pre xml:space="preserve">\newcommand*{\agentsecret&arobase;unstarred}[2]{\textit{#1} \textsc{#2}} +\newcommand*{\agentsecret&arobase;starred}[1]{\textsc{#1}} +\newcommand*{\agentsecret}{\&arobase;ifstar{\agentsecret&arobase;starred}{\agentsecret&arobase;unstarred}} +</pre></example> + +<para>There are two sometimes more convenient ways to accomplish the work of +<code>\&arobase;ifstar</code>. The <file>suffix</file> package allows the construct +<code>\newcommand\mycommand{<var>unstarred version</var>}</code> followed by +<code>\WithSuffix\newcommand\mycommand*{<var>starred version</var>}</code>. And +&latex;3 has the <file>xparse</file> package that allows this code. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\NewDocumentCommand\foo{s}{\IfBooleanTF#1 + {<var>starred version</var>}% + {<var>unstarred version</var>}% + } +</pre></example> + + +</subsubsection> +</subsection> </section> </chapter> <node name="Document-classes" spaces=" "><nodename>Document classes</nodename><nodenext automatic="on">Fonts</nodenext><nodeprev automatic="on">Overview</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Document classes</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="47">document classes</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="48">classes of documents</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="28">\documentclass</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="49">document classes</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="50">classes of documents</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="29">\documentclass</indexterm></findex> <para>The document&textrsquo;s overall class is defined with this command, which is normally the first command in a &latex; source file. @@ -625,11 +712,11 @@ normally the first command in a &latex; source file. <pre xml:space="preserve">\documentclass[<var>options</var>]{<var>class</var>} </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="29">article <r>class</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="30">report <r>class</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="31">book <r>class</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="32">letter <r>class</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="33">slides <r>class</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="30">article <r>class</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="31">report <r>class</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="32">book <r>class</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="33">letter <r>class</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="34">slides <r>class</r></indexterm></findex> <para>The following document <var>class</var> names are built into &latex;. (Many other document classes are available as separate packages; <pxref label="Overview"><xrefnodename>Overview</xrefnodename></pxref>.) @@ -670,10 +757,10 @@ template</xrefnodename></pxref>). <node name="Document-class-options" spaces=" "><nodename>Document class options</nodename><nodenext automatic="on">Additional packages</nodenext><nodeup automatic="on">Document classes</nodeup></node> <section spaces=" "><sectiontitle>Document class options</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="49">document class options</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="50">options, document class</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="51">class options</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="52">global options</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="51">document class options</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="52">options, document class</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="53">class options</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="54">global options</indexterm></cindex> <para>You can specify so-called <dfn>global options</dfn> or <dfn>class options</dfn> to the <code>\documentclass</code> command by enclosing them in square brackets. @@ -685,9 +772,9 @@ To specify more than one <var>option</var>, separate them with a comma, as in: <para>Here is the list of the standard class options. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="34">10pt <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="35">11pt <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="36">12pt <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="35">10pt <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="36">11pt <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="37">12pt <r>option</r></indexterm></findex> <para>All of the standard classes except <code>slides</code> accept the following options for selecting the typeface size (default is <code>10pt</code>): </para> @@ -695,12 +782,12 @@ options for selecting the typeface size (default is <code>10pt</code>): <pre xml:space="preserve">10pt 11pt 12pt </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="37">a4paper <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="38">a5paper <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="39">b5paper <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="40">executivepaper <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="41">legalpaper <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="42">letterpaper <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="38">a4paper <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="39">a5paper <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="40">b5paper <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="41">executivepaper <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="42">legalpaper <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="43">letterpaper <r>option</r></indexterm></findex> <para>All of the standard classes accept these options for selecting the paper size (these show height by width): </para> @@ -724,59 +811,63 @@ size (these show height by width): </tableterm><tableitem><para>8.5 by 11 inches (the default) </para></tableitem></tableentry></table> -<findex index="fn" spaces=" "><indexterm index="fn" number="43">\pdfpagewidth</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="44">\pdfpageheight</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="53"><r>package</r>, <code>geometry</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="54"><code>geometry</code> <r>package</r></indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="44">\pdfpagewidth</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="45">\pdfpageheight</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="55"><r>package</r>, <code>geometry</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="56"><code>geometry</code> <r>package</r></indexterm></cindex> + <para>When using one of the engines pdf&latex;, Lua&latex;, or Xe&latex; (<pxref label="TeX-engines"><xrefnodename>&tex; engines</xrefnodename></pxref>), options other than <code>letterpaper</code> set the print area but you must also set the physical paper size. One way to do that is to put <code>\pdfpagewidth=\paperwidth</code> and -<code>\pdfpageheight=\paperheight</code> in your document&textrsquo;s preamble. The -<code>geometry</code> package provides flexible ways of setting the print +<code>\pdfpageheight=\paperheight</code> in your document&textrsquo;s preamble. +<cindex index="cp" spaces=" "><indexterm index="cp" number="57"><r>package</r>, <code>geometry</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="58"><code>geometry</code> <r>package</r></indexterm></cindex> +</para> +<para>The <code>geometry</code> package provides flexible ways of setting the print area and physical page size. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="45">draft <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="46">final <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="47">fleqn <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="48">landscape <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="49">leqno <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="50">openbib <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="51">titlepage <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="52">notitlepage <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="46">draft <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="47">final <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="48">fleqn <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="49">landscape <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="50">leqno <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="51">openbib <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="52">titlepage <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="53">notitlepage <r>option</r></indexterm></findex> <para>Miscellaneous other options: </para> <table commandarg="code" spaces=" " endspaces=" "> <tableentry><tableterm><item spaces=" "><itemformat command="code">draft</itemformat></item> <itemx spaces=" "><itemformat command="code">final</itemformat></itemx> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="55">black boxes, omitting</indexterm></cindex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="59">black boxes, omitting</indexterm></cindex> <para>Mark (<code>draft</code>) or do not mark (<code>final</code>) overfull boxes with a black box in the margin; default is <code>final</code>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">fleqn</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="56">flush left equations</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="57">centered equations</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="58">equations, flush left vs.&noeos; centered</indexterm></cindex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="60">flush left equations</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="61">centered equations</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="62">equations, flush left vs.&noeos; centered</indexterm></cindex> <para>Put displayed formulas flush left; default is centered. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">landscape</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="59">landscape orientation</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="60">portrait orientation</indexterm></cindex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="63">landscape orientation</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="64">portrait orientation</indexterm></cindex> <para>Selects landscape format; default is portrait. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">leqno</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="61">left-hand equation numbers</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="62">right-hand equation numbers</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="63">equation numbers, left vs.&noeos; right</indexterm></cindex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="65">left-hand equation numbers</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="66">right-hand equation numbers</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="67">equation numbers, left vs.&noeos; right</indexterm></cindex> <para>Put equation numbers on the left side of equations; default is the right side. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">openbib</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="64">bibliography format, open</indexterm></cindex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="68">bibliography format, open</indexterm></cindex> <para>Use &textldquo;open&textrdquo; bibliography format. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">titlepage</itemformat></item> <itemx spaces=" "><itemformat command="code">notitlepage</itemformat></itemx> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="65">title page, separate or run-in</indexterm></cindex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="69">title page, separate or run-in</indexterm></cindex> <para>Specifies whether there is a separate page for the title information and for the abstract also, if there is one. The default for the <code>report</code> class is <code>titlepage</code>, for the other classes it is @@ -785,12 +876,12 @@ for the abstract also, if there is one. The default for the <para>The following options are not available with the <code>slides</code> class. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="53">onecolumn <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="54">twocolumn <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="55">oneside <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="56">twoside <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="57">openright <r>option</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="58">openany <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="54">onecolumn <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="55">twocolumn <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="56">oneside <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="57">twoside <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="58">openright <r>option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="59">openany <r>option</r></indexterm></findex> <table commandarg="code" spaces=" " endspaces=" "> <tableentry><tableterm><item spaces=" "><itemformat command="code">onecolumn</itemformat></item> <itemx spaces=" "><itemformat command="code">twocolumn</itemformat></itemx> @@ -798,8 +889,8 @@ for the abstract also, if there is one. The default for the </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">oneside</itemformat></item> <itemx spaces=" "><itemformat command="code">twoside</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="59">\evensidemargin</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="60">\oddsidemargin</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="60">\evensidemargin</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="61">\oddsidemargin</indexterm></findex> <para>Selects one- or two-sided layout; default is <code>oneside</code>, except that in the <code>book</code> class the default is <code>twoside</code>. </para> @@ -816,7 +907,7 @@ being 40% of the difference between <code>\paperwidth</code> and <code>openright</code> for <code>book</code>, and <code>openany</code> for <code>report</code>. </para></tableitem></tableentry></table> -<findex index="fn" spaces=" "><indexterm index="fn" number="61">clock <r>option to <code>slides</code> class</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="62">clock <r>option to <code>slides</code> class</r></indexterm></findex> <para>The <code>slides</code> class offers the option <code>clock</code> for printing the time at the bottom of each note. </para> @@ -825,10 +916,10 @@ the time at the bottom of each note. <node name="Additional-packages" spaces=" "><nodename>Additional packages</nodename><nodenext automatic="on">Class and package construction</nodenext><nodeprev automatic="on">Document class options</nodeprev><nodeup automatic="on">Document classes</nodeup></node> <section spaces=" "><sectiontitle>Additional packages</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="66">loading additional packages</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="67">packages, loading additional</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="68">additional packages, loading</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="62">\usepackage</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="70">loading additional packages</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="71">packages, loading additional</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="72">additional packages, loading</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="63">\usepackage</indexterm></findex> <para>Load a package <var>pkg</var>, with the package options given in the comma-separated list <var>options</var>, as here. </para> @@ -840,8 +931,8 @@ list <var>options</var>, as here. as in <code>\usepackage{<var>pkg1</var>,<var>pkg2</var>,...}</code>, or use multiple <code>\usepackage</code> commands. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="69">global options</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="70">options, global</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="73">global options</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="74">options, global</indexterm></cindex> <para>Any options given in the <code>\documentclass</code> command that are unknown to the selected document class are passed on to the packages loaded with <code>\usepackage</code>. @@ -851,9 +942,9 @@ to the selected document class are passed on to the packages loaded with <node name="Class-and-package-construction" spaces=" "><nodename>Class and package construction</nodename><nodeprev automatic="on">Additional packages</nodeprev><nodeup automatic="on">Document classes</nodeup></node> <section spaces=" "><sectiontitle>Class and package construction</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="71">document class commands</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="72">commands, document class</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="73">new class commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="75">document class commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="76">commands, document class</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="77">new class commands</indexterm></cindex> <para>You can create new document classes and new packages. For instance, if your memos must satisfy some local requirements, such as a @@ -866,18 +957,18 @@ package are useful across classes while those in a document class are specific to that class. Thus, a command to set page headers is for a package while a command to make the page headers say <code>Memo from the SMC Math Department</code> is for a class. -<cindex index="cp" spaces=" "><indexterm index="cp" number="74">class and package difference</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="75">difference between class and package</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="78">class and package difference</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="79">difference between class and package</indexterm></cindex> </para> <para>Inside of a class or package file you can use the at-sign <code>&arobase;</code> as a -character in command names without having to surround that command with -<code>\makeatletter</code> and <code>\makeatother</code>. <xref label="_005cmakeatletter-and-_005cmakeatother"><xrefnodename>\makeatletter and -\makeatother</xrefnodename></xref>. This allow you to create commands that users will not -accidentally redefine. Another technique is to preface class- or -package-specific commands with some string to prevent your class or -package from interacting with others. For instance, the class -<code>smcmemo</code> might have commands <code>\smc&arobase;tolist</code>, -<code>\smc&arobase;fromlist</code>, etc. +character in command names without having to surround the code +containing that command with <code>\makeatletter</code> and +<code>\makeatother</code>. <xref label="_005cmakeatletter-and-_005cmakeatother"><xrefnodename>\makeatletter and \makeatother</xrefnodename></xref>. This allow +you to create commands that users will not accidentally redefine. +Another technique is to preface class- or package-specific commands with +some string to prevent your class or package from interfering with +others. For instance, the class <code>smcmemo</code> might have commands +<code>\smc&arobase;tolist</code>, <code>\smc&arobase;fromlist</code>, etc. </para> <menu endspaces=" "> @@ -887,39 +978,47 @@ package from interacting with others. For instance, the class <node name="Class-and-package-structure" spaces=" "><nodename>Class and package structure</nodename><nodenext automatic="on">Class and package commands</nodenext><nodeup automatic="on">Class and package construction</nodeup></node> -<subsection spaces=" "><sectiontitle>Class and package structure</sectiontitle> - -<cindex index="cp" spaces=" "><indexterm index="cp" number="76">class and package structure</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="77">class file layout</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="78">package file layout</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="79">options, document class</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="80">options, package</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="81">class options</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="82">package options</indexterm></cindex> - -<para>A class file or package file typically has four parts. (1) In the -identification part, the file says that it is a &latex; package or -class and describes itself, using the <code>\NeedsTeXFormat</code> and -<code>\ProvidesClass</code> or <code>\ProvidesPackage</code> commands. (2) The -preliminary declarations part declares some commands and can also load -other files. Usually these commands will be those needed for the code -used in the next part. For example, an <code>smcmemo</code> class might be -called with an option to read in a file with a list of people for the -to-head, as <code>\documentclass[mathto]{smcmemo}</code>, and therefore -needs to define a command +<subsection spaces=" "><sectiontitle>Class and package structure</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="80">class and package structure</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="81">class file layout</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="82">package file layout</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="83">options, document class</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="84">options, package</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="85">class options</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="86">package options</indexterm></cindex> + +<para>A class file or package file typically has four parts. +</para><enumerate first="1" endspaces=" "> +<beforefirstitem><para>In the <dfn>identification part</dfn>, the file says that it is a &latex; +package or class and describes itself, using the <code>\NeedsTeXFormat</code> +and <code>\ProvidesClass</code> or <code>\ProvidesPackage</code> commands. +</para></beforefirstitem><listitem> +<para>The <dfn>preliminary declarations part</dfn> declares some commands and +can also load other files. Usually these commands will be those needed +for the code used in the next part. For example, an <code>smcmemo</code> +class might be called with an option to read in a file with a list of +people for the to-head, as <code>\documentclass[mathto]{smcmemo}</code>, and +therefore needs to define a command <code>\newcommand{\setto}[1]{\def\&arobase;tolist{#1}}</code> used in that -file. (3) In the handle options part the class or package declares +file. +</para></listitem><listitem> +<para>In the <dfn>handle options part</dfn> the class or package declares and processes its options. Class options allow a user to start their document as <code>\documentclass[<var>option list</var>]{<var>class name</var>}</code>, to modify the behavior of the class. An example is when you declare <code>\documentclass[11pt]{article}</code> to set the default -document font size. Finally, (4) in the more declarations part the -class or package usually does most of its work: declaring new variables, -commands and fonts, and loading other files. -</para> -<para>Here is a starting class file, which should be saved as <code>stub.cls</code> +document font size. +</para></listitem><listitem> +<para>Finally, in the <dfn>more declarations part</dfn> the class or package usually does +most of its work: declaring new variables, commands and fonts, and +loading other files. +</para></listitem></enumerate> + + +<para>Here is a starting class file, which should be saved as <file>stub.cls</file> where &latex; can find it, for example in the same directory as the -<code>.tex</code> file. +<file>.tex</file> file. </para> <example endspaces=" "> <pre xml:space="preserve">\NeedsTeXFormat{LaTeX2e} @@ -928,7 +1027,7 @@ where &latex; can find it, for example in the same directory as the \ProcessOptions\relax \LoadClass{article} </pre></example> -<cindex index="cp" spaces=" "><indexterm index="cp" number="83">class file example</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="87">class file example</indexterm></cindex> <para>It identifies itself, handles the class options via the default of passing them all to the <code>article</code> class, and then loads the @@ -943,26 +1042,42 @@ of the descriptions here derive from this document), or the tutorial </subsection> <node name="Class-and-package-commands" spaces=" "><nodename>Class and package commands</nodename><nodeprev automatic="on">Class and package structure</nodeprev><nodeup automatic="on">Class and package construction</nodeup></node> <subsection spaces=" "><sectiontitle>Class and package commands</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="84">class and package commands</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="85">commands, class and package</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="88">class and package commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="89">commands, class and package</indexterm></cindex> <para>These are the commands designed to help writers of classes or packages. </para> <table commandarg="code" spaces=" " endspaces=" "> <tableentry><tableterm><item spaces=" "><itemformat command="code">\AtBeginDvi{specials}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="63">\AtBeginDvi</indexterm></findex> -<para>Save in a box register things that are written to the <code>.dvi</code> file +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="64">\AtBeginDvi</indexterm></findex> +<para>Save in a box register things that are written to the <file>.dvi</file> file at the beginning of the shipout of the first page of the document. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\AtEndOfClass{<var>code</var>}</itemformat></item> </tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\AtEndOfPackage{<var>code</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="64">\AtEndOfClass</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="65">\AtEndOfPackage</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="65">\AtEndOfClass</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="66">\AtEndOfPackage</indexterm></findex> <para>Hook to insert <var>code</var> to be executed when &latex; finishes processing the current class or package. You can use these hooks multiple times; the <code>code</code> will be executed in the order that you called it. See also <ref label="_005cAtBeginDocument"><xrefnodename>\AtBeginDocument</xrefnodename></ref>. </para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\CheckCommand{<var>cmd</var>}[<var>num</var>][<var>default</var>]{<var>definition</var>}</itemformat></item> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\CheckCommand*{<var>cmd</var>}[<var>num</var>][<var>default</var>]{<var>definition</var>}</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="67">\CheckCommand</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="68">\CheckCommand*</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="90">new command, check</indexterm></cindex> +<para>Like <code>\newcommand</code> (<pxref label="_005cnewcommand-_0026-_005crenewcommand"><xrefnodename>\newcommand & \renewcommand</xrefnodename></pxref>) but does +not define <var>cmd</var>; instead it checks that the current definition of +<var>cmd</var> is exactly as given by <var>definition</var> and is or is not +<cindex index="cp" spaces=" "><indexterm index="cp" number="91">long command</indexterm></cindex> +<dfn>long</dfn> as expected. A long command is a command that accepts +<code>\par</code> within an argument. The <var>cmd</var> command is expected to be +long with the unstarred version of <code>\CheckCommand</code>. Raises an +error when the check fails. This allows you to check before you start +redefining <code>cmd</code> yourself that no other package has already +redefined this command. +</para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ClassError{<var>class name</var>}{<var>error text</var>}{<var>help text</var>}</itemformat></item> </tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\PackageError{<var>package name</var>}{<var>error text</var>}{<var>help text</var>}</itemformat></item> </tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ClassWarning{<var>class name</var>}{<var>warning text</var>}</itemformat></item> @@ -973,16 +1088,16 @@ called it. See also <ref label="_005cAtBeginDocument"><xrefnodename>\AtBeginDoc </tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\PackageInfo{<var>package name</var>}{<var>info text</var>}</itemformat></item> </tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ClassInfoNoLine{<var>class name</var>}{<var>info text</var>}</itemformat></item> </tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\PackageInfoNoLine{<var>package name</var>}{<var>info text</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="66">\ClassError</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="67">\PackageError</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="68">\ClassWarning</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="69">\PackageWarning</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="70">\ClassWarningNoLine</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="71">\PackageWarningNoLine</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="72">\ClassInfo</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="73">\PackageInfo</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="74">\ClassInfoNoLine</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="75">\PackageInfoNoLine</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="69">\ClassError</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="70">\PackageError</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="71">\ClassWarning</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="72">\PackageWarning</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="73">\ClassWarningNoLine</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="74">\PackageWarningNoLine</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="75">\ClassInfo</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="76">\PackageInfo</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="77">\ClassInfoNoLine</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="78">\PackageInfoNoLine</indexterm></findex> <para>Produce an error message, or warning or informational messages. </para> <para>For <code>\ClassError</code> and <code>\PackageError</code> the message is @@ -998,23 +1113,24 @@ message, while the other versions do show that number. </para> <para>To format the messages, including the <var>help text</var>: use <code>\protect</code> to stop a command from expanding, get a line break with -<code>\MessageBreak</code>, and get a space with <code>\space</code>. Note that -&latex; appends a period to the messages. +<code>\MessageBreak</code>, and get a space with <code>\space</code> when a space +character does not allow it, like after a command. Note that &latex; +appends a period to the messages. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\CurrentOption</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="76">\CurrentOption</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="79">\CurrentOption</indexterm></findex> <para>Expands to the name of the currently-being-processed option. Can only be used within the <var>code</var> argument of either <code>\DeclareOption</code> or <code>\DeclareOption*</code>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\DeclareOption{<var>option</var>}{<var>code</var>}</itemformat></item> -</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\DeclareOption*{<var>option</var>}{<var>code</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="77">\DeclareOption</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="78">\DeclareOption*</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="86">class options</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="87">package options</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="88">options, class</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="89">options, package</indexterm></cindex> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\DeclareOption*{<var>code</var>}</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="80">\DeclareOption</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="81">\DeclareOption*</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="92">class options</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="93">package options</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="94">options, class</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="95">options, package</indexterm></cindex> <para>Make an option available to a user, for invoking in their <code>\documentclass</code> command. For example, the <code>smcmemo</code> class could have an option allowing users to put the institutional logo on the @@ -1047,16 +1163,58 @@ passes the option to the <code>article</code> class. \PassOptionsToClass{\CurrentOption}{article}}} </pre></example> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\DeclareRobustCommand{<var>cmd</var>}[<var>num</var>][<var>default</var>]{<var>definition</var>} </itemformat></item> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\DeclareRobustCommand*{<var>cmd</var>}[<var>num</var>][<var>default</var>]{<var>definition</var>}</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="82">\DeclareRobustCommand</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="83">\DeclareRobustCommand*</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="96">new command, definition</indexterm></cindex> +<para>Like <code>\newcommand</code> and <code>\newcommand*</code> (<pxref label="_005cnewcommand-_0026-_005crenewcommand"><xrefnodename>\newcommand & +\renewcommand</xrefnodename></pxref>) but these declare a robust command, even if some code +within the <var>definition</var> is fragile. (For a discussion of robust and +fragile commands <pxref label="_005cprotect"><xrefnodename>\protect</xrefnodename></pxref>.) Use this command to define new +robust commands or to redefine existing commands and make them +robust. Unlike <code>\newcommand</code> these do not give an error if macro +<var>cmd</var> already exists; instead, a log message is put into the +transcript file if a command is redefined. +</para> +<para>Commands defined this way are a bit less efficient than those defined +using <code>\newcommand</code> so unless the command&textrsquo;s data is fragile and the +command is used within a moving argument, use <code>\newcommand</code>. +</para> +<cindex index="cp" spaces=" "><indexterm index="cp" number="97"><r>package</r>, <code>etoolbox</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="98"><code>etoolbox</code> <r>package</r></indexterm></cindex> + +<para>The <code>etoolbox</code> package offers commands <code>\newrobustcmd</code>, +<code>\newrobustcmd*</code>, <code>\renewrobustcmd</code>, <code>\renewrobustcmd*</code>, +<code>\providerobustcmd</code>, and <code>\providerobustcmd*</code> which are similar +to <code>\newcommand</code>, <code>\newcommand*</code>, <code>\renewcommand</code>, +<code>\renewcommand*</code>, <code>\providecommand</code>, and +<code>\providecommand*</code>, but define a robust <var>cmd</var> with two advantages +as compared to <code>\DeclareRobustCommand</code>: +</para><enumerate first="1" endspaces=" "> +<listitem> +<para>They use the low-level e-&tex; protection mechanism rather than the +higher level &latex; <code>\protect</code> mechanism, so they do not incur +the slight loss of performance mentioned above, and +</para></listitem><listitem> +<para>They make the same distinction between <code>\new&dots;</code>, +<code>\renew&dots;</code>, and <code>\provide&dots;</code>, as the standard +commands, so they do not just make a log message when you redefine +<var>cmd</var> that already exists, in that case you need to use either +<code>\renew&dots;</code> or <code>\provide&dots;</code> or you get an error. +</para></listitem></enumerate> + + </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\IfFileExists{<var>file name</var>}{<var>true code</var>}{<var>false code</var>}</itemformat></item> </tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\InputIfFileExists{<var>file name</var>}{<var>true code</var>}{<var>false code</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="79">\IfFileExists</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="80">\InputIfFileExists</indexterm></findex> -<para>Execute <var>true code</var> if &latex; can find the file and <var>false -code</var> otherwise. In the second case it inputs the file immediately -after executing <var>true code</var>. Thus +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="84">\IfFileExists</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="85">\InputIfFileExists</indexterm></findex> +<para>Execute <var>true code</var> if &latex; can find the file <file><var>file +name</var></file> and <var>false code</var> otherwise. In the second case it inputs the +file immediately after executing <var>true code</var>. Thus <code>\IfFileExists{img.pdf}{\includegraphics{img.pdf}}{\typeout{WARNING: -img.pdf not found}}</code> will include the graphic if it is found but -otherwise just give a warning. +img.pdf not found}}</code> will include the graphic <file>img.pdf</file> if it is +found but otherwise just give a warning. </para> <para>This command looks for the file in all search paths that &latex; uses, not only in the current directory. To look only in the current @@ -1068,15 +1226,20 @@ extensions see <ref label="_005cinput"><xrefnodename>\input</xrefnodename></ref> </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\LoadClass[<var>options list</var>]{<var>class name</var>}[<var>release date</var>]</itemformat></item> </tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\LoadClassWithOptions{<var>class name</var>}[<var>release date</var>]</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="81">\LoadClass</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="82">\LoadClassWithOptions</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="86">\LoadClass</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="87">\LoadClassWithOptions</indexterm></findex> <para>Load a class, as with <code>\documentclass[<var>options list</var>]{<var>class name</var>}[<var>release info</var>]</code>. An example is <code>\LoadClass[twoside]{article}</code>. </para> <para>The <var>options list</var>, if present, is a comma-separated list. The <var>release date</var> is optional. If present it must have the form -<var>YYYY/MM/DD</var>. If you request a <var>release date</var> and the date of +<var>YYYY/MM/DD</var>. +<!-- c BTW, there are at-macros documented in macros2e.pdf to check the version --> +<!-- c and do some actions conditionnally on version later or not to some --> +<!-- c date. --> +</para> +<para>If you request a <var>release date</var> and the date of the package installed on your system is earlier, then you get a warning on the screen and in the log like <code>You have requested, on input line 4, version `2038/01/19' of document class article, but only version @@ -1089,9 +1252,9 @@ that lets you build classes on existing ones, such as the standard <code>article</code> class, without having to track which options were passed. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ExecuteOptions{<var>options-list</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="83">\ExecuteOptions</indexterm></findex> -<para>For each option in the <var>options-list</var>, in order, this command -executes the command <code>\ds&arobase;</code><var>option</var>. If this command is not +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="88">\ExecuteOptions</indexterm></findex> +<para>For each option <var>option</var> in the <var>options-list</var>, in order, this command +executes the command <code>\ds&arobase;<var>option</var></code>. If this command is not defined then that option is silently ignored. </para> <para>It can be used to provide a default option list before @@ -1100,14 +1263,14 @@ default to be 11pt fonts then you could specify <code>\ExecuteOptions{11pt}\ProcessOptions\relax</code>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\NeedsTeXFormat{<var>format</var>}[<var>format date</var>]</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="84">\NeedsTeXFormat</indexterm></findex> -<para>Specifies the format that this class should be run under. Often issued +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="89">\NeedsTeXFormat</indexterm></findex> +<para>Specifies the format that this class must be run under. Often issued as the first line of a class file, and most often used as: -<code>\NeedsTeXFormat{LaTeX2e}</code>. The format that you specify must -exactly match the one installed on your system that you invoked, -including that the string is case sensitive. If it does not match then -execution stops with an error like <samp>This file needs format `xxx' -but this is `LaTeX2e'.</samp> +<code>\NeedsTeXFormat{LaTeX2e}</code>. When a document using that class is +processed, the format name given here must match the format that is +actually being run (including that the <var>format</var> string is case +sensitive). If it does not match then execution stops with an error +like <samp>This file needs format `LaTeX2e' but this is `xxx'.</samp> </para> <para>To specify a version of the format that you know to have certain features, include the optional <var>format date</var> on which those features @@ -1115,11 +1278,10 @@ were implemented. If present it must be in the form <code>YYYY/MM/DD</code>. If the format version installed on your system is earlier than <var>format date</var> then you get a warning like <samp>You have requested release `2038/01/20' of LaTeX, but only release `2016/02/01' is -available.</samp> (The &latex; kernel has been frozen for many years so you -probably do not not need to specify the format date.) +available.</samp> </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\OptionNotUsed</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="85">\OptionNotUsed</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="90">\OptionNotUsed</indexterm></findex> <para>Adds the current option to the list of unused options. Can only be used within the <var>code</var> argument of either <code>\DeclareOption</code> or <code>\DeclareOption*</code>. @@ -1130,10 +1292,10 @@ within the <var>code</var> argument of either <code>\DeclareOption</code> or <!-- c option(s): [unusedoption].} with the list of not-used options when it --> <!-- c reaches @code{\begin@{document@}}. --> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\PassOptionsToClass{<var>options list</var>}{<var>class name</var>}</itemformat></item> -</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\PassOptionsToPackage{<var>options list</var>}{<var>package name</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="86">\PassOptionsToClass</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="87">\PassOptionsToPackage</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\PassOptionsToClass{<var>option list</var>}{<var>class name</var>}</itemformat></item> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\PassOptionsToPackage{<var>option list</var>}{<var>package name</var>}</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="91">\PassOptionsToClass</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="92">\PassOptionsToPackage</indexterm></findex> <para>Adds the options in the comma-separated list <var>option list</var> to the options used by any future <code>\RequirePackage</code> or <code>\usepackage</code> command for package <var>package name</var> or the class <var>class name</var>. @@ -1145,16 +1307,17 @@ more than once will get you an error like <code>Option clash for package foo.</code> (&latex; throws an error even if there is no conflict between the options.) </para> -<para>If your code is bringing in a package twice then you can collapse that -to once, for example replacing the two +<para>If your own code is bringing in a package twice then you can collapse +that to once, for example replacing the two <code>\RequirePackage[landscape]{geometry}\RequirePackage[margins=1in]{geometry}</code> with the single <code>\RequirePackage[landscape,margins=1in]{geometry}</code>. But if you are loading a package that in turn loads another package then you need -to queue up the options you desire. For instance, suppose the package -<code>foo</code> loads the package <code>geometry</code>. Instead of <code> -\RequirePackage{foo}\RequirePackage[draft]{graphics}</code> you must write -<code>\PassOptionsToPackage{draft}{graphics} +to queue up the options you desire for this other package. For +instance, suppose the package <code>foo</code> loads the package +<code>geometry</code>. Instead of +<code>\RequirePackage{foo}\RequirePackage[draft]{graphics}</code> you must +write <code>\PassOptionsToPackage{draft}{graphics} \RequirePackage{foo}</code>. (If <code>foo.sty</code> loads an option in conflict with what you want then you may have to look into altering its source.) </para> @@ -1167,93 +1330,103 @@ option. The user could start their &latex; file with </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ProcessOptions</itemformat></item> </tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ProcessOptions*<var>\&arobase;options</var></itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="88">\ProcessOptions</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="89">\ProcessOptions*</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="93">\ProcessOptions</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="94">\ProcessOptions*</indexterm></findex> <para>Execute the code for each option that the user has invoked. Include it in the class file as <code>\ProcessOptions\relax</code> (because of the existence of the starred command). </para> -<para>Options come in two types. &textlsquo;Local&textrsquo; options have been specified for this +<para>Options come in two types. <dfn>Local options</dfn> have been specified for this particular package in the <var>options</var> argument of <code>\PassOptionsToPackage{<var>options</var>}</code>, <code>\usepackage[<var>options</var>]</code>, or -<code>\RequirePackage[<var>options</var>]</code>. &textlsquo;Global&textrsquo; options are those given +<code>\RequirePackage[<var>options</var>]</code>. <dfn>Global options</dfn> are those given by the class user in <code>\documentclass[<var>options</var>]</code> (If an option is specified both locally and globally then it is local.) </para> -<para>When <code>\ProcessOptions</code> is called for a package <code>pkg.sty</code>, the -following happens. (1) For each option <var>option</var> so far declared +<para>When <code>\ProcessOptions</code> is called for a package <file>pkg.sty</file>, the +following happens: +</para><enumerate first="1" endspaces=" "> +<listitem> +<para>For each option <var>option</var> so far declared with <code>\DeclareOption</code>, it looks to see if that option is either a global or a local option for <code>pkg</code>. If so then it executes the declared code. This is done in the order in which these options were -given in <code>pkg.sty</code>. (2) For each remaining local option, it -executes the command <code>\ds&arobase;</code><var>option</var> if it has been defined -somewhere (other than by a <code>\DeclareOption</code>); otherwise, it -executes the default option code given in <code>\DeclareOption*</code>. If no -default option code has been declared then it gives an error message. -This is done in the order in which these options were specified. -</para> +given in <file>pkg.sty</file>. +</para></listitem><listitem> +<para>For each remaining local option, it executes the command +<code>\ds&arobase;</code><var>option</var> if it has been defined somewhere (other than by +a <code>\DeclareOption</code>); otherwise, it executes the default option code +given in <code>\DeclareOption*</code>. If no default option code has been +declared then it gives an error message. This is done in the order in +which these options were specified. +</para></listitem></enumerate> + <para>When <code>\ProcessOptions</code> is called for a class it works in the same -way except that all options are local, and the default value for +way except that all options are local, and the default <var>code</var> for <code>\DeclareOption*</code> is <code>\OptionNotUsed</code> rather than an error. </para> -<para>The starred version <code>\ProcessOptions*</code><var>\&arobase;options</var> executes the +<para>The starred version <code>\ProcessOptions*</code> executes the options in the order specified in the calling commands, rather than in the order of declaration in the class or package. For a package this means that the global options are processed first. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ProvidesClass{<var>class name</var>}[<var><release date></var> <var><brief additional information></var>]</itemformat></item> -</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ProvidesPackage{<var>package name</var>}[<var><release date></var> <var><brief additional information></var>]</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="90">\ProvidesClass</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="91">\ProvidesPackage</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ProvidesClass{<var>class name</var>}[<var>release date</var> <var>brief additional information</var>]</itemformat></item> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ProvidesClass{<var>class name</var>}[<var>release date</var>]</itemformat></item> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ProvidesPackage{<var>package name</var>}[<var>release date</var> <var>brief additional information</var>]</itemformat></item> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ProvidesPackage{<var>package name</var>}[<var>release date</var>]</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="95">\ProvidesClass</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="96">\ProvidesPackage</indexterm></findex> <para>Identifies the class or package, printing a message to the screen and the log file. </para> <para>When a user writes <code>\documentclass{smcmemo}</code> then &latex; loads -the file <code>smcmemo.cls</code>. Similarly, a user writing +the file <file>smcmemo.cls</file>. Similarly, a user writing <code>\usepackage{test}</code> prompts &latex; to load the file <code>test.sty</code>. If the name of the file does not match the declared class or package name then you get a warning. Thus, if you invoke -<code>\documentclass{smcmemo}</code>, and the file <code>smcmemo.cls</code> has +<code>\documentclass{smcmemo}</code>, and the file <file>smcmemo.cls</file> has the statement <code>\ProvidesClass{xxx}</code> then you get a warning like <code>You have requested document class `smcmemo', but the document class provides 'xxx'.</code> This warning does not prevent &latex; from processing the rest of the class file normally. </para> -<para>If you include the optional part then you must include the date, before -the first space, and it must have the form <code>YYYY/MM/DD</code>. The rest -of the optional part is free-form, although it traditionally identifies +<para>If you include the optional argument, then you must include the date, before +the first space if any, and it must have the form <code>YYYY/MM/DD</code>. The rest +of the optional argument is free-form, although it traditionally identifies the class, and is written to the screen during compilation and to the -log file. Thus, if your file <code>smcmem.cls</code> contains the line -<code>\ProvidesClass{smcmem}[2008/06/01 SMC memo class]</code> and your -document&textrsquo;s first line is <code>\documentclass{smcmem}</code> then you will -see <code>Document Class: smcmemo 2008/06/01 SMC memo class</code>. +log file. Thus, if your file <file>smcmemo.cls</file> contains the line +<code>\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC memo class]</code> and your +document&textrsquo;s first line is <code>\documentclass{smcmemo}</code> then you will +see <code>Document Class: smcmemo 2008/06/01 v1.0 SMC memo class</code>. </para> -<para>The date in the optional portion allows class and package users to ask +<para>The date in the optional argument allows class and package users to ask to be warned if the version of the class or package installed on their -system is earlier than <var>release date</var>, by using the optional calls -such as <code>\documentclass{smcmem}[2018/10/12]</code> or +system is earlier than <var>release date</var>, by using the optional arguments +such as <code>\documentclass{smcmemo}[2018/10/12]</code> or <code>\usepackage{foo}[[2017/07/07]]</code>. (Note that package users only rarely include a date, and class users almost never do.) </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ProvidesFile{<var>file name</var>}[<var>additional information</var>]</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="92">\ProvidesFile</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="97">\ProvidesFile</indexterm></findex> <para>Declare a file other than the main class and package files, such as configuration files or font definition files. Put this command in that file and you get in the log a string like <code>File: test.config -2017/10/12 config file for test.cls</code>. +2017/10/12 config file for test.cls</code> for <var>file name</var> equal to +<samp>test.config</samp> and <var>additional information</var> equal to +<samp>2017/10/12 config file for test.cls</samp>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\RequirePackage[<var>options list</var>]{<var>package name</var>}[<var>release date</var>]</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\RequirePackage[<var>option list</var>]{<var>package name</var>}[<var>release date</var>]</itemformat></item> </tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\RequirePackageWithOptions{<var>package name</var>}[<var>release date</var>]</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="93">\RequirePackage</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="94">\RequirePackageWithOptions</indexterm></findex> -<para>Load a package, like the author command <code>\usepackage</code>. +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="98">\RequirePackage</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="99">\RequirePackageWithOptions</indexterm></findex> +<para>Load a package, like the document author command <code>\usepackage</code>. <xref label="Additional-packages"><xrefnodename>Additional packages</xrefnodename></xref>. An example is <code>\RequirePackage[landscape,margin=1in]{geometry}</code>. Note that the &latex; development team strongly recommends use of these commands over Plain &tex;&textrsquo;s <code>\input</code>; see the Class Guide. </para> -<para>The <var>options list</var>, if present, is a comma-separated list. The +<para>The <var>option list</var>, if present, is a comma-separated list. The <var>release date</var>, if present, must have the form <var>YYYY/MM/DD</var>. If the release date of the package as installed on your system is earlier than <var>release date</var> then you get a warning like <code>You have @@ -1282,8 +1455,8 @@ causes &latex; to give error like <code>\usepackage before <chapter spaces=" "><sectiontitle>Fonts</sectiontitle> <anchor name="Typefaces">Typefaces</anchor><!-- c old name --> -<cindex index="cp" spaces=" "><indexterm index="cp" number="90">typefaces</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="91">fonts</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="99">typefaces</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="100">fonts</indexterm></cindex> <para>Two important aspects of selecting a <dfn>font</dfn> are specifying a size and a style. The &latex; commands for doing this are described here. @@ -1298,9 +1471,9 @@ and a style. The &latex; commands for doing this are described here. <node name="Font-styles" spaces=" "><nodename>Font styles</nodename><nodenext automatic="on">Font sizes</nodenext><nodeup automatic="on">Fonts</nodeup></node> <section spaces=" "><sectiontitle>Font styles</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="92">font styles</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="93">type styles</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="94">styles of text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="101">font styles</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="102">type styles</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="103">styles of text</indexterm></cindex> <para>The following type style commands are supported by &latex;. </para> @@ -1318,8 +1491,8 @@ are cumulative; e.g., you can say either <code>\sffamily\bfseries</code> or <para>You can alternatively use an environment form of the declarations; for instance, <code>\begin{ttfamily}...\end{ttfamily}</code>. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="95">\nocorrlist</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="96">\nocorr</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="100">\nocorrlist</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="101">\nocorr</indexterm></findex> <para>These font-switching commands automatically insert italic corrections if needed. (<xref label="_005c_002f"><xrefnodename>\/</xrefnodename></xref>, for the details of italic corrections.) Specifically, they insert the italic correction unless the following @@ -1331,59 +1504,59 @@ command argument, such as <code>\textit{\nocorr text}</code> or </para> <table commandarg="code" spaces=" " endspaces=" "> <tableentry><tableterm><item spaces=" "><itemformat command="code">\textrm (\rmfamily)</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="97">\textrm</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="98">\rmfamily</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="102">\textrm</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="103">\rmfamily</indexterm></findex> <para>Roman. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\textit (\itshape)</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="99">\textit</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="100">\itshape</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="104">\textit</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="105">\itshape</indexterm></findex> <para>Italics. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\textmd (\mdseries)</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="101">\textmd</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="102">\mdseries</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="106">\textmd</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="107">\mdseries</indexterm></findex> <para>Medium weight (default). </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\textbf (\bfseries)</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="103">\textbf</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="104">\bfseries</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="108">\textbf</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="109">\bfseries</indexterm></findex> <para>Boldface. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\textup (\upshape)</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="105">\textup</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="106">\upshape</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="110">\textup</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="111">\upshape</indexterm></findex> <para>Upright (default). </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\textsl (\slshape)</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="107">\textsl</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="108">\slshape</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="112">\textsl</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="113">\slshape</indexterm></findex> <para>Slanted. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\textsf (\sffamily)</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="109">\textsf</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="110">\sffamily</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="114">\textsf</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="115">\sffamily</indexterm></findex> <para>Sans serif. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\textsc (\scshape)</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="111">\textsc</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="112">\scshape</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="116">\textsc</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="117">\scshape</indexterm></findex> <para>Small caps. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\texttt (\ttfamily)</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="113">\texttt</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="114">\ttfamily</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="118">\texttt</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="119">\ttfamily</indexterm></findex> <para>Typewriter. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\textnormal (\normalfont)</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="115">\textnormal</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="116">\normalfont</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="120">\textnormal</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="121">\normalfont</indexterm></findex> <para>Main document font. </para> </tableitem></tableentry></table> -<cindex index="cp" spaces=" "><indexterm index="cp" number="95">emphasis</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="117">\emph</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="104">emphasis</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="122">\emph</indexterm></findex> <para>Although it also changes fonts, the <code>\emph{<var>text</var>}</code> command is semantic, for text to be emphasized, and should not be used as a substitute for <code>\textit</code>. For example, <code>\emph{<var>start @@ -1398,40 +1571,40 @@ they are used differently than the above commands: are two unrelated constructs. </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="118">\bf</indexterm>\bf</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="96">bold font</indexterm></cindex> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="123">\bf</indexterm>\bf</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="105">bold font</indexterm></cindex> <para>Switch to bold face. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="119">\cal</indexterm>\cal</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="97">script letters for math</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="98">calligraphic letters for math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="124">\cal</indexterm>\cal</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="106">script letters for math</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="107">calligraphic letters for math</indexterm></cindex> <para>Switch to calligraphic letters for math. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="120">\it</indexterm>\it</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="99">italic font</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="125">\it</indexterm>\it</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="108">italic font</indexterm></cindex> <para>Italics. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="121">\rm</indexterm>\rm</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="100">roman font</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="126">\rm</indexterm>\rm</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="109">roman font</indexterm></cindex> <para>Roman. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="122">\sc</indexterm>\sc</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="101">small caps font</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="127">\sc</indexterm>\sc</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="110">small caps font</indexterm></cindex> <para>Small caps. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="123">\sf</indexterm>\sf</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="102">sans serif font</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="128">\sf</indexterm>\sf</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="111">sans serif font</indexterm></cindex> <para>Sans serif. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="124">\sl</indexterm>\sl</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="103">slanted font</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="104">oblique font</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="129">\sl</indexterm>\sl</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="112">slanted font</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="113">oblique font</indexterm></cindex> <para>Slanted (oblique). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="125">\tt</indexterm>\tt</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="105">typewriter font</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="106">monospace font</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="107">fixed-width font</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="130">\tt</indexterm>\tt</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="114">typewriter font</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="115">monospace font</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="116">fixed-width font</indexterm></cindex> <para>Typewriter (monospace, fixed-width). </para> </tableitem></tableentry></ftable> @@ -1453,19 +1626,19 @@ typographic treatment, regardless of the surrounding environment. </para> <table commandarg="code" spaces=" " endspaces=" "> <tableentry><tableterm><item spaces=" "><itemformat command="code">\mathrm</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="126">\mathrm</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="131">\mathrm</indexterm></findex> <para>Roman, for use in math mode. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\mathbf</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="127">\mathbf</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="132">\mathbf</indexterm></findex> <para>Boldface, for use in math mode. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\mathsf</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="128">\mathsf</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="133">\mathsf</indexterm></findex> <para>Sans serif, for use in math mode. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\mathtt</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="129">\mathtt</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="134">\mathtt</indexterm></findex> <para>Typewriter, for use in math mode. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\mathit</itemformat></item> @@ -1473,32 +1646,33 @@ typographic treatment, regardless of the surrounding environment. </tableterm><tableitem><para>Italics, for use in math mode. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\mathnormal</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="130">\mathnormal</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="135">\mathnormal</indexterm></findex> <para>For use in math mode, e.g., inside another type style declaration. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\mathcal</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="131">\mathcal</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="136">\mathcal</indexterm></findex> <para>Calligraphic letters, for use in math mode. </para> </tableitem></tableentry></table> -<findex index="fn" spaces=" "><indexterm index="fn" number="132">\mathversion</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="108">math, bold</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="109">bold math</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="137">\mathversion</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="117">math, bold</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="118">bold math</indexterm></cindex> <para>In addition, the command <code>\mathversion{bold}</code> can be used for switching to bold letters and symbols in formulas. <code>\mathversion{normal}</code> restores the default. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="133">\oldstylenums</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="110">numerals, old-style</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="111">old-style numerals</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="112">lining numerals</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="113"><r>package</r>, <code>textcomp</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="114"><code>textcomp</code> <r>package</r></indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="138">\oldstylenums</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="119">numerals, old-style</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="120">old-style numerals</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="121">lining numerals</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="122"><r>package</r>, <code>textcomp</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="123"><code>textcomp</code> <r>package</r></indexterm></cindex> + <para>Finally, the command <code>\oldstylenums{<var>numerals</var>}</code> will typeset so-called &textldquo;old-style&textrdquo; numerals, which have differing heights and depths (and sometimes widths) from the standard &textldquo;lining&textrdquo; numerals, -which all have the same height as upper-case letters. &latex;&textrsquo;s +which all have the same height as uppercase letters. &latex;&textrsquo;s default fonts support this, and will respect <code>\textbf</code> (but not other styles; there are no italic old-style numerals in Computer Modern). Many other fonts have old-style numerals also; sometimes the @@ -1511,9 +1685,9 @@ are provided to make them the default. FAQ entry: <node name="Font-sizes" spaces=" "><nodename>Font sizes</nodename><nodenext automatic="on">Low-level font commands</nodenext><nodeprev automatic="on">Font styles</nodeprev><nodeup automatic="on">Fonts</nodeup></node> <section spaces=" "><sectiontitle>Font sizes</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="115">font sizes</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="116">typeface sizes</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="117">sizes of text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="124">font sizes</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="125">typeface sizes</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="126">sizes of text</indexterm></cindex> <para>The following standard type size commands are supported by &latex;. The table shows the command name and the corresponding actual font @@ -1521,16 +1695,16 @@ size used (in points) with the <samp>10pt</samp>, <samp>11pt</samp>, and <samp>12pt</samp> document size options, respectively (<pxref label="Document-class-options"><xrefnodename>Document class options</xrefnodename></pxref>). </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="134">\tiny</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="135">\scriptsize</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="136">\footnotesize</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="137">\small</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="138">\normalsize</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="139">\large</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="140">\Large</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="141">\LARGE</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="142">\huge</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="143">\Huge</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="139">\tiny</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="140">\scriptsize</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="141">\footnotesize</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="142">\small</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="143">\normalsize</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="144">\large</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="145">\Large</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="146">\LARGE</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="147">\huge</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="148">\Huge</indexterm></findex> <multitable spaces=" " endspaces=" "><columnprototypes><columnprototype bracketed="on"><code>\normalsize</code> (default)</columnprototype> <columnprototype bracketed="on">24.88</columnprototype> <columnprototype bracketed="on">24.88</columnprototype> <columnprototype bracketed="on">24.88</columnprototype></columnprototypes> <thead><row><entry command="headitem" spaces=" "><para>Command </para></entry><entry command="tab" spaces=" "><para><code>10pt</code> </para></entry><entry command="tab" spaces=" "><para><code>11pt</code> </para></entry><entry command="tab" spaces=" "><para><code>12pt</code> @@ -1566,8 +1740,8 @@ these commands; for instance, <code>\begin{tiny}...\end{tin <node name="Low_002dlevel-font-commands" spaces=" "><nodename>Low-level font commands</nodename><nodeprev automatic="on">Font sizes</nodeprev><nodeup automatic="on">Fonts</nodeup></node> <section spaces=" "><sectiontitle>Low-level font commands</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="118">low-level font commands</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="119">font commands, low-level</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="127">low-level font commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="128">font commands, low-level</indexterm></cindex> <para>These commands are primarily intended for writers of macros and packages. The commands listed here are only a subset of the available @@ -1577,94 +1751,139 @@ ones. </para> <table commandarg="code" spaces=" " endspaces=" "> <tableentry><tableterm><item spaces=" "><itemformat command="code">\fontencoding{<var>encoding</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="144">\fontencoding</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="149">\fontencoding</indexterm></findex> <para>Select the font encoding, the encoding of the output font. There are a large number of valid encodings. The most common are <code>OT1</code>, Knuth&textrsquo;s original encoding for Computer Modern (the default), and <code>T1</code>, also known as the Cork encoding, which has support for the accented characters used by the most widespread European languages (German, French, Italian, Polish and others), which allows &tex; to -hyphenate words containing accented letters. +hyphenate words containing accented letters. For more, see +<url><urefurl>https://ctan.org/pkg/encguide</urefurl></url>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\fontfamily{<var>family</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="145">\fontfamily</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="120">families, of fonts</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="121">font catalogue</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="150">\fontfamily</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="129">families, of fonts</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="130">font catalogue</indexterm></cindex> <para>Select the font family. The web page <url><urefurl>http://www.tug.dk/FontCatalogue/</urefurl></url> provides one way to browse through many of the fonts easily used with &latex;. Here are examples of some common families: </para> -<!-- c Sorry about the ugly @t{@ }. The idea is to make the lists line up --> -<!-- c in Info. Since the items are so short, it seems nice to have them --> -<!-- c on the same line instead of using @table. --> - -<itemize commandarg="w" spaces=" " endspaces=" "><itemprepend><w></w></itemprepend> -<listitem spaces=" "><prepend><w></w></prepend><para><code>pag</code><t><spacecmd type="spc"/></t> Avant Garde -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>fvs</code><t><spacecmd type="spc"/></t> Bitstream Vera Sans -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>pbk</code><t><spacecmd type="spc"/></t> Bookman -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>bch</code><t><spacecmd type="spc"/></t> Charter -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>ccr</code><t><spacecmd type="spc"/></t> Computer Concrete -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>cmr</code><t><spacecmd type="spc"/></t> Computer Modern -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>pcr</code><t><spacecmd type="spc"/></t> Courier -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>phv</code><t><spacecmd type="spc"/></t> Helvetica -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>fi4</code><t><spacecmd type="spc"/></t> Inconsolata -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>lmr</code><t><spacecmd type="spc"/></t> Latin Modern -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>lmss</code> Latin Modern Sans -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>lmtt</code> Latin Modern Typewriter -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>pnc</code><t><spacecmd type="spc"/></t> New Century Schoolbook -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>ppl</code><t><spacecmd type="spc"/></t> Palatino -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>ptm</code><t><spacecmd type="spc"/></t> Times -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>uncl</code> Uncial -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>put</code><t><spacecmd type="spc"/></t> Utopia -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>pzc</code><t><spacecmd type="spc"/></t> Zapf Chancery -</para></listitem></itemize> +<multitable spaces=" " endspaces=" "><columnprototypes><columnprototype bracketed="on">font</columnprototype> <columnprototype bracketed="on">Computer Modern Typewriter XXXX</columnprototype></columnprototypes> +<tbody><row><entry command="item" spaces=" "><para><code>pag</code> +</para></entry><entry command="tab" spaces=" "><para>Avant Garde +</para></entry></row><row><entry command="item" spaces=" "><para><code>fvs</code> +</para></entry><entry command="tab" spaces=" "><para>Bitstream Vera Sans +</para></entry></row><row><entry command="item" spaces=" "><para><code>pbk</code> +</para></entry><entry command="tab" spaces=" "><para>Bookman +</para></entry></row><row><entry command="item" spaces=" "><para><code>bch</code> +</para></entry><entry command="tab" spaces=" "><para>Charter +</para></entry></row><row><entry command="item" spaces=" "><para><code>ccr</code> +</para></entry><entry command="tab" spaces=" "><para>Computer Concrete +</para></entry></row><row><entry command="item" spaces=" "><para><code>cmr</code> +</para></entry><entry command="tab" spaces=" "><para>Computer Modern +</para></entry></row><row><entry command="item" spaces=" "><para><code>cmss</code> +</para></entry><entry command="tab" spaces=" "><para>Computer Modern Sans Serif +</para></entry></row><row><entry command="item" spaces=" "><para><code>cmtt</code> +</para></entry><entry command="tab" spaces=" "><para>Computer Modern Typewriter +</para></entry></row><row><entry command="item" spaces=" "><para><code>pcr</code> +</para></entry><entry command="tab" spaces=" "><para>Courier +</para></entry></row><row><entry command="item" spaces=" "><para><code>phv</code> +</para></entry><entry command="tab" spaces=" "><para>Helvetica +</para></entry></row><row><entry command="item" spaces=" "><para><code>fi4</code> +</para></entry><entry command="tab" spaces=" "><para>Inconsolata +</para></entry></row><row><entry command="item" spaces=" "><para><code>lmr</code> +</para></entry><entry command="tab" spaces=" "><para>Latin Modern +</para></entry></row><row><entry command="item" spaces=" "><para><code>lmss</code> +</para></entry><entry command="tab" spaces=" "><para>Latin Modern Sans +</para></entry></row><row><entry command="item" spaces=" "><para><code>lmtt</code> +</para></entry><entry command="tab" spaces=" "><para>Latin Modern Typewriter +</para></entry></row><row><entry command="item" spaces=" "><para><code>pnc</code> +</para></entry><entry command="tab" spaces=" "><para>New Century Schoolbook +</para></entry></row><row><entry command="item" spaces=" "><para><code>ppl</code> +</para></entry><entry command="tab" spaces=" "><para>Palatino +</para></entry></row><row><entry command="item" spaces=" "><para><code>ptm</code> +</para></entry><entry command="tab" spaces=" "><para>Times +</para></entry></row><row><entry command="item" spaces=" "><para><code>uncl</code> +</para></entry><entry command="tab" spaces=" "><para>Uncial +</para></entry></row><row><entry command="item" spaces=" "><para><code>put</code> +</para></entry><entry command="tab" spaces=" "><para>Utopia +</para></entry></row><row><entry command="item" spaces=" "><para><code>pzc</code> +</para></entry><entry command="tab" spaces=" "><para>Zapf Chancery +</para></entry></row></tbody></multitable> + </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\fontseries{<var>series</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="146">\fontseries</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="122">series, of fonts</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="151">\fontseries</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="131">series, of fonts</indexterm></cindex> <para>Select the font series. A <dfn>series</dfn> combines a <dfn>weight</dfn> and a <dfn>width</dfn>. Typically, a font supports only a few of the possible combinations. Some common combined series values include: </para> -<itemize commandarg="w" spaces=" " endspaces=" "><itemprepend><w></w></itemprepend> -<listitem spaces=" "><prepend><w></w></prepend><para><code>m</code><t><spacecmd type="spc"/></t> Medium (normal) -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>b</code><t><spacecmd type="spc"/></t> Bold -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>c</code><t><spacecmd type="spc"/></t> Condensed -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>bc</code> Bold condensed -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>bx</code> Bold extended -</para></listitem></itemize> +<multitable spaces=" " endspaces=" "><columnprototypes><columnprototype bracketed="on">xx</columnprototype> <columnprototype bracketed="on">Medium (normal)xx</columnprototype></columnprototypes> +<tbody><row><entry command="item" spaces=" "><para><code>m</code> +</para></entry><entry command="tab" spaces=" "><para>Medium (normal) +</para></entry></row><row><entry command="item" spaces=" "><para><code>b</code> +</para></entry><entry command="tab" spaces=" "><para>Bold +</para></entry></row><row><entry command="item" spaces=" "><para><code>c</code> +</para></entry><entry command="tab" spaces=" "><para>Condensed +</para></entry></row><row><entry command="item" spaces=" "><para><code>bc</code> +</para></entry><entry command="tab" spaces=" "><para>Bold condensed +</para></entry></row><row><entry command="item" spaces=" "><para><code>bx</code> +</para></entry><entry command="tab" spaces=" "><para>Bold extended +</para></entry></row></tbody></multitable> -<cindex index="cp" spaces=" "><indexterm index="cp" number="123">weights, of fonts</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="132">weights, of fonts</indexterm></cindex> <para>The possible values for weight, individually, are: </para> -<itemize commandarg="w" spaces=" " endspaces=" "><itemprepend><w></w></itemprepend> -<listitem spaces=" "><prepend><w></w></prepend><para><code>ul</code> Ultra light -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>el</code> Extra light -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>l</code><t><spacecmd type="spc"/></t> Light -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>sl</code> Semi light -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>m</code><t><spacecmd type="spc"/></t> Medium (normal) -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>sb</code> Semi bold -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>b</code><t><spacecmd type="spc"/></t> Bold -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>eb</code> Extra bold -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>ub</code> Ultra bold -</para></listitem></itemize> +<multitable spaces=" " endspaces=" "><columnprototypes><columnprototype bracketed="on">xx</columnprototype> <columnprototype bracketed="on">Medium (normal) xx</columnprototype></columnprototypes> +<tbody><row><entry command="item" spaces=" "><para><code>ul</code> +</para></entry><entry command="tab" spaces=" "><para>Ultra light +</para></entry></row><row><entry command="item" spaces=" "><para><code>el</code> +</para></entry><entry command="tab" spaces=" "><para>Extra light +</para></entry></row><row><entry command="item" spaces=" "><para><code>l</code> +</para></entry><entry command="tab" spaces=" "><para>Light +</para></entry></row><row><entry command="item" spaces=" "><para><code>sl</code> +</para></entry><entry command="tab" spaces=" "><para>Semi light +</para></entry></row><row><entry command="item" spaces=" "><para><code>m</code> +</para></entry><entry command="tab" spaces=" "><para>Medium (normal) +</para></entry></row><row><entry command="item" spaces=" "><para><code>sb</code> +</para></entry><entry command="tab" spaces=" "><para>Semi bold +</para></entry></row><row><entry command="item" spaces=" "><para><code>b</code> +</para></entry><entry command="tab" spaces=" "><para>Bold +</para></entry></row><row><entry command="item" spaces=" "><para><code>eb</code> +</para></entry><entry command="tab" spaces=" "><para>Extra bold +</para></entry></row><row><entry command="item" spaces=" "><para><code>ub</code> +</para></entry><entry command="tab" spaces=" "><para>Ultra bold +</para></entry></row></tbody></multitable> -<cindex index="cp" spaces=" "><indexterm index="cp" number="124">widths, of fonts</indexterm></cindex> -<para>The possible values for width, individually, are (the percentages -are just guides and are not followed precisely by all fonts): -</para> -<itemize commandarg="w" spaces=" " endspaces=" "><itemprepend><w></w></itemprepend> -<listitem spaces=" "><prepend><w></w></prepend><para><code>uc</code> Ultra condensed, 50% -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>ec</code> Extra condensed, 62.5% -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>c</code><t><spacecmd type="spc"/></t> Condensed, 75% -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>sc</code> Semi condensed, 87.5% -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>m</code><t><spacecmd type="spc"/></t> Medium, 100% -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>sx</code> Semi expanded, 112.5% -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>x</code><t><spacecmd type="spc"/></t> Expanded, 125% -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>ex</code> Extra expanded, 150% -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>ux</code> Ultra expanded, 200% -</para></listitem></itemize> +<cindex index="cp" spaces=" "><indexterm index="cp" number="133">widths, of fonts</indexterm></cindex> +<para>The possible values for width, individually, are (the meaning and +relationship of these terms varies with individual typefaces): +</para> + +<multitable spaces=" " endspaces=" "><columnprototypes><columnprototype bracketed="on">xx</columnprototype> <columnprototype bracketed="on">Ultra condensed</columnprototype></columnprototypes> +<tbody><row><entry command="item" spaces=" "><para><code>uc</code> +</para></entry><entry command="tab" spaces=" "><para>Ultra condensed +</para></entry></row><row><entry command="item" spaces=" "><para><code>ec</code> +</para></entry><entry command="tab" spaces=" "><para>Extra condensed +</para></entry></row><row><entry command="item" spaces=" "><para><code>c</code> +</para></entry><entry command="tab" spaces=" "><para>Condensed +</para></entry></row><row><entry command="item" spaces=" "><para><code>sc</code> +</para></entry><entry command="tab" spaces=" "><para>Semi condensed +</para></entry></row><row><entry command="item" spaces=" "><para><code>m</code> +</para></entry><entry command="tab" spaces=" "><para>Medium +</para></entry></row><row><entry command="item" spaces=" "><para><code>sx</code> +</para></entry><entry command="tab" spaces=" "><para>Semi expanded +</para></entry></row><row><entry command="item" spaces=" "><para><code>x</code> +</para></entry><entry command="tab" spaces=" "><para>Expanded +</para></entry></row><row><entry command="item" spaces=" "><para><code>ex</code> +</para></entry><entry command="tab" spaces=" "><para>Extra expanded +</para></entry></row><row><entry command="item" spaces=" "><para><code>ux</code> +</para></entry><entry command="tab" spaces=" "><para>Ultra expanded +</para></entry></row></tbody></multitable> + <para>When forming the <var>series</var> string from the weight and width, drop the <code>m</code> that stands for medium weight or medium width, unless both @@ -1672,26 +1891,33 @@ weight and width are <code>m</code>, in which case use just one (<samp><code>m</code></samp>). </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\fontshape{<var>shape</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="147">\fontshape</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="125">shapes, of fonts</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="152">\fontshape</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="134">shapes, of fonts</indexterm></cindex> <para>Select font shape. Valid shapes are: </para> -<itemize commandarg="w" spaces=" " endspaces=" "><itemprepend><w></w></itemprepend> -<listitem spaces=" "><prepend><w></w></prepend><para><code>n</code><t><spacecmd type="spc"/></t> Upright (normal) -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>it</code> Italic -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>sl</code> Slanted (oblique) -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>sc</code> Small caps -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>ui</code> Upright italics -</para></listitem><listitem spaces=" "><prepend><w></w></prepend><para><code>ol</code> Outline -</para></listitem></itemize> +<multitable spaces=" " endspaces=" "><columnprototypes><columnprototype bracketed="on">xx</columnprototype> <columnprototype bracketed="on">Slanted (oblique)xx</columnprototype></columnprototypes> +<tbody><row><entry command="item" spaces=" "><para><code>n</code> +</para></entry><entry command="tab" spaces=" "><para>Upright (normal) +</para></entry></row><row><entry command="item" spaces=" "><para><code>it</code> +</para></entry><entry command="tab" spaces=" "><para>Italic +</para></entry></row><row><entry command="item" spaces=" "><para><code>sl</code> +</para></entry><entry command="tab" spaces=" "><para>Slanted (oblique) +</para></entry></row><row><entry command="item" spaces=" "><para><code>sc</code> +</para></entry><entry command="tab" spaces=" "><para>Small caps +</para></entry></row><row><entry command="item" spaces=" "><para><code>ui</code> +</para></entry><entry command="tab" spaces=" "><para>Upright italics +</para></entry></row><row><entry command="item" spaces=" "><para><code>ol</code> +</para></entry><entry command="tab" spaces=" "><para>Outline +</para></entry></row></tbody></multitable> + <para>The two last shapes are not available for most font families, and small caps are often missing as well. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\fontsize{<var>size</var>}{<var>skip</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="148">\fontsize</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="126">font size</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="149">\baselineskip</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="153">\fontsize</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="135">font size</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="154">\baselineskip</indexterm></findex> <para>Set the font size and the line spacing. The unit of both parameters defaults to points (<code>pt</code>). The line spacing is the nominal vertical space between lines, baseline to baseline. It is stored in the @@ -1701,16 +1927,18 @@ Changing <code>\baselineskip</code> directly is inadvisable since its value is reset every time a size change happens; see <code>\baselinestretch</code>, next. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\baselinestretch</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="150">\baselinestretch</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="155">\baselinestretch</indexterm></findex> <para>&latex; multiplies the line spacing by the value of the <code>\baselinestretch</code> parameter; the default factor is 1. A change takes effect when <code>\selectfont</code> (see below) is called. You can -make line skip changes happen for the entire document by doing -<code>\renewcommand{\baselinestretch}{2.0}</code> in the preamble. +make a line skip change happen for the entire document, for instance +doubling it, by doing <code>\renewcommand{\baselinestretch}{2.0}</code> in +the preamble. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="127"><r>package</r>, <code>setspace</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="128"><code>setspace</code> <r>package</r></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="129">double spacing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="136"><r>package</r>, <code>setspace</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="137"><code>setspace</code> <r>package</r></indexterm></cindex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="138">double spacing</indexterm></cindex> <para>However, the best way to double-space a document is to use the <file>setspace</file> package. In addition to offering a number of spacing options, this package keeps the line spacing single-spaced in places @@ -1718,7 +1946,7 @@ where that is typically desirable, such as footnotes and figure captions. See the package documentation. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\linespread{<var>factor</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="151">\linespread</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="156">\linespread</indexterm></findex> <para>Equivalent to <code>\renewcommand{\baselinestretch}{<var>factor</var>}</code>, and therefore must be followed by <code>\selectfont</code> to have any effect. @@ -1726,7 +1954,7 @@ Best specified in the preamble, or use the <code>setspace</code> package, as just described. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\selectfont</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="152">\selectfont</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="157">\selectfont</indexterm></findex> <para>The effects of the font commands described above do not happen until <code>\selectfont</code> is called, as in <code>\fontfamily{<var>familyname</var>}\selectfont</code>. It is often useful @@ -1735,7 +1963,7 @@ to put this in a macro:&linebreak; (<pxref label="_005cnewcommand-_0026-_005crenewcommand"><xrefnodename>\newcommand & \renewcommand</xrefnodename></pxref>). </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\usefont{<var>enc</var>}{<var>family</var>}{<var>series</var>}{<var>shape</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="153">\usefont</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="158">\usefont</indexterm></findex> <para>The same as invoking <code>\fontencoding</code>, <code>\fontfamily</code>, <code>\fontseries</code> and <code>\fontshape</code> with the given parameters, followed by <code>\selectfont</code>. For example: @@ -1752,7 +1980,7 @@ followed by <code>\selectfont</code>. For example: <node name="Layout" spaces=" "><nodename>Layout</nodename><nodenext automatic="on">Sectioning</nodenext><nodeprev automatic="on">Fonts</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Layout</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="130">layout commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="139">layout commands</indexterm></cindex> <para>Commands for controlling the general page layout. </para> @@ -1769,8 +1997,8 @@ followed by <code>\selectfont</code>. For example: <node name="_005conecolumn" spaces=" "><nodename>\onecolumn</nodename><nodenext automatic="on">\twocolumn</nodenext><nodeup automatic="on">Layout</nodeup></node> <section spaces=" "><sectiontitle><code>\onecolumn</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="154">\onecolumn</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="131">one-column output</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="159">\onecolumn</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="140">one-column output</indexterm></cindex> <para>Start a new page and produce single-column output. If the document is given the class option <code>onecolumn</code> then this is the default @@ -1783,9 +2011,9 @@ behavior (<pxref label="Document-class-options"><xrefnodename>Document class opt <node name="_005ctwocolumn" spaces=" "><nodename>\twocolumn</nodename><nodenext automatic="on">\flushbottom</nodenext><nodeprev automatic="on">\onecolumn</nodeprev><nodeup automatic="on">Layout</nodeup></node> <section spaces=" "><sectiontitle><code>\twocolumn</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="155">\twocolumn</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="132">multicolumn text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="133">two-column output</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="160">\twocolumn</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="141">multicolumn text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="142">two-column output</indexterm></cindex> <para>Synopses: </para> @@ -1807,20 +2035,20 @@ typesetting starts. <para>These parameters control typesetting in two-column output: </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="156">\columnsep</indexterm>\columnsep</itemformat></item> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="161">\columnsep</indexterm>\columnsep</itemformat></item> </tableterm><tableitem><para>The distance between columns. The default is 35pt. Change it with a command such as <code>\setlength{\columnsep}{40pt}</code> You must change it before the two column environment starts; in the preamble is a good place. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="157">\columnseprule</indexterm>\columnseprule</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="162">\columnseprule</indexterm>\columnseprule</itemformat></item> </tableterm><tableitem><para>The width of the rule between columns. The rule appears halfway between the two columns. The default is 0pt, meaning that there is no rule. Change it with a command such as <code>\setlength{\columnseprule}{0.4pt}</code>, before the two-column environment starts. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="158">\columnwidth</indexterm>\columnwidth</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="163">\columnwidth</indexterm>\columnwidth</itemformat></item> </tableterm><tableitem><para>The width of a single column. In one-column mode this is equal to <code>\textwidth</code>. In two-column mode by default &latex; sets the width of each of the two columns to be half of <code>\textwidth</code> minus @@ -1835,7 +2063,7 @@ and <pxref label="table"><xrefnodename>table</xrefnodename></pxref>). &latex; pl The following parameters control float behavior of two-column output. </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="159">\dbltopfraction</indexterm>\dbltopfraction</itemformat></item> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="164">\dbltopfraction</indexterm>\dbltopfraction</itemformat></item> </tableterm><tableitem><para>The maximum fraction at the top of a two-column page that may be occupied by two-column wide floats. The default is 0.7, meaning that the height of a <code>table*</code> or <code>figure*</code> environment must not @@ -1860,24 +2088,24 @@ to avoid going to float pages so soon. <para>You can redefine it, for instance with <code>\renewcommand{\dbltopfraction}{0.9}</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="160">\dblfloatpagefraction</indexterm>\dblfloatpagefraction</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="165">\dblfloatpagefraction</indexterm>\dblfloatpagefraction</itemformat></item> </tableterm><tableitem><para>For a float page of two-column wide floats, this is the minimum fraction that must be occupied by floats, limiting the amount of blank space. &latex;&textrsquo;s default is <code>0.5</code>. Change it with <code>\renewcommand</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="161">\dblfloatsep</indexterm>\dblfloatsep</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="166">\dblfloatsep</indexterm>\dblfloatsep</itemformat></item> </tableterm><tableitem><para>On a float page of two-column wide floats, this length is the distance between floats, at both the top and bottom of the page. The default is <code>12pt plus2pt minus2pt</code> for a document set at <code>10pt</code> or <code>11pt</code>, and <code>14pt plus2pt minus4pt</code> for a document set at <code>12pt</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="162">\dbltextfloatsep</indexterm>\dbltextfloatsep</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="167">\dbltextfloatsep</indexterm>\dbltextfloatsep</itemformat></item> </tableterm><tableitem><para>This length is the distance between a multi-column float at the top or bottom of a page and the main text. The default is <code>20pt plus2pt minus4pt</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="163">\dbltopnumber</indexterm>\dbltopnumber</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="168">\dbltopnumber</indexterm>\dbltopnumber</itemformat></item> </tableterm><tableitem><para>On a float page of two-column wide floats, this counter gives the maximum number of floats allowed at the top of the page. The &latex; default is <code>2</code>. @@ -1913,7 +2141,7 @@ Two column text here. <node name="_005cflushbottom" spaces=" "><nodename>\flushbottom</nodename><nodenext automatic="on">\raggedbottom</nodenext><nodeprev automatic="on">\twocolumn</nodeprev><nodeup automatic="on">Layout</nodeup></node> <section spaces=" "><sectiontitle><code>\flushbottom</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="164">\flushbottom</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="169">\flushbottom</indexterm></findex> <para>Make all pages in the documents after this declaration have the same height, by stretching the vertical space where necessary to fill out the @@ -1938,8 +2166,8 @@ is to, in a final editing stage, adjust the height of individual pages <node name="_005craggedbottom" spaces=" "><nodename>\raggedbottom</nodename><nodenext automatic="on">Page layout parameters</nodenext><nodeprev automatic="on">\flushbottom</nodeprev><nodeup automatic="on">Layout</nodeup></node> <section spaces=" "><sectiontitle><code>\raggedbottom</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="165">\raggedbottom</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="134">stretch, omitting vertical</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="170">\raggedbottom</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="143">stretch, omitting vertical</indexterm></cindex> <para>Make all later pages the natural height of the material on that page; no rubber vertical lengths will be stretched. Thus, in a two-sided @@ -1954,49 +2182,49 @@ option (<pxref label="Document-class-options"><xrefnodename>Document class optio <node name="Page-layout-parameters" spaces=" "><nodename>Page layout parameters</nodename><nodenext automatic="on">Floats</nodenext><nodeprev automatic="on">\raggedbottom</nodeprev><nodeup automatic="on">Layout</nodeup></node> <section spaces=" "><sectiontitle>Page layout parameters</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="135">page layout parameters</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="136">parameters, page layout</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="137">layout, page parameters for</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="138">header, parameters for</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="139">footer, parameters for</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="140">running header and footer</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="144">page layout parameters</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="145">parameters, page layout</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="146">layout, page parameters for</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="147">header, parameters for</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="148">footer, parameters for</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="149">running header and footer</indexterm></cindex> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="166">\columnsep</indexterm>\columnsep</itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="167">\columnseprule</indexterm>\columnseprule</itemformat></itemx> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="168">\columnwidth</indexterm>\columnwidth</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="169">\columnsep</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="170">\columnseprule</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="171">\columnwidth</indexterm></findex> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="171">\columnsep</indexterm>\columnsep</itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="172">\columnseprule</indexterm>\columnseprule</itemformat></itemx> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="173">\columnwidth</indexterm>\columnwidth</itemformat></itemx> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="174">\columnsep</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="175">\columnseprule</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="176">\columnwidth</indexterm></findex> <para>The distance between the two columns, the width of a rule between the columns, and the width of the columns, when the document class option <code>twocolumn</code> is in effect (<pxref label="Document-class-options"><xrefnodename>Document class options</xrefnodename></pxref>). <xref label="_005ctwocolumn"><xrefnodename>\twocolumn</xrefnodename></xref>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="172">\headheight</indexterm>\headheight</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="173">\headheight</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="177">\headheight</indexterm>\headheight</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="178">\headheight</indexterm></findex> <para>Height of the box that contains the running head. The default in the <code>article</code>, <code>report</code>, and <code>book</code> classes is <samp>12pt</samp>, at all type sizes. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="174">\headsep</indexterm>\headsep</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="175">\headsep</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="179">\headsep</indexterm>\headsep</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="180">\headsep</indexterm></findex> <para>Vertical distance between the bottom of the header line and the top of the main text. The default in the <code>article</code> and <code>report</code> classes is <samp>25pt</samp>. In the <code>book</code> class the default is: if the document is set at 10pt then it is <samp>0.25in</samp>, and at 11pt and 12pt it is <samp>0.275in</samp>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="176">\footskip</indexterm>\footskip</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="177">\footskip</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="181">\footskip</indexterm>\footskip</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="182">\footskip</indexterm></findex> <para>Distance from the baseline of the last line of text to the baseline of the page footer. The default in the <code>article</code> and <code>report</code> classes is <samp>30pt</samp>. In the <code>book</code> class the default is: when the type size is 10pt the default is <samp>0.35in</samp>, while at 11pt it is <samp>0.38in</samp>, and at 12pt it is <samp>30pt</samp>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="178">\linewidth</indexterm>\linewidth</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="179">\linewidth</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="183">\linewidth</indexterm>\linewidth</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="184">\linewidth</indexterm></findex> <para>Width of the current line, decreased for each nested <code>list</code> (<pxref label="list"><xrefnodename>list</xrefnodename></pxref>). That is, the nominal value for <code>\linewidth</code> is to equal <code>\textwidth</code> but for each nested list the <code>\linewidth</code> @@ -2006,12 +2234,12 @@ is decreased by the sum of that list&textrsquo;s <code>\leftmargin</code> and <!-- c etc. For an @code{article} document set in 10pt, the default is --> <!-- c @samp{345pt}, while in two-column mode that becomes @samp{229.5pt}. --> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="180">\marginparpush</indexterm>\marginparpush</itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="181">\marginsep</indexterm>\marginsep</itemformat></itemx> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="182">\marginparwidth</indexterm>\marginparwidth</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="183">\marginparpush</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="184">\marginsep</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="185">\marginparwidth</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="185">\marginparpush</indexterm>\marginparpush</itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="186">\marginsep</indexterm>\marginsep</itemformat></itemx> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="187">\marginparwidth</indexterm>\marginparwidth</itemformat></itemx> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="188">\marginparpush</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="189">\marginsep</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="190">\marginparwidth</indexterm></findex> <para>The minimum vertical space between two marginal notes, the horizontal space between the text body and the marginal notes, and the horizontal width of the notes. @@ -2036,10 +2264,10 @@ classes, in two-column mode the default is 60% of <code>\paperwidth − \textwidth</code>, while in one-column mode it is 50% of that distance. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="186">\oddsidemargin</indexterm>\oddsidemargin</itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="187">\evensidemargin</indexterm>\evensidemargin</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="188">\oddsidemargin</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="189">\evensidemargin</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="191">\oddsidemargin</indexterm>\oddsidemargin</itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="192">\evensidemargin</indexterm>\evensidemargin</itemformat></itemx> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="193">\oddsidemargin</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="194">\evensidemargin</indexterm></findex> <para>The <code>\oddsidemargin</code> is the extra distance between the left side of the page and the text&textrsquo;s left margin, on odd-numbered pages when the document class option <code>twoside</code> is chosen and on all pages when @@ -2051,22 +2279,22 @@ even-numbered pages the extra distance on the left is difference between <code>\paperwidth</code> and <code>\textwidth</code>, and <code>\evensidemargin</code> is the remainder. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="190">\paperheight</indexterm>\paperheight</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="191">\paperheight</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="195">\paperheight</indexterm>\paperheight</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="196">\paperheight</indexterm></findex> <para>The height of the paper, as distinct from the height of the print area. It is normally set with a document class option, as in <code>\documentclass[a4paper]{article}</code> (<pxref label="Document-class-options"><xrefnodename>Document class options</xrefnodename></pxref>). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="192">\paperwidth</indexterm>\paperwidth</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="193">\paperwidth</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="197">\paperwidth</indexterm>\paperwidth</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="198">\paperwidth</indexterm></findex> <para>The width of the paper, as distinct from the width of the print area. It is normally set with a document class option, as in <code>\documentclass[a4paper]{article}</code> (<pxref label="Document-class-options"><xrefnodename>Document class options</xrefnodename></pxref>). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="194">\textheight</indexterm>\textheight</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="195">\textheight</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="199">\textheight</indexterm>\textheight</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="200">\textheight</indexterm></findex> <para>The normal vertical height of the page body. If the document is set at a nominal type size of 10pt then for an <code>article</code> or <code>report</code> the default is <samp>43\baselineskip</samp>, while for a <code>book</code> it is @@ -2074,8 +2302,8 @@ the default is <samp>43\baselineskip</samp>, while for a <code>book</code> it is <samp>38\baselineskip</samp> for all document classes. At 12pt it is <samp>36\baselineskip</samp> for all classes. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="196">\textwidth</indexterm>\textwidth</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="197">\textwidth</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="201">\textwidth</indexterm>\textwidth</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="202">\textwidth</indexterm></findex> <para>The full horizontal width of the entire page body. For an <code>article</code> or <code>report</code> document, the default is <samp>345pt</samp> when the chosen type size is 10pt, the default is <samp>360pt</samp> at 11pt, @@ -2095,22 +2323,22 @@ column), while <code>\linewidth</code> may decrease for nested lists. specified width, and revert to their normal values at the end of the <code>minipage</code> or <code>\parbox</code>. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="198">\hsize</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="199">\hsize</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="203">\hsize</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="204">\hsize</indexterm></findex> <para>This entry is included for completeness: <code>\hsize</code> is the &tex; primitive parameter used when text is broken into lines. It should not be used in normal &latex; documents. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="200">\topmargin</indexterm>\topmargin</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="201">topmargin</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="205">\topmargin</indexterm>\topmargin</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="206">topmargin</indexterm></findex> <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 value is computed based on many other parameters: <code>\paperheight − 2in − \headheight − \headsep − \textheight − \footskip</code>, and then divided by two. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="202">\topskip</indexterm>\topskip</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="203">\topskip</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="207">\topskip</indexterm>\topskip</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="208">\topskip</indexterm></findex> <para>Minimum distance between the top of the page body and the baseline of the first line of text. For the standard classes, the default is the same as the font size, e.g., <samp>10pt</samp> at a type size of 10pt. @@ -2147,8 +2375,8 @@ float that is big may migrate to the end of the document. In which event, because all floats in a class must appear in sequential order, every following float in that class also appears at the end. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="141">placement of floats</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="142">specifier, float placement</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="150">placement of floats</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="151">specifier, float placement</indexterm></cindex> <para>In addition to changing the parameters, for each float you can tweak where the float placement algorithm tries to place it by using its <var>placement</var> argument. The possible values are a sequence of the @@ -2171,16 +2399,17 @@ FAQ: <url><urefurl>http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat</ure appears. However, <code>h</code> is not allowed by itself; <code>t</code> is automatically added. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="143">here, putting floats</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="144"><r>package</r>, <code>float</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="145"><code>float</code> <r>package</r></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="152">here, putting floats</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="153"><r>package</r>, <code>float</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="154"><code>float</code> <r>package</r></indexterm></cindex> + <para>To absolutely force a float to appear &textldquo;here&textrdquo;, you can <code>\usepackage{float}</code> and use the <code>H</code> specifier which it defines. For further discussion, see the FAQ entry at <url><urefurl>http://www.tex.ac.uk/cgi-bin/texfaq2html?label=figurehere</urefurl></url>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">p</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="146">float page</indexterm></cindex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="155">float page</indexterm></cindex> <para>(Page of floats)&textmdash;on a separate <dfn>float page</dfn>, which is a page containing no text, only floats. </para> @@ -2208,13 +2437,16 @@ use the <file>afterpage</file> package and issue <code>\afterpage{\clearpage}</code>. This will wait until the current page is finished and then flush all outstanding floats. </para> +<cindex index="cp" spaces=" "><indexterm index="cp" number="156"><r>package</r>, <code>flafter</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="157"><code>flafter</code> <r>package</r></indexterm></cindex> + <para>&latex; can typeset a float before where it appears in the source (although on the same output page) if there is a <code>t</code> specifier in the <var>placement</var> parameter. If this is not desired, and deleting the <code>t</code> is not acceptable as it keeps the float from being placed at the top of the next page, then you can prevent it by either using the <file>flafter</file> package or using the command -<findex index="fn" spaces=" "><indexterm index="fn" number="204">\suppressfloats</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="209">\suppressfloats</indexterm></findex> <code>\suppressfloats[t]</code>, which causes floats for the top position on this page to moved to the next page. </para> @@ -2223,24 +2455,24 @@ non-float text (change them with <code>\renewcommand{<var>parameter</var>}{<var>decimal between 0 and 1</var>}</code>): </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="205">\bottomfraction</indexterm>\bottomfraction</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="206">\bottomfraction</indexterm></findex> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="210">\bottomfraction</indexterm>\bottomfraction</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="211">\bottomfraction</indexterm></findex> <para>The maximum fraction of the page allowed to be occupied by floats at the bottom; default <samp>.3</samp>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="207">\floatpagefraction</indexterm>\floatpagefraction</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="208">\floatpagefraction</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="212">\floatpagefraction</indexterm>\floatpagefraction</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="213">\floatpagefraction</indexterm></findex> <para>The minimum fraction of a float page that must be occupied by floats; default <samp>.5</samp>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="209">\textfraction</indexterm>\textfraction</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="210">\textfraction</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="214">\textfraction</indexterm>\textfraction</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="215">\textfraction</indexterm></findex> <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 <samp>.2</samp>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="211">\topfraction</indexterm>\topfraction</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="212">\topfraction</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="216">\topfraction</indexterm>\topfraction</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="217">\topfraction</indexterm></findex> <para>Maximum fraction at the top of a page that may be occupied before floats; default <samp>.7</samp>. </para></tableitem></tableentry></ftable> @@ -2249,19 +2481,19 @@ floats; default <samp>.7</samp>. <code>\setlength{<var>parameter</var>}{<var>length expression</var>}</code>): </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="213">\floatsep</indexterm>\floatsep</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="214">\floatsep</indexterm></findex> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="218">\floatsep</indexterm>\floatsep</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="219">\floatsep</indexterm></findex> <para>Space between floats at the top or bottom of a page; default <samp>12pt plus2pt minus2pt</samp>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="215">\intextsep</indexterm>\intextsep</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="216">\intextsep</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="220">\intextsep</indexterm>\intextsep</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="221">\intextsep</indexterm></findex> <para>Space above and below a float in the middle of the main text; default <samp>12pt plus2pt minus2pt</samp> for 10 point and 11 point documents, and <samp>14pt plus4pt minus4pt</samp> for 12 point documents. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="217">\textfloatsep</indexterm>\textfloatsep</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="218">\textfloatsep</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="222">\textfloatsep</indexterm>\textfloatsep</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="223">\textfloatsep</indexterm></findex> <para>Space between the last (first) float at the top (bottom) of a page; default <samp>20pt plus2pt minus4pt</samp>. </para></tableitem></tableentry></ftable> @@ -2270,23 +2502,23 @@ default <samp>20pt plus2pt minus4pt</samp>. <code>\setcounter{<var>ctrname</var>}{<var>natural number</var>}</code>): </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="219">bottomnumber</indexterm>bottomnumber</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="220">bottomnumber</indexterm></findex> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="224">bottomnumber</indexterm>bottomnumber</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="225">bottomnumber</indexterm></findex> <para>Maximum number of floats that can appear at the bottom of a text page; default 1. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="221">dbltopnumber</indexterm>dbltopnumber</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="222">dbltopnumber</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="226">dbltopnumber</indexterm>dbltopnumber</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="227">dbltopnumber</indexterm></findex> <para>Maximum number of full-sized floats that can appear at the top of a two-column page; default 2. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="223">topnumber</indexterm>topnumber</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="224">topnumber</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="228">topnumber</indexterm>topnumber</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="229">topnumber</indexterm></findex> <para>Maximum number of floats that can appear at the top of a text page; default 2. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="225">totalnumber</indexterm>totalnumber</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="226">totalnumber</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="230">totalnumber</indexterm>totalnumber</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="231">totalnumber</indexterm></findex> <para>Maximum number of floats that can appear on a text page; default 3. </para></tableitem></tableentry></ftable> @@ -2305,19 +2537,19 @@ influence the position of float environments like figure and table in <node name="Sectioning" spaces=" "><nodename>Sectioning</nodename><nodenext automatic="on">Cross references</nodenext><nodeprev automatic="on">Layout</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Sectioning</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="147">sectioning commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="158">sectioning commands</indexterm></cindex> <para>Sectioning commands provide the means to structure your text into units: </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="227">\part</indexterm>\part</itemformat></item> -</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="228">\chapter</indexterm>\chapter</itemformat></item> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="232">\part</indexterm>\part</itemformat></item> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="233">\chapter</indexterm>\chapter</itemformat></item> </tableterm><tableitem><para>(<code>report</code> and <code>book</code> class only) -</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="229">\section</indexterm>\section</itemformat></item> -</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="230">\subsection</indexterm>\subsection</itemformat></item> -</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="231">\subsubsection</indexterm>\subsubsection</itemformat></item> -</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="232">\paragraph</indexterm>\paragraph</itemformat></item> -</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="233">\subparagraph</indexterm>\subparagraph</itemformat></item> +</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="234">\section</indexterm>\section</itemformat></item> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="235">\subsection</indexterm>\subsection</itemformat></item> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="236">\subsubsection</indexterm>\subsubsection</itemformat></item> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="237">\paragraph</indexterm>\paragraph</itemformat></item> +</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="238">\subparagraph</indexterm>\subparagraph</itemformat></item> </tableterm></tableentry></ftable> <para>All sectioning commands take the same general form, e.g., @@ -2341,7 +2573,7 @@ To handle this, the sectioning commands have an optional argument <var>toctitle</var> that, when given, specifies the text for these other places. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="148"><code>*</code>-form of sectioning commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="159"><code>*</code>-form of sectioning commands</indexterm></cindex> <para>Also, all sectioning commands have <code>*</code>-forms that print <var>title</var> as usual, but do not include a number and do not make an entry in the table of contents. For instance: @@ -2350,8 +2582,8 @@ entry in the table of contents. For instance: <pre xml:space="preserve">\section*{Preamble} </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="234">\appendix</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="149">appendix, creating</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="239">\appendix</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="160">appendix, creating</indexterm></cindex> <para>The <code>\appendix</code> command changes the way following sectional units are numbered. The <code>\appendix</code> command itself generates no text and does not affect the numbering of parts. The normal use of this @@ -2364,8 +2596,9 @@ command is something like \chapter{The First Appendix} </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="235">secnumdepth <r>counter</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="150">section numbers, printing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="240">secnumdepth <r>counter</r></indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="161">section numbers, printing</indexterm></cindex> +<anchor name="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</anchor> <para>The <code>secnumdepth</code> counter controls printing of section numbers. The setting </para> @@ -2375,19 +2608,252 @@ The setting <noindent></noindent> <para>suppresses heading numbers at any depth <math>> <var>level</var></math>, where -<code>chapter</code> is level zero. (<xref label="_005csetcounter"><xrefnodename>\setcounter</xrefnodename></xref>.) +<code>chapter</code> is level zero. The default <code>secnumdepth</code> is 3 in +&latex;&textrsquo;s <file>article</file> class and 2 in the <file>book</file> and +<file>report</file> classes. (<xref label="_005csetcounter"><xrefnodename>\setcounter</xrefnodename></xref>.) +</para> +<menu endspaces=" "> +<menuentry leadingtext="* "><menunode separator=":: ">\&arobase;startsection</menunode><menudescription><pre xml:space="preserve">Redefine layout of start of sections, subsections, etc. +</pre></menudescription></menuentry></menu> + + +<node name="_005c_0040startsection" spaces=" "><nodename>\&arobase;startsection</nodename><nodeup automatic="on">Sectioning</nodeup></node> +<section spaces=" "><sectiontitle><code>\&arobase;startsection</code></sectiontitle> + +<findex index="fn" spaces=" "><indexterm index="fn" number="241">\&arobase;startsection</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="162">section, redefining</indexterm></cindex> + +<para>Synopsis: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\&arobase;startsection{<var>name</var>}{<var>level</var>}{<var>indent</var>}{<var>beforeskip</var>}{<var>afterskip</var>}{<var>style</var>} +</pre></example> + +<para>Used to help redefine the behavior of commands that start sectioning +divisions such as <code>\section</code> or <code>\subsection</code>. +</para> +<para>Note that the <file>titlesec</file> package makes manipulation of sectioning +easier. Further, while most requirements for sectioning commands can be +satisfied with <code>\&arobase;startsection</code>, some cannot. For instance, in +the standard &latex; <code>book</code> and <code>report</code> classes the commands +<code>\chapter</code> and <code>\report</code> are not constructed in this way. To +make such a command you may want to use the <code>\secdef</code> command. +<!-- c xx define, and make a cross reference to, secdef. --> +</para> +<para>Technically, <code>\&arobase;startsection</code> has the form +</para><example endspaces=" "> +<pre xml:space="preserve">\&arobase;startsection{<var>name</var>}{<var>level</var>}{<var>indent</var>}{<var>beforeskip</var>}{<var>afterskip</var>}{<var>style</var>}*[<var>toctitle</var>]{<var>title</var>} +</pre></example> +<noindent></noindent> <para>(the star <code>*</code> is optional), so that issuing +</para><example endspaces=" "> +<pre xml:space="preserve">\renewcommand{\section}{\&arobase;startsection{<var>name</var>}{<var>level</var>}{<var>indent</var>}{<var>beforeskip</var>}{<var>afterskip</var>}{<var>style</var>}} +</pre></example> +<noindent></noindent> <para>redefines <code>\section</code> to have the form +<code>\section*[<var>toctitle</var>]{<var>title</var>}</code> (here too, the +star <code>*</code> is optional). <xref label="Sectioning"><xrefnodename>Sectioning</xrefnodename></xref>. This implies that +when you write a command like <code>\renewcommand{section}{...}</code>, +the <code>\&arobase;startsection{...}</code> must come last in the definition. See +the examples below. +</para> +<table commandarg="var" spaces=" " endspaces=" "> +<beforefirstitem> +</beforefirstitem><tableentry><tableterm><item spaces=" "><itemformat command="var">name</itemformat></item> +</tableterm><tableitem><anchor name="_005c_0040startsection_002fname">\&arobase;startsection/name</anchor> <para>Name of the counter used to number the +sectioning header. This counter must be defined separately. Most +commonly this is either <code>section</code>, <code>subsection</code>, or +<code>paragraph</code>. Although in those three cases the counter name is the +same as the sectioning command itself, using the same name is not +required. +</para> +<para>Then <code>\the</code><var>name</var> displays the title number and +<code>\</code><var>name</var><code>mark</code> is for the page headers. See the third +example below. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">level</itemformat></item> +</tableterm><tableitem><anchor name="_005c_0040startsection_002flevel">\&arobase;startsection/level</anchor> <para>An integer giving the depth of the +sectioning command: 0 for <code>chapter</code> (only applies to the standard +<code>book</code> and <code>report</code> classes), 1 for <code>section</code>, 2 for +<code>subsection</code>, 3 for <code>subsubsection</code>, 4 for <code>paragraph</code>, +and 5 for <code>subparagraph</code>. In the <code>book</code> and <code>report</code> +classes <code>part</code> has level -1, while in the <code>article</code> class +<code>part</code> has level 0. +</para> +<para>If <var>level</var> is less than or equal to the value of <code>secnumdepth</code> +then the titles for this sectioning command will be numbered. For +instance, in an <code>article</code>, if <code>secnumdepth</code> is 1 then a +<code>\section{Introduction}</code> command will produce output like &textldquo;1 +Introduction&textrdquo; while <code>\subsection{Discussion}</code> will produce +output like &textldquo;Discussion&textrdquo;, without the number prefix. +<xref label="Sectioning_002fsecnumdepth"><xrefnodename>Sectioning/secnumdepth</xrefnodename></xref>. +</para> +<para>If <var>level</var> is less than or equal to the value of <var>tocdepth</var> then +the table of contents will have an entry for this sectioning unit. +For instance, in an <code>article</code>, if <var>tocdepth</var> is 1 then the table of +contents will list sections but not subsections. +<!-- c xx add, and cross reference to, tocdepth --> +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">indent</itemformat></item> +</tableterm><tableitem><anchor name="_005c_0040startsection_002findent">\&arobase;startsection/indent</anchor> <para>A length giving the indentation of all +of the title lines with respect to the left margin. To have the title +flush with the margin use <code>0pt</code>. A negative indentation such as +<code>-\parindent</code> will move the title into the left margin. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">beforeskip</itemformat></item> +</tableterm><tableitem><anchor name="_005c_0040startsection_002fbeforeskip">\&arobase;startsection/beforeskip</anchor> <para>The absolute value of this length is +the amount of vertical space that is inserted before this sectioning +unit&textrsquo;s title. This space will be discarded if the sectioning unit +happens to start at the top of a fresh page. If this number is negative +then the first paragraph following the header is not indented, if it is +non-negative then the first paragraph is indented. (Note that the +negative of <code>1pt plus 2pt minus 3pt</code> is <code>-1pt plus -2pt minus +-3pt</code>.) +</para> +<para>For example, if <var>beforeskip</var> is <code>-3.5ex plus -1ex minus -0.2ex</code> +then to start the new sectioning unit, &latex; will add about 3.5 times +the height of a letter x in vertical space, and the first paragraph in +the section will not be indented. Using a rubber length, with +<code>plus</code> and <code>minus</code>, is good practice here since it gives +&latex; more flexibility in making up the page (<pxref label="Lengths"><xrefnodename>Lengths</xrefnodename></pxref>). +</para> +<para>The full accounting of the vertical space between the baseline of the +line prior to this sectioning unit&textrsquo;s header and the baseline of the +header is that it is the sum of the <code>\parskip</code> of the text font, +the <code>\baselineskip</code> of the title font, and the absolute value of +the <var>beforeskip</var>. This space is typically rubber so it may stretch +or shrink. (If the sectioning unit starts on a fresh page so that the +vertical space is discarded then the baseline of the header text will be +where &latex; would put the baseline of the first text line on that +page.) +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">afterskip</itemformat></item> +</tableterm><tableitem><anchor name="_005c_0040startsection_002fafterskip">\&arobase;startsection/afterskip</anchor> <para>This is a length. If <var>afterskip</var> +is non-negative then this is the vertical space inserted after the +sectioning unit&textrsquo;s title header. If it is negative then the title header +becomes a run-in header, so that it becomes part of the next paragraph. +In this case the absolute value of the length gives the horizontal space +between the end of the title and the beginning of the following +paragraph. (Note that the negative of <code>1pt plus 2pt minus 3pt</code> is +<code>-1pt plus -2pt minus -3pt</code>.) +</para> +<para>As with <var>beforeskip</var>, using a rubber length, with <code>plus</code> and +<code>minus</code> components, is good practice here since it gives &latex; +more flexibility in putting together the page. +</para> +<para>If <code>afterskip</code> is non-negative then the full accounting of the +vertical space between the baseline of the sectioning unit&textrsquo;s header and +the baseline of the first line of the following paragraph is that it is +the sum of the <code>\parskip</code> of the title font, the +<code>\baselineskip</code> of the text font, and the value of <var>after</var>. +That space is typically rubber so it may stretch or shrink. (Note that +because the sign of <code>afterskip</code> changes the sectioning unit +header&textrsquo;s from standalone to run-in, you cannot use a negative +<code>afterskip</code> to cancel part of the <code>\parskip</code>.) +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">style</itemformat></item> +</tableterm><tableitem><anchor name="_005c_0040startsection_002fstyle">\&arobase;startsection/style</anchor> <para>Controls the styling of the title. See +the examples below. Typical commands to use here are <code>\centering</code>, +<code>\raggedright</code>, <code>\normalfont</code>, <code>\hrule</code>, or +<code>\newpage</code>. The last command in <var>style</var> may be one such as +<code>\MakeUppercase</code> or <code>\fbox</code> that takes one argument. The +section title will be supplied as the argument to this command. For +instance, setting <var>style</var> to <code>\bfseries\MakeUppercase</code> would +produce titles that are bold and upper case. +</para></tableitem></tableentry></table> + +<para>These are &latex;&textrsquo;s defaults for the first three sectioning units that +are defined with <code>\&arobase;startsection</code>, for the <file>article</file>, +<file>book</file>, and <file>report</file> classes. +</para> +<multitable spaces=" " endspaces=" "><columnfractions line=" .10 .30 .30 .30"><columnfraction value=".10"></columnfraction><columnfraction value=".30"></columnfraction><columnfraction value=".30"></columnfraction><columnfraction value=".30"></columnfraction></columnfractions> +<thead><row><entry command="headitem" spaces=" "></entry><entry command="tab" spaces=" "><para><code>section</code> </para></entry><entry command="tab" spaces=" "><para><code>subsection</code> </para></entry><entry command="tab" spaces=" "><para><code>subsubsection</code> +</para></entry></row></thead><tbody><row><entry command="item" spaces=" "><para><ref label="_005c_0040startsection_002fname"><xrefnodename>\&arobase;startsection/name</xrefnodename><xrefinfoname><var>name</var></xrefinfoname><xrefprinteddesc><var>name</var></xrefprinteddesc></ref> +</para></entry><entry command="tab" spaces=" "><para>section </para></entry><entry command="tab" spaces=" "><para>subsection </para></entry><entry command="tab" spaces=" "><para>subsubsection +</para></entry></row><row><entry command="item" spaces=" "><para><ref label="_005c_0040startsection_002flevel"><xrefnodename>\&arobase;startsection/level</xrefnodename><xrefinfoname><var>level</var></xrefinfoname><xrefprinteddesc><var>level</var></xrefprinteddesc></ref> +</para></entry><entry command="tab" spaces=" "><para>1 </para></entry><entry command="tab" spaces=" "><para>2 </para></entry><entry command="tab" spaces=" "><para>3 +</para></entry></row><row><entry command="item" spaces=" "><para><ref label="_005c_0040startsection_002findent"><xrefnodename>\&arobase;startsection/indent</xrefnodename><xrefinfoname><var>indent</var></xrefinfoname><xrefprinteddesc><var>indent</var></xrefprinteddesc></ref> +</para></entry><entry command="tab" spaces=" "><para><code>0pt</code> </para></entry><entry command="tab" spaces=" "><para><code>0pt</code> </para></entry><entry command="tab" spaces=" "><para><code>0pt</code> +</para></entry></row><row><entry command="item" spaces=" "><para><ref label="_005c_0040startsection_002fbeforeskip"><xrefnodename>\&arobase;startsection/beforeskip</xrefnodename><xrefinfoname><var>beforeskip</var></xrefinfoname><xrefprinteddesc><var>beforeskip</var></xrefprinteddesc></ref> +</para></entry><entry command="tab" spaces=" "><para><code>-3.5ex plus -1ex minus -0.2ex</code> +</para></entry><entry command="tab" spaces=" "><para><code>-3.25ex plus -1ex minus -0.2ex</code> +</para></entry><entry command="tab" spaces=" "><para><code>-3.25ex plus -1ex minus -0.2ex</code> +</para></entry></row><row><entry command="item" spaces=" "><para><ref label="_005c_0040startsection_002fafterskip"><xrefnodename>\&arobase;startsection/afterskip</xrefnodename><xrefinfoname><var>afterskip</var></xrefinfoname><xrefprinteddesc><var>afterskip</var></xrefprinteddesc></ref> +</para></entry><entry command="tab" spaces=" "><para><code>2.3ex plus 0.2ex</code> +</para></entry><entry command="tab" spaces=" "><para><code>1.5ex plus 0.2ex</code> +</para></entry><entry command="tab" spaces=" "><para><code>1.5ex plus 0.2ex</code> +</para></entry></row><row><entry command="item" spaces=" "><para><ref label="_005c_0040startsection_002fstyle"><xrefnodename>\&arobase;startsection/style</xrefnodename><xrefinfoname><var>style</var></xrefinfoname><xrefprinteddesc><var>style</var></xrefprinteddesc></ref> +</para></entry><entry command="tab" spaces=" "><para><code>\normalfont\Large\bfseries</code> +</para></entry><entry command="tab" spaces=" "><para><code>\normalfont\large\bfseries</code> +</para></entry><entry command="tab" spaces=" "><para><code>\normalfont\normalsize\bfseries</code> +</para></entry></row></tbody></multitable> + +<para>Here are examples. They go either in a package or class file or in the +preamble of a &latex; document. If you put them in the preamble they +must go between a <code>\makeatletter</code> command and a +<code>\makeatother</code>. (Probably the error message <code>You can't use +`\spacefactor' in vertical mode.</code> means that you forgot this.) +<xref label="_005cmakeatletter-and-_005cmakeatother"><xrefnodename>\makeatletter and \makeatother</xrefnodename></xref>. +</para> +<para>This will put section titles in large boldface type, centered. It says +<code>\renewcommand</code> because &latex;&textrsquo;s standard classes have already +defined a <code>\section</code>. For the same reason it does not define a +<code>section</code> counter, or the commands <code>\thesection</code> and +<code>\l&arobase;section</code>. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\renewcommand\section{% + \&arobase;startsection{section}% <ref label="_005c_0040startsection_002fname"><xrefnodename>\&arobase;startsection/name</xrefnodename><xrefinfoname><var>name</var></xrefinfoname><xrefprinteddesc><var>name</var></xrefprinteddesc></ref> + {1}% <ref label="_005c_0040startsection_002flevel"><xrefnodename>\&arobase;startsection/level</xrefnodename><xrefinfoname><var>level</var></xrefinfoname><xrefprinteddesc><var>level</var></xrefprinteddesc></ref> + {0pt}% <ref label="_005c_0040startsection_002findent"><xrefnodename>\&arobase;startsection/indent</xrefnodename><xrefinfoname><var>indent</var></xrefinfoname><xrefprinteddesc><var>indent</var></xrefprinteddesc></ref> + {-3.5ex plus -1ex minus -.2ex}% <ref label="_005c_0040startsection_002fbeforeskip"><xrefnodename>\&arobase;startsection/beforeskip</xrefnodename><xrefinfoname><var>beforeskip</var></xrefinfoname><xrefprinteddesc><var>beforeskip</var></xrefprinteddesc></ref> + {2.3ex plus.2ex}% <ref label="_005c_0040startsection_002fafterskip"><xrefnodename>\&arobase;startsection/afterskip</xrefnodename><xrefinfoname><var>afterskip</var></xrefinfoname><xrefprinteddesc><var>afterskip</var></xrefprinteddesc></ref> + {\centering\normalfont\Large\bfseries}% <ref label="_005c_0040startsection_002fstyle"><xrefnodename>\&arobase;startsection/style</xrefnodename><xrefinfoname><var>style</var></xrefinfoname><xrefprinteddesc><var>style</var></xrefprinteddesc></ref> + } +</pre></example> + +<para>This will put <code>subsection</code> titles in small caps type, inline with the paragraph. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\renewcommand\subsection{% + \&arobase;startsection{subsection}% <ref label="_005c_0040startsection_002fname"><xrefnodename>\&arobase;startsection/name</xrefnodename><xrefinfoname><var>name</var></xrefinfoname><xrefprinteddesc><var>name</var></xrefprinteddesc></ref> + {2}% <ref label="_005c_0040startsection_002flevel"><xrefnodename>\&arobase;startsection/level</xrefnodename><xrefinfoname><var>level</var></xrefinfoname><xrefprinteddesc><var>level</var></xrefprinteddesc></ref> + {0em}% <ref label="_005c_0040startsection_002findent"><xrefnodename>\&arobase;startsection/indent</xrefnodename><xrefinfoname><var>indent</var></xrefinfoname><xrefprinteddesc><var>indent</var></xrefprinteddesc></ref> + {-1ex plus 0.1ex minus -0.05ex}% <ref label="_005c_0040startsection_002fbeforeskip"><xrefnodename>\&arobase;startsection/beforeskip</xrefnodename><xrefinfoname><var>beforeskip</var></xrefinfoname><xrefprinteddesc><var>beforeskip</var></xrefprinteddesc></ref> + {-1em plus 0.2em}% <ref label="_005c_0040startsection_002fafterskip"><xrefnodename>\&arobase;startsection/afterskip</xrefnodename><xrefinfoname><var>afterskip</var></xrefinfoname><xrefprinteddesc><var>afterskip</var></xrefprinteddesc></ref> + {\scshape}% <ref label="_005c_0040startsection_002fstyle"><xrefnodename>\&arobase;startsection/style</xrefnodename><xrefinfoname><var>style</var></xrefinfoname><xrefprinteddesc><var>style</var></xrefprinteddesc></ref> + } +</pre></example> + +<para>The prior examples redefined existing sectional unit title commands. This defines a new one, illustrating the needed counter and macros to display that counter. </para> +<!-- c From https://groups.google.com/forum/#!searchin/comp.text.tex/startsection%7Csort:relevance/comp.text.tex/sB-nTS-oL08/ZZeKYdG0llMJ --> +<example endspaces=" "> +<pre xml:space="preserve">\setcounter{secnumdepth}{6}% show counters this far down +\newcounter{subsubparagraph}[subparagraph]% counter for numbering +\renewcommand{\thesubsubparagraph}% how to display + {\thesubparagraph.\&arobase;arabic\c&arobase;subsubparagraph}% numbering +\newcommand{\subsubparagraph}{\&arobase;startsection + {subsubparagraph}% + {6}% + {0em}% + {\baselineskip}% + {0.5\baselineskip}% + {\normalfont\normalsize}} +\newcommand*\l&arobase;subsubparagraph{\&arobase;dottedtocline{6}{10em}{5em}}% for toc +\newcommand{\subsubparagraphmark}[1]{}% for page headers +</pre></example> + +</section> </chapter> <node name="Cross-references" spaces=" "><nodename>Cross references</nodename><nodenext automatic="on">Environments</nodenext><nodeprev automatic="on">Sectioning</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Cross references</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="151">cross references</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="163">cross references</indexterm></cindex> <para>One reason for numbering things such as figures and equations is to refer the reader to them, as in &textldquo;See Figure~3 for more details.&textrdquo; </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="152">label</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="164">label</indexterm></cindex> <para>Including the figure number in the source is poor practice since if that number changes as the document evolves then you must remember to update this reference by hand. Instead, &latex; has you write a <dfn>label</dfn> @@ -2402,8 +2868,8 @@ where <var>currentlabel</var> is the current value of the macro <code>\&arobase;currentlabel</code> that is usually updated whenever you call <code>\refstepcounter{<var>counter</var>}</code>.) </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="153">forward reference</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="154">reference, forward</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="165">forward reference</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="166">reference, forward</indexterm></cindex> <para>The most common side effect of the prior paragraph happens when your document has a <dfn>forward reference</dfn>, a <code>\ref{<var>key</var>}</code> that appears earlier than the associated <code>\label{<var>key</var>}</code>; see the @@ -2427,7 +2893,7 @@ case is just to compile the document a second time. <node name="_005clabel" spaces=" "><nodename>\label</nodename><nodenext automatic="on">\pageref</nodenext><nodeup automatic="on">Cross references</nodeup></node> <section spaces=" "><sectiontitle><code>\label</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="236">\label</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="242">\label</indexterm></findex> <para>Synopsis: </para> @@ -2490,9 +2956,9 @@ See Figure~\ref{fig:test}. <node name="_005cpageref" spaces=" "><nodename>\pageref</nodename><nodenext automatic="on">\ref</nodenext><nodeprev automatic="on">\label</nodeprev><nodeup automatic="on">Cross references</nodeup></node> <section spaces=" "><sectiontitle><code>\pageref{<var>key</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="237">\pageref</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="155">cross referencing with page number</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="156">page number, cross referencing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="243">\pageref</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="167">cross referencing with page number</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="168">page number, cross referencing</indexterm></cindex> <para>Synopsis: </para> @@ -2521,12 +2987,12 @@ to resolve those.) <node name="_005cref" spaces=" "><nodename>\ref</nodename><nodeprev automatic="on">\pageref</nodeprev><nodeup automatic="on">Cross references</nodeup></node> <section spaces=" "><sectiontitle><code>\ref{<var>key</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="238">\ref</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="157">cross referencing, symbolic</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="158">section number, cross referencing</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="159">equation number, cross referencing</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="160">figure number, cross referencing</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="161">footnote number, cross referencing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="244">\ref</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="169">cross referencing, symbolic</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="170">section number, cross referencing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="171">equation number, cross referencing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="172">figure number, cross referencing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="173">footnote number, cross referencing</indexterm></cindex> <para>Synopsis: </para> @@ -2558,9 +3024,9 @@ that it is a forward reference since it comes before <node name="Environments" spaces=" "><nodename>Environments</nodename><nodenext automatic="on">Line breaking</nodenext><nodeprev automatic="on">Cross references</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Environments</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="162">environments</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="239">\begin</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="240">\end</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="174">environments</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="245">\begin</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="246">\end</indexterm></findex> <para>&latex; provides many environments for delimiting certain behavior. An environment begins with <code>\begin</code> and ends with <code>\end</code>, @@ -2578,7 +3044,7 @@ the end. For instance, the input <samp>! LaTeX Error: \begin{table*} on input line 5 ended by \end{table}.</samp> </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="163">group, and environments</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="175">group, and environments</indexterm></cindex> <para>Environments are executed within a group. </para> <menu endspaces=" "> @@ -2616,9 +3082,10 @@ the end. For instance, the input <node name="abstract" spaces=" "><nodename>abstract</nodename><nodenext automatic="on">array</nodenext><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>abstract</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="241"><r>environment</r>, <code>abstract</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="242"><code>abstract</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="164">abstracts</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="247"><r>environment</r>, <code>abstract</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="248"><code>abstract</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="176">abstracts</indexterm></cindex> <para>Synopsis: </para> @@ -2675,9 +3142,10 @@ a more flexible solution, use the package <file>abstract</file>). <node name="array" spaces=" "><nodename>array</nodename><nodenext automatic="on">center</nodenext><nodeprev automatic="on">abstract</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>array</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="243"><r>environment</r>, <code>array</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="244"><code>array</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="165">arrays, math</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="249"><r>environment</r>, <code>array</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="250"><code>array</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="177">arrays, math</indexterm></cindex> <para>Synopsis: </para> @@ -2716,10 +3184,13 @@ textstyle (except if the <var>cols</var> definition specifies the column with The second is that, instead of <code>tabular</code>&textrsquo;s parameter <code>\tabcolsep</code>, &latex;&textrsquo;s intercolumn space in an <code>array</code> is governed by -<findex index="fn" spaces=" "><indexterm index="fn" number="245">\arraycolsep</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="251">\arraycolsep</indexterm></findex> <code>\arraycolsep</code>, which gives half the width between columns. The default for this is <samp>5pt</samp>. </para> +<cindex index="cp" spaces=" "><indexterm index="cp" number="178"><r>package</r>, <code>amsmath</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="179"><code>amsmath</code> <r>package</r></indexterm></cindex> + <para>To obtain arrays with braces the standard is to use the <file>amsmath</file> package. It comes with environments <code>pmatrix</code> for an array surrounded by parentheses <code>(...)</code>, <code>bmatrix</code> for an array @@ -2757,9 +3228,10 @@ preamble: <node name="center" spaces=" "><nodename>center</nodename><nodenext automatic="on">description</nodenext><nodeprev automatic="on">array</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>center</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="246"><r>environment</r>, <code>center</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="247"><code>center</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="166">centering text, environment for</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="252"><r>environment</r>, <code>center</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="253"><code>center</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="180">centering text, environment for</indexterm></cindex> <para>Synopsis: </para> @@ -2772,7 +3244,7 @@ preamble: <para>Create a new paragraph consisting of a sequence of lines that are centered within the left and right margins on the current page. Use double-backslash to get a line break at a particular spot (<pxref label="_005c_005c"><xrefnodename>\\</xrefnodename></pxref>). -<findex index="fn" spaces=" "><indexterm index="fn" number="248">\\ <r>(for <code>center</code>)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="254">\\ <r>(for <code>center</code>)</r></indexterm></findex> If some text environment body is too long to fit on a line, &latex; will insert line breaks that avoid hyphenation and avoid stretching or shrinking any interword space. @@ -2816,8 +3288,8 @@ ending. <node name="_005ccentering" spaces=" "><nodename>\centering</nodename><nodeup automatic="on">center</nodeup></node> <subsection spaces=" "><sectiontitle><code>\centering</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="249">\centering</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="167">centering text, declaration for</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="255">\centering</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="181">centering text, declaration for</indexterm></cindex> <para>A declaration that causes material in its scope to be centered. It is most often used inside an environment such as <code>figure</code>, or in a @@ -2857,54 +3329,72 @@ centered. <node name="description" spaces=" "><nodename>description</nodename><nodenext automatic="on">displaymath</nodenext><nodeprev automatic="on">center</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>description</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="250"><r>environment</r>, <code>description</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="251"><code>description</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="168">labelled lists, creating</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="169">description lists, creating</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="256"><r>environment</r>, <code>description</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="257"><code>description</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="182">labelled lists, creating</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="183">description lists, creating</indexterm></cindex> <para>Synopsis: </para> <example endspaces=" "> <pre xml:space="preserve">\begin{description} -\item [<var>first label</var>] text of first item -\item [<var>second label</var>] text of second item +\item[<var>label of first item</var>] text of first item +\item[<var>label of second item</var>] text of second item ... \end{description} </pre></example> -<para>Environment to make a labelled list of items. Each item&textrsquo;s <var>label</var> -is typeset in bold, flush-left. Each item&textrsquo;s text may contain multiple -paragraphs. Although the labels on the items are optional there is no -sensible default, so all items should have labels. +<para>Environment to make a labeled list of items. Each item&textrsquo;s <var>label</var> is +typeset in bold, and is flush left so that long labels continue into the +first line of the item text. There must be at least one item; having +none causes the &latex; error <samp>Something's wrong--perhaps a +missing \item</samp>. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="252">\item</indexterm></findex> -<para>The list consists of at least one item, created with the <code>\item</code> -command (<pxref label="_005citem"><xrefnodename>\item</xrefnodename></pxref>). Having no items causes the &latex; error -<samp>Something's wrong--perhaps a missing \item</samp>). +<para>This example shows the environment used for a sequence of definitions. +The labels <samp>lama</samp> and <samp>llama</samp> come out in boldface with their +left edges aligned on the left margin. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="170">bold typewriter, avoiding</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="171">typewriter labels in lists</indexterm></cindex> +<example endspaces=" "> +<pre xml:space="preserve">\begin{definition} + \item[lama] A priest. + \item[llama] A beast. +\end{definition} +</pre></example> + +<findex index="fn" spaces=" "><indexterm index="fn" number="258">\item</indexterm></findex> +<para>Start list items with the <code>\item</code> command (<pxref label="_005citem"><xrefnodename>\item</xrefnodename></pxref>). Use the +optional labels, as in <code>\item[Main point]</code>, because there is +no sensible default. Following the <code>\item</code> is optional text, which +may contain multiple paragraphs. +</para> +<cindex index="cp" spaces=" "><indexterm index="cp" number="184">bold typewriter, avoiding</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="185">typewriter labels in lists</indexterm></cindex> <para>Since the labels are in bold style, if the label text calls for a font -change given in argument style (see <ref label="Font-styles"><xrefnodename>Font styles</xrefnodename></ref>) then it will -come out bold. For instance, if the label text calls for typewriter -with <code>\item[\texttt{label text}]</code> then it will appear in bold +change given in argument style (see <ref label="Font-styles"><xrefnodename>Font styles</xrefnodename></ref>) then it will come +out bold. For instance, if the label text calls for typewriter with +<code>\item[\texttt{label text}]</code> then it will appear in bold typewriter, if that is available. The simplest way to get non-bold typewriter is to use declarative style: <code>\item[{\tt label -text}]</code>. Similarly, to get the standard roman font, use -<code>\item[{\rm label text}]</code>. +text}]</code>. Similarly, get the standard roman font with <code>\item[{\rm +label text}]</code>. </para> <para>For other major &latex; labelled list environments, see <ref label="itemize"><xrefnodename>itemize</xrefnodename></ref> -and <ref label="enumerate"><xrefnodename>enumerate</xrefnodename></ref>. For information about customizing list layout, see -<ref label="list"><xrefnodename>list</xrefnodename></ref>; also, the package <file>enumitem</file> is useful for this. +and <ref label="enumerate"><xrefnodename>enumerate</xrefnodename></ref>. Unlike those environments, nesting +<code>description</code> environments does not change the default label; it is +boldface and flush left at all levels. </para> -<para>This example shows the environment used for a sequence of definitions. +<para>For information about list layout parameters, including the default +values, and for information about customizing list layout, see +<ref label="list"><xrefnodename>list</xrefnodename></ref>. The package <file>enumitem</file> is useful for customizing +lists. +</para> +<para>This example changes the description labels to small caps. </para> <example endspaces=" "> -<pre xml:space="preserve">\begin{definition} - \item[lama] A priest. - \item[llama] A beast. -\end{definition} -</pre></example> +<pre xml:space="preserve">\renewcommand{\descriptionlabel}[1]{% + {\hspace{\labelsep}\textsc{#1}}} +</pre></example> </section> @@ -2912,14 +3402,15 @@ and <ref label="enumerate"><xrefnodename>enumerate</xrefnodename></ref>. For in <section spaces=" "><sectiontitle><code>displaymath</code></sectiontitle> <!-- c http://tex.stackexchange.com/questions/40492/what-are-the-differences-between-align-equation-and-displaymath --> -<findex index="fn" spaces=" "><indexterm index="fn" number="253"><r>environment</r>, <code>displaymath</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="254"><code>displaymath</code> <r>environment</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="259"><r>environment</r>, <code>displaymath</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="260"><code>displaymath</code> <r>environment</r></indexterm></findex> + <para>Synopsis: </para> <example endspaces=" "> <pre xml:space="preserve">\begin{displaymath} - ... math text ... +<var>math text</var> \end{displaymath} </pre></example> @@ -2927,29 +3418,31 @@ and <ref label="enumerate"><xrefnodename>enumerate</xrefnodename></ref>. For in and centered. To make the text be flush-left use the global option <code>fleqn</code>; see <ref label="Document-class-options"><xrefnodename>Document class options</xrefnodename></ref>. </para> -<para>&latex; will not break the math text across lines. -</para> <para>In the <code>displaymath</code> environment no equation number is added to the math text. One way to get an equation number is to use the <code>equation</code> environment (<pxref label="equation"><xrefnodename>equation</xrefnodename></pxref>). </para> -<para>Note that the <file>amsmath</file> package has extensive displayed equation -facilities. Those facilities are the best approach for such output in -new documents. For example, there are a number of options in that -package for having math text broken across lines. +<para>&latex; will not break the <var>math text</var> across lines. +</para> +<cindex index="cp" spaces=" "><indexterm index="cp" number="186"><r>package</r>, <code>amsmath</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="187"><code>amsmath</code> <r>package</r></indexterm></cindex> + +<para>Note that the <file>amsmath</file> package has significantly more extensive +displayed equation facilities. For example, there are a number of +ways in that package for having math text broken across lines. </para> -<para>The construct <code>\[..math text..\]</code> is essentially a synonym for -<code>\begin{displaymath}..math text..\end{displaymath}</code> but the +<para>The construct <code>\[<var>math text</var>\]</code> is essentially a synonym for +<code>\begin{displaymath}<var>math text</var>\end{displaymath}</code> but the latter is easier to work with in the source file; for instance, searching for a square bracket may get false positives but the word -<code>displaymath</code> will likely be unique. (The construct <code>$$..math -text..$$</code> from Plain &tex; is sometimes mistakenly used as a -synonym for <code>displaymath</code>. It is not a synonym, because the -<code>displaymath</code> environment checks that it isn&textrsquo;t started in math mode -and that it ends in math mode begun by the matching environment start, -because the <code>displaymath</code> environment has different vertical -spacing, and because the <code>displaymath</code> environment honors the -<code>fleqn</code> option.) +<code>displaymath</code> will likely be unique. (The construct +<code>$$<var>math text</var>$$</code> from Plain &tex; is sometimes +mistakenly used as a synonym for <code>displaymath</code>. It is not a +synonym, because the <code>displaymath</code> environment checks that it isn&textrsquo;t +started in math mode and that it ends in math mode begun by the matching +environment start, because the <code>displaymath</code> environment has +different vertical spacing, and because the <code>displaymath</code> +environment honors the <code>fleqn</code> option.) </para> <para>The output from this example is centered and alone on its line. </para><example endspaces=" "> @@ -2965,8 +3458,9 @@ spacing, and because the <code>displaymath</code> environment honors the <node name="document" spaces=" "><nodename>document</nodename><nodenext automatic="on">enumerate</nodenext><nodeprev automatic="on">displaymath</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>document</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="255"><r>environment</r>, <code>document</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="256"><code>document</code> <r>environment</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="261"><r>environment</r>, <code>document</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="262"><code>document</code> <r>environment</r></indexterm></findex> + <para>The <code>document</code> environment encloses the entire body of a document. It is required in every &latex; document. <xref label="Starting-and-ending"><xrefnodename>Starting and ending</xrefnodename></xref>. @@ -2978,9 +3472,10 @@ It is required in every &latex; document. <xref label="Starting-and-ending"><xr <node name="_005cAtBeginDocument" spaces=" "><nodename>\AtBeginDocument</nodename><nodenext automatic="on">\AtEndDocument</nodenext><nodeup automatic="on">document</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\AtBeginDocument</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="257">\AtBeginDocument</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="172">beginning of document hook</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="263">\AtBeginDocument</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="188">beginning of document hook</indexterm></cindex> <para>Synopsis: </para> @@ -2998,10 +3493,12 @@ the preamble so you cannot do any typesetting with it. will be executed in the order that you gave them. </para> +</subsection> <node name="_005cAtEndDocument" spaces=" "><nodename>\AtEndDocument</nodename><nodeprev automatic="on">\AtBeginDocument</nodeprev><nodeup automatic="on">document</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\AtEndDocument</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="258">\AtEndDocument</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="173">end of document hook</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="264">\AtEndDocument</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="189">end of document hook</indexterm></cindex> <para>Synopsis: </para> @@ -3020,34 +3517,36 @@ appropriate point in <var>code</var>. will be executed in the order that you gave them. </para> +</subsection> </section> <node name="enumerate" spaces=" "><nodename>enumerate</nodename><nodenext automatic="on">eqnarray</nodenext><nodeprev automatic="on">document</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>enumerate</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="259"><r>environment</r>, <code>enumerate</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="260"><code>enumerate</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="174">lists of items, numbered</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="265"><r>environment</r>, <code>enumerate</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="266"><code>enumerate</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="190">lists of items, numbered</indexterm></cindex> <para>Synopsis: </para> <example endspaces=" "> <pre xml:space="preserve">\begin{enumerate} -\item [<var>first label</var>] text of first item -\item [<var>second label</var>] text of second item +\item[<var>optional label of first item</var>] text of first item +\item[<var>optional label of second item</var>] text of second item ... \end{enumerate} </pre></example> <para>Environment to produce a numbered list of items. The format of the -label numbering depends on whether this environment is nested within -another; see below. +label numbering depends on the nesting level of this environment; see +below. The default top-level numbering is <samp>1.</samp>, <samp>2.</samp>, +etc. Each <code>enumerate</code> list environment must have at least one item; +having none causes the &latex; error <samp>Something's wrong--perhaps a +missing \item</samp>. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="261">\item</indexterm></findex> -<para>The list consists of at least one item. Having no items causes the -&latex; error <samp>Something's wrong--perhaps a missing \item</samp>. Each -item is produced with an <code>\item</code> command. -</para> -<para>This example lists the top two finishers in the 1908 Olympic marathon. +<para>This example gives the first two finishers in the 1908 Olympic marathon. +As a top-level list the labels would come out as <samp>1.</samp> and +<samp>2.</samp>. </para> <example endspaces=" "> <pre xml:space="preserve">\begin{enumerate} @@ -3056,12 +3555,20 @@ item is produced with an <code>\item</code> command. \end{enumerate} </pre></example> -<para>Enumerations may be nested within a paragraph-making environment, -including <code>itemize</code> (<pxref label="itemize"><xrefnodename>itemize</xrefnodename></pxref>), <code>description</code> -(<pxref label="description"><xrefnodename>description</xrefnodename></pxref>) and <code>enumeration</code>, up to four levels deep. -The format of the label produced depends on the place in the nesting. -This gives &latex;&textrsquo;s default for the format at each nesting level -(where 1 is the outermost level): +<findex index="fn" spaces=" "><indexterm index="fn" number="267">\item</indexterm></findex> +<para>Start list items with the <code>\item</code> command (<pxref label="_005citem"><xrefnodename>\item</xrefnodename></pxref>). If you +give <code>\item</code> an optional argument by following it with square +brackets, as in <code>\item[Interstitial label]</code>, then the next item +will continue the interrupted sequence (<pxref label="_005citem"><xrefnodename>\item</xrefnodename></pxref>). That is, you +will get labels like <samp>1.</samp>, then <samp>Interstitial label</samp>, then +<samp>2.</samp>. Following the <code>\item</code> is optional text, which may +contain multiple paragraphs. +</para> +<para>Enumerations may be nested within other <code>enumerate</code> environments, +or within any paragraph-making environment such as <code>itemize</code> +(<pxref label="itemize"><xrefnodename>itemize</xrefnodename></pxref>), up to four levels deep. This gives &latex;&textrsquo;s +default for the format at each nesting level, where 1 is the top level, +the outermost level. </para> <enumerate first="1" endspaces=" "> <listitem spaces=" "><para>arabic number followed by a period: <samp>1.</samp>, <samp>2.</samp>, &dots; @@ -3070,55 +3577,55 @@ This gives &latex;&textrsquo;s default for the format at each nesting level </para></listitem><listitem spaces=" "><para>upper case letter followed by a period: <samp>A.</samp>, <samp>B.</samp>, &dots; </para></listitem></enumerate> -<findex index="fn" spaces=" "><indexterm index="fn" number="262">\enumi</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="263">\enumii</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="264">\enumiii</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="265">\enumiv</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="268">\enumi</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="269">\enumii</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="270">\enumiii</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="271">\enumiv</indexterm></findex> <para>The <code>enumerate</code> environment uses the counters <code>\enumi</code> through -<code>\enumiv</code> counters (<pxref label="Counters"><xrefnodename>Counters</xrefnodename></pxref>). If you use the optional -argument to <code>\item</code> then the counter is not incremented for that -item (<pxref label="_005citem"><xrefnodename>\item</xrefnodename></pxref>). -</para> -<findex index="fn" spaces=" "><indexterm index="fn" number="266">\labelenumi</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="267">\labelenumii</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="268">\labelenumiii</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="269">\labelenumiv</indexterm></findex> +<code>\enumiv</code> (<pxref label="Counters"><xrefnodename>Counters</xrefnodename></pxref>). +</para> +<para>For other major &latex; labeled list environments, see +<ref label="description"><xrefnodename>description</xrefnodename></ref> and <ref label="itemize"><xrefnodename>itemize</xrefnodename></ref>. For information about list layout +parameters, including the default values, and for information about +customizing list layout, see <ref label="list"><xrefnodename>list</xrefnodename></ref>. The package <file>enumitem</file> is +useful for customizing lists. +</para> +<findex index="fn" spaces=" "><indexterm index="fn" number="272">\labelenumi</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="273">\labelenumii</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="274">\labelenumiii</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="275">\labelenumiv</indexterm></findex> <para>To change the format of the label use <code>\renewcommand</code> (<pxref label="_005cnewcommand-_0026-_005crenewcommand"><xrefnodename>\newcommand & \renewcommand</xrefnodename></pxref>) on the commands <code>\labelenumi</code> through <code>\labelenumiv</code>. For instance, this first level list will be labelled with uppercase letters, in boldface, and without a trailing -period: +period. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="270">\Alph <r>example</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="276">\Alph <r>example</r></indexterm></findex> <example endspaces=" "> <pre xml:space="preserve">\renewcommand{\labelenumi}{\textbf{\Alph{enumi}}} \begin{enumerate} - \item eI - \item bi: - \item si: + \item Shows as boldface A + \item Shows as boldface B \end{enumerate} </pre></example> -<para>For a list of counter-labelling commands like <code>\Alph</code> see -<ref label="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol"><xrefnodename>\alph \Alph \arabic \roman \Roman \fnsymbol</xrefnodename></ref>. -</para> -<para>For more on customizing the layout see <ref label="list"><xrefnodename>list</xrefnodename></ref>. Also, the package -<file>enumitem</file> is useful for this. +<para>For a list of counter-labeling commands see <ref label="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol"><xrefnodename>\alph \Alph \arabic +\roman \Roman \fnsymbol</xrefnodename></ref>. </para> - </section> <node name="eqnarray" spaces=" "><nodename>eqnarray</nodename><nodenext automatic="on">equation</nodenext><nodeprev automatic="on">enumerate</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>eqnarray</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="271"><r>environment</r>, <code>eqnarray</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="272"><code>eqnarray</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="175">equations, aligning</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="176">aligning equations</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="277"><r>environment</r>, <code>eqnarray</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="278"><code>eqnarray</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="191">equations, aligning</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="192">aligning equations</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="177">align <r>environment, from <code>amsmath</code></r></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="178">amsmath <r>package, replacing <code>eqnarray</code></r></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="179">Madsen, Lars</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="193">align <r>environment, from <code>amsmath</code></r></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="194">amsmath <r>package, replacing <code>eqnarray</code></r></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="195">Madsen, Lars</indexterm></cindex> <para>First, a caveat: the <code>eqnarray</code> environment is depreciated. It has infelicities that cannot be overcome, including spacing that is inconsistent with other mathematics elements (see the article &textldquo;Avoid @@ -3147,7 +3654,7 @@ documents, a synopsis: \end{eqnarray*} </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="273">\\ <r>(for <code>eqnarray</code>)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="279">\\ <r>(for <code>eqnarray</code>)</r></indexterm></findex> <para>Display a sequence of equations or inequalities. The left and right sides are typeset in display mode, while the middle is typeset in text mode. @@ -3155,18 +3662,18 @@ mode. <para>It is similar to a three-column <code>array</code> environment, with items within a row separated by an ampersand (<code>&</code>), and with rows separated by double backslash <code>\\</code>). -<findex index="fn" spaces=" "><indexterm index="fn" number="274">\\* <r>(for <code>eqnarray</code>)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="280">\\* <r>(for <code>eqnarray</code>)</r></indexterm></findex> The starred form of line break (<code>\\*</code>) can also be used to separate equations, and will disallow a page break there (<pxref label="_005c_005c"><xrefnodename>\\</xrefnodename></pxref>). </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="275">\nonumber</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="180">equation numbers, omitting</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="281">\nonumber</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="196">equation numbers, omitting</indexterm></cindex> <para>The unstarred form <code>eqnarray</code> places an equation number on every line (using the <code>equation</code> counter), unless that line contains a <code>\nonumber</code> command. The starred form <code>eqnarray*</code> omits equation numbering, while otherwise being the same. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="276">\lefteqn</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="282">\lefteqn</indexterm></findex> <para>The command <code>\lefteqn</code> is used for splitting long formulas across lines. It typesets its argument in display style flush left in a box of zero width. @@ -3187,10 +3694,11 @@ while the third line has not entry on the left side. <node name="equation" spaces=" "><nodename>equation</nodename><nodenext automatic="on">figure</nodenext><nodeprev automatic="on">eqnarray</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>equation</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="277"><r>environment</r>, <code>equation</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="278"><code>equation</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="181">equations, environment for</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="182">formulas, environment for</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="283"><r>environment</r>, <code>equation</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="284"><code>equation</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="197">equations, environment for</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="198">formulas, environment for</indexterm></cindex> <para>Synopsis: </para> @@ -3205,6 +3713,10 @@ equation number in the right margin. </para> <para>The equation number is generated using the <code>equation</code> counter. </para> +<para>You should have no blank lines between <code>\begin{equation}</code> and +<code>\begin{equation}</code>, or &latex; will tell you that there is a +missing dollar sign, $<code>$</code>. +</para> <para>Note that the <file>amsmath</file> package has extensive displayed equation facilities. Those facilities are the best approach for such output in new documents. @@ -3214,10 +3726,11 @@ new documents. <node name="figure" spaces=" "><nodename>figure</nodename><nodenext automatic="on">filecontents</nodenext><nodeprev automatic="on">equation</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>figure</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="279"><r>environment</r>, <code>figure</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="280"><code>figure</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="183">inserting figures</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="184">figures, inserting</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="285"><r>environment</r>, <code>figure</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="286"><code>figure</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="199">inserting figures</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="200">figures, inserting</indexterm></cindex> <para>Synopsis: </para> @@ -3258,7 +3771,7 @@ and so it can contain text, commands, etc. </para> <para>The label is optional; it is used for cross references (<pxref label="Cross-references"><xrefnodename>Cross references</xrefnodename></pxref>). -<findex index="fn" spaces=" "><indexterm index="fn" number="281">\caption</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="287">\caption</indexterm></findex> The optional <code>\caption</code> command specifies caption text for the figure. By default it is numbered. If <var>loftitle</var> is present, it is used in the list of figures instead of <var>title</var> (<pxref label="Tables-of-contents"><xrefnodename>Tables of @@ -3282,12 +3795,14 @@ end of the document, on a page of floats. <node name="filecontents" spaces=" "><nodename>filecontents</nodename><nodenext automatic="on">flushleft</nodenext><nodeprev automatic="on">figure</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>filecontents</code>: Write an external file</sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="282"><r>environment</r>, <code>filecontents</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="283"><code>filecontents</code> <r>environment</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="284"><r>environment</r>, <code>filecontents*</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="285"><code>filecontents*</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="185">external files, writing</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="186">writing external files</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="288"><r>environment</r>, <code>filecontents</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="289"><code>filecontents</code> <r>environment</r></indexterm></findex> + +<findex index="fn" spaces=" "><indexterm index="fn" number="290"><r>environment</r>, <code>filecontents*</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="291"><code>filecontents*</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="201">external files, writing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="202">writing external files</indexterm></cindex> <para>Synopsis: </para> @@ -3350,10 +3865,11 @@ Article by \myname. <node name="flushleft" spaces=" "><nodename>flushleft</nodename><nodenext automatic="on">flushright</nodenext><nodeprev automatic="on">filecontents</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>flushleft</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="286"><r>environment</r>, <code>flushleft</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="287"><code>flushleft</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="187">left-justifying text, environment for</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="188">ragged right text, environment for</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="292"><r>environment</r>, <code>flushleft</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="293"><code>flushleft</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="203">left-justifying text, environment for</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="204">ragged right text, environment for</indexterm></cindex> <example endspaces=" "> <pre xml:space="preserve">\begin{flushleft} @@ -3363,7 +3879,7 @@ Article by \myname. \end{flushleft} </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="288">\\ <r>for <code>flushleft</code></r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="294">\\ <r>for <code>flushleft</code></r></indexterm></findex> <para>The <code>flushleft</code> environment allows you to create a paragraph consisting of lines that are flush to the left-hand margin and ragged right. Each line must be terminated with the string <code>\\</code>. @@ -3376,10 +3892,10 @@ right. Each line must be terminated with the string <code>\\</code>. <node name="_005craggedright" spaces=" "><nodename>\raggedright</nodename><nodeup automatic="on">flushleft</nodeup></node> <subsection spaces=" "><sectiontitle><code>\raggedright</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="289">\raggedright</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="189">ragged right text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="190">left-justifying text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="191">justification, ragged right</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="295">\raggedright</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="205">ragged right text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="206">left-justifying text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="207">justification, ragged right</indexterm></cindex> <para>The <code>\raggedright</code> declaration corresponds to the <code>flushleft</code> environment. This declaration can be used inside an @@ -3397,10 +3913,11 @@ command that ends the paragraph unit. <node name="flushright" spaces=" "><nodename>flushright</nodename><nodenext automatic="on">itemize</nodenext><nodeprev automatic="on">flushleft</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>flushright</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="290"><r>environment</r>, <code>flushright</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="291"><code>flushright</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="192">ragged left text, environment for</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="193">right-justifying text, environment for</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="296"><r>environment</r>, <code>flushright</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="297"><code>flushright</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="208">ragged left text, environment for</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="209">right-justifying text, environment for</indexterm></cindex> <example endspaces=" "> <pre xml:space="preserve">\begin{flushright} @@ -3410,7 +3927,7 @@ command that ends the paragraph unit. \end{flushright} </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="292">\\ (for <code>flushright</code>)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="298">\\ (for <code>flushright</code>)</indexterm></findex> <para>The <code>flushright</code> 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 control sequence <code>\\</code>. @@ -3423,10 +3940,10 @@ left. Each line must be terminated with the control sequence <code>\\</code>. <node name="_005craggedleft" spaces=" "><nodename>\raggedleft</nodename><nodeup automatic="on">flushright</nodeup></node> <subsection spaces=" "><sectiontitle><code>\raggedleft</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="293">\raggedleft</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="194">ragged left text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="195">justification, ragged left</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="196">right-justifying text</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="299">\raggedleft</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="210">ragged left text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="211">justification, ragged left</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="212">right-justifying text</indexterm></cindex> <para>The <code>\raggedleft</code> declaration corresponds to the <code>flushright</code> environment. This declaration can be used inside an @@ -3444,128 +3961,105 @@ command that ends the paragraph unit. <node name="itemize" spaces=" "><nodename>itemize</nodename><nodenext automatic="on">letter</nodenext><nodeprev automatic="on">flushright</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>itemize</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="294"><r>environment</r>, <code>itemize</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="295"><code>itemize</code> <r>environment</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="296">\item</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="197">lists of items</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="198">unordered lists</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="199">bulleted lists</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="300"><r>environment</r>, <code>itemize</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="301"><code>itemize</code> <r>environment</r></indexterm></findex> + +<findex index="fn" spaces=" "><indexterm index="fn" number="302">\item</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="213">lists of items</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="214">unordered lists</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="215">bulleted lists</indexterm></cindex> <para>Synopsis: </para> <example endspaces=" "> <pre xml:space="preserve">\begin{itemize} -\item <var>item1</var> -\item <var>item2</var> +\item[<var>optional label of first item</var>] text of first item +\item[<var>optional label of second item</var>] text of second item ... \end{itemize} </pre></example> <para>The <code>itemize</code> environment produces an &textldquo;unordered&textrdquo;, &textldquo;bulleted&textrdquo; -list. Itemized lists can be nested within one another, up to four -levels deep. They can also be nested within other paragraph-making -environments, such as <code>enumerate</code> (<pxref label="enumerate"><xrefnodename>enumerate</xrefnodename></pxref>). +list. The format of the label numbering depends on the nesting level of +this environment; see below. Each <code>itemize</code> list environment must +have at least one item; having none causes the &latex; error +<samp>Something's wrong--perhaps a missing \item</samp>. </para> -<para>Each item of an <code>itemize</code> list begins with an <code>\item</code> command. -There must be at least one <code>\item</code> command within the environment. +<para>This example gives a two-item list. As a top-level list each label +would come out as a bullet, •. </para> -<para>By default, the marks at each level look like this: +<example endspaces=" "> +<pre xml:space="preserve">\begin{itemize} + \item Pencil and watercolor sketch by Cassandra + \item Rice portrait +\end{itemize} +</pre></example> + +<findex index="fn" spaces=" "><indexterm index="fn" number="303">\item</indexterm></findex> +<para>Start list items with the <code>\item</code> command (<pxref label="_005citem"><xrefnodename>\item</xrefnodename></pxref>). If you +give <code>\item</code> an optional argument by following it with square +brackets, as in <code>\item[Optional label]</code>, then by default it will +appear in bold and be flush right, so it could extend into the left +margin. For labels that are flush left see the <ref label="description"><xrefnodename>description</xrefnodename></ref> +environment. Following the <code>\item</code> is optional text, which may +contain multiple paragraphs. +</para> +<findex index="fn" spaces=" "><indexterm index="fn" number="304">\labelitemi</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="305">\labelitemii</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="306">\labelitemiii</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="307">\labelitemiv</indexterm></findex> +<para>Itemized lists can be nested within one another, up to four levels deep. +They can also be nested within other paragraph-making environments, such +as <code>enumerate</code> (<pxref label="enumerate"><xrefnodename>enumerate</xrefnodename></pxref>). The <code>itemize</code> environment +uses the commands <code>\labelitemi</code> through <code>\labelitemiv</code> to +produce the default label (this also uses the convention of lower case +roman numerals at the end of the command names that signify the nesting +level). These are the default marks at each level. </para> <enumerate first="1" endspaces=" "> -<listitem spaces=" "><para>• (bullet) -</para></listitem><listitem spaces=" "><para><b>-<w>-</w></b> (bold en-dash) -</para></listitem><listitem spaces=" "><para>* (asterisk) -</para></listitem><listitem spaces=" "><para>. (centered dot, rendered here as a period) +<listitem spaces=" "><para>• (bullet, from <code>\textbullet</code>) +</para></listitem><listitem spaces=" "><para><b>-<w>-</w></b> (bold en-dash, from <code>\normalfont\bfseries\textendash</code>) +</para></listitem><listitem spaces=" "><para>* (asterisk, from <code>\textasteriskcentered</code>) +</para></listitem><listitem spaces=" "><para>. (centered dot, rendered here as a period, from <code>\textperiodcentered</code>) </para></listitem></enumerate> -<findex index="fn" spaces=" "><indexterm index="fn" number="297">\labelitemi</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="298">\labelitemii</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="299">\labelitemiii</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="300">\labelitemiv</indexterm></findex> -<para>The <code>itemize</code> environment uses the commands <code>\labelitemi</code> -through <code>\labelitemiv</code> to produce the default label. So, you can -use <code>\renewcommand</code> to change the labels. For instance, to have -the first level use diamonds: +<para>Change the labels with <code>\renewcommand</code>. For instance, this makes +the first level use diamonds. </para> <example endspaces=" "> <pre xml:space="preserve">\renewcommand{\labelitemi}{$\diamond$} </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="301">\leftmargin</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="302">\leftmargini</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="303">\leftmarginii</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="304">\leftmarginiii</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="305">\leftmarginiv</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="306">\leftmarginv</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="307">\leftmarginvi</indexterm></findex> -<para>The <code>\leftmargini</code> through <code>\leftmarginvi</code> parameters define -the distance between the left margin of the enclosing environment and -the left margin of the list. By convention, <code>\leftmargin</code> is set -to the appropriate <code>\leftmargin<var>N</var></code> when a new level of -nesting is entered. -</para> -<para>The defaults vary from <samp>.5em</samp> (highest levels of nesting) to -<samp>2.5em</samp> (first level), and are a bit reduced in two-column mode. -This example greatly reduces the margin space for outermost lists: +<findex index="fn" spaces=" "><indexterm index="fn" number="308">\leftmargin</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="309">\leftmargini</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="310">\leftmarginii</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="311">\leftmarginiii</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="312">\leftmarginiv</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="313">\leftmarginv</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="314">\leftmarginvi</indexterm></findex> +<para>The distance between the left margin of the enclosing environment and +the left margin of the <code>itemize</code> list is determined by the +parameters <code>\leftmargini</code> through <code>\leftmarginvi</code>. (Note the +convention of using lower case roman numerals a the end of the command +name to denote the nesting level.) The defaults are: <code>2.5em</code> in +level 1 (<code>2em</code> in two-column mode), <code>2.2em</code> in level 2, +<code>1.87em</code> in level 3, and <code>1.7em</code> in level 4, with smaller +values for more deeply nested levels. +</para> +<para>For other major &latex; labeled list environments, see +<ref label="description"><xrefnodename>description</xrefnodename></ref> and <ref label="enumerate"><xrefnodename>enumerate</xrefnodename></ref>. For information about list +layout parameters, including the default values, and for information +about customizing list layout, see <ref label="list"><xrefnodename>list</xrefnodename></ref>. The package +<file>enumitem</file> is useful for customizing lists. +</para> +<para>This example greatly reduces the margin space for outermost itemized +lists. </para> <example endspaces=" "> <pre xml:space="preserve">\setlength{\leftmargini}{1.25em} % default 2.5em </pre></example> -<!-- c xx should be in its own generic section --> -<para>Some parameters that affect list formatting: -</para> -<ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="308">\itemindent</indexterm>\itemindent</itemformat></item> -</tableterm><tableitem><para>Extra indentation before each item in a list; default zero. -</para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="309">\labelsep</indexterm>\labelsep</itemformat></item> -</tableterm><tableitem><para>Space between the label and text of an item; default <samp>.5em</samp>. -</para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="310">\labelwidth</indexterm>\labelwidth</itemformat></item> -</tableterm><tableitem><para>Width of the label; default <samp>2em</samp>, or <samp>1.5em</samp> in two-column mode. -</para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="311">\listparindent</indexterm>\listparindent</itemformat></item> -</tableterm><tableitem><para>Extra indentation added to second and subsequent paragraphs within a -list item; default <samp>0pt</samp>. -</para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="312">\rightmargin</indexterm>\rightmargin</itemformat></item> -</tableterm><tableitem><para>Horizontal distance between the right margin of the list and the -enclosing environment; default <samp>0pt</samp>, except in the <code>quote</code>, -<code>quotation</code>, and <code>verse</code> environments, where it is set equal -to <code>\leftmargin</code>. -</para> -</tableitem></tableentry></ftable> - -<para>Parameters affecting vertical spacing between list items (rather -loose, by default). -</para> -<ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="313">\itemsep</indexterm>\itemsep</itemformat></item> -</tableterm><tableitem><para>Vertical space between items. The default is <code>2pt plus1pt -minus1pt</code> for <code>10pt</code> documents, <code>3pt plus2pt minus1pt</code> for -<code>11pt</code>, and <code>4.5pt plus2pt minus1pt</code> for <code>12pt</code>. -</para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="314">\parsep</indexterm>\parsep</itemformat></item> -</tableterm><tableitem><para>Extra vertical space between paragraphs within a list item. Defaults -are the same as <code>\itemsep</code>. -</para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="315">\topsep</indexterm>\topsep</itemformat></item> -</tableterm><tableitem><para>Vertical space between the first item and the preceding paragraph. -For top-level lists, the default is <code>8pt plus2pt minus4pt</code> for -<code>10pt</code> documents, <code>9pt plus3pt minus5pt</code> for <code>11pt</code>, -and <code>10pt plus4pt minus6pt</code> for <code>12pt</code>. These are reduced -for nested lists. -</para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="316">\partopsep</indexterm>\partopsep</itemformat></item> -</tableterm><tableitem><para>Extra space added to <code>\topsep</code> when the list environment starts a -paragraph. The default is <code>2pt plus1pt minus1pt</code> for <code>10pt</code> -documents, <code>3pt plus1pt minus1pt</code> for <code>11pt</code>, and <code>3pt -plus2pt minus2pt</code> for <code>12pt</code>. -</para> -</tableitem></tableentry></ftable> - -<findex index="fn" spaces=" "><indexterm index="fn" number="317">\parskip <r>example</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="315">\parskip <r>example</r></indexterm></findex> <para>Especially for lists with short items, it may be desirable to elide space between items. Here is an example defining an <code>itemize*</code> environment with no extra spacing between items, or between paragraphs @@ -3586,8 +4080,9 @@ within a single item (<code>\parskip</code> is not list-specific, <node name="letter" spaces=" "><nodename>letter</nodename><nodenext automatic="on">list</nodenext><nodeprev automatic="on">itemize</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>letter</code> environment: writing letters</sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="318"><r>environment</r>, <code>letter</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="319"><code>letter</code> <r>environment</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="316"><r>environment</r>, <code>letter</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="317"><code>letter</code> <r>environment</r></indexterm></findex> + <para>This environment is used for creating letters. <xref label="Letters"><xrefnodename>Letters</xrefnodename></xref>. </para> @@ -3596,41 +4091,308 @@ within a single item (<code>\parskip</code> is not list-specific, <node name="list" spaces=" "><nodename>list</nodename><nodenext automatic="on">math</nodenext><nodeprev automatic="on">letter</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>list</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="320"><r>environment</r>, <code>list</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="321"><code>list</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="200">lists of items, generic</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="318"><r>environment</r>, <code>list</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="319"><code>list</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="216">lists of items, generic</indexterm></cindex> -<para>The <code>list</code> 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>Synopsis: </para> <example endspaces=" "> <pre xml:space="preserve">\begin{list}{<var>labeling</var>}{<var>spacing</var>} -\item <var>item1</var> -\item <var>item2</var> +\item[<var>optional label of first item</var>] text of first item +\item[<var>optional label of second item</var>] text of second item ... \end{list} </pre></example> -<para>The mandatory <var>labeling</var> argument specifies how items should be -labelled (unless the optional argument is supplied to <code>\item</code>). -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>The <code>list</code> environment is a generic environment for constructing +more specialized lists. It is most often used to create lists via the +<code>description</code>, <code>enumerate</code>, and <code>itemize</code> environments +(<pxref label="description"><xrefnodename>description</xrefnodename></pxref>, <ref label="enumerate"><xrefnodename>enumerate</xrefnodename></ref>, and <ref label="itemize"><xrefnodename>itemize</xrefnodename></ref>). </para> -<para>The mandatory <var>spacing</var> argument contains commands to change the -spacing parameters for the list. This argument will most often be -empty, i.e., <code>{}</code>, which leaves the default spacing. +<para>Also, many standard &latex; environments that are not visually lists +are constructed using <code>list</code>, including <code>quotation</code>, +<code>quote</code>, <code>center</code>, <code>verbatim</code>, and plenty more +(<pxref label="quotation-and-quote"><xrefnodename>quotation and quote</xrefnodename></pxref>, <pxref label="center"><xrefnodename>center</xrefnodename></pxref>, <pxref label="flushright"><xrefnodename>flushright</xrefnodename></pxref>). </para> -<para>The width used for typesetting the list items is specified by -<code>\linewidth</code> (<pxref label="Page-layout-parameters"><xrefnodename>Page layout parameters</xrefnodename></pxref>). +<cindex index="cp" spaces=" "><indexterm index="cp" number="217"><r>package</r>, <code>enumitem</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="218"><code>enumitem</code> <r>package</r></indexterm></cindex> + +<para>The third-party package <code>enumitem</code> is useful for customizing lists. +Here, we describe the <code>list</code> environment by defining a new custom +environment. </para> +<example endspaces=" "> +<pre xml:space="preserve">\newcounter{namedlistcounter} % number the items +\newenvironment{named} + {\begin{list} + {Item~\Roman{namedlistcounter}.} % labeling argument + {\usecounter{namedlistcounter} % spacing argument + \setlength{\leftmargin}{3.5em}} % still spacing arg + } + {\end{list}} + +\begin{named} + \item Shows as ``Item~I.'' + \item[Special label.] Shows as ``Special label.'' + \item Shows as ``Item~II.'' +\end{named} +</pre></example> + +<para>The <code>list</code> environment&textrsquo;s mandatory first argument, +<var>labeling</var>, specifies the default labeling of list items. It can +contain text and &latex; commands, as above where it contains both +<samp>Item</samp> and <samp>\Roman{...}</samp>. &latex; forms the label by +putting the <var>labeling</var> argument in a box of width +<code>\labelwidth</code>. If the label is wider than that, the additional +material extends to the right. When making an instance of a list you +can override the default labeling by giving <code>\item</code> an optional +argument by including square braces and the text, as in the above +<code>\item[Special label.]</code>; <pxref label="_005citem"><xrefnodename>\item</xrefnodename></pxref>. +</para> +<findex index="fn" spaces=" "><indexterm index="fn" number="320">\makelabel</indexterm></findex> +<para>The label box is constructed by the command <code>\makelabel</code>. By +default it positions the contents flush right. It takes one argument, +the label. It typesets the contents in LR mode. An example of changing +its definition is that to the above example before the definition of the +<code>named</code> environment add +<code>\newcommand{\namedmakelabel}[1]{\textsc{#1}}</code>, and between +the <code>\setlength</code> command and the parenthesis that closes the +<var>spacing</var> argument also add <code>\let\makelabel\namedmakelabel</code>. +Then the items will be typeset in small caps. Similarly, changing the +second code line to <code>\let\makelabel\fbox</code> puts the labels inside a +framed box. Another example is at the bottom of this entry. +</para> +<para>The mandatory second argument <var>spacing</var> can have a list of +commands to redefine the spacing parameters for the list, such as +<code>\setlength{\labelwidth}{2em}</code>. If this argument is empty, +i.e., <code>{}</code>, then the list will have the default spacing given +below. To number the items using a counter, put +<code>\usecounter{<var>countername</var>}</code> in this argument +(<pxref label="_005cusecounter"><xrefnodename>\usecounter</xrefnodename></pxref>). +</para> +<para>Below are the spacing parameters for list formatting. See also the +figure below. Each is a length (<pxref label="Lengths"><xrefnodename>Lengths</xrefnodename></pxref>). The vertical +spaces are normally rubber lengths, with <code>plus</code> and <code>minus</code> +components, to give &tex; flexibility in setting the page. Change +each with a command such as <code>\setlength{itemsep}{2pt plus1pt +minus1pt}</code>. For some effects these lengths should be zero or +negative. Default values for derived environments such as +<code>itemize</code> can be changed from the values shown here for the basic +<code>list</code>. +</para> +<ftable commandarg="code" spaces=" " endspaces=" "> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="321">\itemindent</indexterm>\itemindent</itemformat></item> +</tableterm><tableitem><para>Extra horizontal space indentation, beyond <code>leftmargin</code>, of the +first line each item. Its default value is <code>0pt</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="322">\itemsep</indexterm>\itemsep</itemformat></item> +</tableterm><tableitem><para>Vertical space between items, beyond the <code>\parsep</code>. The defaults +for the first three levels in &latex;&textrsquo;s <samp>article</samp>, <samp>book</samp>, +and <samp>report</samp> classes at 10 point size are: <code>4pt plus2pt +minus1pt</code>, <code>\parsep</code> (that is, <code>2pt plus1pt minus1pt</code>), and +<code>\topsep</code> (that is, <code>2pt plus1pt minus1pt</code>). The defaults at +11 point are: <code>4.5pt plus2pt minus1pt</code>, <code>\parsep</code> (that is, +<code>2pt plus1pt minus1pt</code>), and <code>topsep</code> (that is, <code>2pt +plus1pt minus1pt</code>). The defaults at 12 point are: <code>5pt plus2.5pt +minus1pt</code>, <code>\parsep</code> (that is, <code>2.5pt plus1pt minus1pt</code>), and +<code>\topsep</code> (that is, <code>2.5pt plus1pt minus1pt</code>). +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="323">\labelsep</indexterm>\labelsep</itemformat></item> +</tableterm><tableitem><para>Horizontal space between the label and text of an item. +The default for &latex;&textrsquo;s <samp>article</samp>, <samp>book</samp>, +and <samp>report</samp> classes is <code>0.5em</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="324">\labelwidth</indexterm>\labelwidth</itemformat></item> +</tableterm><tableitem><para>Horizontal width. The box containing the label is nominally this wide. +If <code>\makelabel</code> returns text that is wider than this then the first +line of the item will be indented to make room for this extra material. +If <code>\makelabel</code> returns text of width less than or equal to +<code>\labelwidth</code> then &latex;&textrsquo;s default is that the label is typeset +flush right in a box of this width. +</para> +<para>The left edge of the label box is +<code>\leftmargin</code>+<code>\itemindent</code>-<code>\labelsep</code>-<code>\labelwidth</code> +from the left margin of the enclosing environment. +</para> +<para>The default for &latex;&textrsquo;s <samp>article</samp>, <samp>book</samp>, and +<samp>report</samp> classes at the top level is +<code>\leftmargini</code>-<code>\labelsep</code>, (which is <code>2em</code> in one column +mode and <code>1.5em</code> in two column mode). At the second level it is +<code>\leftmarginii</code>-<code>\labelsep</code>, and at the third level it is +<code>\leftmarginiii</code>-<code>\labelsep</code>. These definitions make the +label&textrsquo;s left edge coincide with the left margin of the enclosing +environment. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="325">\leftmargin</indexterm>\leftmargin</itemformat></item> +</tableterm><tableitem><para>Horizontal space between the left margin of the enclosing environment +(or the left margin of the page if this is a top-level list), and the +left margin of this list. It must be non-negative. +</para> +<para>In the standard &latex; document classes, a top-level list has this set +to the value of <code>\leftmargini</code>, while a list that is nested inside +a top-level list has this margin set to <code>\leftmarginii</code>. More +deeply nested lists get the values of <code>\leftmarginiii</code> through +<code>\leftmarginvi</code>. (Nesting greater than level five generates the +error message <samp>Too deeply nested</samp>.) +</para> +<para>The defaults for the first three levels in &latex;&textrsquo;s <samp>article</samp>, +<samp>book</samp>, and <samp>report</samp> classes are: <code>\leftmargini</code> is +<code>2.5em</code> (in two column mode, <code>2em</code>), <code>\leftmarginii</code> is +<code>2.2em</code>, and <code>\leftmarginiii</code> is <code>1.87em</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="326">\listparindent</indexterm>\listparindent</itemformat></item> +</tableterm><tableitem><para>Horizontal space of additional line indentation, beyond +<code>\leftmargin</code>, for second and subsequent paragraphs within a list +item. A negative value makes this an &textldquo;outdent&textrdquo;. Its default value +is <code>0pt</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="327">\parsep</indexterm>\parsep</itemformat></item> +</tableterm><tableitem><para>Vertical space between paragraphs within an item. In the <samp>book</samp> +and <samp>article</samp> classes The defaults for the first three levels in +&latex;&textrsquo;s <samp>article</samp>, <samp>book</samp>, and <samp>report</samp> classes at 10 +point size are: <code>4pt plus2pt minus1pt</code>, <code>2pt plus1pt +minus1pt</code>, and <code>0pt</code>. The defaults at 11 point size are: +<code>4.5pt plus2pt minus1pt</code>, <code>2pt plus1pt minus1pt</code>, and +<code>0pt</code>. The defaults at 12 point size are: <code>5pt plus2.5pt +minus1pt</code>, <code>2.5pt plus1pt minus1pt</code>, and <code>0pt</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="328">\partopsep</indexterm>\partopsep</itemformat></item> +</tableterm><tableitem><para>Vertical space added, beyond <code>\topsep</code>+<code>\parskip</code>, to the top +and bottom of the entire environment if the list instance is preceded by +a blank line. (A blank line in the &latex; source before the list +changes spacing at both the top and bottom of the list; whether the line +following the list is blank does not matter.) +</para> +<para>The defaults for the first three levels in &latex;&textrsquo;s <samp>article</samp>, +<samp>book</samp>, and <samp>report</samp> classes at 10 point size are: <code>2pt +plus1 minus1pt</code>, <code>2pt plus1pt minus1pt</code>, and <code>1pt plus0pt +minus1pt</code>. The defaults at 11 point are: <code>3pt plus1pt minus1pt</code>, +<code>3pt plus1pt minus1pt</code>, and <code>1pt plus0pt minus1pt</code>). The +defaults at 12 point are: <code>3pt plus2pt minus3pt</code>, <code>3pt plus2pt +minus2pt</code>, and <code>1pt plus0pt minus1pt</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="329">\rightmargin</indexterm>\rightmargin</itemformat></item> +</tableterm><tableitem><para>Horizontal space between the right margin of the list and the right +margin of the enclosing environment. Its default value is <code>0pt</code>. +It must be non-negative. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="330">\topsep</indexterm>\topsep</itemformat></item> +</tableterm><tableitem><para>Vertical space added to both the top and bottom of the list, in addition +to <code>\parskip</code> (<pxref label="_005cparskip"><xrefnodename>\parskip</xrefnodename></pxref>). The defaults for the first three +levels in &latex;&textrsquo;s <samp>article</samp>, <samp>book</samp>, and <samp>report</samp> +classes at 10 point size are: <code>8pt plus2pt minus4pt</code>, <code>4pt +plus2pt minus1pt</code>, and <code>2pt plus1pt minus1pt</code>. The defaults at 11 +point are: <code>9pt plus3pt minus5pt</code>, <code>4.5pt plus2pt minus1pt</code>, +and <code>2pt plus1pt minus1pt</code>. The defaults at 12 point are: +<code>10pt plus4pt minus6pt</code>, <code>5pt plus2.5pt minus1pt</code>, and +<code>2.5pt plus1pt minus1pt</code>. +</para> +</tableitem></tableentry></ftable> + +<para>This shows the horizontal and vertical distances. +</para> +<float type="" endspaces=" "> +<image><imagefile>latex2e-figures/list</imagefile><imagewidth>3.21in</imagewidth><imageextension>.png</imageextension></image> +</float> + +<para>The lengths shown are listed below. The key relationship is that the +right edge of the bracket for <var>h1</var> equals the right edge of the +bracket for <var>h4</var>, so that the left edge of the label box is at +<var>h3</var>+<var>h4</var>-(<var>h0</var>+<var>h1</var>). +</para> +<table commandarg="var" spaces=" " endspaces=" "> +<tableentry><tableterm><item spaces=" "><itemformat command="var">v0</itemformat></item> +</tableterm><tableitem><para><math><code>&backslash;topsep</code> + <code>&backslash;parskip</code></math> if +the list environment does not start a new paragraph, and +<code>\topsep</code>+<code>\parskip</code>+<code>\partopsep</code> if it does +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">v1</itemformat></item> +</tableterm><tableitem><para><code>\parsep</code> +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">v2</itemformat></item> +</tableterm><tableitem><para><code>\itemsep</code>+<code>\parsep</code> +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">v3</itemformat></item> +</tableterm><tableitem><para>Same as <var>v0</var>. (This space is affected by whether a blank line +appears in the source above the environment; whether a blank line +appears in the source below the environment does not matter.) +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">h1</itemformat></item> +</tableterm><tableitem><para><code>\labelsep</code> +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">h2</itemformat></item> +</tableterm><tableitem><para><code>\listparindent</code> +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">h3</itemformat></item> +</tableterm><tableitem><para><code>\leftmargin</code> +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">h4</itemformat></item> +</tableterm><tableitem><para><code>\itemindent</code> +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">h5</itemformat></item> +</tableterm><tableitem><para><code>\rightmargin</code> +</para> +</tableitem></tableentry></table> + +<para>The list&textrsquo;s left and right margins, shown above as <var>h3</var> and <var>h5</var>, +are with respect to the ones provided by the surrounding environment, or +with respect to the page margins for a top-level list. The line width +used for typesetting the list items is <code>\linewidth</code> (<pxref label="Page-layout-parameters"><xrefnodename>Page +layout parameters</xrefnodename></pxref>). For instance, set the list&textrsquo;s left margin to be one +quarter of the distance between the left and right margins of the +enclosing environment with +<code>\setlength{\leftmargin}{0.25\linewidth}</code>. +</para> +<para>Page breaking in a list structure is controlled by the three +parameters below. For each, the &latex; default is +<code>-\&arobase;lowpenalty</code>, that is, <code>-51</code>. Because it is negative, +it somewhat encourages a page break at each spot. Change it with, +e.g., <code>\&arobase;beginparpenalty=9999</code>; a value of 10000 prohibits a +page break. +</para> +<ftable commandarg="code" spaces=" " endspaces=" "> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="331">\&arobase;beginparpenalty</indexterm>\&arobase;beginparpenalty</itemformat></item> +</tableterm><tableitem><para>The page breaking penalty for breaking before the list (default <code>-51</code>). +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="332">\&arobase;itempenalty</indexterm>\&arobase;itempenalty</itemformat></item> +</tableterm><tableitem><para>The page breaking penalty for breaking before a list item (default <code>-51</code>). +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="333">\&arobase;endparpenalty</indexterm>\&arobase;endparpenalty</itemformat></item> +</tableterm><tableitem><para>The page breaking penalty for breaking after a list (default <code>-51</code>). +</para> +</tableitem></tableentry></ftable> + +<para>This example has the labels in red. They are numbered, and the left +edge of the label lines up with the left edge of the item text. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\usepackage{color} +\newcounter{cnt} +\newcommand{\makeredlabel}[1]{\textcolor{red}{#1.}} +\newenvironment{redlabel} + {\begin{list} + {\arabic{cnt}} + {\usecounter{cnt} + \setlength{\labelwidth}{0em} + \setlength{\labelsep}{0.5em} + \setlength{\leftmargin}{1.5em} + \setlength{\itemindent}{0.5em} % equals \labelwidth+\labelsep + \let\makelabel=\makeredlabel + } + } +{\end{list} } +</pre></example> + <menu endspaces=" "> <menuentry leadingtext="* "><menunode separator=":: ">\item</menunode><menudescription><pre xml:space="preserve">An entry in a list. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">trivlist</menunode><menudescription><pre xml:space="preserve">A restricted form of <code>list</code>. </pre></menudescription></menuentry></menu> -<node name="_005citem" spaces=" "><nodename>\item</nodename><nodeup automatic="on">list</nodeup></node> -<subsection spaces=" "><sectiontitle><code>\item</code>: An entry in a list.</sectiontitle> +<node name="_005citem" spaces=" "><nodename>\item</nodename><nodenext automatic="on">trivlist</nodenext><nodeup automatic="on">list</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\item</code>: An entry in a list</sectiontitle> <para>Synopsis: </para> @@ -3640,21 +4402,25 @@ empty, i.e., <code>{}</code>, which leaves the default spacing. <para>or </para><example endspaces=" "> -<pre xml:space="preserve">\item[<var>optional label</var>] text of item +<pre xml:space="preserve">\item[<var>optional-label</var>] text of item </pre></example> <para>An entry in a list. The entries are prefixed by a label, whose default -depends on the list type. +depends on the list type. +</para> +<para>Because the optional label is surrounded by square brackets +<samp>[...]</samp>, if you have an item whose text starts with <samp>[</samp>, you +have to to hide the bracket inside curly braces, as in: <code>\item +{[} is an open square bracket</code>; otherwise, &latex; will think it +marks the start of an optional label. </para> -<para>Because the optional argument <var>optional label</var> is surrounded by -square brackets (<code>[</code> and <code>]</code>), to use square brackets -inside the optional argument you must hide them inside curly braces, as -in <code>\item[Close square bracket, {]}]</code>. Similarly, to use an open -square bracket as first character in the text of the item, also hide it -inside curly braces. <xref label="LaTeX-command-syntax"><xrefnodename>&latex; command syntax</xrefnodename></xref>. +<para>Similarly, if the item does have the optional label and you need a +close square bracket inside that label, you must hide it in the same +way: <code>\item[Close square bracket, {]}]</code>. <xref label="LaTeX-command-syntax"><xrefnodename>&latex; +command syntax</xrefnodename></xref>. </para> -<para>In this example the <code>enumerate</code> list has two items that use the -default label and one that uses the optional label. +<para>In this example the enumerate list has two items that use the default +label and one that uses the optional label. </para> <example endspaces=" "> <pre xml:space="preserve">\begin{enumerate} @@ -3665,20 +4431,68 @@ default label and one that uses the optional label. </pre></example> <para>The first item is labelled <samp>1.</samp>, the second item is labelled -<samp>sometimes</samp>, and the third item is labelled <samp>2.</samp> (note that, -because of the optional label in the second item, the third item does -not get a <samp>3.</samp>). +<samp>sometimes</samp>, and the third item is labelled <samp>2.</samp>. Because +of the optional label in the second item, the third item is not +labelled <samp>3.</samp>. </para> +</subsection> +<node name="trivlist" spaces=" "><nodename>trivlist</nodename><nodeprev automatic="on">\item</nodeprev><nodeup automatic="on">list</nodeup></node> +<subsection spaces=" "><sectiontitle><code>trivlist</code>: A restricted form of <code>list</code></sectiontitle> + +<para>Synopsis: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\begin{trivlist} + ... +\end{trivlist} +</pre></example> + +<para>A restricted version of the list environment, in which margins are not +indented and an <code>\item</code> without an optional argument produces no +text. It is most often used in macros, to define an environment where +the <code>\item</code> command as part of the environment&textrsquo;s definition. For +instance, the <code>center</code> environment is defined essentially like +this: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\newenvironment{center} + {\begin{trivlist}\centering\item\relax} + {\end{trivlist}} +</pre></example> + +<para>Using <code>trivlist</code> in this way allows the macro to inherit some +common code: combining vertical space of two adjacent environments; +detecting whether the text following the environment should be +considered a new paragraph or a continuation of the previous one; +adjusting the left and right margins for possible nested list +environments. +</para> +<para>Specifically, <code>trivlist</code> uses the current values of the list +parameters (<pxref label="list"><xrefnodename>list</xrefnodename></pxref>), except that <code>\parsep</code> is set to the +value of <code>\parskip</code>, and <code>\leftmargin</code>, <code>\labelwidth</code>, +and <code>\itemindent</code> are set to zero. +</para> +<para>This example outputs the items as two paragraphs, except that (by +default) they have no paragraph indent and are vertically separated. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\begin{trivlist} +\item The \textit{Surprise} is not old; no one would call her old. +\item She has a bluff bow, lovely lines. +\end{trivlist} +</pre></example> + </subsection> </section> <node name="math" spaces=" "><nodename>math</nodename><nodenext automatic="on">minipage</nodenext><nodeprev automatic="on">list</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>math</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="322"><r>environment</r>, <code>math</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="323"><code>math</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="201">in-line formulas</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="334"><r>environment</r>, <code>math</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="335"><code>math</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="219">in-line formulas</indexterm></cindex> <para>Synopsis: </para> @@ -3688,8 +4502,8 @@ not get a <samp>3.</samp>). \end{math} </pre></example> -<para>The <code>math</code> environment inserts the given <var>math</var> within the -running text. <code>\(...\)</code> and <code>$...$</code> are synonyms. +<para>The <code>math</code> environment inserts given <var>math</var> material within +the running text. <code>\(...\)</code> and <code>$...$</code> are synonyms. <xref label="Math-formulas"><xrefnodename>Math formulas</xrefnodename></xref>. </para> @@ -3697,9 +4511,10 @@ running text. <code>\(...\)</code> and <code>$...$</code> are synonyms. <node name="minipage" spaces=" "><nodename>minipage</nodename><nodenext automatic="on">picture</nodenext><nodeprev automatic="on">math</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>minipage</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="324"><r>environment</r>, <code>minipage</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="325"><code>minipage</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="202">minipage, creating a</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="336"><r>environment</r>, <code>minipage</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="337"><code>minipage</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="220">minipage, creating a</indexterm></cindex> <example endspaces=" "> <pre xml:space="preserve">\begin{minipage}[<var>position</var>][<var>height</var>][<var>inner-pos</var>]{<var>width</var>} @@ -3715,15 +4530,15 @@ other paragraph-making environments can be used inside a minipage. <!-- c (xxref positions) --> <para>The arguments are the same as for <code>\parbox</code> (<pxref label="_005cparbox"><xrefnodename>\parbox</xrefnodename></pxref>). </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="203">indentation of paragraphs, in minipage</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="204">paragraph indentation, in minipage</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="326">\parindent</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="221">indentation of paragraphs, in minipage</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="222">paragraph indentation, in minipage</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="338">\parindent</indexterm></findex> <para>By default, paragraphs are not indented in the <code>minipage</code> environment. You can restore indentation with a command such as <code>\setlength{\parindent}{1pc}</code> command. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="205">footnotes in figures</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="206">figures, footnotes in</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="223">footnotes in figures</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="224">figures, footnotes in</indexterm></cindex> <para>Footnotes in a <code>minipage</code> environment are handled in a way that is particularly useful for putting footnotes in figures or tables. A <code>\footnote</code> or <code>\footnotetext</code> command puts the footnote at @@ -3739,10 +4554,11 @@ footnotes; they may wind up at the bottom of the wrong minipage. <node name="picture" spaces=" "><nodename>picture</nodename><nodenext automatic="on">quotation and quote</nodenext><nodeprev automatic="on">minipage</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>picture</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="327"><r>environment</r>, <code>picture</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="328"><code>picture</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="207">creating pictures</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="208">pictures, creating</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="339"><r>environment</r>, <code>picture</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="340"><code>picture</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="225">creating pictures</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="226">pictures, creating</indexterm></cindex> <example endspaces=" "> <pre xml:space="preserve">\begin{picture}(<var>width</var>,<var>height</var>)(<var>xoffset</var>,<var>yoffset</var>) @@ -3750,7 +4566,7 @@ footnotes; they may wind up at the bottom of the wrong minipage. \end{picture} </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="329">\unitlength</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="341">\unitlength</indexterm></findex> <para>The <code>picture</code> 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 @@ -3765,15 +4581,16 @@ centimeters. <code>\setlength</code> command, outside of a <code>picture</code> environment. The default value is <code>1pt</code>. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="209"><r>package</r>, <code>picture</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="210"><code>picture</code> <r>package</r></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="227"><r>package</r>, <code>picture</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="228"><code>picture</code> <r>package</r></indexterm></cindex> + <para>The <code>picture</code> package redefine the <code>picture</code> environment so that everywhere a number is used in a <var>picture commands</var> to specify a coordinate, one can use alternatively a length. Be aware however that this will prevent scaling those lengths by changing <code>\unitlength</code>. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="211">position, in picture</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="229">position, in picture</indexterm></cindex> <para>A <dfn>position</dfn> is a pair of coordinates, such as <code>(2.4,-5)</code>, specifying the point with x-coordinate <code>2.4</code> and y-coordinate <code>-5</code>. Coordinates are specified in the usual way with respect to an origin, @@ -3823,7 +4640,7 @@ command. The command picture, with its reference point at coordinates <math>(11.3,-.3)</math>. The reference points for various objects will be described below. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="330">lR box</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="342">lR box</indexterm></findex> <para>The <code>\put</code> command creates an <dfn>LR box</dfn>. You can put anything that can go in an <code>\mbox</code> (<pxref label="_005cmbox"><xrefnodename>\mbox</xrefnodename></pxref>) in the text argument of the <code>\put</code> command. When you do this, the reference point will @@ -3852,7 +4669,7 @@ be the lower left corner of the box. <node name="_005ccircle" spaces=" "><nodename>\circle</nodename><nodenext automatic="on">\makebox (picture)</nodenext><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\circle</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="331">\circle</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="343">\circle</indexterm></findex> <para>Synopsis: </para> @@ -3871,7 +4688,7 @@ draws a solid circle. <node name="_005cmakebox-_0028picture_0029" spaces=" "><nodename>\makebox (picture)</nodename><nodenext automatic="on">\framebox (picture)</nodenext><nodeprev automatic="on">\circle</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\makebox</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="332">\makebox <r>(for <code>picture</code>)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="344">\makebox <r>(for <code>picture</code>)</r></indexterm></findex> <para>Synopsis: </para> @@ -3908,7 +4725,7 @@ your <var>text</var> appears in. You may select up to two of the following: <node name="_005cframebox-_0028picture_0029" spaces=" "><nodename>\framebox (picture)</nodename><nodenext automatic="on">\dashbox</nodenext><nodeprev automatic="on">\makebox (picture)</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\framebox</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="333">\framebox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="345">\framebox</indexterm></findex> <para>Synopsis: </para> @@ -3920,8 +4737,8 @@ your <var>text</var> appears in. You may select up to two of the following: section), except that it puts a frame around the outside of the box that it creates. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="334">\fboxrule</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="335">\fboxsep</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="346">\fboxrule</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="347">\fboxsep</indexterm></findex> <para>The <code>\framebox</code> command produces a rule of thickness <code>\fboxrule</code>, and leaves a space <code>\fboxsep</code> between the rule and the contents of the box. @@ -3931,7 +4748,7 @@ and the contents of the box. <node name="_005cdashbox" spaces=" "><nodename>\dashbox</nodename><nodenext automatic="on">\frame</nodenext><nodeprev automatic="on">\framebox (picture)</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\dashbox</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="336">\dashbox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="348">\dashbox</indexterm></findex> <para>Draws a box with a dashed line. Synopsis: </para> @@ -3952,7 +4769,7 @@ multiples of the <var>dlen</var>. <node name="_005cframe" spaces=" "><nodename>\frame</nodename><nodenext automatic="on">\line</nodenext><nodeprev automatic="on">\dashbox</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\frame</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="337">\frame</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="349">\frame</indexterm></findex> <para>Synopsis: </para> @@ -3969,7 +4786,7 @@ space is put between the frame and the object. <node name="_005cline" spaces=" "><nodename>\line</nodename><nodenext automatic="on">\linethickness</nodenext><nodeprev automatic="on">\frame</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\line</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="338">\line</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="350">\line</indexterm></findex> <para>Synopsis: </para> @@ -3980,8 +4797,8 @@ space is put between the frame and the object. <para>The <code>\line</code> command draws a line with the given <var>length</var> and slope <var>xslope</var>/<var>yslope</var>. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="212"><code>pict2e</code> package</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="213">graphics packages</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="230"><code>pict2e</code> package</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="231">graphics packages</indexterm></cindex> <para>Standard &latex; can only draw lines with <math><var>slope</var> = x/y</math>, where <math>x</math> and <math>y</math> have integer values from −6 through 6. For lines of any slope, and plenty of other shapes, @@ -3992,7 +4809,7 @@ see <code>pict2e</code> and many other packages on CTAN. <node name="_005clinethickness" spaces=" "><nodename>\linethickness</nodename><nodenext automatic="on">\thicklines</nodenext><nodeprev automatic="on">\line</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\linethickness</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="339">\linethickness</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="351">\linethickness</indexterm></findex> <para>The <code>\linethickness{<var>dim</var>}</code> command declares the thickness of horizontal and vertical lines in a picture environment to be @@ -4006,7 +4823,7 @@ circles, or the quarter circles drawn by <code>\oval</code>. <node name="_005cthicklines" spaces=" "><nodename>\thicklines</nodename><nodenext automatic="on">\thinlines</nodenext><nodeprev automatic="on">\linethickness</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\thicklines</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="340">\thicklines</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="352">\thicklines</indexterm></findex> <para>The <code>\thicklines</code> command is an alternate line thickness for horizontal and vertical lines in a picture environment; @@ -4017,7 +4834,7 @@ cf. <ref label="_005clinethickness"><xrefnodename>\linethickness</xrefnoden <node name="_005cthinlines" spaces=" "><nodename>\thinlines</nodename><nodenext automatic="on">\multiput</nodenext><nodeprev automatic="on">\thicklines</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\thinlines</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="341">\thinlines</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="353">\thinlines</indexterm></findex> <para>The <code>\thinlines</code> command is the default line thickness for horizontal and vertical lines in a picture environment; @@ -4028,7 +4845,7 @@ cf. <ref label="_005clinethickness"><xrefnodename>\linethickness</xrefnoden <node name="_005cmultiput" spaces=" "><nodename>\multiput</nodename><nodenext automatic="on">\oval</nodenext><nodeprev automatic="on">\thinlines</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\multiput</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="342">\multiput</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="354">\multiput</indexterm></findex> <para>Synopsis: </para> @@ -4046,7 +4863,7 @@ pattern across a picture. <var>obj</var> is first placed at position <node name="_005coval" spaces=" "><nodename>\oval</nodename><nodenext automatic="on">\put</nodenext><nodeprev automatic="on">\multiput</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\oval</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="343">\oval</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="355">\oval</indexterm></findex> <para>Synopsis: </para> @@ -4081,7 +4898,7 @@ boxes with rounded corners. <node name="_005cput" spaces=" "><nodename>\put</nodename><nodenext automatic="on">\shortstack</nodenext><nodeprev automatic="on">\oval</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\put</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="344">\put</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="356">\put</indexterm></findex> <para>Synopsis: </para> @@ -4098,7 +4915,7 @@ boxes with rounded corners. <node name="_005cshortstack" spaces=" "><nodename>\shortstack</nodename><nodenext automatic="on">\vector</nodenext><nodeprev automatic="on">\put</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\shortstack</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="345">\shortstack</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="357">\shortstack</indexterm></findex> <para>Synopsis: </para> @@ -4118,7 +4935,7 @@ positions are: </tableterm><tableitem><para>Move the objects to the centre of the stack (default) </para></tableitem></tableentry></table> -<findex index="fn" spaces=" "><indexterm index="fn" number="346">\\ <r>(for <code>\shortstack</code> objects)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="358">\\ <r>(for <code>\shortstack</code> objects)</r></indexterm></findex> <para>Objects are separated with <code>\\</code>. </para> @@ -4126,7 +4943,7 @@ positions are: <node name="_005cvector" spaces=" "><nodename>\vector</nodename><nodeprev automatic="on">\shortstack</nodeprev><nodeup automatic="on">picture</nodeup></node> <subsection spaces=" "><sectiontitle><code>\vector</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="347">\vector</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="359">\vector</indexterm></findex> <para>Synopsis: </para> @@ -4144,16 +4961,18 @@ values must lie between −4 and +4, inclusive. <node name="quotation-and-quote" spaces=" "><nodename>quotation and quote</nodename><nodenext automatic="on">tabbing</nodenext><nodeprev automatic="on">picture</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>quotation</code> and <code>quote</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="348"><r>environment</r>, <code>quotation</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="349"><code>quotation</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="214">quoted text with paragraph indentation, displaying</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="215">displaying quoted text with paragraph indentation</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="216">paragraph indentations in quoted text</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="350"><r>environment</r>, <code>quote</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="351"><code>quote</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="217">quoted text without paragraph indentation, displaying</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="218">displaying quoted text without paragraph indentation</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="219">paragraph indentations in quoted text, omitting</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="360"><r>environment</r>, <code>quotation</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="361"><code>quotation</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="232">quoted text with paragraph indentation, displaying</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="233">displaying quoted text with paragraph indentation</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="234">paragraph indentations in quoted text</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="362"><r>environment</r>, <code>quote</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="363"><code>quote</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="235">quoted text without paragraph indentation, displaying</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="236">displaying quoted text without paragraph indentation</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="237">paragraph indentations in quoted text, omitting</indexterm></cindex> <para>Synopsis: </para> @@ -4200,106 +5019,156 @@ quotations. <node name="tabbing" spaces=" "><nodename>tabbing</nodename><nodenext automatic="on">table</nodenext><nodeprev automatic="on">quotation and quote</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>tabbing</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="352"><r>environment</r>, <code>tabbing</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="353"><code>tabbing</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="220">tab stops, using</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="221">lining text up using tab stops</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="222">alignment via tabbing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="364"><r>environment</r>, <code>tabbing</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="365"><code>tabbing</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="238">tab stops, using</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="239">lining text up using tab stops</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="240">alignment via tabbing</indexterm></cindex> <para>Synopsis: </para> <example endspaces=" "> <pre xml:space="preserve">\begin{tabbing} -<var>row1col1</var> \= <var>row1col2</var> \= <var>row1col3</var> \= <var>row1col4</var> \\ -<var>row2col1</var> \> \> <var>row2col3</var> \\ +<var>row1col1</var> \= <var>row1col2</var> ... \\ +<var>row2col1</var> \> <var>row2col2</var> ... \\ ... \end{tabbing} </pre></example> -<para>The <code>tabbing</code> 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>The <code>tabbing</code> environment aligns text in columns. It works by +setting tab stops and tabbing to them much as was done on a 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 <code>tabular</code> -environment. +<para>This example has a first line where the tab stops are set to explicit +widths, ended by a <code>\kill</code> command (which is described below): </para> -<para>The following commands can be used inside a <code>tabbing</code> environment: +<example endspaces=" "> +<pre xml:space="preserve">\begin{tabbing} +\hspace{0.75in} \= \hspace{0.40in} \= \hspace{0.40in} \kill +Ship \> Guns \> Year \\ +\textit{Sophie} \> 14 \> 1800 \\ +\textit{Polychrest} \> 24 \> 1803 \\ +\textit{Lively} \> 38 \> 1804 \\ +\textit{Surprise} \> 28 \> 1805 \\ +\end{tabbing} +</pre></example> + +<para>Both the <code>tabbing</code> environment and the more widely-used +<code>tabular</code> environment put text in columns. The most important +distinction is that in <code>tabular</code> the width of columns is +determined automatically by &latex;, while in <code>tabbing</code> the user +sets the tab stops. Another distinction is that <code>tabular</code> +generates a box, but <code>tabbing</code> can be broken across pages. +Finally, while <code>tabular</code> can be used in any mode, <code>tabbing</code> +can be used only in paragraph mode and it starts a new paragraph. +</para> +<para>A <code>tabbing</code> environment always starts a new paragraph, without +indentation. Moreover, as shown in the example above, there is no need +to use the starred form of the <code>\hspace</code> command at the beginning +of a tabbed row. The right margin of the <code>tabbing</code> environment is +the end of line, so that the width of the environment is +<code>\linewidth</code>. +</para> +<cindex index="cp" spaces=" "><indexterm index="cp" number="241">row, <r>tabbing</r></indexterm></cindex> +<para>The <code>tabbing</code> environment contains a sequence of <dfn>tabbed +rows</dfn>. The first tabbed row begins immediately after +<code>\begin{tabbing}</code> and each row ends with <code>\\</code> or +<code>\kill</code>. The last row may omit the <code>\\</code> and end with just +<code>\end{tabbing}</code>. +</para> +<para>At any point the <code>tabbing</code> environment has a current tab stop +pattern, a sequence of <math><var>n</var> > 0</math> tab stops, numbered 0, 1, +etc. These create <var>n</var> corresponding columns. Tab stop 0 is +always the left margin, defined by the enclosing environment. Tab +stop number <var>i</var> is set if it is assigned a horizontal +position on the page. Tab stop number <var>i</var> can only be set if +all the stops 0, &dots;, <math>i-1</math> have already been set; normally +later stops are to the right of earlier ones. +</para> +<para>By default any text typeset in a <code>tabbing</code> environment is typeset +ragged right and left-aligned on the current tab stop. Typesetting is +done in LR mode (<pxref label="Modes"><xrefnodename>Modes</xrefnodename></pxref>). +</para> +<para>The following commands can be used inside a <code>tabbing</code> environment. +They are all fragile (<pxref label="_005cprotect"><xrefnodename>\protect</xrefnodename></pxref>). </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="354">\\ <r>(tabbing)</r></indexterm>\\ <r>(tabbing)</r></itemformat></item> -</tableterm><tableitem><para>End a line. +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="366">\\ <r>(tabbing)</r></indexterm>\\ <r>(tabbing)</r></itemformat></item> +</tableterm><tableitem><para>End a tabbed line and typeset it. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="355">\= <r>(tabbing)</r></indexterm>\= <r>(tabbing)</r></itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="367">\= <r>(tabbing)</r></indexterm>\= <r>(tabbing)</r></itemformat></item> </tableterm><tableitem><para>Sets a tab stop at the current position. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="356">\> <r>(tabbing)</r></indexterm>\> <r>(tabbing)</r></itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="357">\></indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="368">\> <r>(tabbing)</r></indexterm>\> <r>(tabbing)</r></itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="369">\></indexterm></findex> <para>Advances to the next tab stop. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="358">\<</indexterm>\<</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="370">\<</indexterm>\<</itemformat></item> </tableterm><tableitem><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> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="359">\+</indexterm>\+</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="371">\+</indexterm>\+</itemformat></item> </tableterm><tableitem><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> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="360">\-</indexterm>\-</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="372">\-</indexterm>\-</itemformat></item> </tableterm><tableitem><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> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="361">\&textrsquo; <r>(tabbing)</r></indexterm>\' <r>(tabbing)</r></itemformat></item> -</tableterm><tableitem><para>Moves everything that you have typed so far in the -current column, i.e., everything from the most recent <code>\></code>, -<code>\<</code>, <code>\'</code>, <code>\\</code>, or <code>\kill</code> command, to the right -of the previous column, flush against the current column&textrsquo;s tab stop. +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="373">\' <r>(tabbing)</r></indexterm>\' <r>(tabbing)</r></itemformat></item> +</tableterm><tableitem><para>Moves everything that you have typed so far in the current column, i.e., +everything from the most recent <code>\></code>, <code>\<</code>, <code>\'</code>, +<code>\\</code>, or <code>\kill</code> command, to the previous column and aligned +to the right, flush against the current column&textrsquo;s tab stop. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="362">\&textlsquo; <r>(tabbing)</r></indexterm>\` <r>(tabbing)</r></itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="374">\` <r>(tabbing)</r></indexterm>\` <r>(tabbing)</r></itemformat></item> </tableterm><tableitem><para>Allows you to put text flush right against any tab stop, including tab -stop 0. However, it can&textrsquo;t move text to the right of the last column -because there&textrsquo;s no tab stop there. The <code>\`</code> command moves all the -text that follows it, up to the <code>\\</code> or <code>\end{tabbing}</code> -command that ends the line, to the right margin of the tabbing -environment. There must be no <code>\></code> or <code>\'</code> command between -the <code>\`</code> and the command that ends the line. -</para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="363">\a <r>(tabbing)</r></indexterm>\a <r>(tabbing)</r></itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="364">\a&textrsquo; <r>(acute accent in tabbing)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="365">\a&textlsquo; <r>(grave accent in tabbing)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="366">\a= <r>(macron accent in tabbing)</r></indexterm></findex> +stop 0. However, it can&textrsquo;t move text to the right of the last +column because there&textrsquo;s no tab stop there. The <code>\`</code> command moves +all the text that follows it, up to the <code>\\</code> or +<code>\end{tabbing}</code> command that ends the line, to the right margin +of the <code>tabbing</code> environment. There must be no <code>\></code> or +<code>\'</code> command between the <code>\`</code> and the <code>\\</code> or +<code>\end{tabbing}</code> command that ends the line. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="375">\a <r>(tabbing)</r></indexterm>\a <r>(tabbing)</r></itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="376">\a' <r>(acute accent in tabbing)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="377">\a` <r>(grave accent in tabbing)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="378">\a= <r>(macron accent in tabbing)</r></indexterm></findex> <para>In a <code>tabbing</code> environment, the commands <code>\=</code>, <code>\'</code> and <code>\`</code> do not produce accents as usual (<pxref label="Accents"><xrefnodename>Accents</xrefnodename></pxref>). Instead, -the commands <code>\a=</code>, <code>\a'</code> and <code>\a`</code> are used. +use the commands <code>\a=</code>, <code>\a'</code> and <code>\a`</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="367">\kill</indexterm>\kill</itemformat></item> -</tableterm><tableitem><para>Sets tab stops without producing text. Works just like <code>\\</code> -except that it throws away the current line instead of producing -output for it. The effect of any <code>\=</code>, <code>\+</code> or <code>\-</code> -commands in that line remain in effect. +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="379">\kill</indexterm>\kill</itemformat></item> +</tableterm><tableitem><para>Sets tab stops without producing text. Works just like <code>\\</code> except +that it throws away the current line instead of producing output for it. +Any <code>\=</code>, <code>\+</code> or <code>\-</code> commands in that line remain in +effect. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="368">\poptabs</indexterm>\poptabs</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="369">\poptabs</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="380">\poptabs</indexterm>\poptabs</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="381">\poptabs</indexterm></findex> <para>Restores the tab stop positions saved by the last <code>\pushtabs</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="370">\pushtabs</indexterm>\pushtabs</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="382">\pushtabs</indexterm>\pushtabs</itemformat></item> </tableterm><tableitem><para>Saves all current tab stop positions. Useful for temporarily changing tab stop positions in the middle of a <code>tabbing</code> environment. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="371">\tabbingsep</indexterm>\tabbingsep</itemformat></item> -</tableterm><tableitem><para>Distance to left of tab stop moved by <code>\'</code>. +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="383">\tabbingsep</indexterm>\tabbingsep</itemformat></item> +</tableterm><tableitem><para>Distance of the text moved by <code>\'</code> to left of current tab stop. </para> </tableitem></tableentry></ftable> -<para>This example typesets a Pascal function in a traditional format: +<para>This example typesets a Pascal function: </para> <example endspaces=" "> <pre xml:space="preserve">\begin{tabbing} function \= fact(n : integer) : integer;\\ \> begin \= \+ \\ - \> if \= n $>$ 1 then \+ \\ + \> if \= n > 1 then \+ \\ fact := n * fact(n-1) \- \\ else \+ \\ fact := 1; \-\- \\ @@ -4307,15 +5176,45 @@ function \= fact(n : integer) : integer;\\ \end{tabbing} </pre></example> +<para>The output looks like this: +</para><example endspaces=" "> +<pre xml:space="preserve">function fact(n : integer) : integer; + begin + if n > 1 then + fact := n * fact(n-1); + else + fact := 1; + end; +</pre></example> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="242"><r>package</r>, <code>algorithm2e</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="243"><code>algorithm2e</code> <r>package</r></indexterm></cindex> + <cindex index="cp" spaces=" "><indexterm index="cp" number="244"><r>package</r>, <code>listings</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="245"><code>listings</code> <r>package</r></indexterm></cindex> + <cindex index="cp" spaces=" "><indexterm index="cp" number="246"><r>package</r>, <code>minted</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="247"><code>minted</code> <r>package</r></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="248"><r>package</r>, <code>fancyvrb</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="249"><code>fancyvrb</code> <r>package</r></indexterm></cindex> + + +<para>(The above example is just for illustration of the environment. To +actually typeset computer code in typewriter like this, a verbatim +environment (<pxref label="verbatim"><xrefnodename>verbatim</xrefnodename></pxref>) would normally suffice. For +pretty-printed code, there are quite a few packages, including +<code>algorithm2e</code>, <code>fancyvrb</code>, <code>listings</code>, and +<code>minted</code>.) +</para> + </section> <node name="table" spaces=" "><nodename>table</nodename><nodenext automatic="on">tabular</nodenext><nodeprev automatic="on">tabbing</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>table</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="372"><r>environment</r>, <code>table</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="373"><code>table</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="223">tables, creating</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="224">creating tables</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="384"><r>environment</r>, <code>table</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="385"><code>table</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="250">tables, creating</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="251">creating tables</indexterm></cindex> <para>Synopsis: </para> @@ -4340,7 +5239,7 @@ and so it can contain text, commands, etc. </para> <para>The label is optional; it is used for cross references (<pxref label="Cross-references"><xrefnodename>Cross references</xrefnodename></pxref>). -<findex index="fn" spaces=" "><indexterm index="fn" number="374">\caption</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="386">\caption</indexterm></findex> The optional <code>\caption</code> command specifies caption text for the table. By default it is numbered. If <var>lottitle</var> is present, it is used in the list of tables instead of <var>title</var> (<pxref label="Tables-of-contents"><xrefnodename>Tables of @@ -4367,10 +5266,11 @@ unless it is pushed to a float page at the end. <node name="tabular" spaces=" "><nodename>tabular</nodename><nodenext automatic="on">thebibliography</nodenext><nodeprev automatic="on">table</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>tabular</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="375"><r>environment</r>, <code>tabular</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="376"><code>tabular</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="225">lines in tables</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="226">lining text up in tables</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="387"><r>environment</r>, <code>tabular</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="388"><code>tabular</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="252">lines in tables</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="253">lining text up in tables</indexterm></cindex> <para>Synopsis: </para> @@ -4406,10 +5306,10 @@ in columns. This illustrates many of the features. <para>The vertical format of two left-aligned columns, with a vertical bar between them, is specified in <code>tabular</code>&textrsquo;s argument <code>{l|l}</code>. -<findex index="fn" spaces=" "><indexterm index="fn" number="377">&</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="389">&</indexterm></findex> Columns are separated with an ampersand <code>&</code>. A horizontal rule between two rows is created with <code>\hline</code>. -<findex index="fn" spaces=" "><indexterm index="fn" number="378">\\ <r>for <code>tabular</code></r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="390">\\ <r>for <code>tabular</code></r></indexterm></findex> The end of each row is marked with a double backslash <code>\\</code>. This <code>\\</code> is optional after the last row unless an <code>\hline</code> command follows, to put a rule below the table. @@ -4493,7 +5393,7 @@ so the numbers in the table are aligned on that decimal point. \end{tabular} </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="379">\extracolsep</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="391">\extracolsep</indexterm></findex> <para>An <code>\extracolsep{<var>wd</var>}</code> command in an &arobase;-expression causes an extra space of width <var>wd</var> to appear to the left of all subsequent columns, until countermanded by another <code>\extracolsep</code> command. @@ -4543,22 +5443,22 @@ contain another <code>*</code>-expression. <!-- c xx defaults, own node (xref from array)? --> </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="380">\arrayrulewidth</indexterm>\arrayrulewidth</itemformat></item> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="392">\arrayrulewidth</indexterm>\arrayrulewidth</itemformat></item> </tableterm><tableitem><para>A length that is the thickness of the rule created by <code>|</code>, <code>\hline</code>, and <code>\vline</code> in the <code>tabular</code> and <code>array</code> environments. The default is <samp>.4pt</samp>. Change it as in <code>\setlength{\arrayrulewidth}{0.8pt}</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="381">\arraystretch</indexterm>\arraystretch</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="393">\arraystretch</indexterm>\arraystretch</itemformat></item> </tableterm><tableitem><para>A factor by which the spacing between rows in the <code>tabular</code> and <code>array</code> environments is multiplied. The default is <samp>1</samp>, for no scaling. Change it as <code>\renewcommand{\arraystretch}{1.2}</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="382">\doublerulesep</indexterm>\doublerulesep</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="394">\doublerulesep</indexterm>\doublerulesep</itemformat></item> </tableterm><tableitem><para>A length that is the distance between the vertical rules produced by the <code>||</code> specifier. The default is <samp>2pt</samp>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="383">\tabcolsep</indexterm>\tabcolsep</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="395">\tabcolsep</indexterm>\tabcolsep</itemformat></item> </tableterm><tableitem><para>A length that is half of the space between columns. The default is <samp>6pt</samp>. Change it with <code>\setlength</code>. </para> @@ -4579,7 +5479,7 @@ lines: <node name="_005cmulticolumn" spaces=" "><nodename>\multicolumn</nodename><nodenext automatic="on">\vline</nodenext><nodeup automatic="on">tabular</nodeup></node> <subsection spaces=" "><sectiontitle><code>\multicolumn</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="384">\multicolumn</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="396">\multicolumn</indexterm></findex> <para>Synopsis: </para> @@ -4676,7 +5576,7 @@ vertical bar in the <var>cols</var> of either of the first row&textrsquo;s <node name="_005cvline" spaces=" "><nodename>\vline</nodename><nodenext automatic="on">\cline</nodenext><nodeprev automatic="on">\multicolumn</nodeprev><nodeup automatic="on">tabular</nodeup></node> <subsection spaces=" "><sectiontitle><code>\vline</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="385">\vline</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="397">\vline</indexterm></findex> <para>Draw a vertical line in a <code>tabular</code> or <code>array</code> environment extending the full height and depth of an entry&textrsquo;s row. Can also be used in an &arobase;-expression, although its synonym vertical @@ -4709,7 +5609,7 @@ to the <code>g</code>, with no whitespace. <node name="_005ccline" spaces=" "><nodename>\cline</nodename><nodenext automatic="on">\hline</nodenext><nodeprev automatic="on">\vline</nodeprev><nodeup automatic="on">tabular</nodeup></node> <subsection spaces=" "><sectiontitle><code>\cline</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="386">\cline</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="398">\cline</indexterm></findex> <para>Synopsis: </para> @@ -4739,7 +5639,7 @@ height. <node name="_005chline" spaces=" "><nodename>\hline</nodename><nodeprev automatic="on">\cline</nodeprev><nodeup automatic="on">tabular</nodeup></node> <subsection spaces=" "><sectiontitle><code>\hline</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="387">\hline</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="399">\hline</indexterm></findex> <para>Draws a horizontal line the width of the enclosing <code>tabular</code> or <code>array</code> environment. It&textrsquo;s most commonly used to draw a line at the @@ -4764,9 +5664,10 @@ is required. <node name="thebibliography" spaces=" "><nodename>thebibliography</nodename><nodenext automatic="on">theorem</nodenext><nodeprev automatic="on">tabular</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>thebibliography</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="388"><r>environment</r>, <code>thebibliography</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="389"><code>thebibliography</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="227">bibliography, creating (manually)</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="400"><r>environment</r>, <code>thebibliography</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="401"><code>thebibliography</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="254">bibliography, creating (manually)</indexterm></cindex> <para>Synopsis: </para> @@ -4781,15 +5682,33 @@ is required. reference list. </para> <para>In the <code>article</code> class, this reference list is labelled -&textldquo;References&textrdquo;; in the <code>report</code> class, it is labelled -&textldquo;Bibliography&textrdquo;. You can change the label (in the standard classes) -by redefining the command <code>\refname</code>. For instance, this -eliminates it entirely: +<samp>References</samp> and the label is stored in macro <code>\refname</code>; in +the <code>report</code> class, it is labelled <samp>Bibliography</samp> and the +label is stored in macro <code>\bibname</code>. </para> -<example endspaces=" "> -<pre xml:space="preserve">\renewcommand{\refname}{} -</pre></example> +<para>You can change the label by redefining the command <code>\refname</code> or +<code>\bibname</code>, whichever is applicable depending on the class: +</para> +<itemize commandarg="bullet" endspaces=" "> +<listitem><prepend>•</prepend> +<findex index="fn" spaces=" "><indexterm index="fn" number="402">\bibname</indexterm></findex> +<para>For standard classes whose top level sectioning is <code>\chapter</code> +(such as <file>book</file> and <file>report</file>), the label is in the macro +<code>\bibname</code>; +</para> +</listitem><listitem><prepend>•</prepend> +<findex index="fn" spaces=" "><indexterm index="fn" number="403">\refname</indexterm></findex> +<para>For standard classes whose the top level sectioning is <code>\section</code> +(such as <file>article</file>), the label is in macro <code>\refname</code>. +</para></listitem></itemize> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="255"><r>package</r>, <code>babel</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="256"><code>babel</code> <r>package</r></indexterm></cindex> +<para>Typically it is neither necessary nor desirable to directly redefine +<code>\refname</code> or <code>\bibname</code>; language support packages like +<file>babel</file> do this. +</para> <para>The mandatory <var>widest-label</var> argument is text that, when typeset, is as wide as the widest item label produced by the <code>\bibitem</code> commands. It is typically given as <code>9</code> for bibliographies with @@ -4806,7 +5725,7 @@ less than 10 references, <code>99</code> for ones with less than 100, etc. <node name="_005cbibitem" spaces=" "><nodename>\bibitem</nodename><nodenext automatic="on">\cite</nodenext><nodeup automatic="on">thebibliography</nodeup></node> <subsection spaces=" "><sectiontitle><code>\bibitem</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="390">\bibitem</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="404">\bibitem</indexterm></findex> <para>Synopsis: </para> @@ -4817,7 +5736,7 @@ less than 10 references, <code>99</code> for ones with less than 100, etc. <para>The <code>\bibitem</code> command generates an entry labelled by <var>label</var>. If the <var>label</var> argument is missing, a number is automatically generated using the <code>enumi</code> counter. The <var>cite_key</var> is a -<cindex index="cp" spaces=" "><indexterm index="cp" number="228">citation key</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="257">citation key</indexterm></cindex> <dfn>citation key</dfn> consisting in any sequence of letters, numbers, and punctuation symbols not containing a comma. </para> @@ -4833,7 +5752,7 @@ with a <code>\cite</code> command (<pxref label="_005ccite"><xrefnodename>\cite< <node name="_005ccite" spaces=" "><nodename>\cite</nodename><nodenext automatic="on">\nocite</nodenext><nodeprev automatic="on">\bibitem</nodeprev><nodeup automatic="on">thebibliography</nodeup></node> <subsection spaces=" "><sectiontitle><code>\cite</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="391">\cite</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="405">\cite</indexterm></findex> <para>Synopsis: </para> @@ -4855,7 +5774,7 @@ citation. For example, <code>\cite[p.~314]{knuth}</code> might pr <node name="_005cnocite" spaces=" "><nodename>\nocite</nodename><nodenext automatic="on">Using BibTeX</nodenext><nodeprev automatic="on">\cite</nodeprev><nodeup automatic="on">thebibliography</nodeup></node> <subsection spaces=" "><sectiontitle><code>\nocite</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="392">\nocite</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="406">\nocite</indexterm></findex> <para>Synopsis: </para> @@ -4871,11 +5790,11 @@ which is a list of one or more citation keys, to the <file>.aux</file> file. <node name="Using-BibTeX" spaces=" "><nodename>Using BibTeX</nodename><nodeprev automatic="on">\nocite</nodeprev><nodeup automatic="on">thebibliography</nodeup></node> <subsection spaces=" "><sectiontitle>Using Bib&tex;</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="229">using Bib&tex;</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="230">bib&tex;, using</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="231">bibliography, creating (automatically)</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="393">\bibliographystyle</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="394">\bibliography</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="258">using Bib&tex;</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="259">bib&tex;, using</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="260">bibliography, creating (automatically)</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="407">\bibliographystyle</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="408">\bibliography</indexterm></findex> <para>If you use the Bib&tex; program by Oren Patashnik (highly recommended if you need a bibliography of more than a couple of @@ -4923,9 +5842,10 @@ Bib&tex; format. Only the entries referred to via <code>\cite</code> and <node name="theorem" spaces=" "><nodename>theorem</nodename><nodenext automatic="on">titlepage</nodenext><nodeprev automatic="on">thebibliography</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>theorem</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="395"><r>environment</r>, <code>theorem</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="396"><code>theorem</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="232">theorems, typesetting</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="409"><r>environment</r>, <code>theorem</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="410"><code>theorem</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="261">theorems, typesetting</indexterm></cindex> <para>Synopsis: </para> @@ -4945,10 +5865,11 @@ possibilities for <var>n</var> are described under <code>\newtheorem</code> <node name="titlepage" spaces=" "><nodename>titlepage</nodename><nodenext automatic="on">verbatim</nodenext><nodeprev automatic="on">theorem</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>titlepage</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="397"><r>environment</r>, <code>titlepage</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="398"><code>titlepage</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="233">making a title page</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="234">title pages, creating</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="411"><r>environment</r>, <code>titlepage</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="412"><code>titlepage</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="262">making a title page</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="263">title pages, creating</indexterm></cindex> <para>Synopsis: </para> @@ -4995,13 +5916,14 @@ is left to the author. <node name="verbatim" spaces=" "><nodename>verbatim</nodename><nodenext automatic="on">verse</nodenext><nodeprev automatic="on">titlepage</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>verbatim</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="399"><r>environment</r>, <code>verbatim</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="400"><code>verbatim</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="235">verbatim text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="236">simulating typed text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="237">typed text, simulating</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="238">code, typesetting</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="239">computer programs, typesetting</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="413"><r>environment</r>, <code>verbatim</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="414"><code>verbatim</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="264">verbatim text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="265">simulating typed text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="266">typed text, simulating</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="267">code, typesetting</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="268">computer programs, typesetting</indexterm></cindex> <para>Synopsis: </para> @@ -5017,7 +5939,8 @@ which &latex; produces exactly what you type in; for instance the into a typewriter with carriage returns and blanks having the same effect that they would on a typewriter. </para> -<para>The <code>verbatim</code> uses a monospaced typewriter-like font (<code>\tt</code>). +<para>The <code>verbatim</code> environment uses a monospaced typewriter-like font +(<code>\tt</code>). </para> <menu endspaces=" "> <menuentry leadingtext="* "><menunode separator=":: ">\verb</menunode><menudescription><pre xml:space="preserve">The macro form of the <code>verbatim</code> environment. @@ -5026,8 +5949,8 @@ effect that they would on a typewriter. <node name="_005cverb" spaces=" "><nodename>\verb</nodename><nodeup automatic="on">verbatim</nodeup></node> <subsection spaces=" "><sectiontitle><code>\verb</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="401">\verb</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="240">verbatim text, inline</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="415">\verb</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="269">verbatim text, inline</indexterm></cindex> <para>Synopsis: </para> @@ -5042,11 +5965,10 @@ including special characters and spaces, using the typewriter <code>\verb*</code> and the delimiter <var>char</var>, which begins and ends the verbatim text. The delimiter must not appear in <var>literal-text</var>. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="241">visible space</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="270">visible space</indexterm></cindex> <para>The <code>*</code>-form differs only in that spaces are printed with a &textldquo;visible space&textrdquo; character. <tex endspaces=" "> -(Namely, {\tt\char&textlsquo;\ }.) </tex> </para> @@ -5055,9 +5977,10 @@ verbatim text. The delimiter must not appear in <var>literal-text</var>. <node name="verse" spaces=" "><nodename>verse</nodename><nodeprev automatic="on">verbatim</nodeprev><nodeup automatic="on">Environments</nodeup></node> <section spaces=" "><sectiontitle><code>verse</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="402"><r>environment</r>, <code>verse</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="403"><code>verse</code> <r>environment</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="242">poetry, an environment for</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="416"><r>environment</r>, <code>verse</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="417"><code>verse</code> <r>environment</r></indexterm></findex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="271">poetry, an environment for</indexterm></cindex> <para>Synopsis: </para> @@ -5072,7 +5995,7 @@ verbatim text. The delimiter must not appear in <var>literal-text</var>. <para>The <code>verse</code> environment is designed for poetry, though you may find other uses for it. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="404">\\ <r>for <code>verse</code></r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="418">\\ <r>for <code>verse</code></r></indexterm></findex> <para>The margins are indented on the left and the right, paragraphs are not indented, and the text is not justified. Separate the lines of each stanza with <code>\\</code>, and use one or more blank lines to separate the @@ -5084,8 +6007,8 @@ stanzas. <node name="Line-breaking" spaces=" "><nodename>Line breaking</nodename><nodenext automatic="on">Page breaking</nodenext><nodeprev automatic="on">Environments</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Line breaking</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="243">line breaking</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="244">breaking lines</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="272">line breaking</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="273">breaking lines</indexterm></cindex> <para>The first thing &latex; does when processing ordinary text is to translate your input file into a sequence of glyphs and spaces. To @@ -5111,9 +6034,9 @@ you but in some environments you manually force line breaks. <node name="_005c_005c" spaces=" "><nodename>\\</nodename><nodenext automatic="on">\obeycr & \restorecr</nodenext><nodeup automatic="on">Line breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\\</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="405">\\ <r>force line break</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="245">new line, starting</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="246">line break, forcing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="419">\\ <r>force line break</r></indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="274">new line, starting</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="275">line break, forcing</indexterm></cindex> <para>Synopsis: </para> @@ -5155,9 +6078,9 @@ in a <code>tabular</code> environment) the <code>\newline</code> command is a sy <node name="_005cobeycr-_0026-_005crestorecr" spaces=" "><nodename>\obeycr & \restorecr</nodename><nodenext automatic="on">\newline</nodenext><nodeprev automatic="on">\\</nodeprev><nodeup automatic="on">Line breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\obeycr</code> & <code>\restorecr</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="406">\obeycr</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="407">\restorecr</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="247">new line, output as input</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="420">\obeycr</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="421">\restorecr</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="276">new line, output as input</indexterm></cindex> <para>The <code>\obeycr</code> command makes a return in the input file (<samp>^^M</samp>, internally) the same as <code>\\</code> (followed by @@ -5171,8 +6094,8 @@ in the output. <node name="_005cnewline" spaces=" "><nodename>\newline</nodename><nodenext automatic="on">\- (hyphenation)</nodenext><nodeprev automatic="on">\obeycr & \restorecr</nodeprev><nodeup automatic="on">Line breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\newline</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="408">\newline</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="248">new line, starting (paragraph mode)</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="422">\newline</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="277">new line, starting (paragraph mode)</indexterm></cindex> <para>In ordinary text this is equivalent to double-backslash (<pxref label="_005c_005c"><xrefnodename>\\</xrefnodename></pxref>); it breaks a line, with no stretching of the text before it. @@ -5199,8 +6122,8 @@ single cell of the table. <node name="_005c_002d-_0028hyphenation_0029" spaces=" "><nodename>\- (hyphenation)</nodename><nodenext automatic="on">\discretionary</nodenext><nodeprev automatic="on">\newline</nodeprev><nodeup automatic="on">Line breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\-</code> (discretionary hyphen)</sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="409">\- <r>(hyphenation)</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="249">hyphenation, forcing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="423">\- <r>(hyphenation)</r></indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="278">hyphenation, forcing</indexterm></cindex> <para>The <code>\-</code> command tells &latex; that it may hyphenate the word at that point. &latex; is pretty good at hyphenating, and usually finds @@ -5215,8 +6138,8 @@ that &latex; might otherwise have chosen. </section> <node name="_005cdiscretionary" spaces=" "><nodename>\discretionary</nodename><nodenext automatic="on">\fussy</nodenext><nodeprev automatic="on">\- (hyphenation)</nodeprev><nodeup automatic="on">Line breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\discretionary</code> (generalized hyphenation point)</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="250">hyphenation, discretionary</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="251">discretionary hyphenation</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="279">hyphenation, discretionary</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="280">discretionary hyphenation</indexterm></cindex> <para>Synopsis: </para> @@ -5230,7 +6153,7 @@ that &latex; might otherwise have chosen. <node name="_005cfussy" spaces=" "><nodename>\fussy</nodename><nodenext automatic="on">\sloppy</nodenext><nodeprev automatic="on">\discretionary</nodeprev><nodeup automatic="on">Line breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\fussy</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="410">\fussy</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="424">\fussy</indexterm></findex> <para>The declaration <code>\fussy</code> (which is the default) makes &tex; picky about line breaking. This usually avoids too much space between @@ -5244,7 +6167,7 @@ words, at the cost of an occasional overfull box. <node name="_005csloppy" spaces=" "><nodename>\sloppy</nodename><nodenext automatic="on">\hyphenation</nodenext><nodeprev automatic="on">\fussy</nodeprev><nodeup automatic="on">Line breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\sloppy</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="411">\sloppy</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="425">\sloppy</indexterm></findex> <para>The declaration <code>\sloppy</code> makes &tex; less fussy about line breaking. This will avoid overfull boxes, at the cost of loose @@ -5257,8 +6180,8 @@ interword spacing. <node name="_005chyphenation" spaces=" "><nodename>\hyphenation</nodename><nodenext automatic="on">\linebreak & \nolinebreak</nodenext><nodeprev automatic="on">\sloppy</nodeprev><nodeup automatic="on">Line breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\hyphenation</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="412">\hyphenation</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="252">hyphenation, defining</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="426">\hyphenation</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="281">hyphenation, defining</indexterm></cindex> <para>Synopsis: </para> @@ -5282,10 +6205,10 @@ misses the hyphenations in these words): <node name="_005clinebreak-_0026-_005cnolinebreak" spaces=" "><nodename>\linebreak & \nolinebreak</nodename><nodeprev automatic="on">\hyphenation</nodeprev><nodeup automatic="on">Line breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\linebreak</code> & <code>\nolinebreak</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="413">\linebreak</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="414">\nolinebreak</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="253">line breaks, forcing</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="254">line breaks, preventing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="427">\linebreak</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="428">\nolinebreak</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="282">line breaks, forcing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="283">line breaks, preventing</indexterm></cindex> <para>Synopses: </para> @@ -5309,8 +6232,8 @@ from a demand to a request. The <var>priority</var> must be a number from <node name="Page-breaking" spaces=" "><nodename>Page breaking</nodename><nodenext automatic="on">Footnotes</nodenext><nodeprev automatic="on">Line breaking</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Page breaking</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="255">page breaking</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="256">breaking pages</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="284">page breaking</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="285">breaking pages</indexterm></cindex> <para>&latex; starts new pages asynchronously, when enough material has accumulated to fill up a page. Usually this happens automatically, @@ -5328,8 +6251,8 @@ but sometimes you may want to influence the breaks. <node name="_005ccleardoublepage" spaces=" "><nodename>\cleardoublepage</nodename><nodenext automatic="on">\clearpage</nodenext><nodeup automatic="on">Page breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\cleardoublepage</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="415">\cleardoublepage</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="257">starting on a right-hand page</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="429">\cleardoublepage</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="286">starting on a right-hand page</indexterm></cindex> <para>The <code>\cleardoublepage</code> command ends the current page and causes all the pending floating figures and tables that have so far appeared in the @@ -5342,9 +6265,9 @@ necessary. <node name="_005cclearpage" spaces=" "><nodename>\clearpage</nodename><nodenext automatic="on">\newpage</nodenext><nodeprev automatic="on">\cleardoublepage</nodeprev><nodeup automatic="on">Page breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\clearpage</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="416">\clearpage</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="258">flushing floats and starting a page</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="259">starting a new page and clearing floats</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="430">\clearpage</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="287">flushing floats and starting a page</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="288">starting a new page and clearing floats</indexterm></cindex> <para>The <code>\clearpage</code> command ends the current page and causes all the pending floating figures and tables that have so far appeared in the @@ -5355,9 +6278,9 @@ input to be printed. <node name="_005cnewpage" spaces=" "><nodename>\newpage</nodename><nodenext automatic="on">\enlargethispage</nodenext><nodeprev automatic="on">\clearpage</nodeprev><nodeup automatic="on">Page breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\newpage</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="417">\newpage</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="260">new page, starting</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="261">starting a new page</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="431">\newpage</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="289">new page, starting</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="290">starting a new page</indexterm></cindex> <para>The <code>\newpage</code> command ends the current page, but does not clear floats (<pxref label="_005cclearpage"><xrefnodename>\clearpage</xrefnodename></pxref>). @@ -5367,8 +6290,8 @@ floats (<pxref label="_005cclearpage"><xrefnodename>\clearpage</xrefnodename></p <node name="_005cenlargethispage" spaces=" "><nodename>\enlargethispage</nodename><nodenext automatic="on">\pagebreak & \nopagebreak</nodenext><nodeprev automatic="on">\newpage</nodeprev><nodeup automatic="on">Page breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\enlargethispage</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="418">\enlargethispage</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="262">enlarge current page</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="432">\enlargethispage</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="291">enlarge current page</indexterm></cindex> <para><code>\enlargethispage{size}</code> </para> @@ -5387,10 +6310,10 @@ much as possible. This is normally used together with an explicit <node name="_005cpagebreak-_0026-_005cnopagebreak" spaces=" "><nodename>\pagebreak & \nopagebreak</nodename><nodeprev automatic="on">\enlargethispage</nodeprev><nodeup automatic="on">Page breaking</nodeup></node> <section spaces=" "><sectiontitle><code>\pagebreak</code> & <code>\nopagebreak</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="419">\pagebreak</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="420">\nopagebreak</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="263">page break, forcing</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="264">page break, preventing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="433">\pagebreak</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="434">\nopagebreak</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="292">page break, forcing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="293">page break, preventing</indexterm></cindex> <para>Synopses: </para> @@ -5415,7 +6338,7 @@ insistent the request is. <node name="Footnotes" spaces=" "><nodename>Footnotes</nodename><nodenext automatic="on">Definitions</nodenext><nodeprev automatic="on">Page breaking</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Footnotes</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="265">footnotes, creating</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="294">footnotes, creating</indexterm></cindex> <para>Place a numbered footnote at the bottom of the current page, as here. </para> @@ -5450,7 +6373,7 @@ include a bibliographic style with that behavior. <node name="_005cfootnote" spaces=" "><nodename>\footnote</nodename><nodenext automatic="on">\footnotemark</nodenext><nodeup automatic="on">Footnotes</nodeup></node> <section spaces=" "><sectiontitle><code>\footnote</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="421">\footnote</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="435">\footnote</indexterm></findex> <para>Synopsis: </para> @@ -5473,9 +6396,9 @@ at the Margin or the Bottom of the Page.''} number. If you use this option then the footnote number counter is not incremented, and if you do not use it then the counter is incremented. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="266">footnotes, symbols instead of numbers</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="422">\fnsymbol<r>, and footnotes</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="423">\&arobase;fnsymbol</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="295">footnotes, symbols instead of numbers</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="436">\fnsymbol<r>, and footnotes</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="437">\&arobase;fnsymbol</indexterm></findex> <para>Change how &latex; shows the footnote counter with something like <code>\renewcommand{\thefootnote}{\fnsymbol{footnote}}</code>, which uses a sequence of symbols (<pxref label="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol"><xrefnodename>\alph \Alph \arabic \roman \Roman @@ -5490,8 +6413,8 @@ sectioning command such as <code>\chapter</code> (it can only be used in outer paragraph mode). There are some workarounds; see following sections. <!-- c xx mention packages that fix this --> </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="267">Footnotes, in a minipage</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="268">mpfootnote counter</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="296">Footnotes, in a minipage</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="297">mpfootnote counter</indexterm></cindex> <para>In a <code>minipage</code> environment the <code>\footnote</code> command uses the <code>mpfootnote</code> counter instead of the <code>footnote</code> counter, so they are numbered independently. They are @@ -5503,7 +6426,7 @@ And by default they are shown alphabetically. <xref label="minipage"><xrefnodena <node name="_005cfootnotemark" spaces=" "><nodename>\footnotemark</nodename><nodenext automatic="on">\footnotetext</nodenext><nodeprev automatic="on">\footnote</nodeprev><nodeup automatic="on">Footnotes</nodeup></node> <section spaces=" "><sectiontitle><code>\footnotemark</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="424">\footnotemark</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="438">\footnotemark</indexterm></findex> <para>Synopsis, one of: </para> @@ -5546,7 +6469,7 @@ and the third theorem.\footnotemark[\value{footnote}] <node name="_005cfootnotetext" spaces=" "><nodename>\footnotetext</nodename><nodenext automatic="on">Footnotes in a table</nodenext><nodeprev automatic="on">\footnotemark</nodeprev><nodeup automatic="on">Footnotes</nodeup></node> <section spaces=" "><sectiontitle><code>\footnotetext</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="425">\footnotetext</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="439">\footnotetext</indexterm></findex> <para>Synopsis, one of: </para> @@ -5565,7 +6488,7 @@ argument <var>number</var> changes the displayed footnote number. The <node name="Footnotes-in-a-table" spaces=" "><nodename>Footnotes in a table</nodename><nodenext automatic="on">Footnotes in section headings</nodenext><nodeprev automatic="on">\footnotetext</nodeprev><nodeup automatic="on">Footnotes</nodeup></node> <section spaces=" "><sectiontitle>Footnotes in a table</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="269">Footnotes, in a table</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="298">Footnotes, in a table</indexterm></cindex> <para>Inside a <code>table</code> environment the <code>\footnote</code> command does not work. For instance, if the code below appears on its own then the @@ -5621,17 +6544,18 @@ sequence with other footnotes. <node name="Footnotes-in-section-headings" spaces=" "><nodename>Footnotes in section headings</nodename><nodenext automatic="on">Footnotes of footnotes</nodenext><nodeprev automatic="on">Footnotes in a table</nodeprev><nodeup automatic="on">Footnotes</nodeup></node> <section spaces=" "><sectiontitle>Footnotes in section headings</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="270">footnotes, in section headings</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="271">table of contents, avoiding footnotes</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="299">footnotes, in section headings</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="300">table of contents, avoiding footnotes</indexterm></cindex> <para>Putting a footnote in a section heading, as in: </para> <example endspaces=" "> <pre xml:space="preserve">\section{Full sets\protect\footnote{This material due to ...}} </pre></example> -<cindex index="cp" spaces=" "><indexterm index="cp" number="272"><r>package</r>, <code>footmisc</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="273"><code>footmisc</code> <r>package</r></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="274"><code>stable</code> option to <code>footmisc</code> package</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="301"><r>package</r>, <code>footmisc</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="302"><code>footmisc</code> <r>package</r></indexterm></cindex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="303"><code>stable</code> option to <code>footmisc</code> package</indexterm></cindex> <noindent></noindent> <para>causes the footnote to appear at the bottom of the page where the section starts, as usual, but also at the bottom of the table of @@ -5702,17 +6626,17 @@ of multiple authors with the same affiliation. <node name="Footnote-parameters" spaces=" "><nodename>Footnote parameters</nodename><nodeprev automatic="on">Multiple reference to footnotes</nodeprev><nodeup automatic="on">Footnotes</nodeup></node> <section spaces=" "><sectiontitle>Footnote parameters</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="275">footnote parameters</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="276">parameters, for footnotes</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="304">footnote parameters</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="305">parameters, for footnotes</indexterm></cindex> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="426">\footnoterule</indexterm>\footnoterule</itemformat></item> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="440">\footnoterule</indexterm>\footnoterule</itemformat></item> </tableterm><tableitem><para>Produces the rule separating the main text on a page from the page&textrsquo;s footnotes. Default dimensions: <code>0.4pt</code> thick (or wide), and <code>0.4\columnwidth</code> long in the standard document classes (except <code>slides</code>, where it does not appear). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="427">\footnotesep</indexterm>\footnotesep</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="441">\footnotesep</indexterm>\footnotesep</itemformat></item> </tableterm><tableitem><para>The height of the strut placed at the beginning of the footnote. By default, this is set to the normal strut for <code>\footnotesize</code> fonts (<pxref label="Font-sizes"><xrefnodename>Font sizes</xrefnodename></pxref>), therefore there is no extra space between @@ -5727,11 +6651,12 @@ footnotes. This is <samp>6.65pt</samp> for <samp>10pt</samp>, <samp>7.7pt</samp <node name="Definitions" spaces=" "><nodename>Definitions</nodename><nodenext automatic="on">Counters</nodenext><nodeprev automatic="on">Footnotes</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Definitions</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="277">definitions</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="306">definitions</indexterm></cindex> <para>&latex; has support for making new commands of many different kinds. </para> <!-- c xx everything in this chapter needs examples. --> +<!-- c xx Add DeclareRobustCommand (see clsguide.pdf) --> <menu endspaces=" "> <menuentry leadingtext="* "><menunode separator=":: ">\newcommand & \renewcommand</menunode><menudescription><pre xml:space="preserve">(Re)define a new command. @@ -5743,17 +6668,18 @@ footnotes. This is <samp>6.65pt</samp> for <samp>10pt</samp>, <samp>7.7pt</samp </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\newtheorem</menunode><menudescription><pre xml:space="preserve">Define a new theorem-like environment. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\newfont</menunode><menudescription><pre xml:space="preserve">Define a new font name. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\protect</menunode><menudescription><pre xml:space="preserve">Using tricky commands. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\ignorespaces & \ignorespacesafterend</menunode><menudescription><pre xml:space="preserve">Discard extra spaces. </pre></menudescription></menuentry></menu> <node name="_005cnewcommand-_0026-_005crenewcommand" spaces=" "><nodename>\newcommand & \renewcommand</nodename><nodenext automatic="on">\providecommand</nodenext><nodeup automatic="on">Definitions</nodeup></node> <section spaces=" "><sectiontitle><code>\newcommand</code> & <code>\renewcommand</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="428">\newcommand</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="278">commands, defining new ones</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="279">commands, redefining</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="280">defining a new command</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="281">new commands, defining</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="442">\newcommand</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="307">commands, defining new ones</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="308">commands, redefining</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="309">defining a new command</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="310">new commands, defining</indexterm></cindex> <para><code>\newcommand</code> and <code>\renewcommand</code> define and redefine a command, respectively. Synopses: @@ -5765,8 +6691,8 @@ command, respectively. Synopses: \renewcommand*{\<var>cmd</var>}[<var>nargs</var>][<var>optargdefault</var>]{<var>defn</var>} </pre></example> -<cindex index="cp" spaces=" "><indexterm index="cp" number="282">starred form, defining new commands</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="283">*-form, defining new commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="311">starred form, defining new commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="312">*-form, defining new commands</indexterm></cindex> <para>The starred form of these two commands requires that the arguments not contain multiple paragraphs of text (not <code>\long</code>, in plain &tex; terms). @@ -5790,7 +6716,7 @@ command <code>\<var>cmd</var></code> is optional, with default value <var>optarg (which may be the empty string). If this argument is not present then <code>\<var>cmd</var></code> does not take an optional argument. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="284">positional parameter</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="313">positional parameter</indexterm></cindex> <para>That is, if <code>\<var>cmd</var></code> is used with square brackets following, as in <code>\<var>cmd</var>[<var>myval</var>]</code>, then within <var>defn</var> the first <dfn>positional parameter</dfn> <code>#1</code> expands <var>myval</var>. On the @@ -5866,10 +6792,10 @@ part of the definition and thus do define a group. <node name="_005cprovidecommand" spaces=" "><nodename trailingspaces=" ">\providecommand</nodename><nodenext automatic="on">\newcounter</nodenext><nodeprev automatic="on">\newcommand & \renewcommand</nodeprev><nodeup automatic="on">Definitions</nodeup></node> <section spaces=" "><sectiontitle><code>\providecommand</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="429">\providecommand</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="285">commands, defining new ones</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="286">defining a new command</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="287">new commands, defining</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="443">\providecommand</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="314">commands, defining new ones</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="315">defining a new command</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="316">new commands, defining</indexterm></cindex> <para>Defines a command, as long as no command of this name already exists. Synopses: @@ -5890,8 +6816,8 @@ loaded more than once. <node name="_005cnewcounter" spaces=" "><nodename>\newcounter</nodename><nodenext automatic="on">\newlength</nodenext><nodeprev automatic="on">\providecommand</nodeprev><nodeup automatic="on">Definitions</nodeup></node> <section spaces=" "><sectiontitle><code>\newcounter</code>: Allocating a counter</sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="430">\newcounter</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="288">counters, defining new</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="444">\newcounter</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="317">counters, defining new</indexterm></cindex> <para>Synopsis, one of: </para> @@ -5922,11 +6848,11 @@ existing counter <var>supercounter</var>. For example, ordinarily <node name="_005cnewlength" spaces=" "><nodename>\newlength</nodename><nodenext automatic="on">\newsavebox</nodenext><nodeprev automatic="on">\newcounter</nodeprev><nodeup automatic="on">Definitions</nodeup></node> <section spaces=" "><sectiontitle><code>\newlength</code>: Allocating a length</sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="431">\newlength</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="289">lengths, allocating new</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="290">rubber lengths, defining new</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="291">skip register, plain &tex;</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="292">glue register, plain &tex;</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="445">\newlength</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="318">lengths, allocating new</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="319">rubber lengths, defining new</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="320">skip register, plain &tex;</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="321">glue register, plain &tex;</indexterm></cindex> <para>Allocate a new <dfn>length</dfn> register. Synopsis: </para> @@ -5948,8 +6874,8 @@ sequence <code>\<var>arg</var></code> must not already be defined. <node name="_005cnewsavebox" spaces=" "><nodename>\newsavebox</nodename><nodenext automatic="on">\newenvironment & \renewenvironment</nodenext><nodeprev automatic="on">\newlength</nodeprev><nodeup automatic="on">Definitions</nodeup></node> <section spaces=" "><sectiontitle><code>\newsavebox</code>: Allocating a box</sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="432">\newsavebox</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="293">box, allocating new</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="446">\newsavebox</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="322">box, allocating new</indexterm></cindex> <para>Allocate a &textldquo;bin&textrdquo; for holding a box. Synopsis: </para> @@ -5971,11 +6897,11 @@ be already defined. <node name="_005cnewenvironment-_0026-_005crenewenvironment" spaces=" "><nodename>\newenvironment & \renewenvironment</nodename><nodenext automatic="on">\newtheorem</nodenext><nodeprev automatic="on">\newsavebox</nodeprev><nodeup automatic="on">Definitions</nodeup></node> <section spaces=" "><sectiontitle><code>\newenvironment</code> & <code>\renewenvironment</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="433">\newenvironment</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="434">\renewenvironment</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="294">environments, defining</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="295">defining new environments</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="296">redefining environments</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="447">\newenvironment</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="448">\renewenvironment</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="323">environments, defining</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="324">defining new environments</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="325">redefining environments</indexterm></cindex> <para>These commands define or redefine an environment <var>env</var>, that is, <code>\begin{<var>env</var>} <var>body</var> \end{<var>env</var>}</code>. Synopses: @@ -5987,7 +6913,7 @@ be already defined. \renewenvironment*{<var>env</var>}[<var>nargs</var>][<var>optargdefault</var>]{<var>begdefn</var>}{<var>enddefn</var>} </pre></example> -<cindex index="cp" spaces=" "><indexterm index="cp" number="297"><code>*</code>-form of environment commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="326"><code>*</code>-form of environment commands</indexterm></cindex> <para>The starred form of these commands requires that the arguments not contain multiple paragraphs of text. The body of these environments can still contain multiple paragraphs. @@ -6102,12 +7028,12 @@ In the document, use the environment like this: <node name="_005cnewtheorem" spaces=" "><nodename>\newtheorem</nodename><nodenext automatic="on">\newfont</nodenext><nodeprev automatic="on">\newenvironment & \renewenvironment</nodeprev><nodeup automatic="on">Definitions</nodeup></node> <section spaces=" "><sectiontitle><code>\newtheorem</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="435">\newtheorem</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="298">theorems, defining</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="299">defining new theorems</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="449">\newtheorem</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="327">theorems, defining</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="328">defining new theorems</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="300">theorem-like environment</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="301">environment, theorem-like</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="329">theorem-like environment</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="330">environment, theorem-like</indexterm></cindex> <para>Define a new theorem-like environment. Synopses: </para> <example endspaces=" "> @@ -6237,9 +7163,9 @@ by <samp>Theorem 2.1</samp> and <samp>Definition 2.2</samp>. <node name="_005cnewfont" spaces=" "><nodename>\newfont</nodename><nodenext automatic="on">\protect</nodenext><nodeprev automatic="on">\newtheorem</nodeprev><nodeup automatic="on">Definitions</nodeup></node> <section spaces=" "><sectiontitle><code>\newfont</code>: Define a new font (obsolete)</sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="436">\newfont</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="302">fonts, new commands for</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="303">defining new fonts</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="450">\newfont</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="331">fonts, new commands for</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="332">defining new fonts</indexterm></cindex> <para><code>\newfont</code>, now obsolete, defines a command that will switch fonts. Synopsis: @@ -6253,7 +7179,7 @@ current font. &latex; will look on your system for a file named <file><var>fontname</var>.tfm</file>. The control sequence must must not already be defined. It must begin with a backslash (<samp>\</samp>). </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="437">.fd <r>file</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="451">.fd <r>file</r></indexterm></findex> <para>This command is obsolete. It is a low-level command for setting up an individual font. Today fonts are almost always defined in families (which allows you to, for example, associate a boldface with a roman) @@ -6262,8 +7188,8 @@ through the so-called &textldquo;New Font Selection Scheme&textrdquo;, either by system fonts such as Xe&latex; (<pxref label="TeX-engines"><xrefnodename>&tex; engines</xrefnodename></pxref>). <!-- c xx explain nfss somewhere --> </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="304">at clause, in font definitions</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="305">design size, in font definitions</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="333">at clause, in font definitions</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="334">design size, in font definitions</indexterm></cindex> <para>But since it is part of &latex;, here is an explanation: the <var>font description</var> consists of a <var>fontname</var> and an optional <dfn>at clause</dfn>; this can have the form either <code>at <var>dimen</var></code> @@ -6284,18 +7210,21 @@ characters in each: </section> -<node name="_005cprotect" spaces=" "><nodename>\protect</nodename><nodeprev automatic="on">\newfont</nodeprev><nodeup automatic="on">Definitions</nodeup></node> +<node name="_005cprotect" spaces=" "><nodename>\protect</nodename><nodenext automatic="on">\ignorespaces & \ignorespacesafterend</nodenext><nodeprev automatic="on">\newfont</nodeprev><nodeup automatic="on">Definitions</nodeup></node> <section spaces=" "><sectiontitle><code>\protect</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="438">\protect</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="306">fragile commands</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="307">robust commands</indexterm></cindex> - -<para>All &latex; commands are either <dfn>fragile</dfn> or <dfn>robust</dfn>. -Footnotes, line breaks, any command that has an optional argument, and -many more, are fragile. A fragile command can break when it is used in -the argument to certain commands. To prevent such commands from -breaking one solution is to have them preceded by the command +<findex index="fn" spaces=" "><indexterm index="fn" number="452">\protect</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="335">fragile commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="336">robust commands</indexterm></cindex> + +<para>All &latex; commands are either <dfn>fragile</dfn> or <dfn>robust</dfn>. A +fragile command can break when it is used in the argument to certain +other commands. Commands that contain data that &latex; writes to an +auxiliary file and re-reads later are fragile. This includes material +that goes into a table of contents, list of figures, list of tables, +etc. Fragile commands also include line breaks, any command that has an +optional argument, and many more. To prevent such commands from +breaking, one solution is to preceded them with the command <code>\protect</code>. </para> <para>For example, when &latex; runs the <code>\section{<var>section @@ -6304,7 +7233,7 @@ name</var>}</code> command it writes the <var>section name</var> text to document such as in the table of contents. Any argument that is internally expanded by &latex; without typesetting it directly is referred to as a -<cindex index="cp" spaces=" "><indexterm index="cp" number="308">moving arguments</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="337">moving arguments</indexterm></cindex> <dfn>moving argument</dfn>. A command is fragile if it can expand during this process into invalid &tex; code. Some examples of moving arguments are those that appear in the <code>\caption{...}</code> @@ -6347,12 +7276,103 @@ to <code>\protect\(..\protect\)</code>. </section> +<node name="_005cignorespaces-_0026-_005cignorespacesafterend" spaces=" "><nodename>\ignorespaces & \ignorespacesafterend</nodename><nodeprev automatic="on">\protect</nodeprev><nodeup automatic="on">Definitions</nodeup></node> +<section spaces=" "><sectiontitle><code>\ignorespaces & \ignorespacesafterend</code></sectiontitle> + +<findex index="fn" spaces=" "><indexterm index="fn" number="453">\ignorespaces</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="454">\ignorespacesafterend</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="338">spaces, ignore around commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="339">commands, ignore spaces</indexterm></cindex> + +<para>Synopsis: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\ignorespaces +</pre></example> + +<para>or +</para> +<example endspaces=" "> +<pre xml:space="preserve">\ignorespacesafterend +</pre></example> + +<para>Both commands cause &latex; to ignore spaces after the end of the +command up until the first non-space character. The first is a command +from Plain &tex;, and the second is &latex;-specific. +</para> +<para>The <code>ignorespaces</code> is often used when defining commands via +<code>\newcommand</code>, or <code>\newenvironment</code>, or <code>\def</code>. The +example below illustrates. It allows a user to show the points values +for quiz questions in the margin but it is inconvenient because, as +shown in the <code>enumerate</code> list, users must not put any space between +the command and the question text. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\newcommand{\points}[1]{\makebox[0pt]{\makebox[10em][l]{#1~pts}} +\begin{enumerate} + \item\points{10}no extra space output here + \item\points{15} extra space output between the number and the word `extra' +\end{enumerate} +</pre></example> + +<para>The solution is to change to +<code>\newcommand{\points}[1]{\makebox[0pt]{\makebox[10em][l]{#1~pts}}\ignorespaces}</code>. +</para> +<para>A second example shows spaces being removed from the front of text. The +commands below allow a user to uniformly attach a title to names. But, +as given, if a title accidentally starts with a space then +<code>\fullname</code> will reproduce that. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\makeatletter +\newcommand{\honorific}[1]{\def\&arobase;honorific{#1}} % remember title +\newcommand{\fullname}[1]{\&arobase;honorific~#1} % recall title; put before name +\makeatother +\begin{tabular}{|l|} +\honorific{Mr/Ms} \fullname{Jones} \\ % no extra space here +\honorific{ Mr/Ms} \fullname{Jones} % extra space before title +\end{tabular} +</pre></example> + +<para>To fix this, change to +<code>\newcommand{\fullname}[1]{\ignorespaces\&arobase;honorific~#1}</code>. +</para> +<para>The <code>\ignorespaces</code> is also often used in a <code>\newenvironment</code> +at the end of the <var>begin</var> clause, that is, as part of the second +argument, as in <code>\begin{newenvironment}{<var>env +name</var>}{... \ignorespaces}{...}</code>. +</para> +<para>To strip spaces off the end of an environment use +<code>\ignorespacesafterend</code>. An example is that this will show a much +larger vertical space between the first and second environments than +between the second and third. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\newenvironment{eq}{\begin{equation}}{\end{equation}} +\begin{eq} +e=mc^2 +\end{eq} +\begin{equation} +F=ma +\end{equation} +\begin{equation} +E=IR +\end{equation} +</pre></example> + +<para>Putting a comment character <code>%</code> immediately after the +<code>\end{eq}</code> will make the vertical space disappear, but that is +inconvenient. The solution is to change to +<code>\newenvironment{eq}{\begin{equation}}{\end{equation}\ignorespacesafterend}</code>. +</para> + +</section> </chapter> <node name="Counters" spaces=" "><nodename>Counters</nodename><nodenext automatic="on">Lengths</nodenext><nodeprev automatic="on">Definitions</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Counters</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="309">counters, a list of</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="310">variables, a list of</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="340">counters, a list of</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="341">variables, a list of</indexterm></cindex> <para>Everything &latex; numbers for you has a counter associated with it. The name of the counter is often the same as the name of the @@ -6395,7 +7415,7 @@ up to four levels of nesting (<pxref label="enumerate"><xrefnodename>enumerate</ <node name="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol" spaces=" "><nodename>\alph \Alph \arabic \roman \Roman \fnsymbol</nodename><nodenext automatic="on">\usecounter</nodenext><nodeup automatic="on">Counters</nodeup></node> <section spaces=" "><sectiontitle><code>\alph \Alph \arabic \roman \Roman \fnsymbol</code>: Printing counters</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="311">counters, printing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="342">counters, printing</indexterm></cindex> <para>Print the value of a counter, in a specified style. For instance, if the counter <var>counter</var> has the value 1 then a @@ -6407,22 +7427,22 @@ instance, <code>\alph{enumi}</code>. Note that the counter name d start with a backslash. </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="439">\alph{<var>counter</var>}</indexterm>\alph{<var>counter</var>}</itemformat></item> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="455">\alph{<var>counter</var>}</indexterm>\alph{<var>counter</var>}</itemformat></item> </tableterm><tableitem><para>Print the value of <var>counter</var> in lowercase letters: &textlsquo;a&textrsquo;, &textlsquo;b&textrsquo;, &enddots; </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="440">\Alph{<var>counter</var>}</indexterm>\Alph{<var>counter</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="456">\Alph{<var>counter</var>}</indexterm>\Alph{<var>counter</var>}</itemformat></item> </tableterm><tableitem><para>Print in uppercase letters: &textlsquo;A&textrsquo;, &textlsquo;B&textrsquo;, &enddots; </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="441">\arabic{<var>counter</var>}</indexterm>\arabic{<var>counter</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="457">\arabic{<var>counter</var>}</indexterm>\arabic{<var>counter</var>}</itemformat></item> </tableterm><tableitem><para>Print in Arabic numbers: &textlsquo;1&textrsquo;, &textlsquo;2&textrsquo;, &enddots; </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="442">\roman{<var>counter</var>}</indexterm>\roman{<var>counter</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="458">\roman{<var>counter</var>}</indexterm>\roman{<var>counter</var>}</itemformat></item> </tableterm><tableitem><para>Print in lowercase roman numerals: &textlsquo;i&textrsquo;, &textlsquo;ii&textrsquo;, &enddots; </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="443">\Roman{<var>counter</var>}</indexterm>\Roman{<var>counter</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="459">\Roman{<var>counter</var>}</indexterm>\Roman{<var>counter</var>}</itemformat></item> </tableterm><tableitem><para>Print in uppercase roman numerals: &textlsquo;I&textrsquo;, &textlsquo;II&textrsquo;, &enddots; </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="444">\fnsymbol{<var>counter</var>}</indexterm>\fnsymbol{<var>counter</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="460">\fnsymbol{<var>counter</var>}</indexterm>\fnsymbol{<var>counter</var>}</itemformat></item> </tableterm><tableitem><para>Prints the value of <var>counter</var> in a specific sequence of nine symbols (conventionally used for labeling footnotes). The value of <var>counter</var> must be between 1 and 9, inclusive. @@ -6430,9 +7450,11 @@ symbols (conventionally used for labeling footnotes). The value of <para>Here are the symbols: </para> <multitable spaces=" " endspaces=" "><columnfractions line=" .33 .33 .33"><columnfraction value=".33"></columnfraction><columnfraction value=".33"></columnfraction><columnfraction value=".33"></columnfraction></columnfractions> -<thead><row><entry command="headitem" spaces=" "><para>Name</para></entry><entry command="tab" spaces=" "><para>Command</para></entry><entry command="tab"><para>Equivalent Unicode symbol and/or numeric code point<!-- c --> +<thead><row><entry command="headitem" spaces=" "><para>Name</para></entry><entry command="tab" spaces=" "><para>Command</para></entry><entry command="tab"><para>Equivalent Unicode symbol and/or numeric code point<!-- c + --> </para></entry></row></thead><tbody><row><entry command="item"> -<para>asterisk</para></entry><entry command="tab"><para><code>\ast</code></para></entry><entry command="tab"><para>*<!-- c --> +<para>asterisk</para></entry><entry command="tab"><para><code>\ast</code></para></entry><entry command="tab"><para>*<!-- c + --> </para></entry></row><row><entry command="item"> <para>dagger</para></entry><entry command="tab"><para><code>\dagger</code></para></entry><entry command="tab"><para><U>2020</U> </para></entry></row><row><entry command="item"> @@ -6444,7 +7466,8 @@ symbols (conventionally used for labeling footnotes). The value of </para></entry></row><row><entry command="item"> <para>double-vert</para></entry><entry command="tab"><para><code>\parallel</code></para></entry><entry command="tab"><para><U>2016</U> </para></entry></row><row><entry command="item"> -<para>double-asterisk</para></entry><entry command="tab"><para><code>\ast\ast</code></para></entry><entry command="tab"><para>**<!-- c --> +<para>double-asterisk</para></entry><entry command="tab"><para><code>\ast\ast</code></para></entry><entry command="tab"><para>**<!-- c + --> </para></entry></row><row><entry command="item"> <para>double-dagger</para></entry><entry command="tab"><para><code>\dagger\dagger</code></para></entry><entry command="tab"><para><U>2020</U><U>2020</U> </para></entry></row><row><entry command="item"> @@ -6458,9 +7481,9 @@ symbols (conventionally used for labeling footnotes). The value of <node name="_005cusecounter" spaces=" "><nodename>\usecounter</nodename><nodenext automatic="on">\value</nodenext><nodeprev automatic="on">\alph \Alph \arabic \roman \Roman \fnsymbol</nodeprev><nodeup automatic="on">Counters</nodeup></node> <section spaces=" "><sectiontitle><code>\usecounter{<var>counter</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="445">\usecounter</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="312">list items, specifying counter</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="313">numbered items, specifying counter</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="461">\usecounter</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="343">list items, specifying counter</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="344">numbered items, specifying counter</indexterm></cindex> <para>Synopsis: </para> @@ -6494,8 +7517,8 @@ value. This command is fragile (<pxref label="_005cprotect"><xrefnodename>\prot <node name="_005cvalue" spaces=" "><nodename>\value</nodename><nodenext automatic="on">\setcounter</nodenext><nodeprev automatic="on">\usecounter</nodeprev><nodeup automatic="on">Counters</nodeup></node> <section spaces=" "><sectiontitle><code>\value{<var>counter</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="446">\value</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="314">counters, getting value of</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="462">\value</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="345">counters, getting value of</indexterm></cindex> <para>Synopsis: </para> @@ -6535,9 +7558,9 @@ Other counter is \arabic{other}. <node name="_005csetcounter" spaces=" "><nodename>\setcounter</nodename><nodenext automatic="on">\addtocounter</nodenext><nodeprev automatic="on">\value</nodeprev><nodeup automatic="on">Counters</nodeup></node> <section spaces=" "><sectiontitle><code>\setcounter{<var>counter</var>}{<var>value</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="447">\setcounter</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="315">counters, setting</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="316">setting counters</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="463">\setcounter</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="346">counters, setting</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="347">setting counters</indexterm></cindex> <para>Synopsis: </para> @@ -6561,7 +7584,7 @@ Here it is in Roman: \Roman{section}. <node name="_005caddtocounter" spaces=" "><nodename>\addtocounter</nodename><nodenext automatic="on">\refstepcounter</nodenext><nodeprev automatic="on">\setcounter</nodeprev><nodeup automatic="on">Counters</nodeup></node> <section spaces=" "><sectiontitle><code>\addtocounter{<var>counter</var>}{<var>value</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="448">\addtocounter</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="464">\addtocounter</indexterm></findex> <para>The <code>\addtocounter</code> command globally increments <var>counter</var> by the amount specified by the <var>value</var> argument, which may be negative. @@ -6579,7 +7602,7 @@ Here it is in Roman: \Roman{section}. <node name="_005crefstepcounter" spaces=" "><nodename>\refstepcounter</nodename><nodenext automatic="on">\stepcounter</nodenext><nodeprev automatic="on">\addtocounter</nodeprev><nodeup automatic="on">Counters</nodeup></node> <section spaces=" "><sectiontitle><code>\refstepcounter{<var>counter</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="449">\refstepcounter</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="465">\refstepcounter</indexterm></findex> <para>The <code>\refstepcounter</code> command works in the same way as <code>\stepcounter</code> (<pxref label="_005cstepcounter"><xrefnodename>\stepcounter</xrefnodename></pxref>): it globally increments the @@ -6598,7 +7621,7 @@ locally, i.e., inside the current group. <node name="_005cstepcounter" spaces=" "><nodename>\stepcounter</nodename><nodenext automatic="on">\day \month \year</nodenext><nodeprev automatic="on">\refstepcounter</nodeprev><nodeup automatic="on">Counters</nodeup></node> <section spaces=" "><sectiontitle><code>\stepcounter{<var>counter</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="450">\stepcounter</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="466">\stepcounter</indexterm></findex> <para>The <code>\stepcounter</code> command globally adds one to <var>counter</var> and resets all counters numbered within it. (For the definition of @@ -6609,9 +7632,9 @@ resets all counters numbered within it. (For the definition of <node name="_005cday-_005cmonth-_005cyear" spaces=" "><nodename>\day \month \year</nodename><nodeprev automatic="on">\stepcounter</nodeprev><nodeup automatic="on">Counters</nodeup></node> <section spaces=" "><sectiontitle><code>\day \month \year</code>: Predefined counters</sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="451">\day</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="452">\month</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="453">\year</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="467">\day</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="468">\month</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="469">\year</indexterm></findex> <para>&latex; defines counters for the day of the month (<code>\day</code>, 1&textndash;31), month of the year (<code>\month</code>, 1&textndash;12), and year @@ -6628,7 +7651,7 @@ current day (<pxref label="_005ctoday"><xrefnodename>\today</xrefnodename></pxre <node name="Lengths" spaces=" "><nodename>Lengths</nodename><nodenext automatic="on">Making paragraphs</nodenext><nodeprev automatic="on">Counters</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Lengths</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="317">lengths, defining and using</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="348">lengths, defining and using</indexterm></cindex> <para>A <dfn>length</dfn> is a measure of distance. Many &latex; commands take a length as an argument. @@ -6671,67 +7694,67 @@ and <code>\setlength{\zlength}{3\ylength}</code> the <node name="Units-of-length" spaces=" "><nodename>Units of length</nodename><nodenext automatic="on">\setlength</nodenext><nodeup automatic="on">Lengths</nodeup></node> <section spaces=" "><sectiontitle>Units of length</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="318">units, of length</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="349">units, of length</indexterm></cindex> <para>&tex; and &latex; know about these units both inside and outside of math mode. </para> <table commandarg="code" spaces=" " endspaces=" "> <tableentry><tableterm><item spaces=" "><itemformat command="code">pt </itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="454">pt</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="319">Point</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="470">pt</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="350">Point</indexterm></cindex> <para>Point 1/72.27 inch. The conversion to metric units, to two decimal places, is 1<dmn>point</dmn> = 2.85<dmn>mm</dmn> = 28.45<dmn>cm</dmn>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">pc</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="320">pica</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="455">pc</indexterm></findex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="351">pica</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="471">pc</indexterm></findex> <para>Pica, 12 pt </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">in </itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="456">in</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="457">inch</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="472">in</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="473">inch</indexterm></findex> <para>Inch, 72.27 pt </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">bp </itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="458">bp</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="321">Big point</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="474">bp</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="352">Big point</indexterm></cindex> <para>Big point, 1/72 inch. This length is the definition of a point in PostScript and many desktop publishing systems. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">cm </itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="322">Centimeter</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="459">cm</indexterm></findex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="353">Centimeter</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="475">cm</indexterm></findex> <para>Centimeter </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">mm </itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="323">Millimeter</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="460">mm</indexterm></findex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="354">Millimeter</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="476">mm</indexterm></findex> <para>Millimeter </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">dd </itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="324">Didot point</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="461">dd</indexterm></findex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="355">Didot point</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="477">dd</indexterm></findex> <para>Didot point, 1.07 pt </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">cc </itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="325">Cicero</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="462">cc</indexterm></findex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="356">Cicero</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="478">cc</indexterm></findex> <para>Cicero, 12 dd </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">sp </itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="326">Scaled point</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="463">sp</indexterm></findex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="357">Scaled point</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="479">sp</indexterm></findex> <para>Scaled point, 1/65536 pt </para> </tableitem></tableentry></table> -<cindex index="cp" spaces=" "><indexterm index="cp" number="327">ex</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="328">x-height</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="464">ex</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="329">m-width</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="330">em</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="465">em</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="358">ex</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="359">x-height</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="480">ex</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="360">m-width</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="361">em</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="481">em</indexterm></findex> <para>Two other lengths that are often used are values set by the designer of the font. The x-height of the current font <dfn>ex</dfn>, traditionally the height of the lower case letter x, is often used for vertical @@ -6744,8 +7767,8 @@ of the vertical space between list items given as likely to still be reasonable if the font is changed than a definition given in points. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="331">mu, math unit</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="466">mu</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="362">mu, math unit</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="482">mu</indexterm></findex> <para>In math mode, many definitions are expressed in terms of the math unit <dfn>mu</dfn> given by 1 em = 18 mu, where the em is taken from the current math symbols family. <xref label="Spacing-in-math-mode"><xrefnodename>Spacing in math mode</xrefnodename></xref>. @@ -6755,8 +7778,8 @@ math symbols family. <xref label="Spacing-in-math-mode"><xrefnodename>Spacing i <node name="_005csetlength" spaces=" "><nodename>\setlength</nodename><nodenext automatic="on">\addtolength</nodenext><nodeprev automatic="on">Units of length</nodeprev><nodeup automatic="on">Lengths</nodeup></node> <section spaces=" "><sectiontitle><code>\setlength</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="467">\setlength</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="332">lengths, setting</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="483">\setlength</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="363">lengths, setting</indexterm></cindex> <para>Synopsis: </para> @@ -6765,7 +7788,7 @@ math symbols family. <xref label="Spacing-in-math-mode"><xrefnodename>Spacing i </pre></example> <para>The <code>\setlength</code> sets the value of <dfn>length command</dfn> -<cindex index="cp" spaces=" "><indexterm index="cp" number="333">length command</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="364">length command</indexterm></cindex> <code>\<var>len</var></code> to the <var>value</var> argument which can be expressed in any units that &latex; understands, i.e., inches (<code>in</code>), millimeters (<code>mm</code>), points (<code>pt</code>), big points (<code>bp</code>), etc. @@ -6775,8 +7798,8 @@ units that &latex; understands, i.e., inches (<code>in</code>), millimeters <node name="_005caddtolength" spaces=" "><nodename>\addtolength</nodename><nodenext automatic="on">\settodepth</nodenext><nodeprev automatic="on">\setlength</nodeprev><nodeup automatic="on">Lengths</nodeup></node> <section spaces=" "><sectiontitle><code>\addtolength</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="468">\addtolength</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="334">lengths, adding to</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="484">\addtolength</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="365">lengths, adding to</indexterm></cindex> <para>Synopsis: </para> @@ -6794,7 +7817,7 @@ negative. <node name="_005csettodepth" spaces=" "><nodename>\settodepth</nodename><nodenext automatic="on">\settoheight</nodenext><nodeprev automatic="on">\addtolength</nodeprev><nodeup automatic="on">Lengths</nodeup></node> <section spaces=" "><sectiontitle><code>\settodepth</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="469">\settodepth</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="485">\settodepth</indexterm></findex> <para>Synopsis: </para> @@ -6810,7 +7833,7 @@ negative. <node name="_005csettoheight" spaces=" "><nodename>\settoheight</nodename><nodenext automatic="on">\settowidth</nodenext><nodeprev automatic="on">\settodepth</nodeprev><nodeup automatic="on">Lengths</nodeup></node> <section spaces=" "><sectiontitle><code>\settoheight</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="470">\settoheight</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="486">\settoheight</indexterm></findex> <para>Synopsis: </para> @@ -6827,7 +7850,7 @@ equal to the height of the <code>text</code> argument. <node name="_005csettowidth" spaces=" "><nodename>\settowidth</nodename><nodenext automatic="on">Predefined lengths</nodenext><nodeprev automatic="on">\settoheight</nodeprev><nodeup automatic="on">Lengths</nodeup></node> <section spaces=" "><sectiontitle><code>\settowidth{\<var>len</var>}{<var>text</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="471">\settowidth</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="487">\settowidth</indexterm></findex> <para>Synopsis: </para> @@ -6843,20 +7866,20 @@ to the width of the <var>text</var> argument. <node name="Predefined-lengths" spaces=" "><nodename>Predefined lengths</nodename><nodeprev automatic="on">\settowidth</nodeprev><nodeup automatic="on">Lengths</nodeup></node> <section spaces=" "><sectiontitle>Predefined lengths</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="335">lengths, predefined</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="336">predefined lengths</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="366">lengths, predefined</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="367">predefined lengths</indexterm></cindex> <para><code>\width</code> -<findex index="fn" spaces=" "><indexterm index="fn" number="472">\width</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="488">\width</indexterm></findex> </para> <para><code>\height</code> -<findex index="fn" spaces=" "><indexterm index="fn" number="473">\height</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="489">\height</indexterm></findex> </para> <para><code>\depth</code> -<findex index="fn" spaces=" "><indexterm index="fn" number="474">\depth</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="490">\depth</indexterm></findex> </para> <para><code>\totalheight</code> -<findex index="fn" spaces=" "><indexterm index="fn" number="475">\totalheight</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="491">\totalheight</indexterm></findex> </para> <para>These length parameters can be used in the arguments of the box-making commands (<pxref label="Boxes"><xrefnodename>Boxes</xrefnodename></pxref>). They specify the natural width, etc., of @@ -6874,8 +7897,8 @@ natural size, e.g., say <node name="Making-paragraphs" spaces=" "><nodename>Making paragraphs</nodename><nodenext automatic="on">Math formulas</nodenext><nodeprev automatic="on">Lengths</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Making paragraphs</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="337">making paragraphs</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="338">paragraphs</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="368">making paragraphs</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="369">paragraphs</indexterm></cindex> <para>A paragraph is ended by one or more completely blank lines&textmdash;lines not containing even a <code>%</code>. A blank line should not appear where a new @@ -6893,9 +7916,9 @@ a sectioning command. <node name="_005cindent" spaces=" "><nodename>\indent</nodename><nodenext automatic="on">\noindent</nodenext><nodeup automatic="on">Making paragraphs</nodeup></node> <section spaces=" "><sectiontitle><code>\indent</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="476">\indent</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="477">\parindent</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="339">indent, forcing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="492">\indent</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="493">\parindent</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="370">indent, forcing</indexterm></cindex> <para><code>\indent</code> produces a horizontal space whose width equals to the <code>\parindent</code> length, the normal paragraph indentation. It is used @@ -6910,8 +7933,8 @@ mode, otherwise <code>15pt</code> for <code>10pt</code> documents, <code>17pt</c <node name="_005cnoindent" spaces=" "><nodename>\noindent</nodename><nodenext automatic="on">\parskip</nodenext><nodeprev automatic="on">\indent</nodeprev><nodeup automatic="on">Making paragraphs</nodeup></node> <section spaces=" "><sectiontitle><code>\noindent</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="478">\noindent</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="340">indent, suppressing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="494">\noindent</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="371">indent, suppressing</indexterm></cindex> <para>When used at the beginning of the paragraph, this command suppresses any paragraph indentation, as in this example. @@ -6932,8 +7955,8 @@ paragraph indentation, as in this example. <node name="_005cparskip" spaces=" "><nodename>\parskip</nodename><nodenext automatic="on">Marginal notes</nodenext><nodeprev automatic="on">\noindent</nodeprev><nodeup automatic="on">Making paragraphs</nodeup></node> <section spaces=" "><sectiontitle><code>\parskip</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="479">\parskip</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="341">vertical space before paragraphs</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="495">\parskip</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="372">vertical space before paragraphs</indexterm></cindex> <para><code>\parskip</code> is a rubber length defining extra vertical space added before each paragraph. The default is <code>0pt plus1pt</code>. @@ -6943,10 +7966,10 @@ before each paragraph. The default is <code>0pt plus1pt</code>. <node name="Marginal-notes" spaces=" "><nodename>Marginal notes</nodename><nodeprev automatic="on">\parskip</nodeprev><nodeup automatic="on">Making paragraphs</nodeup></node> <section spaces=" "><sectiontitle>Marginal notes</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="342">marginal notes</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="343">notes in the margin</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="344">remarks in the margin</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="480">\marginpar</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="373">marginal notes</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="374">notes in the margin</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="375">remarks in the margin</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="496">\marginpar</indexterm></findex> <para>Synopsis: </para> @@ -6970,8 +7993,8 @@ will be placed <para>in the nearest margin for two-column layout (option <code>twocolumn</code>, see <ref label="Document-class-options"><xrefnodename>Document class options</xrefnodename></ref>). </para></listitem></itemize> -<findex index="fn" spaces=" "><indexterm index="fn" number="481">\reversemarginpar</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="482">\normalmarginpar</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="497">\reversemarginpar</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="498">\normalmarginpar</indexterm></findex> <para>The command <code>\reversemarginpar</code> places subsequent marginal notes in the opposite (inside) margin. <code>\normalmarginpar</code> places them in the default position. @@ -6985,15 +8008,15 @@ hyphenation there by beginning the node with <code>\hspace{0pt}</c <para>These parameters affect the formatting of the note: </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="483">\marginparpush</indexterm>\marginparpush</itemformat></item> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="499">\marginparpush</indexterm>\marginparpush</itemformat></item> </tableterm><tableitem><para>Minimum vertical space between notes; default <samp>7pt</samp> for <samp>12pt</samp> documents, <samp>5pt</samp> else. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="484">\marginparsep</indexterm>\marginparsep</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="500">\marginparsep</indexterm>\marginparsep</itemformat></item> </tableterm><tableitem><para>Horizontal space between the main text and the note; default <samp>11pt</samp> for <samp>10pt</samp> documents, <samp>10pt</samp> else. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="485">\marginparwidth</indexterm>\marginparwidth</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="501">\marginparwidth</indexterm>\marginparwidth</itemformat></item> </tableterm><tableitem><para>Width of the note itself; default for a one-sided <samp>10pt</samp> document is <samp>90pt</samp>, <samp>83pt</samp> for <samp>11pt</samp>, and <samp>68pt</samp> for <samp>12pt</samp>; <samp>17pt</samp> more in each case for a two-sided document. @@ -7013,15 +8036,18 @@ notes from falling off the bottom of the page. <node name="Math-formulas" spaces=" "><nodename>Math formulas</nodename><nodenext automatic="on">Modes</nodenext><nodeprev automatic="on">Making paragraphs</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Math formulas</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="345">math formulas</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="346">formulas, math</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="347">math mode, entering</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="486"><r>environment</r>, <code>math</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="487"><code>math</code> <r>environment</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="488"><r>environment</r>, <code>displaymath</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="489"><code>displaymath</code> <r>environment</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="490"><r>environment</r>, <code>equation</code></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="491"><code>equation</code> <r>environment</r></indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="376">math formulas</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="377">formulas, math</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="378">math mode, entering</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="502"><r>environment</r>, <code>math</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="503"><code>math</code> <r>environment</r></indexterm></findex> + +<findex index="fn" spaces=" "><indexterm index="fn" number="504"><r>environment</r>, <code>displaymath</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="505"><code>displaymath</code> <r>environment</r></indexterm></findex> + +<findex index="fn" spaces=" "><indexterm index="fn" number="506"><r>environment</r>, <code>equation</code></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="507"><code>equation</code> <r>environment</r></indexterm></findex> + <para>There are three environments that put &latex; in math mode: </para> @@ -7035,10 +8061,10 @@ notes from falling off the bottom of the page. number in the right margin. </para></tableitem></tableentry></table> -<findex index="fn" spaces=" "><indexterm index="fn" number="492">\(</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="493">\)</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="494">\[</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="495">\]</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="508">\(</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="509">\)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="510">\[</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="511">\]</indexterm></findex> <para>The <code>math</code> environment can be used in both paragraph and LR mode, but the <code>displaymath</code> and <code>equation</code> environments can be used only in paragraph mode. The <code>math</code> and <code>displaymath</code> @@ -7049,7 +8075,7 @@ environments are used so often that they have the following short forms: \[...\] <r>instead of</r> \begin{displaymath}...\end{displaymath} </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="496">$</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="512">$</indexterm></findex> <para>In fact, the <code>math</code> environment is so common that it has an even shorter form: </para> @@ -7057,15 +8083,15 @@ shorter form: <pre xml:space="preserve">$ ... $ <r>instead of</r> \(...\) </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="497">\boldmath</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="498">\unboldmath</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="513">\boldmath</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="514">\unboldmath</indexterm></findex> <para>The <code>\boldmath</code> command changes math letters and symbols to be in a bold font. It is used <emph>outside</emph> of math mode. Conversely, the <code>\unboldmath</code> command changes math glyphs to be in a normal font; it too is used <emph>outside</emph> of math mode. </para> <!-- c xx own section? Math fonts? --> -<findex index="fn" spaces=" "><indexterm index="fn" number="499">\displaystyle</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="515">\displaystyle</indexterm></findex> <para>The <code>\displaystyle</code> declaration forces the size and style of the formula to be that of <code>displaymath</code>, e.g., with limits above and below summations. For example: @@ -7089,11 +8115,11 @@ below summations. For example: <node name="Subscripts-_0026-superscripts" spaces=" "><nodename>Subscripts & superscripts</nodename><nodenext automatic="on">Math symbols</nodenext><nodeup automatic="on">Math formulas</nodeup></node> <section spaces=" "><sectiontitle>Subscripts & superscripts</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="348">superscript</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="349">subscript</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="350">exponent</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="500">_</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="501">^</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="379">superscript</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="380">subscript</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="381">exponent</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="516">_</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="517">^</indexterm></findex> <para>In math mode, use the caret character <code>^</code> to make the <var>exp</var> appear as a superscript: <code>^{<var>exp</var>}</code>. @@ -7137,9 +8163,9 @@ writing Chemical formulas such as <file>mhchem</file>. <node name="Math-symbols" spaces=" "><nodename>Math symbols</nodename><nodenext automatic="on">Math functions</nodenext><nodeprev automatic="on">Subscripts & superscripts</nodeprev><nodeup automatic="on">Math formulas</nodeup></node> <section spaces=" "><sectiontitle>Math symbols</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="351">math symbols</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="352">symbols, math</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="353">greek letters</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="382">math symbols</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="383">symbols, math</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="384">greek letters</indexterm></cindex> <para>&latex; provides almost any mathematical symbol you&textrsquo;re likely to need. For example, if you include <code>$\pi$</code> in your source, you will get @@ -7159,185 +8185,185 @@ see <ref label="_005censuremath"><xrefnodename>\ensuremath</xrefnodename></ref>. <!-- c Useful: http://www.w3.org/TR/WD-math-970515/section6.html --> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="502">\|</indexterm>\|</itemformat></item> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="518">\|</indexterm>\|</itemformat></item> </tableterm><tableitem><para><U>2225</U> Parallel (relation). Synonym: <code>\parallel</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="503">\aleph</indexterm>\aleph</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="519">\aleph</indexterm>\aleph</itemformat></item> </tableterm><tableitem><para><U>2135</U> Aleph, transfinite cardinal (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="504">\alpha</indexterm>\alpha</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="520">\alpha</indexterm>\alpha</itemformat></item> </tableterm><tableitem><para><U>03B1</U> Lower case Greek letter alpha (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="505">\amalg</indexterm>\amalg</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="521">\amalg</indexterm>\amalg</itemformat></item> </tableterm><tableitem><para><U>2A3F</U> Disjoint union (binary) </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="506">\angle</indexterm>\angle</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="522">\angle</indexterm>\angle</itemformat></item> </tableterm><tableitem><para><U>2220</U> Geometric angle (ordinary). Similar: less-than sign <code><</code> and angle bracket <code>\langle</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="507">\approx</indexterm>\approx</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="523">\approx</indexterm>\approx</itemformat></item> </tableterm><tableitem><para><U>2248</U> Almost equal to (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="508">\ast</indexterm>\ast</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="524">\ast</indexterm>\ast</itemformat></item> </tableterm><tableitem><para><U>2217</U> Asterisk operator, convolution, six-pointed (binary). Synonym: <code>*</code>, which is often a superscript or subscript, as in the Kleene star. Similar: <code>\star</code>, which is five-pointed, and is sometimes used as a general binary operation, and sometimes reserved for cross-correlation. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="509">\asymp</indexterm>\asymp</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="525">\asymp</indexterm>\asymp</itemformat></item> </tableterm><tableitem><para><U>224D</U> Asymptotically equivalent (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="510">\backslash</indexterm>\backslash</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="526">\backslash</indexterm>\backslash</itemformat></item> </tableterm><tableitem><para>\ Backslash (ordinary). Similar: set minus <code>\setminus</code>, and <code>\textbackslash</code> for backslash outside of math mode. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="511">\beta</indexterm>\beta</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="527">\beta</indexterm>\beta</itemformat></item> </tableterm><tableitem><para><U>03B2</U> Lower case Greek letter beta (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="512">\bigcap</indexterm>\bigcap</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="528">\bigcap</indexterm>\bigcap</itemformat></item> </tableterm><tableitem><para><U>22C2</U> Variable-sized, or n-ary, intersection (operator). Similar: binary intersection <code>\cap</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="513">\bigcirc</indexterm>\bigcirc</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="529">\bigcirc</indexterm>\bigcirc</itemformat></item> </tableterm><tableitem><para><U>26AA</U> Circle, larger (binary). Similar: function composition <code>\circ</code>. <!-- c bb Best unicode symbol for this? --> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="514">\bigcup</indexterm>\bigcup</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="530">\bigcup</indexterm>\bigcup</itemformat></item> </tableterm><tableitem><para><U>22C3</U> Variable-sized, or n-ary, union (operator). Similar: binary union <code>\cup</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="515">\bigodot</indexterm>\bigodot</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="531">\bigodot</indexterm>\bigodot</itemformat></item> </tableterm><tableitem><para><U>2A00</U> Variable-sized, or n-ary, circled dot operator (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="516">\bigoplus</indexterm>\bigoplus</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="532">\bigoplus</indexterm>\bigoplus</itemformat></item> </tableterm><tableitem><para><U>2A01</U> Variable-sized, or n-ary, circled plus operator (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="517">\bigotimes</indexterm>\bigotimes</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="533">\bigotimes</indexterm>\bigotimes</itemformat></item> </tableterm><tableitem><para><U>2A02</U> Variable-sized, or n-ary, circled times operator (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="518">\bigtriangledown</indexterm>\bigtriangledown</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="534">\bigtriangledown</indexterm>\bigtriangledown</itemformat></item> </tableterm><tableitem><para><U>25BD</U> Variable-sized, or n-ary, open triangle pointing down (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="519">\bigtriangleup</indexterm>\bigtriangleup</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="535">\bigtriangleup</indexterm>\bigtriangleup</itemformat></item> </tableterm><tableitem><para><U>25B3</U> Variable-sized, or n-ary, open triangle pointing up (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="520">\bigsqcup</indexterm>\bigsqcup</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="536">\bigsqcup</indexterm>\bigsqcup</itemformat></item> </tableterm><tableitem><para><U>2A06</U> Variable-sized, or n-ary, square union (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="521">\biguplus</indexterm>\biguplus</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="537">\biguplus</indexterm>\biguplus</itemformat></item> </tableterm><tableitem><para><U>2A04</U> Variable-sized, or n-ary, union operator with a plus (operator). (Note that the name has only one p.) </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="522">\bigvee</indexterm>\bigvee</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="538">\bigvee</indexterm>\bigvee</itemformat></item> </tableterm><tableitem><para><U>22C1</U> Variable-sized, or n-ary, logical-and (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="523">\bigwedge</indexterm>\bigwedge</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="539">\bigwedge</indexterm>\bigwedge</itemformat></item> </tableterm><tableitem><para><U>22C0</U> Variable-sized, or n-ary, logical-or (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="524">\bot</indexterm>\bot</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="540">\bot</indexterm>\bot</itemformat></item> </tableterm><tableitem><para><U>22A5</U> Up tack, bottom, least element of a partially ordered set, or a contradiction (ordinary). See also <code>\top</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="525">\bowtie</indexterm>\bowtie</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="541">\bowtie</indexterm>\bowtie</itemformat></item> </tableterm><tableitem><para><U>22C8</U> Natural join of two relations (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="526">\Box</indexterm>\Box</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="542">\Box</indexterm>\Box</itemformat></item> </tableterm><tableitem><para><U>25A1</U> Modal operator for necessity; square open box (ordinary). Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. <!-- c bb Best Unicode equivalent? --> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="527">\bullet</indexterm>\bullet</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="354">bullet symbol</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="543">\bullet</indexterm>\bullet</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="385">bullet symbol</indexterm></cindex> <para><U>2022</U> Bullet (binary). Similar: multiplication dot <code>\cdot</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="528">\cap</indexterm>\cap</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="544">\cap</indexterm>\cap</itemformat></item> </tableterm><tableitem><para><U>2229</U> Intersection of two sets (binary). Similar: variable-sized operator <code>\bigcap</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="529">\cdot</indexterm>\cdot</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="545">\cdot</indexterm>\cdot</itemformat></item> </tableterm><tableitem><para><U>22C5</U> Multiplication (binary). Similar: Bullet dot <code>\bullet</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="530">\chi</indexterm>\chi</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="546">\chi</indexterm>\chi</itemformat></item> </tableterm><tableitem><para><U>03C7</U> Lower case Greek chi (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="531">\circ</indexterm>\circ</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="547">\circ</indexterm>\circ</itemformat></item> </tableterm><tableitem><para><U>2218</U> Function composition, ring operator (binary). Similar: variable-sized operator <code>\bigcirc</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="532">\clubsuit</indexterm>\clubsuit</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="548">\clubsuit</indexterm>\clubsuit</itemformat></item> </tableterm><tableitem><para><U>2663</U> Club card suit (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="533">\complement</indexterm>\complement</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="549">\complement</indexterm>\complement</itemformat></item> </tableterm><tableitem><para><U>2201</U> Set complement, used as a superscript as in <code>$S^\complement$</code> (ordinary). Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. Also used: <code>$S^{\mathsf{c}}$</code> or <code>$\bar{S}$</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="534">\cong</indexterm>\cong</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="550">\cong</indexterm>\cong</itemformat></item> </tableterm><tableitem><para><U>2245</U> Congruent (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="535">\coprod</indexterm>\coprod</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="551">\coprod</indexterm>\coprod</itemformat></item> </tableterm><tableitem><para><U>2210</U> Coproduct (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="536">\cup</indexterm>\cup</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="552">\cup</indexterm>\cup</itemformat></item> </tableterm><tableitem><para><U>222A</U> Union of two sets (binary). Similar: variable-sized operator <code>\bigcup</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="537">\dagger</indexterm>\dagger</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="553">\dagger</indexterm>\dagger</itemformat></item> </tableterm><tableitem><para><U>2020</U> Dagger relation (binary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="538">\dashv</indexterm>\dashv</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="554">\dashv</indexterm>\dashv</itemformat></item> </tableterm><tableitem><para><U>22A3</U> Dash with vertical, reversed turnstile (relation). Similar: turnstile <code>\vdash</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="539">\ddagger</indexterm>\ddagger</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="555">\ddagger</indexterm>\ddagger</itemformat></item> </tableterm><tableitem><para><U>2021</U> Double dagger relation (binary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="540">\Delta</indexterm>\Delta</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="556">\Delta</indexterm>\Delta</itemformat></item> </tableterm><tableitem><para><U>0394</U> Greek upper case delta, used for increment (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="541">\delta</indexterm>\delta</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="557">\delta</indexterm>\delta</itemformat></item> </tableterm><tableitem><para><U>03B4</U> Greek lower case delta (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="542">\Diamond</indexterm>\Diamond</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="558">\Diamond</indexterm>\Diamond</itemformat></item> </tableterm><tableitem><para><U>25C7</U> Large diamond operator (ordinary). Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. <!-- c bb Best Unicode equivalent? --> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="543">\diamond</indexterm>\diamond</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="559">\diamond</indexterm>\diamond</itemformat></item> </tableterm><tableitem><para><U>22C4</U> Diamond operator, or diamond bullet (binary). Similar: large diamond <code>\Diamond</code>, circle bullet <code>\bullet</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="544">\diamondsuit</indexterm>\diamondsuit</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="560">\diamondsuit</indexterm>\diamondsuit</itemformat></item> </tableterm><tableitem><para><U>2662</U> Diamond card suit (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="545">\div</indexterm>\div</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="561">\div</indexterm>\div</itemformat></item> </tableterm><tableitem><para><U>00F7</U> Division sign (binary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="546">\doteq</indexterm>\doteq</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="562">\doteq</indexterm>\doteq</itemformat></item> </tableterm><tableitem><para><U>2250</U> Approaches the limit (relation). Similar: geometrically equal to <code>\Doteq</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="547">\downarrow</indexterm>\downarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="563">\downarrow</indexterm>\downarrow</itemformat></item> </tableterm><tableitem><para><U>2193</U> Down arrow, converges (relation). Similar: double line down arrow <code>\Downarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="548">\Downarrow</indexterm>\Downarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="564">\Downarrow</indexterm>\Downarrow</itemformat></item> </tableterm><tableitem><para><U>21D3</U> Double line down arrow (relation). Similar: single line down arrow <code>\downarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="549">\ell</indexterm>\ell</itemformat></item> -</tableterm><tableitem><para><U>2113</U> Lower-case cursive letter l (ordinary). +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="565">\ell</indexterm>\ell</itemformat></item> +</tableterm><tableitem><para><U>2113</U> Lowercase cursive letter l (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="550">\emptyset</indexterm>\emptyset</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="566">\emptyset</indexterm>\emptyset</itemformat></item> </tableterm><tableitem><para><U>2205</U> Empty set symbol (ordinary). The variant form is <code>\varnothing</code>. <!-- c bb Why Unicode has \revemptyset but no \emptyset? --> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="551">\epsilon</indexterm>\epsilon</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="567">\epsilon</indexterm>\epsilon</itemformat></item> </tableterm><tableitem><para><U>03F5</U> Lower case lunate epsilon (ordinary). Similar to Greek text letter. More widely used in mathematics is the script small letter epsilon <code>\varepsilon</code> <U>03B5</U>. Related: @@ -7345,194 +8371,194 @@ the set membership relation <code>\in</code> <U>2208</U>. <!-- c src: David Carlisle http://tex.stackexchange.com/a/98018/339 and --> <!-- c Unicode referenced there asserts varepsilon is much more widely used. --> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="552">\equiv</indexterm>\equiv</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="568">\equiv</indexterm>\equiv</itemformat></item> </tableterm><tableitem><para><U>2261</U> Equivalence (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="553">\eta</indexterm>\eta</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="569">\eta</indexterm>\eta</itemformat></item> </tableterm><tableitem><para><U>03B7</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="554">\exists</indexterm>\exists</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="570">\exists</indexterm>\exists</itemformat></item> </tableterm><tableitem><para><U>2203</U> Existential quantifier (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="555">\flat</indexterm>\flat</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="571">\flat</indexterm>\flat</itemformat></item> </tableterm><tableitem><para><U>266D</U> Musical flat (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="556">\forall</indexterm>\forall</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="572">\forall</indexterm>\forall</itemformat></item> </tableterm><tableitem><para><U>2200</U> Universal quantifier (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="557">\frown</indexterm>\frown</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="573">\frown</indexterm>\frown</itemformat></item> </tableterm><tableitem><para><U>2322</U> Downward curving arc (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="558">\Gamma</indexterm>\Gamma</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="574">\Gamma</indexterm>\Gamma</itemformat></item> </tableterm><tableitem><para><U>0393</U> Upper case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="559">\gamma</indexterm>\gamma</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="575">\gamma</indexterm>\gamma</itemformat></item> </tableterm><tableitem><para><U>03B3</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="560">\ge</indexterm>\ge</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="576">\ge</indexterm>\ge</itemformat></item> </tableterm><tableitem><para><U>2265</U> Greater than or equal to (relation). This is a synonym for <code>\geq</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="561">\geq</indexterm>\geq</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="577">\geq</indexterm>\geq</itemformat></item> </tableterm><tableitem><para><U>2265</U> Greater than or equal to (relation). This is a synonym for <code>\ge</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="562">\gets</indexterm>\gets</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="578">\gets</indexterm>\gets</itemformat></item> </tableterm><tableitem><para><U>2190</U> Is assigned the value (relation). Synonym: <code>\leftarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="563">\gg</indexterm>\gg</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="579">\gg</indexterm>\gg</itemformat></item> </tableterm><tableitem><para><U>226B</U> Much greater than (relation). Similar: much less than <code>\ll</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="564">\hbar</indexterm>\hbar</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="580">\hbar</indexterm>\hbar</itemformat></item> </tableterm><tableitem><para><U>210F</U> Planck constant over two pi (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="565">\heartsuit</indexterm>\heartsuit</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="581">\heartsuit</indexterm>\heartsuit</itemformat></item> </tableterm><tableitem><para><U>2661</U> Heart card suit (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="566">\hookleftarrow</indexterm>\hookleftarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="582">\hookleftarrow</indexterm>\hookleftarrow</itemformat></item> </tableterm><tableitem><para><U>21A9</U> Hooked left arrow (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="567">\hookrightarrow</indexterm>\hookrightarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="583">\hookrightarrow</indexterm>\hookrightarrow</itemformat></item> </tableterm><tableitem><para><U>21AA</U> Hooked right arrow (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="568">\iff</indexterm>\iff</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="584">\iff</indexterm>\iff</itemformat></item> </tableterm><tableitem><para><U>27F7</U> If and only if (relation). It is <code>\Longleftrightarrow</code> with a <code>\thickmuskip</code> on either side. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="569">\Im</indexterm>\Im</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="585">\Im</indexterm>\Im</itemformat></item> </tableterm><tableitem><para><U>2111</U> Imaginary part (ordinary). See: real part <code>\Re</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="570">\in</indexterm>\in</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="586">\in</indexterm>\in</itemformat></item> </tableterm><tableitem><para><U>2208</U> Set element (relation). See also: lower case lunate epsilon <code>\epsilon</code><U>03F5</U> and small letter script epsilon <code>\varepsilon</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="571">\infty</indexterm>\infty</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="587">\infty</indexterm>\infty</itemformat></item> </tableterm><tableitem><para><U>221E</U> Infinity (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="572">\int</indexterm>\int</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="588">\int</indexterm>\int</itemformat></item> </tableterm><tableitem><para><U>222B</U> Integral (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="573">\iota</indexterm>\iota</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="589">\iota</indexterm>\iota</itemformat></item> </tableterm><tableitem><para><U>03B9</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="574">\Join</indexterm>\Join</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="590">\Join</indexterm>\Join</itemformat></item> </tableterm><tableitem><para><U>2A1D</U> Condensed bowtie symbol (relation). Not available in Plain &tex;. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="575">\kappa</indexterm>\kappa</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="591">\kappa</indexterm>\kappa</itemformat></item> </tableterm><tableitem><para><U>03BA</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="576">\Lambda</indexterm>\Lambda</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="592">\Lambda</indexterm>\Lambda</itemformat></item> </tableterm><tableitem><para><U>039B</U> Upper case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="577">\lambda</indexterm>\lambda</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="593">\lambda</indexterm>\lambda</itemformat></item> </tableterm><tableitem><para><U>03BB</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="578">\land</indexterm>\land</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="594">\land</indexterm>\land</itemformat></item> </tableterm><tableitem><para><U>2227</U> Logical and (binary). This is a synonym for <code>\wedge</code>. See also logical or <code>\lor</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="579">\langle</indexterm>\langle</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="595">\langle</indexterm>\langle</itemformat></item> </tableterm><tableitem><para><U>27E8</U> Left angle, or sequence, bracket (opening). Similar: less-than <code><</code>. Matches <code>\rangle</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="580">\lbrace</indexterm>\lbrace</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="596">\lbrace</indexterm>\lbrace</itemformat></item> </tableterm><tableitem><para><U>007B</U> Left curly brace (opening). Synonym: <code>\{</code>. Matches <code>\rbrace</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="581">\lbrack</indexterm>\lbrack</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="597">\lbrack</indexterm>\lbrack</itemformat></item> </tableterm><tableitem><para><U>005B</U> Left square bracket (opening). Synonym: <code>[</code>. Matches <code>\rbrack</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="582">\lceil</indexterm>\lceil</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="598">\lceil</indexterm>\lceil</itemformat></item> </tableterm><tableitem><para><U>2308</U> Left ceiling bracket, like a square bracket but with the bottom shaved off (opening). Matches <code>\rceil</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="583">\le</indexterm>\le</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="599">\le</indexterm>\le</itemformat></item> </tableterm><tableitem><para><U>2264</U> Less than or equal to (relation). This is a synonym for <code>\leq</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="584">\leadsto</indexterm>\leadsto</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="600">\leadsto</indexterm>\leadsto</itemformat></item> </tableterm><tableitem><para><U>21DD</U> Squiggly right arrow (relation). Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. To get this symbol outside of math mode you can put <code>\newcommand*{\Leadsto}{\ensuremath{\leadsto}}</code> in the preamble and then use <code>\Leadsto</code> instead. <!-- c bb Best Unicode equivalent? --> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="585">\Leftarrow</indexterm>\Leftarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="601">\Leftarrow</indexterm>\Leftarrow</itemformat></item> </tableterm><tableitem><para><U>21D0</U> Is implied by, double-line left arrow (relation). Similar: single-line left arrow <code>\leftarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="586">\leftarrow</indexterm>\leftarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="602">\leftarrow</indexterm>\leftarrow</itemformat></item> </tableterm><tableitem><para><U>2190</U> Single-line left arrow (relation). Synonym: <code>\gets</code>. Similar: double-line left arrow <code>\Leftarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="587">\leftharpoondown</indexterm>\leftharpoondown</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="603">\leftharpoondown</indexterm>\leftharpoondown</itemformat></item> </tableterm><tableitem><para><U>21BD</U> Single-line left harpoon, barb under bar (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="588">\leftharpoonup</indexterm>\leftharpoonup</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="604">\leftharpoonup</indexterm>\leftharpoonup</itemformat></item> </tableterm><tableitem><para><U>21BC</U> Single-line left harpoon, barb over bar (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="589">\Leftrightarrow</indexterm>\Leftrightarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="605">\Leftrightarrow</indexterm>\Leftrightarrow</itemformat></item> </tableterm><tableitem><para><U>21D4</U> Bi-implication; double-line double-headed arrow (relation). Similar: single-line double headed arrow <code>\leftrightarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="590">\leftrightarrow</indexterm>\leftrightarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="606">\leftrightarrow</indexterm>\leftrightarrow</itemformat></item> </tableterm><tableitem><para><U>2194</U> Single-line double-headed arrow (relation). Similar: double-line double headed arrow <code>\Leftrightarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="591">\leq</indexterm>\leq</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="607">\leq</indexterm>\leq</itemformat></item> </tableterm><tableitem><para><U>2264</U> Less than or equal to (relation). This is a synonym for <code>\le</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="592">\lfloor</indexterm>\lfloor</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="608">\lfloor</indexterm>\lfloor</itemformat></item> </tableterm><tableitem><para><U>230A</U> Left floor bracket (opening). Matches: <code>\floor</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="593">\lhd</indexterm>\lhd</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="609">\lhd</indexterm>\lhd</itemformat></item> </tableterm><tableitem><para><U>25C1</U> Arrowhead, that is, triangle, pointing left (binary). Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. For the normal subgroup symbol you should load <file>amssymb</file> and use <code>\vartriangleleft</code> (which is a relation and so gives better spacing). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="594">\ll</indexterm>\ll</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="610">\ll</indexterm>\ll</itemformat></item> </tableterm><tableitem><para><U>226A</U> Much less than (relation). Similar: much greater than <code>\gg</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="595">\lnot</indexterm>\lnot</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="611">\lnot</indexterm>\lnot</itemformat></item> </tableterm><tableitem><para><U>00AC</U> Logical negation (ordinary). Synonym: <code>\neg</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="596">\longleftarrow</indexterm>\longleftarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="612">\longleftarrow</indexterm>\longleftarrow</itemformat></item> </tableterm><tableitem><para><U>27F5</U> Long single-line left arrow (relation). Similar: long double-line left arrow <code>\Longleftarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="597">\longleftrightarrow</indexterm>\longleftrightarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="613">\longleftrightarrow</indexterm>\longleftrightarrow</itemformat></item> </tableterm><tableitem><para><U>27F7</U> Long single-line double-headed arrow (relation). Similar: long double-line double-headed arrow <code>\Longleftrightarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="598">\longmapsto</indexterm>\longmapsto</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="614">\longmapsto</indexterm>\longmapsto</itemformat></item> </tableterm><tableitem><para><U>27FC</U> Long single-line left arrow starting with vertical bar (relation). Similar: shorter version <code>\mapsto</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="599">\longrightarrow</indexterm>\longrightarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="615">\longrightarrow</indexterm>\longrightarrow</itemformat></item> </tableterm><tableitem><para><U>27F6</U> Long single-line right arrow (relation). Similar: long double-line right arrow <code>\Longrightarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="600">\lor</indexterm>\lor</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="616">\lor</indexterm>\lor</itemformat></item> </tableterm><tableitem><para><U>2228</U> Logical or (binary). Synonym: wedge <code>\wedge</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="601">\mapsto</indexterm>\mapsto</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="617">\mapsto</indexterm>\mapsto</itemformat></item> </tableterm><tableitem><para><U>21A6</U> Single-line left arrow starting with vertical bar (relation). Similar: longer version <code>\longmapsto</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="602">\mho</indexterm>\mho</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="618">\mho</indexterm>\mho</itemformat></item> </tableterm><tableitem><para><U>2127</U> Conductance, half-circle rotated capital omega (ordinary). Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="603">\mid</indexterm>\mid</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="619">\mid</indexterm>\mid</itemformat></item> </tableterm><tableitem><para><U>2223</U> Single-line vertical bar (relation). A typical use of <code>\mid</code> is for a set <code>\{\, x \mid x\geq 5 \,\}</code>. </para> @@ -7542,42 +8568,42 @@ ordinary) and you should not use them as relations but instead only as ordinals, i.e., footnote symbols. For absolute value, see the entry for <code>\vert</code> and for norm see the entry for <code>\Vert</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="604">\models</indexterm>\models</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="620">\models</indexterm>\models</itemformat></item> </tableterm><tableitem><para><U>22A8</U> Entails, or satisfies; double turnstile, short double dash (relation). Similar: long double dash <code>\vDash</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="605">\mp</indexterm>\mp</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="621">\mp</indexterm>\mp</itemformat></item> </tableterm><tableitem><para><U>2213</U> Minus or plus (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="606">\mu</indexterm>\mu</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="622">\mu</indexterm>\mu</itemformat></item> </tableterm><tableitem><para><U>03BC</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="607">\nabla</indexterm>\nabla</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="623">\nabla</indexterm>\nabla</itemformat></item> </tableterm><tableitem><para><U>2207</U> Hamilton&textrsquo;s del, or differential, operator (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="608">\natural</indexterm>\natural</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="624">\natural</indexterm>\natural</itemformat></item> </tableterm><tableitem><para><U>266E</U> Musical natural notation (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="609">\ne</indexterm>\ne</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="625">\ne</indexterm>\ne</itemformat></item> </tableterm><tableitem><para><U>2260</U> Not equal (relation). Synonym: <code>\neq</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="610">\nearrow</indexterm>\nearrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="626">\nearrow</indexterm>\nearrow</itemformat></item> </tableterm><tableitem><para><U>2197</U> North-east arrow (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="611">\neg</indexterm>\neg</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="627">\neg</indexterm>\neg</itemformat></item> </tableterm><tableitem><para><U>00AC</U> Logical negation (ordinary). Synonym: <code>\lnot</code>. Sometimes instead used for negation: <code>\sim</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="612">\neq</indexterm>\neq</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="628">\neq</indexterm>\neq</itemformat></item> </tableterm><tableitem><para><U>2260</U> Not equal (relation). Synonym: <code>\ne</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="613">\ni</indexterm>\ni</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="629">\ni</indexterm>\ni</itemformat></item> </tableterm><tableitem><para><U>220B</U> Reflected membership epsilon; has the member (relation). Synonym: <code>\owns</code>. Similar: is a member of <code>\in</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="614">\not</indexterm>\not</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="630">\not</indexterm>\not</itemformat></item> </tableterm><tableitem><para><U>0020</U><U>00A0</U><U>0338</U> Long solidus, or slash, used to overstrike a following operator (relation). <!-- c Need blank space for it to overstrike --> @@ -7586,81 +8612,81 @@ following operator (relation). particularly with the <file>amssymb</file> package. For example, <code>\notin</code> is probably typographically preferable to <code>\not\in</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="615">\notin</indexterm>\notin</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="631">\notin</indexterm>\notin</itemformat></item> </tableterm><tableitem><para><U>2209</U> Not an element of (relation). Similar: not subset of <code>\nsubseteq</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="616">\nu</indexterm>\nu</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="632">\nu</indexterm>\nu</itemformat></item> </tableterm><tableitem><para><U>03BD</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="617">\nwarrow</indexterm>\nwarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="633">\nwarrow</indexterm>\nwarrow</itemformat></item> </tableterm><tableitem><para><U>2196</U> North-west arrow (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="618">\odot</indexterm>\odot</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="634">\odot</indexterm>\odot</itemformat></item> </tableterm><tableitem><para><U>2299</U> Dot inside a circle (binary). Similar: variable-sized operator <code>\bigodot</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="619">\oint</indexterm>\oint</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="635">\oint</indexterm>\oint</itemformat></item> </tableterm><tableitem><para><U>222E</U> Contour integral, integral with circle in the middle (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="620">\Omega</indexterm>\Omega</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="636">\Omega</indexterm>\Omega</itemformat></item> </tableterm><tableitem><para><U>03A9</U> Upper case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="621">\omega</indexterm>\omega</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="637">\omega</indexterm>\omega</itemformat></item> </tableterm><tableitem><para><U>03C9</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="622">\ominus</indexterm>\ominus</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="638">\ominus</indexterm>\ominus</itemformat></item> </tableterm><tableitem><para><U>2296</U> Minus sign, or dash, inside a circle (binary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="623">\oplus</indexterm>\oplus</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="639">\oplus</indexterm>\oplus</itemformat></item> </tableterm><tableitem><para><U>2295</U> Plus sign inside a circle (binary). Similar: variable-sized operator <code>\bigoplus</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="624">\oslash</indexterm>\oslash</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="640">\oslash</indexterm>\oslash</itemformat></item> </tableterm><tableitem><para><U>2298</U> Solidus, or slash, inside a circle (binary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="625">\otimes</indexterm>\otimes</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="641">\otimes</indexterm>\otimes</itemformat></item> </tableterm><tableitem><para><U>2297</U> Times sign, or cross, inside a circle (binary). Similar: variable-sized operator <code>\bigotimes</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="626">\owns</indexterm>\owns</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="642">\owns</indexterm>\owns</itemformat></item> </tableterm><tableitem><para><U>220B</U> Reflected membership epsilon; has the member (relation). Synonym: <code>\ni</code>. Similar: is a member of <code>\in</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="627">\parallel</indexterm>\parallel</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="643">\parallel</indexterm>\parallel</itemformat></item> </tableterm><tableitem><para><U>2225</U> Parallel (relation). Synonym: <code>\|</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="628">\partial</indexterm>\partial</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="644">\partial</indexterm>\partial</itemformat></item> </tableterm><tableitem><para><U>2202</U> Partial differential (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="629">\perp</indexterm>\perp</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="645">\perp</indexterm>\perp</itemformat></item> </tableterm><tableitem><para><U>27C2</U> Perpendicular (relation). Similar: <code>\bot</code> uses the same glyph but the spacing is different because it is in the class ordinary. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="630">\phi</indexterm>\phi</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="646">\phi</indexterm>\phi</itemformat></item> </tableterm><tableitem><para><U>03D5</U> Lower case Greek letter (ordinary). The variant form is <code>\varphi</code> <U>03C6</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="631">\Pi</indexterm>\Pi</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="647">\Pi</indexterm>\Pi</itemformat></item> </tableterm><tableitem><para><U>03A0</U> Upper case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="632">\pi</indexterm>\pi</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="648">\pi</indexterm>\pi</itemformat></item> </tableterm><tableitem><para><U>03C0</U> Lower case Greek letter (ordinary). The variant form is <code>\varpi</code> <U>03D6</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="633">\pm</indexterm>\pm</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="649">\pm</indexterm>\pm</itemformat></item> </tableterm><tableitem><para><U>00B1</U> Plus or minus (binary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="634">\prec</indexterm>\prec</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="650">\prec</indexterm>\prec</itemformat></item> </tableterm><tableitem><para><U>227A</U> Precedes (relation). Similar: less than <code><</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="635">\preceq</indexterm>\preceq</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="651">\preceq</indexterm>\preceq</itemformat></item> </tableterm><tableitem><para><U>2AAF</U> Precedes or equals (relation). Similar: less than or equals <code>\leq</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="636">\prime</indexterm>\prime</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="652">\prime</indexterm>\prime</itemformat></item> </tableterm><tableitem><para><U>2032</U> Prime, or minute in a time expression (ordinary). Typically used as a superscript: <code>$f^\prime$</code>; <code>$f^\prime$</code> and <code>$f'$</code> produce the same result. An advantage of the second @@ -7670,299 +8696,299 @@ typing. You can only use <code>\prime</code> in math mode. Using the right single quote <code>'</code> in text mode produces a different character (apostrophe). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="637">\prod</indexterm>\prod</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="653">\prod</indexterm>\prod</itemformat></item> </tableterm><tableitem><para><U>220F</U> Product (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="638">\propto</indexterm>\propto</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="654">\propto</indexterm>\propto</itemformat></item> </tableterm><tableitem><para><U>221D</U> Is proportional to (relation) </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="639">\Psi</indexterm>\Psi</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="655">\Psi</indexterm>\Psi</itemformat></item> </tableterm><tableitem><para><U>03A8</U> Upper case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="640">\psi</indexterm>\psi</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="656">\psi</indexterm>\psi</itemformat></item> </tableterm><tableitem><para><U>03C8</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="641">\rangle</indexterm>\rangle</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="657">\rangle</indexterm>\rangle</itemformat></item> </tableterm><tableitem><para><U>27E9</U> Right angle, or sequence, bracket (closing). Similar: greater than <code>></code>. Matches:<code>\langle</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="642">\rbrace</indexterm>\rbrace</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="658">\rbrace</indexterm>\rbrace</itemformat></item> </tableterm><tableitem><para><U>007D</U> Right curly brace (closing). Synonym: <code>\}</code>. Matches <code>\lbrace</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="643">\rbrack</indexterm>\rbrack</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="659">\rbrack</indexterm>\rbrack</itemformat></item> </tableterm><tableitem><para><U>005D</U> Right square bracket (closing). Synonym: <code>]</code>. Matches <code>\lbrack</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="644">\rceil</indexterm>\rceil</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="660">\rceil</indexterm>\rceil</itemformat></item> </tableterm><tableitem><para><U>2309</U> Right ceiling bracket (closing). Matches <code>\lceil</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="645">\Re</indexterm>\Re</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="661">\Re</indexterm>\Re</itemformat></item> </tableterm><tableitem><para><U>211C</U> Real part, real numbers, cursive capital R (ordinary). Related: double-line, or blackboard bold, R <code>\mathbb{R}</code>; to access this, load the <file>amsfonts</file> package. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="646">\restriction</indexterm>\restriction</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="662">\restriction</indexterm>\restriction</itemformat></item> </tableterm><tableitem><para><U>21BE</U> Restriction of a function (relation). Synonym: <code>\upharpoonright</code>. Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="647">\revemptyset</indexterm>\revemptyset</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="663">\revemptyset</indexterm>\revemptyset</itemformat></item> </tableterm><tableitem><para><U>29B0</U> Reversed empty set symbol (ordinary). Related: <code>\varnothing</code>. Not available in plain &tex;. In &latex; you need to load the <file>stix</file> package. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="648">\rfloor</indexterm>\rfloor</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="664">\rfloor</indexterm>\rfloor</itemformat></item> </tableterm><tableitem><para><U>230B</U> Right floor bracket, a right square bracket with the top cut off (closing). Matches <code>\lfloor</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="649">\rhd</indexterm>\rhd</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="665">\rhd</indexterm>\rhd</itemformat></item> </tableterm><tableitem><para><U>25C1</U> Arrowhead, that is, triangle, pointing right (binary). Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. For the normal subgroup symbol you should instead load <file>amssymb</file> and use <code>\vartriangleright</code> (which is a relation and so gives better spacing). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="650">\rho</indexterm>\rho</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="666">\rho</indexterm>\rho</itemformat></item> </tableterm><tableitem><para><U>03C1</U> Lower case Greek letter (ordinary). The variant form is <code>\varrho</code> <U>03F1</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="651">\Rightarrow</indexterm>\Rightarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="667">\Rightarrow</indexterm>\Rightarrow</itemformat></item> </tableterm><tableitem><para><U>21D2</U> Implies, right-pointing double line arrow (relation). Similar: right single-line arrow <code>\rightarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="652">\rightarrow</indexterm>\rightarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="668">\rightarrow</indexterm>\rightarrow</itemformat></item> </tableterm><tableitem><para><U>2192</U> Right-pointing single line arrow (relation). Synonym: <code>\to</code>. Similar: right double line arrow <code>\Rightarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="653">\rightharpoondown</indexterm>\rightharpoondown</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="669">\rightharpoondown</indexterm>\rightharpoondown</itemformat></item> </tableterm><tableitem><para><U>21C1</U> Right-pointing harpoon with barb below the line (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="654">\rightharpoonup</indexterm>\rightharpoonup</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="670">\rightharpoonup</indexterm>\rightharpoonup</itemformat></item> </tableterm><tableitem><para><U>21C0</U> Right-pointing harpoon with barb above the line (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="655">\rightleftharpoons</indexterm>\rightleftharpoons</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="671">\rightleftharpoons</indexterm>\rightleftharpoons</itemformat></item> </tableterm><tableitem><para><U>21CC</U> Right harpoon up above left harpoon down (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="656">\searrow</indexterm>\searrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="672">\searrow</indexterm>\searrow</itemformat></item> </tableterm><tableitem><para><U>2198</U> Arrow pointing southeast (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="657">\setminus</indexterm>\setminus</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="673">\setminus</indexterm>\setminus</itemformat></item> </tableterm><tableitem><para><U>29F5</U> Set difference, reverse solidus or slash, like \ (binary). Similar: backslash <code>\backslash</code> and also <code>\textbackslash</code> outside of math mode. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="658">\sharp</indexterm>\sharp</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="674">\sharp</indexterm>\sharp</itemformat></item> </tableterm><tableitem><para><U>266F</U> Musical sharp (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="659">\Sigma</indexterm>\Sigma</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="675">\Sigma</indexterm>\Sigma</itemformat></item> </tableterm><tableitem><para><U>03A3</U> Upper case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="660">\sigma</indexterm>\sigma</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="676">\sigma</indexterm>\sigma</itemformat></item> </tableterm><tableitem><para><U>03C3</U> Lower case Greek letter (ordinary). The variant form is <code>\varsigma</code> <U>03C2</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="661">\sim</indexterm>\sim</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="677">\sim</indexterm>\sim</itemformat></item> </tableterm><tableitem><para><U>223C</U> Similar, in a relation (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="662">\simeq</indexterm>\simeq</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="678">\simeq</indexterm>\simeq</itemformat></item> </tableterm><tableitem><para><U>2243</U> Similar or equal to, in a relation (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="663">\smallint</indexterm>\smallint</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="679">\smallint</indexterm>\smallint</itemformat></item> </tableterm><tableitem><para><U>222B</U> Integral sign that does not change to a larger size in a display (operator). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="664">\smile</indexterm>\smile</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="680">\smile</indexterm>\smile</itemformat></item> </tableterm><tableitem><para><U>2323</U> Upward curving arc, smile (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="665">\spadesuit</indexterm>\spadesuit</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="681">\spadesuit</indexterm>\spadesuit</itemformat></item> </tableterm><tableitem><para><U>2660</U> Spade card suit (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="666">\sqcap</indexterm>\sqcap</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="682">\sqcap</indexterm>\sqcap</itemformat></item> </tableterm><tableitem><para><U>2293</U> Square intersection symbol (binary). Similar: intersection <code>cap</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="667">\sqcup</indexterm>\sqcup</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="683">\sqcup</indexterm>\sqcup</itemformat></item> </tableterm><tableitem><para><U>2294</U> Square union symbol (binary). Similar: union <code>cup</code>. Related: variable-sized operator <code>\bigsqcup</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="668">\sqsubset</indexterm>\sqsubset</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="684">\sqsubset</indexterm>\sqsubset</itemformat></item> </tableterm><tableitem><para><U>228F</U> Square subset symbol (relation). Similar: subset <code>\subset</code>. Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="669">\sqsubseteq</indexterm>\sqsubseteq</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="685">\sqsubseteq</indexterm>\sqsubseteq</itemformat></item> </tableterm><tableitem><para><U>2291</U> Square subset or equal symbol (binary). Similar: subset or equal to <code>\subseteq</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="670">\sqsupset</indexterm>\sqsupset</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="686">\sqsupset</indexterm>\sqsupset</itemformat></item> </tableterm><tableitem><para><U>2290</U> Square superset symbol (relation). Similar: superset <code>\supset</code>. Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="671">\sqsupseteq</indexterm>\sqsupseteq</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="687">\sqsupseteq</indexterm>\sqsupseteq</itemformat></item> </tableterm><tableitem><para><U>2292</U> Square superset or equal symbol (binary). Similar: superset or equal <code>\supseteq</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="672">\star</indexterm>\star</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="688">\star</indexterm>\star</itemformat></item> </tableterm><tableitem><para><U>22C6</U> Five-pointed star, sometimes used as a general binary operation but sometimes reserved for cross-correlation (binary). Similar: the synonyms asterisk <code>*</code> and <code>\ast</code>, which are six-pointed, and more often appear as a superscript or subscript, as with the Kleene star. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="673">\subset</indexterm>\subset</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="689">\subset</indexterm>\subset</itemformat></item> </tableterm><tableitem><para><U>2282</U> Subset (occasionally, is implied by) (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="674">\subseteq</indexterm>\subseteq</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="690">\subseteq</indexterm>\subseteq</itemformat></item> </tableterm><tableitem><para><U>2286</U> Subset or equal to (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="675">\succ</indexterm>\succ</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="691">\succ</indexterm>\succ</itemformat></item> </tableterm><tableitem><para><U>227B</U> Comes after, succeeds (relation). Similar: is less than <code>></code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="676">\succeq</indexterm>\succeq</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="692">\succeq</indexterm>\succeq</itemformat></item> </tableterm><tableitem><para><U>2AB0</U> Succeeds or is equal to (relation). Similar: less than or equal to <code>\leq</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="677">\sum</indexterm>\sum</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="693">\sum</indexterm>\sum</itemformat></item> </tableterm><tableitem><para><U>2211</U> Summation (operator). Similar: Greek capital sigma <code>\Sigma</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="678">\supset</indexterm>\supset</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="694">\supset</indexterm>\supset</itemformat></item> </tableterm><tableitem><para><U>2283</U> Superset (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="679">\supseteq</indexterm>\supseteq</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="695">\supseteq</indexterm>\supseteq</itemformat></item> </tableterm><tableitem><para><U>2287</U> Superset or equal to (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="680">\surd</indexterm>\surd</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="696">\surd</indexterm>\surd</itemformat></item> </tableterm><tableitem><para><U>221A</U> Radical symbol (ordinary). The &latex; command <code>\sqrt{...}</code> typesets the square root of the argument, with a bar that extends to cover the argument. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="681">\swarrow</indexterm>\swarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="697">\swarrow</indexterm>\swarrow</itemformat></item> </tableterm><tableitem><para><U>2199</U> Southwest-pointing arrow (relation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="682">\tau</indexterm>\tau</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="698">\tau</indexterm>\tau</itemformat></item> </tableterm><tableitem><para><U>03C4</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="683">\theta</indexterm>\theta</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="699">\theta</indexterm>\theta</itemformat></item> </tableterm><tableitem><para><U>03B8</U> Lower case Greek letter (ordinary). The variant form is <code>\vartheta</code> <U>03D1</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="684">\times</indexterm>\times</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="700">\times</indexterm>\times</itemformat></item> </tableterm><tableitem><para><U>00D7</U> Primary school multiplication sign (binary). See also <code>\cdot</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="685">\to</indexterm>\to</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="701">\to</indexterm>\to</itemformat></item> </tableterm><tableitem><para><U>2192</U> Right-pointing single line arrow (relation). Synonym: <code>\rightarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="686">\top</indexterm>\top</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="702">\top</indexterm>\top</itemformat></item> </tableterm><tableitem><para><U>22A4</U> Top, greatest element of a partially ordered set (ordinary). See also <code>\bot</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="687">\triangle</indexterm>\triangle</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="703">\triangle</indexterm>\triangle</itemformat></item> </tableterm><tableitem><para><U>25B3</U> Triangle (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="688">\triangleleft</indexterm>\triangleleft</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="704">\triangleleft</indexterm>\triangleleft</itemformat></item> </tableterm><tableitem><para><U>25C1</U> Not-filled triangle pointing left (binary). Similar: <code>\lhd</code>. For the normal subgroup symbol you should load <file>amssymb</file> and use <code>\vartriangleleft</code> (which is a relation and so gives better spacing). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="689">\triangleright</indexterm>\triangleright</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="705">\triangleright</indexterm>\triangleright</itemformat></item> </tableterm><tableitem><para><U>25B7</U> Not-filled triangle pointing right (binary). For the normal subgroup symbol you should instead load <file>amssymb</file> and use <code>\vartriangleright</code> (which is a relation and so gives better spacing). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="690">\unlhd</indexterm>\unlhd</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="706">\unlhd</indexterm>\unlhd</itemformat></item> </tableterm><tableitem><para><U>22B4</U> Left-pointing not-filled underlined arrowhead, that is, triangle, with a line under (binary). Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. For the normal subgroup symbol load <file>amssymb</file> and use <code>\vartrianglelefteq</code> (which is a relation and so gives better spacing). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="691">\unrhd</indexterm>\unrhd</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="707">\unrhd</indexterm>\unrhd</itemformat></item> </tableterm><tableitem><para><U>22B5</U> Right-pointing not-filled underlined arrowhead, that is, triangle, with a line under (binary). Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. For the normal subgroup symbol load <file>amssymb</file> and use <code>\vartrianglerighteq</code> (which is a relation and so gives better spacing). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="692">\Uparrow</indexterm>\Uparrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="708">\Uparrow</indexterm>\Uparrow</itemformat></item> </tableterm><tableitem><para><U>21D1</U> Double-line upward-pointing arrow (relation). Similar: single-line up-pointing arrow <code>\uparrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="693">\uparrow</indexterm>\uparrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="709">\uparrow</indexterm>\uparrow</itemformat></item> </tableterm><tableitem><para><U>2191</U> Single-line upward-pointing arrow, diverges (relation). Similar: double-line up-pointing arrow <code>\Uparrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="694">\Updownarrow</indexterm>\Updownarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="710">\Updownarrow</indexterm>\Updownarrow</itemformat></item> </tableterm><tableitem><para><U>21D5</U> Double-line upward-and-downward-pointing arrow (relation). Similar: single-line upward-and-downward-pointing arrow <code>\updownarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="695">\updownarrow</indexterm>\updownarrow</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="711">\updownarrow</indexterm>\updownarrow</itemformat></item> </tableterm><tableitem><para><U>2195</U> Single-line upward-and-downward-pointing arrow (relation). Similar: double-line upward-and-downward-pointing arrow <code>\Updownarrow</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="696">\upharpoonright</indexterm>\upharpoonright</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="712">\upharpoonright</indexterm>\upharpoonright</itemformat></item> </tableterm><tableitem><para><U>21BE</U> Up harpoon, with barb on right side (relation). Synonym: <code>&backslashchar;restriction</code>. Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="697">\uplus</indexterm>\uplus</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="713">\uplus</indexterm>\uplus</itemformat></item> </tableterm><tableitem><para><U>228E</U> Multiset union, a union symbol with a plus symbol in the middle (binary). Similar: union <code>\cup</code>. Related: variable-sized operator <code>\biguplus</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="698">\Upsilon</indexterm>\Upsilon</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="714">\Upsilon</indexterm>\Upsilon</itemformat></item> </tableterm><tableitem><para><U>03A5</U> Upper case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="699">\upsilon</indexterm>\upsilon</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="715">\upsilon</indexterm>\upsilon</itemformat></item> </tableterm><tableitem><para><U>03C5</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="700">\varepsilon</indexterm>\varepsilon</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="716">\varepsilon</indexterm>\varepsilon</itemformat></item> </tableterm><tableitem><para><U>03B5</U> Small letter script epsilon (ordinary). This is more widely used in mathematics than the non-variant lunate epsilon form <code>\epsilon</code> <U>03F5</U>. Related: set membership <code>\in</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="701">\vanothing</indexterm>\vanothing</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="717">\vanothing</indexterm>\vanothing</itemformat></item> </tableterm><tableitem><para><U>2205</U> Empty set symbol. Similar: <code>\emptyset</code>. Related: <code>\revemptyset</code>. Not available in plain &tex;. In &latex; you need to load the <file>amssymb</file> package. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="702">\varphi</indexterm>\varphi</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="718">\varphi</indexterm>\varphi</itemformat></item> </tableterm><tableitem><para><U>03C6</U> Variant on the lower case Greek letter (ordinary). The non-variant form is <code>\phi</code> <U>03D5</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="703">\varpi</indexterm>\varpi</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="719">\varpi</indexterm>\varpi</itemformat></item> </tableterm><tableitem><para><U>03D6</U> Variant on the lower case Greek letter (ordinary). The non-variant form is <code>\pi</code> <U>03C0</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="704">\varrho</indexterm>\varrho</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="720">\varrho</indexterm>\varrho</itemformat></item> </tableterm><tableitem><para><U>03F1</U> Variant on the lower case Greek letter (ordinary). The non-variant form is <code>\rho</code> <U>03C1</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="705">\varsigma</indexterm>\varsigma</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="721">\varsigma</indexterm>\varsigma</itemformat></item> </tableterm><tableitem><para><U>03C2</U> Variant on the lower case Greek letter (ordinary). The non-variant form is <code>\sigma</code> <U>03C3</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="706">\vartheta</indexterm>\vartheta</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="722">\vartheta</indexterm>\vartheta</itemformat></item> </tableterm><tableitem><para><U>03D1</U> Variant on the lower case Greek letter (ordinary). The non-variant form is <code>\theta</code> <U>03B8</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="707">\vdash</indexterm>\vdash</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="723">\vdash</indexterm>\vdash</itemformat></item> </tableterm><tableitem><para><U>22A2</U> Provable; turnstile, vertical and a dash (relation). Similar: turnstile rotated a half-circle <code>\dashv</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="708">\vee</indexterm>\vee</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="724">\vee</indexterm>\vee</itemformat></item> </tableterm><tableitem><para><U>2228</U> Logical or; a downwards v shape (binary). Related: logical and <code>\wedge</code>. Similar: variable-sized operator <code>\bigvee</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="709">\Vert</indexterm>\Vert</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="725">\Vert</indexterm>\Vert</itemformat></item> </tableterm><tableitem><para><U>2016</U> Vertical double bar (ordinary). Similar: vertical single bar <code>\vert</code>. </para> @@ -7978,7 +9004,7 @@ and <code>\norm[<var>size command</var>]{M^\perp}</code> also give do not grow but are set to the size given in the <var>size command</var>, e.g., <code>\Bigg</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="710">\vert</indexterm>\vert</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="726">\vert</indexterm>\vert</itemformat></item> </tableterm><tableitem><para><U>007C</U> Single line vertical bar (ordinary). Similar: double-line vertical bar <code>\Vert</code>. For such that, as in the definition of a set, use <code>\mid</code> because it is a relation. @@ -7995,24 +9021,24 @@ the height of the argument but instead are the default height, and that do not grow but are set to the size given in the <var>size command</var>, e.g., <code>\Bigg</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="711">\wedge</indexterm>\wedge</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="727">\wedge</indexterm>\wedge</itemformat></item> </tableterm><tableitem><para><U>2227</U> Logical and (binary). Synonym: <code>\land</code>. See also logical or <code>\vee</code>. Similar: variable-sized operator <code>\bigwedge</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="712">\wp</indexterm>\wp</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="728">\wp</indexterm>\wp</itemformat></item> </tableterm><tableitem><para><U>2118</U> Weierstrass p (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="713">\wr</indexterm>\wr</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="729">\wr</indexterm>\wr</itemformat></item> </tableterm><tableitem><para><U>2240</U> Wreath product (binary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="714">\Xi</indexterm>\Xi</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="730">\Xi</indexterm>\Xi</itemformat></item> </tableterm><tableitem><para><U>039E</U> Upper case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="715">\xi</indexterm>\xi</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="731">\xi</indexterm>\xi</itemformat></item> </tableterm><tableitem><para><U>03BE</U> Lower case Greek letter (ordinary). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="716">\zeta</indexterm>\zeta</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="732">\zeta</indexterm>\zeta</itemformat></item> </tableterm><tableitem><para><U>03B6</U> Lower case Greek letter (ordinary). </para> </tableitem></tableentry></ftable> @@ -8022,116 +9048,116 @@ operator <code>\bigwedge</code>. <node name="Math-functions" spaces=" "><nodename>Math functions</nodename><nodenext automatic="on">Math accents</nodenext><nodeprev automatic="on">Math symbols</nodeprev><nodeup automatic="on">Math formulas</nodeup></node> <section spaces=" "><sectiontitle>Math functions</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="355">math functions</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="356">functions, math</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="386">math functions</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="387">functions, math</indexterm></cindex> <para>These commands produce roman function names in math mode with proper spacing. </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="717">\arccos</indexterm>\arccos</itemformat></item> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="733">\arccos</indexterm>\arccos</itemformat></item> </tableterm><tableitem><para><math>\arccos</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="718">\arcsin</indexterm>\arcsin</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="734">\arcsin</indexterm>\arcsin</itemformat></item> </tableterm><tableitem><para><math>\arcsin</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="719">\arctan</indexterm>\arctan</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="735">\arctan</indexterm>\arctan</itemformat></item> </tableterm><tableitem><para><math>\arctan</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="720">\arg</indexterm>\arg</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="736">\arg</indexterm>\arg</itemformat></item> </tableterm><tableitem><para><math>\arg</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="721">\bmod</indexterm>\bmod</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="737">\bmod</indexterm>\bmod</itemformat></item> </tableterm><tableitem><para>Binary modulo operator (<math>x \bmod y</math>) </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="722">\cos</indexterm>\cos</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="738">\cos</indexterm>\cos</itemformat></item> </tableterm><tableitem><para><math>\cos</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="723">\cosh</indexterm>\cosh</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="739">\cosh</indexterm>\cosh</itemformat></item> </tableterm><tableitem><para><math>\cosh</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="724">\cot</indexterm>\cot</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="740">\cot</indexterm>\cot</itemformat></item> </tableterm><tableitem><para><math>\cot</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="725">\coth</indexterm>\coth</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="741">\coth</indexterm>\coth</itemformat></item> </tableterm><tableitem><para><math>\coth</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="726">\csc</indexterm>\csc</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="742">\csc</indexterm>\csc</itemformat></item> </tableterm><tableitem><para><math>\csc</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="727">\deg</indexterm>\deg</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="743">\deg</indexterm>\deg</itemformat></item> </tableterm><tableitem><para><math>\deg</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="728">\det</indexterm>\det</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="744">\det</indexterm>\det</itemformat></item> </tableterm><tableitem><para><math>\det</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="729">\dim</indexterm>\dim</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="745">\dim</indexterm>\dim</itemformat></item> </tableterm><tableitem><para><math>\dim</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="730">\exp</indexterm>\exp</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="746">\exp</indexterm>\exp</itemformat></item> </tableterm><tableitem><para><math>\exp</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="731">\gcd</indexterm>\gcd</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="747">\gcd</indexterm>\gcd</itemformat></item> </tableterm><tableitem><para><math>\gcd</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="732">\hom</indexterm>\hom</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="748">\hom</indexterm>\hom</itemformat></item> </tableterm><tableitem><para><math>\hom</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="733">\inf</indexterm>\inf</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="749">\inf</indexterm>\inf</itemformat></item> </tableterm><tableitem><para><math>\inf</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="734">\ker</indexterm>\ker</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="750">\ker</indexterm>\ker</itemformat></item> </tableterm><tableitem><para><math>\ker</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="735">\lg</indexterm>\lg</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="751">\lg</indexterm>\lg</itemformat></item> </tableterm><tableitem><para><math>\lg</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="736">\lim</indexterm>\lim</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="752">\lim</indexterm>\lim</itemformat></item> </tableterm><tableitem><para><math>\lim</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="737">\liminf</indexterm>\liminf</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="753">\liminf</indexterm>\liminf</itemformat></item> </tableterm><tableitem><para><math>\liminf</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="738">\limsup</indexterm>\limsup</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="754">\limsup</indexterm>\limsup</itemformat></item> </tableterm><tableitem><para><math>\limsup</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="739">\ln</indexterm>\ln</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="755">\ln</indexterm>\ln</itemformat></item> </tableterm><tableitem><para><math>\ln</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="740">\log</indexterm>\log</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="756">\log</indexterm>\log</itemformat></item> </tableterm><tableitem><para><math>\log</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="741">\max</indexterm>\max</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="757">\max</indexterm>\max</itemformat></item> </tableterm><tableitem><para><math>\max</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="742">\min</indexterm>\min</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="758">\min</indexterm>\min</itemformat></item> </tableterm><tableitem><para><math>\min</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="743">\pmod</indexterm>\pmod</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="759">\pmod</indexterm>\pmod</itemformat></item> </tableterm><tableitem><para>parenthesized modulus, as in (<math>\pmod 2^n - 1</math>) </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="744">\Pr</indexterm>\Pr</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="760">\Pr</indexterm>\Pr</itemformat></item> </tableterm><tableitem><para><math>\Pr</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="745">\sec</indexterm>\sec</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="761">\sec</indexterm>\sec</itemformat></item> </tableterm><tableitem><para><math>\sec</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="746">\sin</indexterm>\sin</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="762">\sin</indexterm>\sin</itemformat></item> </tableterm><tableitem><para><math>\sin</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="747">\sinh</indexterm>\sinh</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="763">\sinh</indexterm>\sinh</itemformat></item> </tableterm><tableitem><para><math>\sinh</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="748">\sup</indexterm>\sup</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="764">\sup</indexterm>\sup</itemformat></item> </tableterm><tableitem><para><math>\sup</math> <!-- c don't try to use \sup with dvi/pdf output since that turned into a --> <!-- c Texinfo command and it's not worth hassling with different versions --> <!-- c when it's just three roman letters anyway. --> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="749">\tan</indexterm>\tan</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="765">\tan</indexterm>\tan</itemformat></item> </tableterm><tableitem><para><math>\tan</math> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="750">\tanh</indexterm>\tanh</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="766">\tanh</indexterm>\tanh</itemformat></item> </tableterm><tableitem><para><math>\tanh</math> </para> </tableitem></tableentry></ftable> @@ -8141,76 +9167,76 @@ spacing. <node name="Math-accents" spaces=" "><nodename>Math accents</nodename><nodenext automatic="on">Spacing in math mode</nodenext><nodeprev automatic="on">Math functions</nodeprev><nodeup automatic="on">Math formulas</nodeup></node> <section spaces=" "><sectiontitle>Math accents</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="357">math accents</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="358">accents, mathematical</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="388">math accents</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="389">accents, mathematical</indexterm></cindex> <para>&latex; provides a variety of commands for producing accented letters in math. These are different from accents in normal text (<pxref label="Accents"><xrefnodename>Accents</xrefnodename></pxref>). </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="751">\acute</indexterm>\acute</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="359">acute accent, math</indexterm></cindex> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="767">\acute</indexterm>\acute</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="390">acute accent, math</indexterm></cindex> <para>Math acute accent: <math>\acute{x}</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="752">\bar</indexterm>\bar</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="360">bar-over accent, math</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="361">macron accent, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="768">\bar</indexterm>\bar</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="391">bar-over accent, math</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="392">macron accent, math</indexterm></cindex> <para>Math bar-over accent: <math>\bar{x}</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="753">\breve</indexterm>\breve</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="362">breve accent, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="769">\breve</indexterm>\breve</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="393">breve accent, math</indexterm></cindex> <para>Math breve accent: <math>\breve{x}</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="754">\check</indexterm>\check</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="363">check accent, math</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="364">h<accent type="acute" bracketed="off">a</accent><accent type="caron">c</accent>ek accent, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="770">\check</indexterm>\check</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="394">check accent, math</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="395">h<accent type="acute" bracketed="off">a</accent><accent type="caron">c</accent>ek accent, math</indexterm></cindex> <para>Math h<accent type="acute" bracketed="off">a</accent><accent type="caron">c</accent>ek (check) accent: <math>\check{x}</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="755">\ddot</indexterm>\ddot</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="365">double dot accent, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="771">\ddot</indexterm>\ddot</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="396">double dot accent, math</indexterm></cindex> <para>Math dieresis accent: <math>\ddot{x}</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="756">\dot</indexterm>\dot</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="366">overdot accent, math</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="367">dot over accent, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="772">\dot</indexterm>\dot</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="397">overdot accent, math</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="398">dot over accent, math</indexterm></cindex> <para>Math dot accent: <math>\dot{x}</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="757">\grave</indexterm>\grave</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="368">grave accent, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="773">\grave</indexterm>\grave</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="399">grave accent, math</indexterm></cindex> <para>Math grave accent: <math>\grave{x}</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="758">\hat</indexterm>\hat</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="369">hat accent, math</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="370">circumflex accent, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="774">\hat</indexterm>\hat</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="400">hat accent, math</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="401">circumflex accent, math</indexterm></cindex> <para>Math hat (circumflex) accent: <math>\hat{x}</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="759">\imath</indexterm>\imath</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="371">dotless i, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="775">\imath</indexterm>\imath</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="402">dotless i, math</indexterm></cindex> <para>Math dotless i. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="760">\jmath</indexterm>\jmath</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="372">dotless j, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="776">\jmath</indexterm>\jmath</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="403">dotless j, math</indexterm></cindex> <para>Math dotless j. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="761">\mathring</indexterm>\mathring</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="373">ring accent, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="777">\mathring</indexterm>\mathring</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="404">ring accent, math</indexterm></cindex> <para>Math ring accent: <accent type="ring">x</accent>. <!-- c don't bother implementing in texinfo --> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="762">\tilde</indexterm>\tilde</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="374">tilde accent, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="778">\tilde</indexterm>\tilde</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="405">tilde accent, math</indexterm></cindex> <para>Math tilde accent: <math>\tilde{x}</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="763">\vec</indexterm>\vec</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="375">vector symbol, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="779">\vec</indexterm>\vec</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="406">vector symbol, math</indexterm></cindex> <para>Math vector symbol: <math>\vec{x}</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="764">\widehat</indexterm>\widehat</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="376">wide hat accent, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="780">\widehat</indexterm>\widehat</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="407">wide hat accent, math</indexterm></cindex> <para>Math wide hat accent: <math>\widehat{x+y}</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="765">\widetilde</indexterm>\widetilde</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="377">wide tilde accent, math</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="781">\widetilde</indexterm>\widetilde</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="408">wide tilde accent, math</indexterm></cindex> <para>Math wide tilde accent: <math>\widetilde{x+y}</math>. </para> </tableitem></tableentry></ftable> @@ -8220,8 +9246,8 @@ in math. These are different from accents in normal text <node name="Spacing-in-math-mode" spaces=" "><nodename>Spacing in math mode</nodename><nodenext automatic="on">Math miscellany</nodenext><nodeprev automatic="on">Math accents</nodeprev><nodeup automatic="on">Math formulas</nodeup></node> <section spaces=" "><sectiontitle>Spacing in math mode</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="378">spacing within math mode</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="379">math mode, spacing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="409">spacing within math mode</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="410">math mode, spacing</indexterm></cindex> <para>In a <code>math</code> environment, &latex; ignores the spaces that you use in the source, and instead puts in the spacing according to the normal @@ -8234,39 +9260,39 @@ math symbols family (<pxref label="Units-of-length"><xrefnodename>Units of lengt </para> <table commandarg="code" spaces=" " endspaces=" "> <tableentry><tableterm><item spaces=" "><itemformat command="code">\;</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="766">\;</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="767">\thickspace</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="782">\;</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="783">\thickspace</indexterm></findex> <para>Normally <code>5.0mu plus 5.0mu</code>. The longer name is <code>\thickspace</code>. Math mode only. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\:</itemformat></item> <itemx spaces=" "><itemformat command="code">\></itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="768">\:</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="769">\></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="770">\medspace</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="784">\:</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="785">\></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="786">\medspace</indexterm></findex> <para>Normally <code>4.0mu plus 2.0mu minus 4.0mu</code>. The longer name is <code>\medspace</code>. Math mode only. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\,</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="771">\,</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="772">\thinspace</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="787">\,</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="788">\thinspace</indexterm></findex> <para>Normally <code>3mu</code>. The longer name is <code>\thinspace</code>. This can be used in both math mode and text mode. <xref label="_005cthinspace"><xrefnodename>\thinspace</xrefnodename></xref>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\!</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="773">\!</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="789">\!</indexterm></findex> <para>A negative thin space. Normally <code>-3mu</code>. Math mode only. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\quad</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="380">quad</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="774">\quad</indexterm></findex> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="411">quad</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="790">\quad</indexterm></findex> <para>This is 18<dmn>mu</dmn>, that is, 1<dmn>em</dmn>. This is often used for space surrounding equations or expressions, for instance for the space between two equations inside a <code>displaymath</code> environment. It is available in both text and math mode. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\qquad</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="775">\qquad</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="791">\qquad</indexterm></findex> <para>A length of 2 quads, that is, 36<dmn>mu</dmn> = 2<dmn>em</dmn>. It is available in both text and math mode. </para></tableitem></tableentry></table> @@ -8283,12 +9309,12 @@ infinitesimal. <node name="Math-miscellany" spaces=" "><nodename>Math miscellany</nodename><nodeprev automatic="on">Spacing in math mode</nodeprev><nodeup automatic="on">Math formulas</nodeup></node> <section spaces=" "><sectiontitle>Math miscellany</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="381">math miscellany</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="412">math miscellany</indexterm></cindex> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="776">\*</indexterm>\*</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="382">discretionary multiplication</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="383">multiplication symbol, discretionary line break</indexterm></cindex> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="792">\*</indexterm>\*</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="413">discretionary multiplication</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="414">multiplication symbol, discretionary line break</indexterm></cindex> <para>A <dfn>discretionary</dfn> multiplication symbol, at which a line break is allowed. Without the break multiplication is implicitly indicated by a space, while in the case of a break a <U>00D7</U> symbol is @@ -8316,72 +9342,71 @@ through <math>A_4</math>, that is <math>A_1 A_2 \times</math>&linebreak;<math>A_ equal to zero. </para></indentedblock> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="777">\cdots</indexterm>\cdots</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="793">\cdots</indexterm>\cdots</itemformat></item> </tableterm><tableitem><para>A horizontal ellipsis with the dots raised to the center of the line. <tex endspaces=" "> -As in: &textlsquo;$\cdots$&textrsquo;. </tex> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="778">\ddots</indexterm>\ddots</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="794">\ddots</indexterm>\ddots</itemformat></item> </tableterm><tableitem><para>A diagonal ellipsis: <math>\ddots</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="779">\frac{<var>num</var>}{<var>den</var>}</indexterm>\frac{<var>num</var>}{<var>den</var>}</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="780">\frac</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="795">\frac{<var>num</var>}{<var>den</var>}</indexterm>\frac{<var>num</var>}{<var>den</var>}</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="796">\frac</indexterm></findex> <para>Produces the fraction <var>num</var> divided by <var>den</var>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="781">\left <var>delim1</var> ... \right <var>delim2</var></indexterm>\left <var>delim1</var> ... \right <var>delim2</var></itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="782">\right</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="384">null delimiter</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="797">\left <var>delim1</var> ... \right <var>delim2</var></indexterm>\left <var>delim1</var> ... \right <var>delim2</var></itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="798">\right</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="415">null delimiter</indexterm></cindex> <para>The two delimiters need not match; <samp>.</samp> acts as a <dfn>null delimiter</dfn>, producing no output. The delimiters are sized according to the math in between. Example: <code>\left( \sum_{i=1}^{10} a_i \right]</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="783">\mathdollar</indexterm>\mathdollar</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="799">\mathdollar</indexterm>\mathdollar</itemformat></item> </tableterm><tableitem><para>Dollar sign in math mode: $. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="784">\mathellipsis</indexterm>\mathellipsis</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="800">\mathellipsis</indexterm>\mathellipsis</itemformat></item> </tableterm><tableitem><para>Ellipsis (spaced for text) in math mode: &dots;. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="785">\mathparagraph</indexterm>\mathparagraph</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="801">\mathparagraph</indexterm>\mathparagraph</itemformat></item> </tableterm><tableitem><para>Paragraph sign (pilcrow) in math mode: <U>00B6</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="786">\mathsection</indexterm>\mathsection</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="802">\mathsection</indexterm>\mathsection</itemformat></item> </tableterm><tableitem><para>Section sign in math mode. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="787">\mathsterling</indexterm>\mathsterling</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="803">\mathsterling</indexterm>\mathsterling</itemformat></item> </tableterm><tableitem><para>Sterling sign in math mode: £. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="788">\mathunderscore</indexterm>\mathunderscore</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="804">\mathunderscore</indexterm>\mathunderscore</itemformat></item> </tableterm><tableitem><para>Underscore in math mode: _. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="789">\overbrace{<var>math</var>}</indexterm>\overbrace{<var>math</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="805">\overbrace{<var>math</var>}</indexterm>\overbrace{<var>math</var>}</itemformat></item> </tableterm><tableitem><para>Generates a brace over <var>math</var>. For example, <code>\overbrace{x+\cdots+x}^{k \;\textrm{times}}</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="790">\overline{<var>text</var>}</indexterm>\overline{<var>text</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="806">\overline{<var>text</var>}</indexterm>\overline{<var>text</var>}</itemformat></item> </tableterm><tableitem><para>Generates a horizontal line over <var>tex</var>. For example, <code>\overline{x+y}</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="791">\sqrt[<var>root</var>]{<var>arg</var>}</indexterm>\sqrt[<var>root</var>]{<var>arg</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="807">\sqrt[<var>root</var>]{<var>arg</var>}</indexterm>\sqrt[<var>root</var>]{<var>arg</var>}</itemformat></item> </tableterm><tableitem><para>Produces the representation of the square root of <var>arg</var>. The optional argument <var>root</var> determines what root to produce. For example, the cube root of <code>x+y</code> would be typed as <code>\sqrt[3]{x+y}</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="792">\stackrel{<var>text</var>}{<var>relation</var>}</indexterm>\stackrel{<var>text</var>}{<var>relation</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="808">\stackrel{<var>text</var>}{<var>relation</var>}</indexterm>\stackrel{<var>text</var>}{<var>relation</var>}</itemformat></item> </tableterm><tableitem><para>Puts <var>text</var> above <var>relation</var>. For example, <code>\stackrel{f}{\longrightarrow}</code>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="793">\underbrace{<var>math</var>}</indexterm>\underbrace{<var>math</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="809">\underbrace{<var>math</var>}</indexterm>\underbrace{<var>math</var>}</itemformat></item> </tableterm><tableitem><para>Generates <var>math</var> with a brace underneath. For example, <code>\underbrace{x+y+z}_{>\,0}</code> </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="794">\underline{<var>text</var>}</indexterm>\underline{<var>text</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="810">\underline{<var>text</var>}</indexterm>\underline{<var>text</var>}</itemformat></item> </tableterm><tableitem><para>Causes <var>text</var>, which may be either math mode or not, to be underlined. The line is always below the text, taking account of descenders. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="795">\vdots</indexterm>\vdots</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="811">\vdots</indexterm>\vdots</itemformat></item> </tableterm><tableitem><para>Produces a vertical ellipsis. </para> </tableitem></tableentry></ftable> @@ -8392,11 +9417,11 @@ descenders. <node name="Modes" spaces=" "><nodename>Modes</nodename><nodenext automatic="on">Page styles</nodenext><nodeprev automatic="on">Math formulas</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Modes</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="385">modes</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="386">paragraph mode</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="387">math mode</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="388">left-to-right mode</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="389">LR mode</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="416">modes</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="417">paragraph mode</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="418">math mode</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="419">left-to-right mode</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="420">LR mode</indexterm></cindex> <para>When &latex; is processing your input text, it is always in one of three modes: @@ -8420,7 +9445,7 @@ input text into lines and breaks the lines into pages. <para>&latex; is in <dfn>math mode</dfn> when it&textrsquo;s generating a mathematical formula, either displayed math or within a line. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="796">\mbox<r>, and LR mode</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="812">\mbox<r>, and LR mode</r></indexterm></findex> <para>In <dfn>LR mode</dfn>, 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 @@ -8490,8 +9515,8 @@ All roads \leadsto\ Rome. <node name="Page-styles" spaces=" "><nodename>Page styles</nodename><nodenext automatic="on">Spaces</nodenext><nodeprev automatic="on">Modes</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Page styles</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="390">styles, page</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="391">page styles</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="421">styles, page</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="422">page styles</indexterm></cindex> <para>The <code>\documentclass</code> command determines the size and position of the page&textrsquo;s head and foot. The page style determines what goes in them. @@ -8507,8 +9532,8 @@ the page&textrsquo;s head and foot. The page style determines what goes in them <node name="_005cmaketitle" spaces=" "><nodename>\maketitle</nodename><nodenext automatic="on">\pagenumbering</nodenext><nodeup automatic="on">Page styles</nodeup></node> <section spaces=" "><sectiontitle><code>\maketitle</code></sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="392">titles, making</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="797">\maketitle</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="423">titles, making</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="813">\maketitle</indexterm></findex> <para>The <code>\maketitle</code> command generates a title on a separate title page&textmdash;except in the <code>article</code> class, where the title is placed @@ -8516,30 +9541,30 @@ at the top of the first page. Information used to produce the title is obtained from the following declarations: </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="798">\author{<var>name</var> \and <var>name2</var>}</indexterm>\author{<var>name</var> \and <var>name2</var>}</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="393">author, for titlepage</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="799">\\ <r>for <code>\author</code></r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="800">\and <r>for <code>\author</code></r></indexterm></findex> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="814">\author{<var>name</var> \and <var>name2</var>}</indexterm>\author{<var>name</var> \and <var>name2</var>}</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="424">author, for titlepage</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="815">\\ <r>for <code>\author</code></r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="816">\and <r>for <code>\author</code></r></indexterm></findex> <para>The <code>\author</code> command declares the document author(s), where the argument is a list of authors separated by <code>\and</code> commands. Use <code>\\</code> to separate lines within a single author&textrsquo;s entry&textmdash;for example, to give the author&textrsquo;s institution or address. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="801">\date{<var>text</var>}</indexterm>\date{<var>text</var>}</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="394">date, for titlepage</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="817">\date{<var>text</var>}</indexterm>\date{<var>text</var>}</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="425">date, for titlepage</indexterm></cindex> <para>The <code>\date</code> command declares <var>text</var> to be the document&textrsquo;s date. With no <code>\date</code> command, the current date (<pxref label="_005ctoday"><xrefnodename>\today</xrefnodename></pxref>) is used. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="802">\thanks{<var>text</var>}</indexterm>\thanks{<var>text</var>}</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="395">thanks, for titlepage</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="396">credit footnote</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="818">\thanks{<var>text</var>}</indexterm>\thanks{<var>text</var>}</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="426">thanks, for titlepage</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="427">credit footnote</indexterm></cindex> <para>The <code>\thanks</code> command produces a <code>\footnote</code> to the title, usually used for credit acknowledgements. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="803">\title{<var>text</var>}</indexterm>\title{<var>text</var>}</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="397">title, for titlepage</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="804">\\ <r>for <code>\title</code></r></indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="819">\title{<var>text</var>}</indexterm>\title{<var>text</var>}</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="428">title, for titlepage</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="820">\\ <r>for <code>\title</code></r></indexterm></findex> <para>The <code>\title</code> command declares <var>text</var> to be the title of the document. Use <code>\\</code> to force a line break, as usual. </para> @@ -8550,8 +9575,8 @@ document. Use <code>\\</code> to force a line break, as usual. <node name="_005cpagenumbering" spaces=" "><nodename>\pagenumbering</nodename><nodenext automatic="on">\pagestyle</nodenext><nodeprev automatic="on">\maketitle</nodeprev><nodeup automatic="on">Page styles</nodeup></node> <section spaces=" "><sectiontitle><code>\pagenumbering</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="805">\pagenumbering</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="398">page numbering style</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="821">\pagenumbering</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="429">page numbering style</indexterm></cindex> <para>Synopsis: </para> @@ -8585,10 +9610,10 @@ the following: <node name="_005cpagestyle" spaces=" "><nodename>\pagestyle</nodename><nodenext automatic="on">\thispagestyle</nodenext><nodeprev automatic="on">\pagenumbering</nodeprev><nodeup automatic="on">Page styles</nodeup></node> <section spaces=" "><sectiontitle><code>\pagestyle</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="806">\pagestyle</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="399">header style</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="400">footer style</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="401">running header and footer style</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="822">\pagestyle</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="430">header style</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="431">footer style</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="432">running header and footer style</indexterm></cindex> <para>Synopsis: </para> @@ -8619,7 +9644,7 @@ goes in the headers. <para>Here are the descriptions of <code>\markboth</code> and <code>\markright</code>: </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="807">\markboth{<var>left</var>}{<var>right</var>}</indexterm>\markboth{<var>left</var>}{<var>right</var>}</itemformat></item> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="823">\markboth{<var>left</var>}{<var>right</var>}</indexterm>\markboth{<var>left</var>}{<var>right</var>}</itemformat></item> </tableterm><tableitem><para>Sets both the left and the right heading. A &textldquo;left-hand heading&textrdquo; (<var>left</var>) is generated by the last <code>\markboth</code> command before the end of the page, while a &textldquo;right-hand heading&textrdquo; (<var>right</var>) is @@ -8627,7 +9652,7 @@ generated by the first <code>\markboth</code> or <code>\markright</code> that comes on the page if there is one, otherwise by the last one before the page. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="808">\markright{<var>right</var>}</indexterm>\markright{<var>right</var>}</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="824">\markright{<var>right</var>}</indexterm>\markright{<var>right</var>}</itemformat></item> </tableterm><tableitem><para>Sets the right heading, leaving the left heading unchanged. </para> </tableitem></tableentry></ftable> @@ -8637,7 +9662,7 @@ the page. <node name="_005cthispagestyle" spaces=" "><nodename>\thispagestyle</nodename><nodeprev automatic="on">\pagestyle</nodeprev><nodeup automatic="on">Page styles</nodeup></node> <section spaces=" "><sectiontitle><code>\thispagestyle{<var>style</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="809">\thispagestyle</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="825">\thispagestyle</indexterm></findex> <para>The <code>\thispagestyle</code> command works in the same manner as the <code>\pagestyle</code> command (see previous section) except that it @@ -8649,8 +9674,8 @@ changes to <var>style</var> for the current page only. <node name="Spaces" spaces=" "><nodename>Spaces</nodename><nodenext automatic="on">Boxes</nodenext><nodeprev automatic="on">Page styles</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Spaces</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="402">spaces</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="403">white space</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="433">spaces</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="434">white space</indexterm></cindex> <para>&latex; has many ways to produce white (or filled) space. </para> @@ -8658,9 +9683,8 @@ changes to <var>style</var> for the current page only. <menucomment><pre xml:space="preserve">Horizontal space </pre></menucomment><menuentry leadingtext="* "><menunode separator=":: ">\hspace</menunode><menudescription><pre xml:space="preserve">Fixed horizontal space. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\hfill</menunode><menudescription><pre xml:space="preserve">Stretchable horizontal space. -</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\(SPACE) and \&arobase;</menunode><menudescription><pre xml:space="preserve">Space after a period. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\spacefactor</menunode><menudescription><pre xml:space="preserve">Stretchability of following space </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\(SPACE) after control sequence</menunode><menudescription><pre xml:space="preserve">Space (gobbling) after a control sequence. -</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\frenchspacing</menunode><menudescription><pre xml:space="preserve">Equal interword and inter-sentence space. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\thinspace</menunode><menudescription><pre xml:space="preserve">One-sixth of an em. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\/</menunode><menudescription><pre xml:space="preserve">Insert italic correction. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\hrulefill \dotfill</menunode><menudescription><pre xml:space="preserve">Stretchable horizontal rule or dots. @@ -8676,7 +9700,7 @@ Vertical space <node name="_005chspace" spaces=" "><nodename>\hspace</nodename><nodenext automatic="on">\hfill</nodenext><nodeup automatic="on">Spaces</nodeup></node> <section spaces=" "><sectiontitle><code>\hspace</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="810">\hspace</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="826">\hspace</indexterm></findex> <para>Synopsis: </para> @@ -8708,68 +9732,153 @@ from the right margin. </section> -<node name="_005chfill" spaces=" "><nodename>\hfill</nodename><nodenext automatic="on">\(SPACE) and \&arobase;</nodenext><nodeprev automatic="on">\hspace</nodeprev><nodeup automatic="on">Spaces</nodeup></node> +<node name="_005chfill" spaces=" "><nodename>\hfill</nodename><nodenext automatic="on">\spacefactor</nodenext><nodeprev automatic="on">\hspace</nodeprev><nodeup automatic="on">Spaces</nodeup></node> <section spaces=" "><sectiontitle><code>\hfill</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="811">\hfill</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="827">\hfill</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="404">stretch, infinite horizontal</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="405">infinite horizontal stretch</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="435">stretch, infinite horizontal</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="436">infinite horizontal stretch</indexterm></cindex> <para>Produce a rubber length which has no natural space but can stretch horizontally as far as needed (<pxref label="Lengths"><xrefnodename>Lengths</xrefnodename></pxref>). </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="812">\fill</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="828">\fill</indexterm></findex> <para>The command <code>\hfill</code> is equivalent to <code>\hspace{\fill}</code>. For space that does not disappear at line breaks use <code>\hspace*{\fill}</code> instead (<pxref label="_005chspace"><xrefnodename>\hspace</xrefnodename></pxref>). </para> </section> -<node name="_005c_0028SPACE_0029-and-_005c_0040" spaces=" "><nodename>\(SPACE) and \&arobase;</nodename><nodenext automatic="on">\(SPACE) after control sequence</nodenext><nodeprev automatic="on">\hfill</nodeprev><nodeup automatic="on">Spaces</nodeup></node> -<section spaces=" "><sectiontitle><code>\(SPACE)</code> and \&arobase;</sectiontitle> +<node name="_005cspacefactor" spaces=" "><nodename>\spacefactor</nodename><nodenext automatic="on">\(SPACE) after control sequence</nodenext><nodeprev automatic="on">\hfill</nodeprev><nodeup automatic="on">Spaces</nodeup></node> +<section spaces=" "><sectiontitle><code>\spacefactor</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="813">\(SPACE)</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="814">\TAB</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="815">\NEWLINE</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="816">\&arobase;</indexterm></findex> +<para>Synopsis: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\spacefactor=<var>integer</var> +</pre></example> + +<findex index="fn" spaces=" "><indexterm index="fn" number="829">\spacefactor</indexterm></findex> +<para>While &latex; is making the page, to give the lines the best appearance +it may stretch or shrink the gaps between words. The +<code>\spacefactor</code> command (from Plain &tex;) allows you to +change the &latex;&textrsquo;s default behavior. +</para> +<para>After &latex; places each character, or rule or other box, it sets a +parameter called the <dfn>space factor</dfn>. If the next thing in the input +is a space then this parameter affects how much of a horizontal gap +&latex; will have it span. (This gap is not a character; it is called +<dfn>interword glue</dfn>.) A larger space factor means that the glue gap +can stretch more and shrink less. +</para> +<para>Normally, the space factor is 1000; this value is in effect following +most characters, and any non-character box or math formula. But it is +3000 after a period, exclamation mark, or question mark, it is 2000 +after a colon, 1500 after a semicolon, 1250 after a comma, and 0 after a +right parenthesis or bracket, or closing double quote or single quote. +Finally, it is 999 after a capital letter. +</para> +<para>If the space factor <var>f</var> is 1000 then the glue gap will be the +font&textrsquo;s normal space value (for Computer Modern Roman 10 point this is +3.3333 points). Otherwise, if the space factor <var>f</var> is greater +than 2000 then &tex; adds the font&textrsquo;s extra space value (for Computer +Modern Roman 10 point this is 1.11111 points), and then the font&textrsquo;s +normal stretch value is multiplied by <math>f /1000</math> and the normal +shrink value is multiplied by <math>1000/f</math> (for Computer Modern Roman +10 point these are 1.66666 and 1.11111 points). In short, compared +to a normal space, such as the space following a word ending in a +lowercase letter, inter-sentence spacing has a fixed extra space added +and then the space can stretch 3 times as much and shrink 1/3 as much. +</para> +<para>The rules for how &tex; uses space factors are even more complex +because they play two more roles. In practice, there are two +consequences. First, if a period or other punctuation is followed by a +close parenthesis or close double quote then its effect is still in +place, that is, the following glue will have increased stretch and +shrink. Second, conversely, if punctuation comes after a capital letter +then its effect is not in place so you get an ordinary space. For how +to adjust to this second case, for instance if an abbreviation does not +end in a capital letter, <pxref label="_005c_0028SPACE_0029-and-_005c_0040"><xrefnodename>\(SPACE) and \&arobase;</xrefnodename></pxref>. +</para> + +<menu endspaces=" "> +<menuentry leadingtext="* "><menunode separator=":: ">\(SPACE) and \&arobase;</menunode><menudescription><pre xml:space="preserve">Space after a period. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\frenchspacing</menunode><menudescription><pre xml:space="preserve">Equal interword and inter-sentence space. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\normalsfcodes</menunode><menudescription><pre xml:space="preserve">Restore space factor settings to the default. +</pre></menudescription></menuentry></menu> + + +<node name="_005c_0028SPACE_0029-and-_005c_0040" spaces=" "><nodename trailingspaces=" ">\(SPACE) and \&arobase;</nodename><nodenext automatic="on">\frenchspacing</nodenext><nodeup automatic="on">\spacefactor</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\(SPACE)</code> and <code>\&arobase;</code> </sectiontitle> + +<findex index="fn" spaces=" "><indexterm index="fn" number="830">\(SPACE)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="831">\TAB</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="832">\NEWLINE</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="833">\&arobase;</indexterm></findex> <anchor name="_005cAT">\AT</anchor><!-- c old name --> -<para>Mark a punctuation character, typically a period, as either ending a -sentence or as ending an abbreviation. +<para>Here, <code>\(SPACE)</code> means a backslash followed by a space. These +commands mark a punctuation character, typically a period, as either +ending a sentence or as ending an abbreviation. </para> <para>By default, in justifying a line &latex; adjusts the space after a sentence-ending period (or a question mark, exclamation point, comma, or -colon) more than the space between words -(<pxref label="_005cfrenchspacing"><xrefnodename>\frenchspacing</xrefnodename></pxref>). &latex; assumes that the period ends a -sentence unless it is preceded by a capital letter, in which case it -takes that period for part of an abbreviation. Note that if a -sentence-ending period is immediately followed by a right parenthesis or -bracket, or right single or double quote, then the inter-sentence space -follows that parenthesis or quote. -</para> -<para>If you have a period ending an abbreviation whose last letter is not a -capital letter, and that abbreviation is not the last word in the +colon) more than the space between words. <xref label="_005cspacefactor"><xrefnodename>\spacefactor</xrefnodename></xref>. As +described there, &latex; assumes that the period ends a sentence unless +it is preceded by a capital letter, in which case it takes that period +for part of an abbreviation. Note that if a sentence-ending period is +immediately followed by a right parenthesis or bracket, or right single +or double quote, then the space effect of that period follows through +that parenthesis or quote. +</para> +<para>So: if you have a period ending an abbreviation whose last letter is not +a capital letter, and that abbreviation is not the last word in the sentence, then follow that period with a backslash-space (<code>\ </code>) or -a tie (<code>~</code>). Examples are <code>Nat.\ Acad.\ Science</code>, and -<code>Mr.~Bean</code>, and <code>(manure, etc.)\ for sale</code>. -</para> -<para>For another use of <code>\ </code>, <pxref label="_005c_0028SPACE_0029-after-control-sequence"><xrefnodename>\(SPACE) after control sequence</xrefnodename></pxref>. +a tie (<code>~</code>) or a <code>\&arobase;</code>. Examples are <code>Nat.\ Acad.\ +Science</code>, and <code>Mr.~Bean</code>, and <code>(manure, etc.\&arobase;) for sale</code> +(note that in the last the <code>\&arobase;</code> comes before the closing parenthesis). </para> <para>In the opposite situation, if you have a capital letter followed by a -period that ends the sentence, then put <code>\&arobase;</code> before that period. -For example, <code>book by the MAA\&arobase;.</code> will have inter-sentence -spacing after the period. +period that does end the sentence, then put <code>\&arobase;</code> before the +period. For example, <code>book by the MAA\&arobase;.</code> will have correct +inter-sentence spacing after the period. +</para> +<para>For another use of <code>\(SPACE)</code>, <pxref label="_005c_0028SPACE_0029-after-control-sequence"><xrefnodename>\(SPACE) after control sequence</xrefnodename></pxref>. +</para> + +</subsection> +<node name="_005cfrenchspacing" spaces=" "><nodename>\frenchspacing</nodename><nodenext automatic="on">\normalsfcodes</nodenext><nodeprev automatic="on">\(SPACE) and \&arobase;</nodeprev><nodeup automatic="on">\spacefactor</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\frenchspacing</code></sectiontitle> + +<findex index="fn" spaces=" "><indexterm index="fn" number="834">\frenchspacing</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="835">\nonfrenchspacing</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="437">spacing, inter-sentence</indexterm></cindex> + +<para>This declaration (from Plain &tex;) causes &latex; to treat +inter-sentence spacing in the same way as interword spacing. +</para> +<para>In justifying the text in a line, some typographic traditions, including +English, prefer to adjust the space between sentences (or after other +punctuation marks) more than the space between words. Following this +declaration, all spaces are instead treated equally. </para> -<para>In contrast, putting <code>\&arobase;</code> after a period tells &tex; that the -period does not end the sentence. In the example <code>reserved words -(if, then, etc.\&arobase;) are different</code>, &tex; will put interword space -after the closing parenthesis (note that <code>\&arobase;</code> is before the -parenthesis). +<para>Revert to the default behavior by declaring <code>\nonfrenchspacing</code>. </para> +</subsection> +<node name="_005cnormalsfcodes" spaces=" "><nodename>\normalsfcodes</nodename><nodeprev automatic="on">\frenchspacing</nodeprev><nodeup automatic="on">\spacefactor</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\normalsfcodes</code></sectiontitle> + +<findex index="fn" spaces=" "><indexterm index="fn" number="836">\normalsfcodes</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="438">spacing, inter-sentence</indexterm></cindex> + +<para>Reset the &latex; space factor values to the default. +</para> + +</subsection> </section> -<node name="_005c_0028SPACE_0029-after-control-sequence" spaces=" "><nodename>\(SPACE) after control sequence</nodename><nodenext automatic="on">\frenchspacing</nodenext><nodeprev automatic="on">\(SPACE) and \&arobase;</nodeprev><nodeup automatic="on">Spaces</nodeup></node> +<node name="_005c_0028SPACE_0029-after-control-sequence" spaces=" "><nodename>\(SPACE) after control sequence</nodename><nodenext automatic="on">\thinspace</nodenext><nodeprev automatic="on">\spacefactor</nodeprev><nodeup automatic="on">Spaces</nodeup></node> <section spaces=" "><sectiontitle><code>\ </code> after control sequence</sectiontitle> <para>The <code>\ </code> command is often used after control sequences to keep @@ -8788,36 +9897,18 @@ by a space or by a punctuation mark. Compare: \TeX{} is a nice system. \TeX{}, a nice system. </pre></example> -<cindex index="cp" spaces=" "><indexterm index="cp" number="406"><r>package</r>, <code>xspace</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="407"><code>xspace</code> <r>package</r></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="439"><r>package</r>, <code>xspace</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="440"><code>xspace</code> <r>package</r></indexterm></cindex> + <para>Some individual commands, notably those defined with the <code>xspace</code>, package do not follow the standard behavior. </para> </section> -<node name="_005cfrenchspacing" spaces=" "><nodename>\frenchspacing</nodename><nodenext automatic="on">\thinspace</nodenext><nodeprev automatic="on">\(SPACE) after control sequence</nodeprev><nodeup automatic="on">Spaces</nodeup></node> -<section spaces=" "><sectiontitle><code>\frenchspacing</code></sectiontitle> - -<findex index="fn" spaces=" "><indexterm index="fn" number="817">\frenchspacing</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="818">\nonfrenchspacing</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="408">spacing, inter-sentence</indexterm></cindex> - -<para>This declaration (from Plain &tex;) causes &latex; to treat -inter-sentence spacing in the same way as interword spacing. -</para> -<para>In justifying the text in a line, some typographic traditions, including -English, prefer to adjust the space between sentences (or after other -punctuation marks) more than the space between words. Following this -declaration, all spaces are instead treated equally. -</para> -<para>Revert to the default behavior by declaring <code>\nonfrenchspacing</code>. -</para> - -</section> -<node name="_005cthinspace" spaces=" "><nodename>\thinspace</nodename><nodenext automatic="on">\/</nodenext><nodeprev automatic="on">\frenchspacing</nodeprev><nodeup automatic="on">Spaces</nodeup></node> +<node name="_005cthinspace" spaces=" "><nodename>\thinspace</nodename><nodenext automatic="on">\/</nodenext><nodeprev automatic="on">\(SPACE) after control sequence</nodeprev><nodeup automatic="on">Spaces</nodeup></node> <section spaces=" "><sectiontitle><code>\thinspace</code>: Insert 1/6<dmn>em</dmn></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="819">\thinspace</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="837">\thinspace</indexterm></findex> <para><code>\thinspace</code> produces an unbreakable and unstretchable space that is 1/6 of an em. This is the proper space to use between nested @@ -8828,8 +9919,8 @@ quotes, as in &textrsquo;<dmn></dmn>&textrdquo;.<!-- c Abuse @dmn, which is a th <node name="_005c_002f" spaces=" "><nodename>\/</nodename><nodenext automatic="on">\hrulefill \dotfill</nodenext><nodeprev automatic="on">\thinspace</nodeprev><nodeup automatic="on">Spaces</nodeup></node> <section spaces=" "><sectiontitle><code>\/</code>: Insert italic correction</sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="820">\/</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="409">italic correction</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="838">\/</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="441">italic correction</indexterm></cindex> <para>The <code>\/</code> command produces an <dfn>italic correction</dfn>. This is a small space defined by the font designer for a given character, @@ -8841,7 +9932,6 @@ insert an italic correction, since those punctuation symbols have a very small height. However, with semicolons or colons, as well as normal letters, it can help. Compare <tex endspaces=" "> -{\it f\/: f\/;} </tex> <i>f: f;</i> (in the &tex; output, the &textlsquo;f&textrsquo;s are nicely separated) with <i>f: f;</i>. @@ -8854,7 +9944,6 @@ styles</xrefnodename></pxref>). <para>Despite the name, roman characters can also have an italic correction. Compare <tex endspaces=" "> -pdf\/\TeX{} </tex> pdf&tex; (in the &tex; output, there is a small space after the &textlsquo;f&textrsquo;) with pdf&tex;. @@ -8867,8 +9956,8 @@ in a different way. <node name="_005chrulefill-_005cdotfill" spaces=" "><nodename>\hrulefill \dotfill</nodename><nodenext automatic="on">\addvspace</nodenext><nodeprev automatic="on">\/</nodeprev><nodeup automatic="on">Spaces</nodeup></node> <section spaces=" "><sectiontitle><code>\hrulefill \dotfill</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="821">\hrulefill</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="822">\dotfill</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="839">\hrulefill</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="840">\dotfill</indexterm></findex> <para>Produce an infinite rubber length (<pxref label="Lengths"><xrefnodename>Lengths</xrefnodename></pxref>) filled with a horizontal rule (that is, a line) or with dots, instead of just white @@ -8898,9 +9987,9 @@ length of 0.33<dmn>em</dmn> to 1.00<dmn>em</dmn>. <node name="_005caddvspace" spaces=" "><nodename>\addvspace</nodename><nodenext automatic="on">\bigskip \medskip \smallskip</nodenext><nodeprev automatic="on">\hrulefill \dotfill</nodeprev><nodeup automatic="on">Spaces</nodeup></node> <section spaces=" "><sectiontitle><code>\addvspace</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="823">\addvspace</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="410">vertical space</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="411">space, inserting vertical</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="841">\addvspace</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="442">vertical space</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="443">space, inserting vertical</indexterm></cindex> <para><code>\addvspace{<var>length</var>}</code> </para> @@ -8931,20 +10020,20 @@ change that is to precede this command with a <code>\par</code> command. document class. </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="824">\bigskip</indexterm>\bigskip</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="825">\bigskipamount</indexterm></findex> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="842">\bigskip</indexterm>\bigskip</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="843">\bigskipamount</indexterm></findex> <para>The same as <code>\vspace{\bigskipamount}</code>, ordinarily about one line space, with stretch and shrink (the default for the <code>book</code> and <code>article</code> classes is <code>12pt plus 4pt minus 4pt</code>). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="826">\medskip</indexterm>\medskip</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="827">\medskipamount</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="844">\medskip</indexterm>\medskip</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="845">\medskipamount</indexterm></findex> <para>The same as <code>\vspace{\medskipamount}</code>, ordinarily about half of a line space, with stretch and shrink (the default for the <code>book</code> and <code>article</code> classes is <code>6pt plus 2pt minus 2pt</code>). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="828">\smallskip</indexterm>\smallskip</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="829">\smallskipamount</indexterm></findex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="846">\smallskip</indexterm>\smallskip</itemformat></item> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="847">\smallskipamount</indexterm></findex> <para>The same as <code>\vspace{\smallskipamount}</code>, ordinarily about a quarter of a line space, with stretch and shrink (the default for the <code>book</code> and <code>article</code> classes is <code>3pt plus 1pt minus @@ -8957,10 +10046,10 @@ quarter of a line space, with stretch and shrink (the default for the <node name="_005cvfill" spaces=" "><nodename>\vfill</nodename><nodenext automatic="on">\vspace</nodenext><nodeprev automatic="on">\bigskip \medskip \smallskip</nodeprev><nodeup automatic="on">Spaces</nodeup></node> <section spaces=" "><sectiontitle><code>\vfill</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="830">\vfill</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="848">\vfill</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="412">stretch, infinite vertical</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="413">infinite vertical stretch</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="444">stretch, infinite vertical</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="445">infinite vertical stretch</indexterm></cindex> <para>End the current paragraph and insert a vertical rubber length (<pxref label="Lengths"><xrefnodename>Lengths</xrefnodename></pxref>) that is infinite, so it can stretch or shrink as far @@ -8991,9 +10080,9 @@ Lost Dog! <node name="_005cvspace" spaces=" "><nodename>\vspace</nodename><nodeprev automatic="on">\vfill</nodeprev><nodeup automatic="on">Spaces</nodeup></node> <section spaces=" "><sectiontitle><code>\vspace{<var>length</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="831">\vspace</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="414">vertical space</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="415">space, vertical</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="849">\vspace</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="446">vertical space</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="447">space, vertical</indexterm></cindex> <para>Synopsis, one of these two: </para> @@ -9029,10 +10118,10 @@ the page, with at least one inch of space below each. </section> </chapter> -<node name="Boxes" spaces=" "><nodename>Boxes</nodename><nodenext automatic="on">Special insertions</nodenext><nodeprev automatic="on">Spaces</nodeprev><nodeup automatic="on">Top</nodeup></node> +<node name="Boxes" spaces=" "><nodename>Boxes</nodename><nodenext automatic="on">Color</nodenext><nodeprev automatic="on">Spaces</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Boxes</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="416">boxes</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="448">boxes</indexterm></cindex> <para>All the predefined length parameters (<pxref label="Predefined-lengths"><xrefnodename>Predefined lengths</xrefnodename></pxref>) can be used in the arguments of the box-making commands. @@ -9053,9 +10142,9 @@ used in the arguments of the box-making commands. <node name="_005cmbox" spaces=" "><nodename>\mbox</nodename><nodenext automatic="on">\fbox and \framebox</nodenext><nodeup automatic="on">Boxes</nodeup></node> <section spaces=" "><sectiontitle><code>\mbox{<var>text}</var></code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="832">\mbox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="850">\mbox</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="417">hyphenation, preventing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="449">hyphenation, preventing</indexterm></cindex> <para>The <code>\mbox</code> command creates a box just wide enough to hold the text created by its argument. The <var>text</var> is not broken into lines, so it can be used to prevent hyphenation. @@ -9065,8 +10154,8 @@ lines, so it can be used to prevent hyphenation. <node name="_005cfbox-and-_005cframebox" spaces=" "><nodename>\fbox and \framebox</nodename><nodenext automatic="on">lrbox</nodenext><nodeprev automatic="on">\mbox</nodeprev><nodeup automatic="on">Boxes</nodeup></node> <section spaces=" "><sectiontitle><code>\fbox</code> and <code>\framebox</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="833">\fbox</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="834">\framebox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="851">\fbox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="852">\framebox</indexterm></findex> <para>Synopses: </para> @@ -9083,11 +10172,11 @@ specification of the box width with the optional <var>width</var> argument (a dimension), and positioning with the optional <var>position</var> argument. <!-- c xxref --> </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="835">\fboxrule</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="836">\fboxsep</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="853">\fboxrule</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="854">\fboxsep</indexterm></findex> <para>Both commands produce a rule of thickness <code>\fboxrule</code> (default -<samp>.4pt</samp>), and leave a space of <code>\fboxsep</code> (default -<samp>3pt</samp>) between the rule and the contents of the box. +<code>0.4pt</code>), and leave a space of <code>\fboxsep</code> (default <code>3pt</code>) +between the rule and the contents of the box. </para> <para><xref label="_005cframebox-_0028picture_0029"><xrefnodename>\framebox (picture)</xrefnodename></xref>, for the <code>\framebox</code> command in the <code>picture</code> environment. @@ -9097,7 +10186,7 @@ argument. <!-- c xxref --> <node name="lrbox" spaces=" "><nodename>lrbox</nodename><nodenext automatic="on">\makebox</nodenext><nodeprev automatic="on">\fbox and \framebox</nodeprev><nodeup automatic="on">Boxes</nodeup></node> <section spaces=" "><sectiontitle><code>lrbox</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="837">lrbox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="855">lrbox</indexterm></findex> <para>Synopsis: </para> @@ -9117,7 +10206,7 @@ which must have been declared with <code>\newsavebox</code>. <node name="_005cmakebox" spaces=" "><nodename>\makebox</nodename><nodenext automatic="on">\parbox</nodenext><nodeprev automatic="on">lrbox</nodeprev><nodeup automatic="on">Boxes</nodeup></node> <section spaces=" "><sectiontitle><code>\makebox</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="838">\makebox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="856">\makebox</indexterm></findex> <para>Synopsis: </para> @@ -9151,7 +10240,7 @@ stretchable space for this to work. <node name="_005cparbox" spaces=" "><nodename>\parbox</nodename><nodenext automatic="on">\raisebox</nodenext><nodeprev automatic="on">\makebox</nodeprev><nodeup automatic="on">Boxes</nodeup></node> <section spaces=" "><sectiontitle><code>\parbox</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="839">\parbox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="857">\parbox</indexterm></findex> <para>Synopsis: </para> @@ -9159,8 +10248,9 @@ stretchable space for this to work. <pre xml:space="preserve">\parbox[<var>position</var>][<var>height</var>][<var>inner-pos</var>]{<var>width</var>}{<var>text</var>} </pre></example> +<cindex index="cp" spaces=" "><indexterm index="cp" number="450">paragraph mode</indexterm></cindex> <para>The <code>\parbox</code> command produces a box whose contents are created -in <code>paragraph</code> mode. It should be used to make a box small +in <dfn>paragraph mode</dfn>. It should be used to make a box small pieces of text, with nothing fancy inside. In particular, you shouldn&textrsquo;t use any paragraph-making environments inside a <code>\parbox</code> argument. For larger pieces of text, including ones @@ -9206,7 +10296,7 @@ for this to work. <node name="_005craisebox" spaces=" "><nodename>\raisebox</nodename><nodenext automatic="on">\savebox</nodenext><nodeprev automatic="on">\parbox</nodeprev><nodeup automatic="on">Boxes</nodeup></node> <section spaces=" "><sectiontitle><code>\raisebox</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="840">\raisebox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="858">\raisebox</indexterm></findex> <para>Synopsis: </para> @@ -9229,7 +10319,7 @@ ignoring its natural height and depth. <node name="_005csavebox" spaces=" "><nodename>\savebox</nodename><nodenext automatic="on">\sbox</nodenext><nodeprev automatic="on">\raisebox</nodeprev><nodeup automatic="on">Boxes</nodeup></node> <section spaces=" "><sectiontitle><code>\savebox</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="841">\savebox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="859">\savebox</indexterm></findex> <para>Synopsis: </para> @@ -9247,7 +10337,7 @@ declared with <code>\newsavebox</code> (<pxref label="_005cnewsavebox"><xrefnode <node name="_005csbox" spaces=" "><nodename>\sbox</nodename><nodenext automatic="on">\usebox</nodenext><nodeprev automatic="on">\savebox</nodeprev><nodeup automatic="on">Boxes</nodeup></node> <section spaces=" "><sectiontitle><code>\sbox{<var>\boxcmd</var>}{<var>text</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="842">\sbox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="860">\sbox</indexterm></findex> <para>Synopsis: </para> @@ -9266,7 +10356,7 @@ included in the normal output, it is saved in the box labeled <node name="_005cusebox" spaces=" "><nodename>\usebox</nodename><nodeprev automatic="on">\sbox</nodeprev><nodeup automatic="on">Boxes</nodeup></node> <section spaces=" "><sectiontitle><code>\usebox{<var>\boxcmd</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="843">\usebox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="861">\usebox</indexterm></findex> <para>Synopsis: </para> @@ -9280,17 +10370,1276 @@ included in the normal output, it is saved in the box labeled </section> </chapter> -<node name="Special-insertions" spaces=" "><nodename>Special insertions</nodename><nodenext automatic="on">Splitting the input</nodenext><nodeprev automatic="on">Boxes</nodeprev><nodeup automatic="on">Top</nodeup></node> +<node name="Color" spaces=" "><nodename>Color</nodename><nodenext automatic="on">Graphics</nodenext><nodeprev automatic="on">Boxes</nodeprev><nodeup automatic="on">Top</nodeup></node> +<chapter spaces=" "><sectiontitle>Color</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="451">color</indexterm></cindex> + +<para>You can add color to text, rules, etc. You can also have color in a box +or on an entire page and write text on top of it. +</para> +<para>Color support comes as an additional package. So all the commands below +will only work if your document preamble contains +<code>\usepackage{color}</code>, that brings in the standard package. +</para> +<para>Many other packages also supplement &latex;&textrsquo;s color abilities. +Particularly worth mentioning is <file>xcolor</file>, which is widely used and +significantly extends the capabilities described here, including adding +<samp>HTML</samp> and <samp>Hsb</samp> color models. +</para> +<menu endspaces=" "> +<menuentry leadingtext="* "><menunode separator=":: ">Color package options</menunode><menudescription><pre xml:space="preserve">Options when you load the standard package. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Color models</menunode><menudescription><pre xml:space="preserve">How colors are represented. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Commands for color</menunode><menudescription><pre xml:space="preserve">The available commands. +</pre></menudescription></menuentry></menu> + + +<node name="Color-package-options" spaces=" "><nodename>Color package options</nodename><nodenext automatic="on">Color models</nodenext><nodeup automatic="on">Color</nodeup></node> +<section spaces=" "><sectiontitle>Color package options</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="452">color package options</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="453">options, color package</indexterm></cindex> + +<para>Synopsis (must be in the document preamble): +</para> +<example endspaces=" "> +<pre xml:space="preserve">\usepackage[<var>comma-separated option list</var>]{color} +</pre></example> + +<para>When you load the <file>color</file> package there are two kinds of available +options. +</para> +<para>The first specifies the <dfn>printer driver</dfn>. &latex; doesn&textrsquo;t contain +information about different output systems but instead depends on +information stored in a file. Normally you should not specify the +driver option in the document, and instead rely on your system&textrsquo;s +default. One advantage of this is that it makes the document portable +across systems. For completeness we include a list of the drivers. The +currently relevant ones are: <file>dvipdfmx</file>, <file>dvips</file>, +<file>dvisvgm</file>, <file>luatex</file>, <file>pdftex</file>, <file>xetex</file>. The two +<file>xdvi</file> and <file>oztex</file> are essentially aliases for <file>dvips</file> +(and <file>xdvi</file> is monochrome). Ones that should not be used for new +systems are: <file>dvipdf</file>, <file>dvipdfm</file>, <file>dviwin</file>, +<file>dvipsone</file>, <file>emtex</file>, <file>pctexps</file>, <file>pctexwin</file>, +<file>pctexhp</file>, <file>pctex32</file>, <file>truetex</file>, <file>tcidvi</file>, +<file>vtex</file> (and <file>dviwindo</file> is an alias for <file>dvipsone</file>). +</para> +<para>The second kind of options, beyond the drivers, are below. +</para> +<table commandarg="code" spaces=" " endspaces=" "> +<beforefirstitem> +</beforefirstitem><tableentry><tableterm><item spaces=" "><itemformat command="code">monochrome</itemformat></item> +</tableterm><tableitem><para>Disable the color commands, so that they do not generate errors but do +not generate color either. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">dvipsnames</itemformat></item> +</tableterm><tableitem><para>Make available a list of 68 color names that are often used, +particularly in legacy documents. These color names were originally +provided by the <file>dvips</file> driver, giving the option name. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">nodvipsnames</itemformat></item> +</tableterm><tableitem><para>Do not load that list of color names, saving &latex; a tiny amount of +memory space. +</para> +</tableitem></tableentry></table> + + +</section> +<node name="Color-models" spaces=" "><nodename>Color models</nodename><nodenext automatic="on">Commands for color</nodenext><nodeprev automatic="on">Color package options</nodeprev><nodeup automatic="on">Color</nodeup></node> +<section spaces=" "><sectiontitle>Color models</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="454">color models</indexterm></cindex> + +<para>A <dfn>color model</dfn> is a way of representing colors. &latex;&textrsquo;s +capabilities depend on the printer driver. However, the <file>pdftex</file>, +<file>xetex</file>, and <file>luatex</file> printer drivers are today by far the +most commonly used. The models below work for those drivers. All but +one of these is also supported by essentially all other printer drivers +used today. +</para> +<para>Note that color combination can be additive or subtractive. Additive +mixes colors of light, so that for instance combining full intensities +of red, green, and blue produces white. Subtractive mixes pigments, +such as with inks, so that combining full intensity of cyan, magenta, +and yellow makes black. +</para> +<table commandarg="code" spaces=" " endspaces=" "> +<tableentry><tableterm><item spaces=" "><itemformat command="code">cmyk</itemformat></item> +</tableterm><tableitem><para>A comma-separated list with four real numbers between 0 and 1, +inclusive. The first number is the intensity of cyan, the second is +magenta, and the others are yellow and black. A number value of 0 means +minimal intensity, while a 1 is for full intensity. This model is often +used in color printing. It is a subtractive model. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">gray</itemformat></item> +</tableterm><tableitem><para>A single real number between 0 and 1, inclusive. The colors are shades +of grey. The number 0 produces black while 1 gives white. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">rgb</itemformat></item> +</tableterm><tableitem><para>A comma-separated list with three real numbers between 0 and 1, +inclusive. The first number is the intensity of the red component, the +second is green, and the third the blue. A number value of 0 means that +none of that component is added in, while a 1 means full intensity. +This is an additive model. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">RGB</itemformat></item> +</tableterm><tableitem><para>(<file>pdftex</file>, <file>xetex</file>, <file>luatex</file> drivers) A comma-separated +list with three integers between 0 and 255, inclusive. This model is a +convenience for using <code>rgb</code> since outside of &latex; colors are +often described in a red-green-blue model using numbers in this range. +The values entered here are converted to the <code>rgb</code> model by +dividing by 255. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">named</itemformat></item> +</tableterm><tableitem><para>Colors are accessed by name, such as <samp>PrussianBlue</samp>. The list of +names depends on the driver, but all support the names <samp>black</samp>, +<samp>blue</samp>, <samp>cyan</samp>, <samp>green</samp>, <samp>magenta</samp>, <samp>red</samp>, +<samp>white</samp>, and <samp>yellow</samp> (See the <code>dvipsnames</code> option in +<ref label="Color-package-options"><xrefnodename>Color package options</xrefnodename></ref>). +</para> +</tableitem></tableentry></table> + + +</section> +<node name="Commands-for-color" spaces=" "><nodename>Commands for color</nodename><nodeprev automatic="on">Color models</nodeprev><nodeup automatic="on">Color</nodeup></node> +<section spaces=" "><sectiontitle>Commands for color</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="455">color package commands</indexterm></cindex> + +<para>These are the commands available with the <file>color</file> package. +</para> +<menu endspaces=" "> +<menuentry leadingtext="* "><menunode separator=":: ">Define colors</menunode><menudescription><pre xml:space="preserve">Give a color a name. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Colored text</menunode><menudescription><pre xml:space="preserve">Text or rules in color. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Colored boxes</menunode><menudescription><pre xml:space="preserve">A box of color, to write over. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Colored pages</menunode><menudescription><pre xml:space="preserve">A whole page colored. +</pre></menudescription></menuentry></menu> + + +<node name="Define-colors" spaces=" "><nodename>Define colors</nodename><nodenext automatic="on">Colored text</nodenext><nodeup automatic="on">Commands for color</nodeup></node> +<subsection spaces=" "><sectiontitle>Define colors</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="456">color</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="457">define color</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="458">color, define</indexterm></cindex> + +<para>Synopsis: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\definecolor{<var>name</var>}{<var>model</var>}{<var>specification</var>} +</pre></example> + +<para>Give the name <var>name</var> to the color. For example, after +<code>\definecolor{silver}{rgb}{0.75,0.75,0.74}</code> you can use that +color name with <code>Hi ho, \textcolor{silver}{Silver}!</code>. +</para> +<para>This example gives the color a more abstract name, so it could change and +not be misleading. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\definecolor{logocolor}{RGB}{145,92,131} % RGB needs pdflatex +\newcommand{\logo}{\textcolor{logocolor}{Bob's Big Bagels}} +</pre></example> + +<para>Often a document&textrsquo;s colors are defined in the preamble, or in the class +or style, rather than in the document body. +</para> + +</subsection> +<node name="Colored-text" spaces=" "><nodename>Colored text</nodename><nodenext automatic="on">Colored boxes</nodenext><nodeprev automatic="on">Define colors</nodeprev><nodeup automatic="on">Commands for color</nodeup></node> +<subsection spaces=" "><sectiontitle>Colored text</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="459">color</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="460">colored text</indexterm></cindex> + +<para>Synopses: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\textcolor{<var>name</var>}{...} +\textcolor[<var>color model</var>]{<var>color specification</var>}{...} +</pre></example> + +<para>or +</para> +<example endspaces=" "> +<pre xml:space="preserve">\color{<var>name</var>} +\color[<var>color model</var>]{<var>specification</var>} +</pre></example> + +<para>The affected text gets the color. This line +</para> +<example endspaces=" "> +<pre xml:space="preserve">\textcolor{magenta}{My name is Ozymandias, king of kings:} Look on my works, ye Mighty, and despair! +</pre></example> + +<para>causes the first half to be in magenta while the rest is in black. You +can use a color declared with <code>\definecolor</code> in exactly the same +way that we just used the builtin color <samp>magenta</samp>. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\definecolor{MidlifeCrisisRed}{rgb}{1.0,0.11,0.0} +I'm thinking about getting a \textcolor{MidlifeCrisisRed}{sports car}. +</pre></example> + +<para>The two <code>\textcolor</code> and <code>\color</code> differ in that the first is +a command form, enclosing the text to be colored as an argument. Often +this form is more convenient, or at least more explicit. The second +form is a declaration, as in <code>The moon is made of {\color{green} +green} cheese</code>, so it is in effect until the end of the current group +or environment. This is sometimes useful when writing macros or as +below where it colors everything inside the <code>center</code> environment, +including the vertical and horizontal lines. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\begin{center} \color{blue} + \begin{tabular}{l|r} + UL &UR \\ \hline + LL &LR + \end{tabular} +\end{center} +</pre></example> + +<para>You can use color in equations. A document might have +<code>\definecolor{highlightcolor}{RGB}{225,15,0}</code> in the +preamble, and then contain this equation. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\begin{equation} + \int_a^b \textcolor{highlightcolor}{f'(x)}\,dx=f(b)-f(a) +\end{equation} +</pre></example> + +<para>Typically the colors used in a document are declared in a class or style +but sometimes you want a one-off. Those are the second forms in the +synopses. +</para> +<example endspaces=" "> +<pre xml:space="preserve">Colors of \textcolor[rgb]{0.33,0.14,0.47}{Purple} and {\color[rgb]{0.72,0.60,0.37} Gold} for the team +</pre></example> + +<para>The format of <var>color specification </var> depends on the color model +(<pxref label="Color-models"><xrefnodename>Color models</xrefnodename></pxref>). For instance, while <code>rgb</code> takes three +numbers, <code>gray</code> takes only one. +</para> +<example endspaces=" "> +<pre xml:space="preserve">The selection was \textcolor[gray]{0.5}{grayed out}. +</pre></example> + +<para>Colors inside colors do not combine. Thus +</para> +<example endspaces=" "> +<pre xml:space="preserve">\textcolor{green}{kind of \textcolor{blue}{blue}} +</pre></example> + +<para>has a final word that is blue, not a combination of blue and green. +</para> +<!-- c xx address coloring a line of a table? --> + + +</subsection> +<node name="Colored-boxes" spaces=" "><nodename>Colored boxes</nodename><nodenext automatic="on">Colored pages</nodenext><nodeprev automatic="on">Colored text</nodeprev><nodeup automatic="on">Commands for color</nodeup></node> +<subsection spaces=" "><sectiontitle>Colored boxes</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="461">color</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="462">colored boxes</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="463">box, colored</indexterm></cindex> + +<para>Synopses: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\colorbox{<var>name</var>}{...} +\colorbox[<var>model name</var>]{<var>box background color specification</var>}{...} +</pre></example> + +<para>or +</para> +<example endspaces=" "> +<pre xml:space="preserve">\fcolorbox{<var>frame color</var>}{<var>box background color</var>}{...} +\fcolorbox[<var>model name</var>]{<var>frame color specification</var>}{<var>box background color specification</var>}{...} +</pre></example> + +<para>Make a box with the stated background color. The <code>\fcolorbox</code> +command puts a frame around the box. For instance this +</para> +<example endspaces=" "> +<pre xml:space="preserve">Name:~\colorbox{cyan}{\makebox[5cm][l]{\strut}} +</pre></example> + +<para>makes a cyan-colored box that is five centimeters long and gets its +depth and height from the <code>\strut</code> (so the depth is +<code>-.3\baselineskip</code> and the height is <code>\baselineskip</code>). This +puts white text on a blue background. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\colorbox{blue}{\textcolor{white}{Welcome to the machine.}} +</pre></example> + +<para>The <code>\fcolorbox</code> commands use the same parameters as <code>\fbox</code> +(<pxref label="_005cfbox-and-_005cframebox"><xrefnodename>\fbox and \framebox</xrefnodename></pxref>), <code>\fboxrule</code> and <code>\fboxsep</code>, to +set the thickness of the rule and the boundary between the box interior +and the surrounding rule. &latex;&textrsquo;s defaults are <code>0.4pt</code> and +<code>3pt</code>, respectively. +</para> +<para>This example changes the thickness of the border to 0.8 points. Note +that it is surrounded by curly braces so that the change ends at the end +of the second line. +</para> +<example endspaces=" "> +<pre xml:space="preserve">{\setlength{\fboxrule}{0.8pt} +\fcolorbox{black}{red}{Under no circumstances turn this knob.}} +</pre></example> + + +</subsection> +<node name="Colored-pages" spaces=" "><nodename>Colored pages</nodename><nodeprev automatic="on">Colored boxes</nodeprev><nodeup automatic="on">Commands for color</nodeup></node> +<subsection spaces=" "><sectiontitle>Colored pages</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="464">color</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="465">colored page</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="466">page, colored</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="467">background, colored</indexterm></cindex> + +<para>Synopses: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\pagecolor{<var>name</var>} +\pagecolor[<var>color model</var>]{<var>color specification</var>} +\nopagecolor +</pre></example> + +<para>The first two set the background of the page, and all subsequent pages, +to the color. For an explanation of the specification in the second +form <pxref label="Colored-text"><xrefnodename>Colored text</xrefnodename></pxref>. The third returns the background to normal, +which is a transparent background. (If that is not supported use +<code>\pagecolor{white}</code>, although that will make a white background +rather than the default transparent background.) +</para> +<example endspaces=" "> +<pre xml:space="preserve"> ... +\pagecolor{cyan} + ... +\nopagecolor +</pre></example> + + +</subsection> +</section> +</chapter> +<node name="Graphics" spaces=" "><nodename>Graphics</nodename><nodenext automatic="on">Special insertions</nodenext><nodeprev automatic="on">Color</nodeprev><nodeup automatic="on">Top</nodeup></node> +<chapter spaces=" "><sectiontitle>Graphics</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="468">graphics</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="469">graphics package</indexterm></cindex> + +<para>You can use graphics such as PNG or PDF files in your &latex; document. +You need an additional package, which comes standard with &latex;. +This example is the short how-to. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\include{graphicx} % goes in the preamble + ... +\includegraphics[width=0.5\linewidth]{plot.pdf} +</pre></example> + +<para>To use the commands described here your document preamble must contain +either <code>\usepackage{graphicx}</code> or +<code>\usepackage{graphics}</code>. Most of the time, <file>graphicx</file> is the +better choice. +</para> +<para>Graphics come in two main types, raster and vector. &latex; can use +both. In raster graphics the file contains an entry for each location +in an array, describing what color it is. An example is a photograph, +in JPG format. In vector graphics, the file contains a list of +instructions such as <samp>draw a circle with this radius and that +center</samp>. An example is a line drawing produced by the Asymptote +program, in PDF format. Generally vector graphics are more useful +because you can rescale their size without pixelation or other problems, +and because they often have a smaller size. +</para> +<para>There are systems particularly well-suited to make graphics for a +&latex; document. For example, these allow you to use the same fonts +as in your document. &latex; comes with a <code>picture</code> environment +(<pxref label="picture"><xrefnodename>picture</xrefnodename></pxref>) that has simple capabilities. Besides that, there are +other ways to include the graphic-making commands in the document. Two +such systems are the PSTricks and TikZ packages. There are also systems +external to &latex;, that generate a graphic that you include using the +commands of this chapter. Two that use a programming language are +Asymptote and MetaPost. One that uses a graphical interface is Xfig. +Full description of these systems is outside the scope of this document; +see their documentation. +</para> +<menu endspaces=" "> +<menuentry leadingtext="* "><menunode separator=":: ">Graphics package options</menunode><menudescription><pre xml:space="preserve">Options when you load the package. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Graphics package configuration</menunode><menudescription><pre xml:space="preserve">Where to look for files, which file types. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Commands for graphics</menunode><menudescription><pre xml:space="preserve">The available commands. +</pre></menudescription></menuentry></menu> + + +<node name="Graphics-package-options" spaces=" "><nodename>Graphics package options</nodename><nodenext automatic="on">Graphics package configuration</nodenext><nodeup automatic="on">Graphics</nodeup></node> +<section spaces=" "><sectiontitle>Graphics package options</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="470">graphics package options</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="471">options, graphics package</indexterm></cindex> + +<para>Synopsis (must be in the document preamble): +</para> +<example endspaces=" "> +<pre xml:space="preserve">\usepackage[<var>comma-separated option list</var>]{graphics} +</pre></example> + +<para>or +</para> +<example endspaces=" "> +<pre xml:space="preserve">\usepackage[<var>comma-separated option list</var>]{graphicx} +</pre></example> + +<para>The <code>graphicx</code> package has a format for optional arguments to the +<code>\includegraphics</code> command that is convenient (it is the key-value +format), so it is the better choice for new documents. When you load +the <file>graphics</file> or <file>graphicx</file> package with <code>\usepackage</code> +there are two kinds of available options. +</para> +<para>The first is that &latex; does not contain information about different +output systems but instead depends on information stored in a +<dfn>printer driver</dfn> file. Normally you should not specify the driver +option in the document, and instead rely on your system&textrsquo;s default. One +advantage of this is that it makes the document portable across systems. +</para> +<para>For completeness here is a list of the drivers. The currently relevant +ones are: <file>dvipdfmx</file>, <file>dvips</file>, <file>dvisvgm</file>, <file>luatex</file>, +<file>pdftex</file>, <file>xetex</file>. The two <file>xdvi</file> and <file>oztex</file> are +essentially aliases for <file>dvips</file> (and <file>xdvi</file> is monochrome). +Ones that should not be used for new systems are: <file>dvipdf</file>, +<file>dvipdfm</file>, <file>dviwin</file>, <file>dvipsone</file>, <file>emtex</file>, +<file>pctexps</file>, <file>pctexwin</file>, <file>pctexhp</file>, <file>pctex32</file>, +<file>truetex</file>, <file>tcidvi</file>, <file>vtex</file> (and <file>dviwindo</file> is an +alias for <file>dvipsone</file>). These are stored in files with a +<file>.def</file> extension, such as <file>pdftex.def</file>. +</para> +<para>The second kind of options are below. +</para> +<table commandarg="code" spaces=" " endspaces=" "> +<tableentry><tableterm><item spaces=" "><itemformat command="code">demo</itemformat></item> +</tableterm><tableitem><para>Instead of an image file, &latex; puts in a 150 pt by 100 pt +rectangle (unless another size is specified in the +<code>\includegraphics</code> command). +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">draft</itemformat></item> +</tableterm><tableitem><para>For each graphic file, it is not shown but instead the file name is +printed in a box of the correct size. In order to determine the size, +the file must be present. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">final</itemformat></item> +</tableterm><tableitem><para>(Default) Override any previous <code>draft</code> option, so that the +document shows the contents of the graphic files. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">hiderotate</itemformat></item> +</tableterm><tableitem><para>Do not show rotated text. (This allows for the possibility that a +previewer does not have the capability to rotate text.) +<!-- c what does it show? --> +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">hidescale</itemformat></item> +</tableterm><tableitem><para>Do not show scaled text. (This allows for the possibility that a +previewer does not have the capability to scale.) +<!-- c what does it show? --> +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">hiresbb</itemformat></item> +</tableterm><tableitem><para>In a PS or EPS file the graphic size may be specified in two ways. The +<code>%%BoundingBox</code> lines describe the graphic size using integer +multiples of a PostScript point, that is, integer multiples of 1/72 +inch. A later addition to the PostScript language allows decimal +multiples, such as 1.23, in <code>%%HiResBoundingBox</code> lines. This +option has &latex; to read the size from the latter. +</para> +</tableitem></tableentry></table> + + +</section> +<node name="Graphics-package-configuration" spaces=" "><nodename>Graphics package configuration</nodename><nodenext automatic="on">Commands for graphics</nodenext><nodeprev automatic="on">Graphics package options</nodeprev><nodeup automatic="on">Graphics</nodeup></node> +<section spaces=" "><sectiontitle>Graphics package configuration</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="472">graphics</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="473">graphics package</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="474">configuration, graphics package</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="475">EPS files</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="476">JPEG files</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="477">JPG files</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="478">PDF graphic files</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="479">PNG files</indexterm></cindex> + +<para>These commands configure the way &latex; searches the file system for +the graphic. +</para> +<para>The behavior of file system search code is necessarily platform +dependent. In this document we cover Linux, Macintosh, and Windows, as +those systems are typically configured. For other situations consult +the documentation in <file>grfguide.pdf</file>, or the &latex; source, or your +&tex; distribution&textrsquo;s documentation. +</para> +<menu endspaces=" "> +<menuentry leadingtext="* "><menunode separator=":: ">\graphicspath</menunode><menudescription><pre xml:space="preserve">Directories to search. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\DeclareGraphicsExtensions</menunode><menudescription><pre xml:space="preserve">File types, such as JPG or EPS. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\DeclareGraphicsRule</menunode><menudescription><pre xml:space="preserve">How to handle file types. +</pre></menudescription></menuentry></menu> + + +<node name="_005cgraphicspath" spaces=" "><nodename>\graphicspath</nodename><nodenext automatic="on">\DeclareGraphicsExtensions</nodenext><nodeup automatic="on">Graphics package configuration</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\graphicspath</code></sectiontitle> + +<findex index="fn" spaces=" "><indexterm index="fn" number="862">\graphicspath</indexterm></findex> + +<para>Synopsis: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\graphicspath{<var>list of dir names inside curly brackets</var>} +</pre></example> + +<para>Declare a list of directories to search for graphics files. This allows +you to later say something like <code>\includegraphics{lion.png}</code> +instead of having to give its path. +</para> +<para>&latex; always looks for graphic files first in the current directory. +The declaration below tells the system to then look in the subdirectory +<file>pix</file>, and then <file>../pix</file>. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\usepackage{graphicx} % or graphics; put in preamble + ... +\graphicspath{ {pix/} {../pix/} } +</pre></example> + +<para>The <code>\graphicspath</code> declaration is optional. If you don&textrsquo;t include +it then &latex;&textrsquo;s default is to search all of the places that it +usually looks for a file (it uses &latex;&textrsquo;s <code>\input&arobase;path</code>). In +particular, in this case one of the places it looks is the current +directory. +</para> +<para>Enclose each directory name in curly braces; for example, above it says +<samp><code>{pix}</code></samp>. Do this even if there is only one directory. +Each directory name must end in a forward slash, <file>/</file>. This is true +even on Windows, where good practice is to use forward slashes for all +the directory separators since it makes the document portable to other +platforms. If you have spaces in your directory name then use double +quotes, as with <code>{"my docs/"}</code>. Getting one of these rules wrong +will cause &latex; to report <code>Error: File `<var>filename</var>' not +found</code>. +</para> +<para>Basically, the algorithm is that with this example, after looking in the +current directory, +</para> +<example endspaces=" "> +<pre xml:space="preserve">\graphicspath{ {pix/} {../pix/} } +... +\usepackage{lion.png} +</pre></example> + +<para>for each of the listed directories, &latex; concatenates it with the +file name and searches for the result, checking for <file>pix/lion.png</file> +and then <file>../pix/lion.png</file>. This algorithm means that the +<code>\graphicspath</code> command does not recursively search subdirectories: +if you issue <code>\graphicspath{{a/}}</code> and the graphic is in +<file>a/b/lion.png</file> then &latex; will not find it. It also means that +you can use absolute paths such as +<code>\graphicspath{{/home/jim/logos/}}</code> or +<code>\graphicspath{{C:/Users/Albert/Pictures/}}</code>. However, using +these means that the document is not portable. (You could preserve +portability by adjusting your &tex; system settings configuration file +parameter <code>TEXINPUTS</code>; see the documentation of your system.) +</para> +<para>You can use <code>\graphicspath</code> in the preamble or in the document +body. You can use it more than once. For debugging, show its value +with <code>\makeatletter\typeout{\Ginput&arobase;path}\makeatother</code>. +</para> +<para>The directories are taken with respect to the base file. That is, +suppose that you are working on a document based on <file>book/book.tex</file> +and it contains <code>\include{chapters/chap1}</code>. If in +<file>chap1.tex</file> you put <code>\graphicspath{{plots/}}</code> then +&latex; will not search for graphics in <file>book/chapters/plots</file>, but +instead in <file>book/plots</file>. +</para> + +</subsection> +<node name="_005cDeclareGraphicsExtensions" spaces=" "><nodename>\DeclareGraphicsExtensions</nodename><nodenext automatic="on">\DeclareGraphicsRule</nodenext><nodeprev automatic="on">\graphicspath</nodeprev><nodeup automatic="on">Graphics package configuration</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\DeclareGraphicsExtensions</code></sectiontitle> + +<findex index="fn" spaces=" "><indexterm index="fn" number="863">\DeclareGraphicsExtensions</indexterm></findex> + +<para>Synopses: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\DeclareGraphicsExtensions{<var>comma-separated list of file extensions</var>} +</pre></example> + +<para>Declare the filename extensions to try. This allows you to specify the +order in which to choose graphic formats when you include graphic files +by giving the filename without the extension, as in +<code>\includegraphics{functionplot}</code>. +</para> +<para>In this example, &latex; will find files in the PNG format before PDF +files. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\DeclareGraphicsExtensions{.png,PNG,.pdf,.PDF} + ... +\includegraphics{lion} % will find <file>lion.png</file> before <file>lion.pdf</file> +</pre></example> + +<para>Because the file name <file>lion</file> does not have a period, &latex; uses +the extension list. For each directory in the graphics path +(<pxref label="_005cgraphicspath"><xrefnodename>\graphicspath</xrefnodename></pxref>), &latex; will try the extensions in the order +given. If it does not find such a file after trying all the directories +and extensions then it reports <samp>! LaTeX Error: File `<file>lion</file>' +not found</samp>. Note that you must include the periods at the start of the +extensions. +</para> +<para>Because Linux and Macintosh filenames are case sensitive, the list of +file extensions is case sensitive on those platforms. The Windows +platform is not case sensitive. +</para> +<para>You are not required to include <code>\DeclareGraphicsExtensions</code> in +your document; the printer driver has a sensible default. For example, +the most recent <file>pdftex.def</file> has the extension list +<samp><code>.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2</code></samp>. +</para> +<para>You can use this command in the preamble or in the document body. You +can use it more than once. For debugging, show its value with +<code>\makeatletter\typeout{\Gin&arobase;extensions}\makeatother</code>. +</para> + +</subsection> +<node name="_005cDeclareGraphicsRule" spaces=" "><nodename>\DeclareGraphicsRule</nodename><nodeprev automatic="on">\DeclareGraphicsExtensions</nodeprev><nodeup automatic="on">Graphics package configuration</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\DeclareGraphicsRule</code></sectiontitle> + +<findex index="fn" spaces=" "><indexterm index="fn" number="864">\DeclareGraphicsRule</indexterm></findex> + +<para>Synopsis: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\DeclareGraphicsRule{<var>extension</var>}{<var>type</var>}{<var>size-file extension</var>}{<var>command</var>} +</pre></example> + +<para>Declare how to handle graphic files whose names end in <var>extension</var>. +</para> +<para>This example declares that all files with names have the form +<file>filename-without-dot.mps</file> will be treated as output from MetaPost, +meaning that the printer driver will use its MetaPost-handling code to +input the file. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\DeclareGraphicsRule{.mps}{mps}{.mps}{} +</pre></example> + +<para>This +</para> +<example endspaces=" "> +<pre xml:space="preserve">\DeclareGraphicsRule{*}{mps}{*}{} +</pre></example> + +<para>tells &latex; that it should handle as MetaPost output any file with an +extension not covered by another rule, so it covers <file>filename.1</file>, +<file>filename.2</file>, etc. +</para> +<para>This describes the four arguments. +</para> +<table commandarg="var" spaces=" " endspaces=" "> +<tableentry><tableterm><item spaces=" "><itemformat command="var">extension</itemformat></item> +</tableterm><tableitem><para>The file extension to which this rule applies. The extension is anything +after and including the first dot in the filename. Use the Kleene star, +<code>*</code>, to denote the default behaviour for all undeclared extensions. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">type</itemformat></item> +</tableterm><tableitem><para>The type of file involved. This type is a string that must be defined +in the printer driver. For instance, files with extensions <file>.ps</file>, +<file>.eps</file>, or <file>.ps.gz</file> may all be classed as type <code>eps</code>. +All files of the same type will be input with the same internal command +by the printer driver. For example, the file types that <file>pdftex</file> +recognizes are: <code>jpg</code>, <code>jbig2</code>, <code>mps</code>, <code>pdf</code>, +<code>png</code>, <code>tif</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">size-file extension</itemformat></item> +</tableterm><tableitem><para>The extension of the file to be read to determine the size of the +graphic, if there is such a file. It may be the same as <var>extension</var> +but it may be different. +</para> +<para>As an example, consider a PostScript graphic. To make it smaller, it +might be compressed into a <file>.ps.gz</file> file. Compressed files are not +easily read by &latex; so you can put the bounding box information in a +separate file. If <var>size-file extension</var> is empty then you must +specify size information in the arguments of <code>\includegraphics</code>. +</para> +<para>If the driver file has a procedure for reading size files for +<code>type</code> then that will be used, otherwise it will use the procedure +for reading <file>.eps</file> files. (Thus you may specify the size of bitmap +files in a file with a PostScript style <code>%%BoundingBox</code> line if no +other format is available.) +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">command</itemformat></item> +</tableterm><tableitem><para>A command that will be applied to the +file. This is very often left blank. This command must start with a +single backward quote. Thus, +<code>\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c +#1}</code> specifies that any file with the extension <file>.eps.gz</file> should +be treated as an <code>eps</code> file, with the the BoundingBox information +stored in the file with extension <file>.eps.bb</file>, and that the command +<code>gunzip -c</code> will run on your platform to decompresses the file. +</para> +<para>Such a command is specific to your platform. In addition, your &tex; +system must allow you to run external commands; as a security measure +modern systems restrict running commands unless you explicitly allow it. +See the documentation for your &tex; distribution. +</para> +</tableitem></tableentry></table> + +</subsection> +</section> +<node name="Commands-for-graphics" spaces=" "><nodename>Commands for graphics</nodename><nodeprev automatic="on">Graphics package configuration</nodeprev><nodeup automatic="on">Graphics</nodeup></node> +<section spaces=" "><sectiontitle>Commands for graphics</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="480">graphics package commands</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="481">commands, graphics package</indexterm></cindex> + +<para>These are the commands available with the <file>graphics</file> and +<file>graphicx</file> packages. +</para> +<menu endspaces=" "> +<menuentry leadingtext="* "><menunode separator=":: ">\includegraphics</menunode><menudescription><pre xml:space="preserve">Using a graphic in your document. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\rotatebox</menunode><menudescription><pre xml:space="preserve">Rotating boxes, including graphics. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\scalebox</menunode><menudescription><pre xml:space="preserve">Scaling boxes, including graphics. +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">\resizebox</menunode><menudescription><pre xml:space="preserve">Scaling boxes, including graphics, to a set size. +</pre></menudescription></menuentry></menu> + + +<node name="_005cincludegraphics" spaces=" "><nodename>\includegraphics</nodename><nodenext automatic="on">\rotatebox</nodenext><nodeup automatic="on">Commands for graphics</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\includegraphics</code></sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="482">graphics</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="483">graphics package</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="484">including graphics</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="485">importing graphics</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="486">EPS files</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="487">JPEG files</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="488">JPG files</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="489">PDF graphic files</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="490">PNG files</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="865">\includegraphics</indexterm></findex> + +<para>Synopses for <file>graphics</file> package: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\includegraphics{<var>filename</var>} +\includegraphics[<var>urx</var>,<var>ury</var>]{<var>filename</var>} +\includegraphics[<var>llx</var>,<var>lly</var>][<var>urx</var>,<var>ury</var>]{<var>filename</var>} +\includegraphics*{<var>filename</var>} +\includegraphics*[<var>urx</var>,<var>ury</var>]{<var>filename</var>} +\includegraphics*[<var>llx</var>,<var>lly</var>][<var>urx</var>,<var>ury</var>]{<var>filename</var>} +</pre></example> + +<para>Synopses for <file>graphicx</file> package: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\includegraphics{<var>filename</var>} +\includegraphics[<var>key-value list</var>]{<var>filename</var>} +\includegraphics*{<var>filename</var>} +\includegraphics*[<var>key-value list</var>]{<var>filename</var>} +</pre></example> + +<para>Include a graphics file. The starred form <code>\includegraphics*</code> will +clip the graphic to the size specified, while for the unstarred form any +part of the graphic that is outside the box of the specified size will +over-print the surrounding area. +</para> +<para>This +</para> +<example endspaces=" "> +<pre xml:space="preserve">\usepackage{graphicx} % in preamble + ... +\begin{center} + \includegraphics{plot.pdf} +\end{center} +</pre></example> + +<para>will incorporate into the document the graphic in <file>plot.pdf</file>, +centered and at its nominal size. You can also give a path to the file, +as with <code>\includegraphics{graphics/plot.pdf}</code>. To specify a list +of locations to search for the file, <pxref label="_005cgraphicspath"><xrefnodename>\graphicspath</xrefnodename></pxref>. +</para> +<para>If your filename includes spaces then put it in double quotes, as with +<code>\includegraphics{"sister picture.jpg"}</code>. +</para> +<para>The <code>\includegraphics{<var>filename</var>}</code> command decides on the +type of graphic by splitting <var>filename</var> on the first dot. You can +use <var>filename</var> with no dot, as in <code>\includegraphics{turing}</code> +and then &latex; tries a sequence of extensions such as <code>.png</code> and +<code>.pdf</code> until it finds a file with that extension +(<pxref label="_005cDeclareGraphicsExtensions"><xrefnodename>\DeclareGraphicsExtensions</xrefnodename></pxref>). +</para> +<para>If your file name contains dots before the extension then you can hide +them with curly braces, as in +<code>\includegraphics{{plot.2018.03.12.a}.pdf}</code>. Or, if you use +the <file>graphicx</file> package then you can use the options <code>type</code> and +<code>ext</code>; see below. This and other filename issues are also handled +with the package <file>grffile</file>. +</para> +<para>This example puts a graphic in a figure environment so &latex; can +move it to the next page if fitting it on the current page is awkward +(<pxref label="figure"><xrefnodename>figure</xrefnodename></pxref>). +</para> +<example endspaces=" "> +<pre xml:space="preserve">\begin{figure} + \centering + \includegraphics[width=3cm]{lungxray.jpg} + \caption{The evidence is overwhelming: don't smoke.} \label{fig:xray} +\end{figure} +</pre></example> + +<para>This places a graphic that will not float, so it is sure to appear at +this point in the document even if makes &latex; stretch the text or +resort to blank areas on the page. It will be centered and will have a +caption. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\usepackage{caption} % in preamble + ... +\begin{center} + \includegraphics{pix/nix.png} + \captionof{figure}{The spirit of the night} \label{pix:nix} % if you want a caption +\end{center} +</pre></example> + +<para>This example puts a box with a graphic side by side with one having +text, with the two vertically centered. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\newcommand*{\vcenteredhbox}[1]{\begingroup + \setbox0=\hbox{#1}\parbox{\wd0}{\box0}\endgroup} + ... +\begin{center} + \vcenteredhbox{\includegraphics[width=0.4\textwidth]{plot}} + \hspace{1em} + \vcenteredhbox{\begin{minipage}{0.4\textwidth} + \begin{displaymath} + f(x)=x\cdot \sin (1/x) + \end{displaymath} + \end{minipage}} +\end{center} +</pre></example> + +<para>If you use the <file>graphics</file> package then the only options involve the +size of the graphic (but see <ref label="_005crotatebox"><xrefnodename>\rotatebox</xrefnodename></ref> and <ref label="_005cscalebox"><xrefnodename>\scalebox</xrefnodename></ref>). +When one optional argument is present then it is +<code>[<var>urx</var>,<var>ury</var>]</code> and it gives the coordinates of the top +right corner of the image, as a pair of &tex; dimensions (<pxref label="Units-of-length"><xrefnodename>Units +of length</xrefnodename></pxref>). If the units are omitted they default to <code>bp</code>. In +this case, the lower left corner of the image is assumed to be at (0,0). +If two optional arguments are present then the leading one is +<code>[<var>llx</var>,<var>lly</var>]</code>, specifying the coordinates of the image&textrsquo;s +lower left. Thus, <code>\includegraphics[1in,0.618in]{...}</code> calls for +the graphic to be placed so it is 1 inch wide and 0.618 inches +tall and so its origin is at (0,0). +</para> +<para>The <file>graphicx</file> package gives you many more options. Specify them +in a key-value form, as here. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\begin{center} + \includegraphics[width=1in,angle=90]{lion} + \hspace{2em} + \includegraphics[angle=90,width=1in]{lion} +\end{center} +</pre></example> + +<para>The options are read left-to-right. So the first graphic above is made +one inch wide and then rotated, while the second is rotated and then +made one inch wide. Thus, unless the graphic is perfectly square, the +two will end with different widths and heights. +</para> +<para>There are many options. The primary ones are listed first. +</para> +<para>Note that a graphic is placed by &latex; into a box, which is +traditionally referred to as its bounding box (distinct from the +PostScript BoundingBox described below). The graphic&textrsquo;s printed area may +go beyond this box, or sit inside this box, but when &latex; makes up a +page it puts together boxes and this is the box allocated for the +graphic. +</para> +<table commandarg="code" spaces=" " endspaces=" "> +<tableentry><tableterm><item spaces=" "><itemformat command="code">width</itemformat></item> +</tableterm><tableitem><para>The graphic will be shown so its bounding box is this width. An example +is <code>\includegraphics[width=1in]{plot}</code>. You can use the standard +&tex; dimensions (<pxref label="Units-of-length"><xrefnodename>Units of length</xrefnodename></pxref>) and also convenient is +<code>\linewidth</code>, or in a two-column document, <code>\columnwidth</code> +(<pxref label="Page-layout-parameters"><xrefnodename>Page layout parameters</xrefnodename></pxref>). An example is that by using the +<file>calc</file> package you can make the graphic be 1 cm narrow than +the width of the text with +<code>\includegraphics[width=\linewidth-1.0cm]{hefferon.jpg}</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">height</itemformat></item> +</tableterm><tableitem><para>The graphic will be shown so its bounding box is this height. You can +use the standard &tex; dimensions (<pxref label="Units-of-length"><xrefnodename>Units of length</xrefnodename></pxref>), and also +convenient are <code>\pageheight</code> and <code>\textheight</code> (<pxref label="Page-layout-parameters"><xrefnodename>Page +layout parameters</xrefnodename></pxref>). For instance, +<code>\includegraphics[height=0.25\textheight]{godel}</code> will make the +graphic be a quarter of the height of the text area. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">totalheight</itemformat></item> +</tableterm><tableitem><para>The graphic will be shown so its bounding box has this height plus +depth. This differs from the height if the graphic was rotated. For +instance, if it has been rotated by -90 then it will have zero height +but a large depth. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">keepaspectratio</itemformat></item> +</tableterm><tableitem><para>If set to <code>true</code>, or just specified as with +<code>\includegraphics[...,keepaspectratio,...]{...}</code> and you give as +options both <code>width</code> and <code>height</code> (or <code>totalheight</code>), +then &latex; will make the graphic is as large as possible without +distortion. That is, &latex; will ensure that neither is the graphic +wider than <code>width</code> nor taller than <code>height</code> (or +<code>totalheight</code>). +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">scale</itemformat></item> +</tableterm><tableitem><para>Factor by which to scale the graphic. Specifying +<code>\includegraphics[scale=2.0]{...}</code> makes the graphic twice its +nominal size. This number may be any value; a number between 1 +and 0 will shrink the graphic and a negative number will reflect +it. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">angle</itemformat></item> +</tableterm><tableitem><para>Rotate the picture. The angle is taken in degrees and counterclockwise. +The graphic is rotated about its <code>origin</code>; see that option. For a +complete description of how rotated material is typeset, +<pxref label="_005crotatebox"><xrefnodename>\rotatebox</xrefnodename></pxref>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">origin</itemformat></item> +</tableterm><tableitem><para>The point of the graphic about which the rotation happens. Possible +values are any string containing one or two of: <code>l</code> for left, +<code>r</code> for right, <code>b</code> for bottom, <code>c</code> for center, <code>t</code> +for top, and <code>B</code> for baseline. Thus, +<code>\includegraphics[angle=180,origin=c]{moon}</code> will turn the +picture upside down from the center, while +<code>\includegraphics[angle=180,origin=lB]{LeBateau}</code> will turn its +picture upside down about its left baseline. (The character <code>c</code> +gives the horizontal center in <code>bc</code> or <code>tc</code>, but gives the +vertical center in <code>lc</code> or <code>rc</code>.) The default is <code>lB</code>. +</para> +<para>To rotate about an arbitrary point, <pxref label="_005crotatebox"><xrefnodename>\rotatebox</xrefnodename></pxref>. +</para> +</tableitem></tableentry></table> + +<para>These are lesser-used options. +</para> +<table commandarg="code" spaces=" " endspaces=" "> +<tableentry><tableterm><item spaces=" "><itemformat command="code">viewport</itemformat></item> +</tableterm><tableitem><para>Pick out a subregion of the graphic to show. Takes four arguments, +separated by spaces and given in &tex; dimensions, as with +<code>\includegraphics[.., viewport=0in 0in 1in 0.618in]{...}</code>. The +dimensions default to big points, <code>bp</code>. They are taken +relative to the origin specified by the bounding box. See also the +<code>trim</code> option. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">trim</itemformat></item> +</tableterm><tableitem><para>Gives parts of the graphic to not show. Takes four arguments, separated +by spaces, that are given in &tex; dimensions, as with +<code>\includegraphics[.., trim= 0in 0.1in 0.2in 0.3in, ...]{...}</code>. +These give the amounts of the graphic not to show, that is, &latex; +will crop the picture by 0 inches on the left, 0.1 inches on +the bottom, 0.2 inches on the right, and 0.3 inches on the +top. See also the <code>viewport</code> option. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">clip</itemformat></item> +</tableterm><tableitem><para>If set to <code>true</code>, or just specified as with +<code>\includegraphics[...,clip,...]{...}</code>, then the graphic is +cropped to the bounding box. You can get this effect by instead using +the starred form of the command, as +<code>\includegraphics*[...]{...}</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">page</itemformat></item> +</tableterm><tableitem><para>Give the page number of a multi-page PDF file. The default is +<code>page=1</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">pagebox</itemformat></item> +</tableterm><tableitem><para>Specifies which bounding box to use for PDF files from among +<code>mediabox</code>, <code>cropbox</code>, <code>bleedbox</code>, <code>trimbox</code>, or +<code>artbox</code>. PDF files do not have the BoundingBox that PostScript +files have, but may specify up to four predefined rectangles. The +MediaBox gives the boundaries of the physical medium. The CropBox is the +region to which the contents of the page are to be clipped when +displayed. The BleedBox is the region to which the contents of the page +should be clipped in production. The TrimBox is the intended dimensions +of the finished page. The ArtBox is the extent of the page&textrsquo;s meaningful +content. The driver will set the image size based on CropBox if +present, otherwise it will not use one of the others, with a +driver-defined order of preference. MediaBox is always present. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">interpolate</itemformat></item> +</tableterm><tableitem><para>Enable or disable interpolation of raster images by the viewer. Can be +set with <code>interpolate=true</code> or just specified as with +<code>\includegraphics[...,interpolate,...]{...}</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">quiet</itemformat></item> +</tableterm><tableitem><para>Do not write information to the log. You can set it with +<code>quiet=true</code> or just specified it with +<code>\includegraphics[...,quite,...]{...}</code>, +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">draft</itemformat></item> +</tableterm><tableitem><para>If you set it with <code>draft=true</code> or just specified it with +<code>\includegraphics[...,draft,...]{...}</code>, then the graphic will not +appear in the document, possibly saving color printer ink. Instead, +&latex; will put an empty box of the correct size with the filename +printed in it. +</para> +</tableitem></tableentry></table> + +<para>These options address the bounding box for Encapsulated PostScript +graphic files, which have a size specified with a line +<code>%%BoundingBox</code> that appears in the file. It has four values, +giving the lower <math>x</math> coordinate, lower <math>y</math> coordinate, upper +<math>x</math> coordinate, and upper <math>y</math> coordinate. The units are +PostScript points, equivalent to &tex;&textrsquo;s big points, 1/72 inch. +For example, if an <file>.eps</file> file has the line <code>%%BoundingBox 10 +20 40 80</code> then its natural size is 30/72 inch wide by +60/72 inch tall. +</para> +<table commandarg="code" spaces=" " endspaces=" "> +<tableentry><tableterm><item spaces=" "><itemformat command="code">bb</itemformat></item> +</tableterm><tableitem><para>Specify the bounding box of the displayed region. The argument is four +dimensions separated by spaces, as with <code>\includegraphics[.., bb= +0in 0in 1in 0.618in]{...}</code>. Usually <code>\includegraphics</code> reads the +BoundingBox numbers from the EPS file automatically, so this option is +only useful if the bounding box is missing from that file or if you want +to change it. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">bbllx, bblly, bburx, bbury</itemformat></item> +</tableterm><tableitem><para>Set the bounding box. These four are obsolete, but are retained for +compatibility with old packages. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">natwidth, natheight</itemformat></item> +</tableterm><tableitem><para>An alternative for <code>bb</code>. Setting +<code>\includegraphics[...,natwidth=1in,natheight=0.618in,...]{...}</code> +is the same as setting <code>bb=0 0 1in 0.618in</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">hiresbb</itemformat></item> +</tableterm><tableitem><para>If set to <code>true</code>, or just specified as with +<code>\includegraphics[...,hiresbb,...]{...}</code>, then &latex; will look +for <code>%%HiResBoundingBox</code> lines instead of <code>%%BoundingBox</code> +lines. (The <code>BoundingBox</code> lines use only natural numbers while the +<code>HiResBoundingBox</code> lines use decimals; both use units equivalent to +&tex;&textrsquo;s big points, 1/72 inch.) To override a prior setting of +<code>true</code>, you can set it to <code>false</code>. +</para> +</tableitem></tableentry></table> + +<para>These following options allow a user to override &latex;&textrsquo;s method of +choosing the graphic type based on the filename extension. An example +is that <code>\includegraphics[type=png,ext=.xxx,read=.xxx]{lion}</code> +will read the file <file>lion.xxx</file> as though it were +<file>lion.png</file>. For more on these, <pxref label="_005cDeclareGraphicsRule"><xrefnodename>\DeclareGraphicsRule</xrefnodename></pxref>. +</para> +<table commandarg="code" spaces=" " endspaces=" "> +<tableentry><tableterm><item spaces=" "><itemformat command="code">type</itemformat></item> +</tableterm><tableitem><para>Specify the graphics type. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ext</itemformat></item> +</tableterm><tableitem><para>Specify the graphics extension. +Only use this in conjunction with the option <code>type</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">read</itemformat></item> +</tableterm><tableitem><para>Specify the file extension of the read file. +Only use this in conjunction with the option <code>type</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">command</itemformat></item> +</tableterm><tableitem><para>Specify a command to be applied to this file. +Only use this in conjunction with the option <code>type</code>. +<!-- c write18 and restricted execution. --> +</para> +</tableitem></tableentry></table> + + +</subsection> +<node name="_005crotatebox" spaces=" "><nodename>\rotatebox</nodename><nodenext automatic="on">\scalebox</nodenext><nodeprev automatic="on">\includegraphics</nodeprev><nodeup automatic="on">Commands for graphics</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\rotatebox</code></sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="491">rotation</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="492">rotating graphics</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="493">rotating text</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="866">\rotatebox</indexterm></findex> + +<para>Synopsis for <file>graphics</file> package: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\rotatebox{<var>angle</var>}{<var>material</var>} +</pre></example> + +<para>Synopses for <file>graphicx</file> package: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\rotatebox{<var>angle</var>}{<var>material</var>} +\rotatebox[<var>key-value list</var>]{<var>angle</var>}{<var>material</var>} +</pre></example> + +<para>Put <var>material</var> in a box and rotate it <var>angle</var> degrees counterclockwise. +</para> +<para>This example rotates the table column heads forty five degrees. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\begin{tabular}{ll} + \rotatebox{45}{Character} &\rotatebox{45}{NATO phonetic} \\ + A &AL-FAH \\ + B &BRAH-VOH +\end{tabular} +</pre></example> + +<para>The <var>material</var> can be anything that goes in a box, including a graphic. +</para> +<example endspaces=" "> +<pre xml:space="preserve"> \rotatebox[origin=c]{45}{\includegraphics[width=1in]{lion}} +</pre></example> + +<para>To place the rotated material, the first step is that &latex; sets +<var>material</var> in a box, with a reference point on the left baseline. +The second step is the rotation, by default about the reference point. +The third step is that &latex; computes a box to bound the rotated +material. Fourth, &latex; moves this box horizontally so that the left +edge of this new bounding box coincides with the left edge of the box +from the first step (they need not coincide vertically). This new +bounding box, in its new position, is what &latex; uses as the box when +typesetting this material. +</para> +<para>If you use the <file>graphics</file> package then the rotation is about the +reference point of the box. If you use the <file>graphicx</file> package then +then these are the options that can go in the <var>key-value list</var>, but +note that you can get the same effect without needing this package, +except for the <code>x</code> and <code>y</code> options (<pxref label="_005cincludegraphics"><xrefnodename>\includegraphics</xrefnodename></pxref>). +</para> +<table commandarg="code" spaces=" " endspaces=" "> +<tableentry><tableterm><item spaces=" "><itemformat command="code">origin</itemformat></item> +</tableterm><tableitem><para>The point of the <var>material</var>&textrsquo;s box about which the rotation happens. +Possible values are any string containing one or two of: <code>l</code> for +left, <code>r</code> for right, <code>b</code> for bottom, <code>c</code> for center, +<code>t</code> for top, and <code>B</code> for baseline. Thus, +<code>\includegraphics[angle=180,origin=c]{moon}</code> will turn the +picture upside down from the center, while +<code>\includegraphics[angle=180,origin=lB]{LeBateau}</code> will turn its +picture upside down about its left baseline. (The character <code>c</code> +gives the horizontal center in <code>bc</code> or <code>tc</code> but gives the +vertical center in <code>lc</code> or <code>rc</code>.) The default is <code>lB</code>. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">x, y</itemformat></item> +</tableterm><tableitem><para>Specify an arbitrary point of rotation with +<code>\rotatebox[x=<var>&tex; dimension</var>,y=<var>&tex; +dimension</var>]{...}</code> (<pxref label="Units-of-length"><xrefnodename>Units of length</xrefnodename></pxref>). These give the offset +from the box&textrsquo;s reference point. +</para> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">units</itemformat></item> +</tableterm><tableitem><para>This key allows you to change the default of degrees counterclockwise. +Setting <code>units=-360</code> changes the direction to degrees clockwise and +setting <code>units=6.283185</code> changes to radians counterclockwise. +</para> +</tableitem></tableentry></table> + + +</subsection> +<node name="_005cscalebox" spaces=" "><nodename>\scalebox</nodename><nodenext automatic="on">\resizebox</nodenext><nodeprev automatic="on">\rotatebox</nodeprev><nodeup automatic="on">Commands for graphics</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\scalebox</code></sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="494">graphics, scaling</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="495">graphics, resizing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="496">scaling</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="497">resizing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="498">text, scaling</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="499">text, resizing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="867">\scalebox</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="868">\reflectbox</indexterm></findex> + +<para>Synopses: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\scalebox{<var>horizontal factor</var>}{<var>material</var>} +\scalebox{<var>horizontal factor</var>}[<var>vertical factor</var>]{<var>material</var>} +\reflectbox{<var>material</var>} +</pre></example> + +<para>Scale the <var>material</var>. +</para> +<para>This example halves the size, both horizontally and vertically, of the +first text and doubles the size of the second. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\scalebox{0.5}{DRINK ME} and \scalebox{2.0}{Eat Me} +</pre></example> + +<para>If you do not specify the optional <var>vertical factor</var> then it +defaults to the same value as the <var>horizontal factor</var>. +</para> +<para>You can use this command to resize a graphic, as with +<code>\scalebox{0.5}{\includegraphics{lion}}</code>. If you use the +<file>graphicx</file> package then you can accomplish the same thing with +optional arguments to <code>\includegraphics</code> +(<pxref label="_005cincludegraphics"><xrefnodename>\includegraphics</xrefnodename></pxref>). +</para> +<para>The <code>\reflectbox</code> command abbreviates +<code>\scalebox{-1}[1]{<var>material</var>}</code>. Thus, <code>Able was +I\reflectbox{Able was I}</code> will show the phrase <samp>Able was I</samp> +immediately followed by its mirror reflection. +</para> + +</subsection> +<node name="_005cresizebox" spaces=" "><nodename>\resizebox</nodename><nodeprev automatic="on">\scalebox</nodeprev><nodeup automatic="on">Commands for graphics</nodeup></node> +<subsection spaces=" "><sectiontitle><code>\resizebox</code></sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="500">graphics, scaling</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="501">graphics, resizing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="502">scaling</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="503">resizing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="504">text, scaling</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="505">text, resizing</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="869">\resizebox</indexterm></findex> + +<para>Synopses: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\resizebox{<var>horizontal length</var>}{<var>vertical length</var>}{<var>material</var>} +\resizebox*{<var>horizontal length</var>}{<var>vertical length</var>}{<var>material</var>} +</pre></example> + +<para>Given a size, such as <code>3cm</code>, transform <var>material</var> to make it +that size. If either <var>horizontal length</var> or <var>vertical length</var> +is an exclamation point <code>!</code> then the other argument is used +to determine a scale factor for both directions. +</para> +<para>This example makes the graphic be a half inch wide and scales it +vertically by the same factor to keep it from being distorted. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\resizebox{0.5in}{!}{\includegraphics{lion}} +</pre></example> + +<para>The unstarred form <code>\resizebox</code> takes <var>vertical length</var> to be +the box&textrsquo;s height while the starred form <code>\resizebox*</code> takes it to +be height+depth. For instance, make the text have a height+depth of a +quarter inch with <code>\resizebox*{!}{0.25in}{\parbox{1in}{This +box has both height and depth.}}</code>. +</para> +<para>You can use <code>\depth</code>, <code>\height</code>, <code>\totalheight</code>, and +<code>\width</code> to refer to the original size of the box. Thus, make the +text two inches wide but keep the original height with +<code>\resizebox{2in}{\height}{Two inches}</code>. +</para> + +</subsection> +</section> +</chapter> +<node name="Special-insertions" spaces=" "><nodename>Special insertions</nodename><nodenext automatic="on">Splitting the input</nodenext><nodeprev automatic="on">Graphics</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Special insertions</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="418">special insertions</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="419">insertions of special characters</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="506">special insertions</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="507">insertions of special characters</indexterm></cindex> <para>&latex; provides commands for inserting characters that have a special meaning do not correspond to simple characters you can type. </para> <menu endspaces=" "> <menuentry leadingtext="* "><menunode separator=":: ">Reserved characters</menunode><menudescription><pre xml:space="preserve">Inserting <samp># $ % & { } _ ~ ^ \</samp> +</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Upper and lower case</menunode><menudescription><pre xml:space="preserve">Make text upper or lower case. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Symbols by font position</menunode><menudescription><pre xml:space="preserve">Inserting font symbols by number. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Text symbols</menunode><menudescription><pre xml:space="preserve">Inserting other non-letter symbols in text. </pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator=":: ">Accents</menunode><menudescription><pre xml:space="preserve">Inserting accents. @@ -9300,13 +11649,13 @@ special meaning do not correspond to simple characters you can type. </pre></menudescription></menuentry></menu> -<node name="Reserved-characters" spaces=" "><nodename>Reserved characters</nodename><nodenext automatic="on">Symbols by font position</nodenext><nodeup automatic="on">Special insertions</nodeup></node> +<node name="Reserved-characters" spaces=" "><nodename>Reserved characters</nodename><nodenext automatic="on">Upper and lower case</nodenext><nodeup automatic="on">Special insertions</nodeup></node> <section spaces=" "><sectiontitle>Reserved characters</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="420">reserved characters</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="421">characters, reserved</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="422">special characters</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="423">characters, special</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="508">reserved characters</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="509">characters, reserved</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="510">special characters</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="511">characters, special</indexterm></cindex> <para>&latex; sets aside the following characters for special purposes (for example, the percent sign <code>%</code> is for comments) so they are called <dfn>reserved characters</dfn> or <dfn>special characters</dfn>. @@ -9315,21 +11664,21 @@ called <dfn>reserved characters</dfn> or <dfn>special characters</dfn>. <pre xml:space="preserve"># $ % & { } _ ~ ^ \ </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="844">\#</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="845">\$</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="846">\%</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="847">\&</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="848">\_</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="849">\{</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="850">\}</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="870">\#</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="871">\$</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="872">\%</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="873">\&</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="874">\_</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="875">\{</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="876">\}</indexterm></findex> <para>If you want a reserved character to be printed as itself, in the text body font, for all but the final three characters in that list simply put a backslash <code>\</code> in front of the character. Thus, <code>\$1.23</code> will produce <code>$1.23</code> in your output. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="851">\~</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="852">\^</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="853">\textbackslash</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="877">\~</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="878">\^</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="879">\textbackslash</indexterm></findex> <para>As to the last three characters, to get a tilde in the text body font use <code>\~{}</code> (omitting the curly braces would result in the next character receiving a tilde accent). Similarly, to get a get a text @@ -9351,12 +11700,75 @@ split the lines. </para> </section> -<node name="Symbols-by-font-position" spaces=" "><nodename>Symbols by font position</nodename><nodenext automatic="on">Text symbols</nodenext><nodeprev automatic="on">Reserved characters</nodeprev><nodeup automatic="on">Special insertions</nodeup></node> +<node name="Upper-and-lower-case" spaces=" "><nodename>Upper and lower case</nodename><nodenext automatic="on">Symbols by font position</nodenext><nodeprev automatic="on">Reserved characters</nodeprev><nodeup automatic="on">Special insertions</nodeup></node> +<section spaces=" "><sectiontitle>Upper and lower case</sectiontitle> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="512">Upper case</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="513">Lower case</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="514">characters, case</indexterm></cindex> + +<para>Synopsis: +</para> +<example endspaces=" "> +<pre xml:space="preserve">\uppercase{<var>text</var>} +\lowercase{<var>text</var>} +\MakeUppercase{<var>text</var>} +\MakeLowercase{<var>text</var>} +</pre></example> + +<para>Change the case of characters. The &tex; primitives commands +<code>\uppercase</code> and <code>\lowercase</code> only work for American +characters. The &latex; commands <code>\MakeUppercase</code> and +<code>\MakeLowercase</code> commands also change characters accessed by +commands such as <code>\ae</code> or <code>\aa</code>. The commands +<code>\MakeUppercase</code> and <code>\MakeLowercase</code> are robust but they have +moving arguments (<pxref label="_005cprotect"><xrefnodename>\protect</xrefnodename></pxref>). +</para> +<para>These commands do not change the case of letters used in the name of a +command within <var>text</var>. But they do change the case of every other +Latin letter inside the argument <var>text</var>. Thus, +<code>\MakeUppercase{Let $y=f(x)$</code>} produces <samp>LET Y=F(X)</samp>. Another +example is that the name of an environment will be changed, so that +<code>\MakeUppercase{\begin{tabular} ... \end{tabular}}</code> will +produce an error because the first half is changed to +<code>\begin{TABULAR}</code>. +</para> +<para>&latex; uses the same fixed table for changing case throughout a +document, The table used is designed for the font encoding T1; this +works well with the standard &tex; fonts for all Latin alphabets but +will cause problems when using other alphabets. +</para> +<para>To change the case of text that results from a macro inside <var>text</var> +you need to do expansion. Here the <code>\Schoolname</code> produces +<samp>COLLEGE OF MATHEMATICS</samp>. +</para> +<example endspaces=" "> +<pre xml:space="preserve">\newcommand{\schoolname}{College of Mathematics} +\newcommand{\Schoolname}{\expandafter\MakeUppercase +<w> </w>\expandafter{\schoolname}} +</pre></example> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="515"><r>package</r>, <code>textcase</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="516"><code>textcase</code> <r>package</r></indexterm></cindex> + +<para>The <file>textcase</file> package brings some of the missing feature of the +standard &latex; commands <code>\MakeUppercase</code> and +<code>\MakeLowerCase</code>. +</para> +<cindex index="cp" spaces=" "><indexterm index="cp" number="517"><r>package</r>, <code>mfirstuc</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="518"><code>mfirstuc</code> <r>package</r></indexterm></cindex> + +<para>To uppercase only the first letter of words, you can use the package +<file>mfirstuc</file>. +</para> + +</section> +<node name="Symbols-by-font-position" spaces=" "><nodename>Symbols by font position</nodename><nodenext automatic="on">Text symbols</nodenext><nodeprev automatic="on">Upper and lower case</nodeprev><nodeup automatic="on">Special insertions</nodeup></node> <section spaces=" "><sectiontitle>Symbols by font position</sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="854">\symbol</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="424">accessing any character of a font</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="425">font symbols, by number</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="880">\symbol</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="519">accessing any character of a font</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="520">font symbols, by number</indexterm></cindex> <para>You can access any character of the current font using its number with the <code>\symbol</code> command. For example, the visible space character @@ -9373,287 +11785,287 @@ example could also be written as <code>\symbol{'40}</code> or <node name="Text-symbols" spaces=" "><nodename>Text symbols</nodename><nodenext automatic="on">Accents</nodenext><nodeprev automatic="on">Symbols by font position</nodeprev><nodeup automatic="on">Special insertions</nodeup></node> <section spaces=" "><sectiontitle>Text symbols</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="426">text symbols</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="427">symbols, text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="521">text symbols</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="522">symbols, text</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="855">textcomp <r>package</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="881">textcomp <r>package</r></indexterm></findex> <para>&latex; provides commands to generate a number of non-letter symbols in running text. Some of these, especially the more obscure ones, are not available in OT1; you may need to load the <code>textcomp</code> package. </para> <ftable commandarg="code" spaces=" " endspaces=" "> -<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="856">\copyright</indexterm>\copyright</itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="857">\textcopyright</indexterm>\textcopyright</itemformat></itemx> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="428">copyright symbol</indexterm></cindex> +<tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="882">\copyright</indexterm>\copyright</itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="883">\textcopyright</indexterm>\textcopyright</itemformat></itemx> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="523">copyright symbol</indexterm></cindex> <para>The copyright symbol, ©right;. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="858">\dag</indexterm>\dag</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="429">dagger, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="884">\dag</indexterm>\dag</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="524">dagger, in text</indexterm></cindex> <para>The dagger symbol (in text). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="859">\ddag</indexterm>\ddag</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="430">double dagger, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="885">\ddag</indexterm>\ddag</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="525">double dagger, in text</indexterm></cindex> <para>The double dagger symbol (in text). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="860">\LaTeX</indexterm>\LaTeX</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="431">&latex; logo</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="432">logo, &latex;</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="886">\LaTeX</indexterm>\LaTeX</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="526">&latex; logo</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="527">logo, &latex;</indexterm></cindex> <para>The &latex; logo. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="861">\LaTeXe</indexterm>\LaTeXe</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="433">&latex;2e logo</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="434">logo, &latex;2e</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="887">\LaTeXe</indexterm>\LaTeXe</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="528">&latex;2e logo</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="529">logo, &latex;2e</indexterm></cindex> <para>The &latex;2e logo. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="862">\guillemotleft <r>(«)</r></indexterm>\guillemotleft <r>(«)</r></itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="863">\guillemotright <r>(»)</r></indexterm>\guillemotright <r>(»)</r></itemformat></itemx> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="864">\guilsinglleft <r>(‹)</r></indexterm>\guilsinglleft <r>(‹)</r></itemformat></itemx> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="865">\guilsinglright <r>(›)</r></indexterm>\guilsinglright <r>(›)</r></itemformat></itemx> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="435">double guillemets</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="436">single guillemets</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="437">left angle quotation marks</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="438">right angle quotation marks</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="439">double angle quotation marks</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="440">single angle quotation marks</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="441">French quotation marks</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="442">quotation marks, French</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="888">\guillemotleft <r>(«)</r></indexterm>\guillemotleft <r>(«)</r></itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="889">\guillemotright <r>(»)</r></indexterm>\guillemotright <r>(»)</r></itemformat></itemx> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="890">\guilsinglleft <r>(‹)</r></indexterm>\guilsinglleft <r>(‹)</r></itemformat></itemx> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="891">\guilsinglright <r>(›)</r></indexterm>\guilsinglright <r>(›)</r></itemformat></itemx> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="530">double guillemets</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="531">single guillemets</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="532">left angle quotation marks</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="533">right angle quotation marks</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="534">double angle quotation marks</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="535">single angle quotation marks</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="536">French quotation marks</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="537">quotation marks, French</indexterm></cindex> <para>Double and single angle quotation marks, commonly used in French: «, », ‹, ›. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="866">\ldots</indexterm>\ldots</itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="867">\dots</indexterm>\dots</itemformat></itemx> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="868">\textellipsis</indexterm>\textellipsis</itemformat></itemx> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="443">ellipsis</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="892">\ldots</indexterm>\ldots</itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="893">\dots</indexterm>\dots</itemformat></itemx> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="894">\textellipsis</indexterm>\textellipsis</itemformat></itemx> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="538">ellipsis</indexterm></cindex> <para>An ellipsis (three dots at the baseline): &textlsquo;&dots;&textrsquo;. <code>\ldots</code> and <code>\dots</code> also work in math mode. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="869">\lq</indexterm>\lq</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="444">left quote</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="445">opening quote</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="895">\lq</indexterm>\lq</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="539">left quote</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="540">opening quote</indexterm></cindex> <para>Left (opening) quote: &textlsquo;. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="870">\P</indexterm>\P</itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="871">\textparagraph</indexterm>\textparagraph</itemformat></itemx> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="446">paragraph symbol</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="447">pilcrow</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="896">\P</indexterm>\P</itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="897">\textparagraph</indexterm>\textparagraph</itemformat></itemx> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="541">paragraph symbol</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="542">pilcrow</indexterm></cindex> <para>Paragraph sign (pilcrow): <U>00B6</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="872">\pounds</indexterm>\pounds</itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="873">\textsterling</indexterm>\textsterling</itemformat></itemx> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="448">pounds symbol</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="449">sterling symbol</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="898">\pounds</indexterm>\pounds</itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="899">\textsterling</indexterm>\textsterling</itemformat></itemx> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="543">pounds symbol</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="544">sterling symbol</indexterm></cindex> <para>English pounds sterling: £. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="874">\quotedblbase <r>(„)</r></indexterm>\quotedblbase <r>(„)</r></itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="875">\quotesinglbase <r>(‚)</r></indexterm>\quotesinglbase <r>(‚)</r></itemformat></itemx> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="450">double low-9 quotation mark</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="451">single low-9 quotation mark</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="452">low-9 quotation marks, single and double</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="900">\quotedblbase <r>(„)</r></indexterm>\quotedblbase <r>(„)</r></itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="901">\quotesinglbase <r>(‚)</r></indexterm>\quotesinglbase <r>(‚)</r></itemformat></itemx> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="545">double low-9 quotation mark</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="546">single low-9 quotation mark</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="547">low-9 quotation marks, single and double</indexterm></cindex> <para>Double and single quotation marks on the baseline: „ and ‚. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="876">\rq</indexterm>\rq</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="453">right quote</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="454">closing quote</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="902">\rq</indexterm>\rq</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="548">right quote</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="549">closing quote</indexterm></cindex> <para>Right (closing) quote: &textrsquo;. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="877">\S</indexterm>\S</itemformat></item> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="903">\S</indexterm>\S</itemformat></item> </tableterm><tableitem><para>\itemx \textsection -<cindex index="cp" spaces=" "><indexterm index="cp" number="455">section symbol</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="550">section symbol</indexterm></cindex> Section sign: <U>00A7</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="878">\TeX</indexterm>\TeX</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="456">&tex; logo</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="457">logo, &tex;</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="904">\TeX</indexterm>\TeX</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="551">&tex; logo</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="552">logo, &tex;</indexterm></cindex> <para>The &tex; logo. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="879">\textasciicircum</indexterm>\textasciicircum</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="458">circumflex, ASCII, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="459">ASCII circumflex, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="905">\textasciicircum</indexterm>\textasciicircum</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="553">circumflex, ASCII, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="554">ASCII circumflex, in text</indexterm></cindex> <para>ASCII circumflex: ^. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="880">\textasciitilde</indexterm>\textasciitilde</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="460">tilde, ASCII, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="461">ASCII tilde, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="906">\textasciitilde</indexterm>\textasciitilde</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="555">tilde, ASCII, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="556">ASCII tilde, in text</indexterm></cindex> <para>ASCII tilde: ~. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="881">\textasteriskcentered</indexterm>\textasteriskcentered</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="462">asterisk, centered, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="463">centered asterisk, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="907">\textasteriskcentered</indexterm>\textasteriskcentered</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="557">asterisk, centered, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="558">centered asterisk, in text</indexterm></cindex> <para>Centered asterisk: *. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="882">\textbackslash</indexterm>\textbackslash</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="464">backslash, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="908">\textbackslash</indexterm>\textbackslash</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="559">backslash, in text</indexterm></cindex> <para>Backslash: \. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="883">\textbar</indexterm>\textbar</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="465">vertical bar, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="466">bar, vertical, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="909">\textbar</indexterm>\textbar</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="560">vertical bar, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="561">bar, vertical, in text</indexterm></cindex> <para>Vertical bar: |. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="884">\textbardbl</indexterm>\textbardbl</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="467">vertical bar, double, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="468">bar, double vertical, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="469">double vertical bar, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="910">\textbardbl</indexterm>\textbardbl</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="562">vertical bar, double, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="563">bar, double vertical, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="564">double vertical bar, in text</indexterm></cindex> <para>Double vertical bar. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="885">\textbigcircle</indexterm>\textbigcircle</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="470">big circle symbols, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="471">circle symbol, big, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="911">\textbigcircle</indexterm>\textbigcircle</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="565">big circle symbols, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="566">circle symbol, big, in text</indexterm></cindex> <para>Big circle symbol. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="886">\textbraceleft</indexterm>\textbraceleft</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="472">left brace, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="473">brace, left, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="912">\textbraceleft</indexterm>\textbraceleft</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="567">left brace, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="568">brace, left, in text</indexterm></cindex> <para>Left brace: {. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="887">\textbraceright</indexterm>\textbraceright</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="474">right brace, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="475">brace, right, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="913">\textbraceright</indexterm>\textbraceright</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="569">right brace, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="570">brace, right, in text</indexterm></cindex> <para>Right brace: }. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="888">\textbullet</indexterm>\textbullet</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="476">bullet, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="914">\textbullet</indexterm>\textbullet</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="571">bullet, in text</indexterm></cindex> <para>Bullet: •. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="889">\textcircled{<var>letter</var>}</indexterm>\textcircled{<var>letter</var>}</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="477">circled letter, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="915">\textcircled{<var>letter</var>}</indexterm>\textcircled{<var>letter</var>}</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="572">circled letter, in text</indexterm></cindex> <para><var>letter</var> in a circle, as in ®istered;. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="890">\textcompwordmark</indexterm>\textcompwordmark</itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="891">\textcapitalcompwordmark</indexterm>\textcapitalcompwordmark</itemformat></itemx> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="892">\textascendercompwordmark</indexterm>\textascendercompwordmark</itemformat></itemx> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="478">composite word mark, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="479">cap height</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="480">ascender height</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="916">\textcompwordmark</indexterm>\textcompwordmark</itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="917">\textcapitalcompwordmark</indexterm>\textcapitalcompwordmark</itemformat></itemx> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="918">\textascendercompwordmark</indexterm>\textascendercompwordmark</itemformat></itemx> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="573">composite word mark, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="574">cap height</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="575">ascender height</indexterm></cindex> <para>Composite word mark (invisible). The <code>\textcapital...</code> form has the cap height of the font, while the <code>\textascender...</code> form has the ascender height. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="893">\textdagger</indexterm>\textdagger</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="481">dagger, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="919">\textdagger</indexterm>\textdagger</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="576">dagger, in text</indexterm></cindex> <para>Dagger: <math>\dag</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="894">\textdaggerdbl</indexterm>\textdaggerdbl</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="482">dagger, double, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="483">double dagger, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="920">\textdaggerdbl</indexterm>\textdaggerdbl</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="577">dagger, double, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="578">double dagger, in text</indexterm></cindex> <para>Double dagger: <math>\ddag</math>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="895">\textdollar <r>(or <code>\$</code>)</r></indexterm>\textdollar <r>(or <code>\$</code>)</r></itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="484">dollar sign</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="485">currency, dollar</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="921">\textdollar <r>(or <code>\$</code>)</r></indexterm>\textdollar <r>(or <code>\$</code>)</r></itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="579">dollar sign</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="580">currency, dollar</indexterm></cindex> <para>Dollar sign: $. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="896">\textemdash <r>(or <code>---</code>)</r></indexterm>\textemdash <r>(or <code>---</code>)</r></itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="486">em-dash</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="922">\textemdash <r>(or <code>---</code>)</r></indexterm>\textemdash <r>(or <code>---</code>)</r></itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="581">em-dash</indexterm></cindex> <para>Em-dash: &textmdash; (for punctuation). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="897">\textendash <r>(or <code>--</code>)</r></indexterm>\textendash <r>(or <code>--</code>)</r></itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="487">e-dash</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="923">\textendash <r>(or <code>--</code>)</r></indexterm>\textendash <r>(or <code>--</code>)</r></itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="582">e-dash</indexterm></cindex> <para>En-dash: &textndash; (for ranges). </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="898">\texteuro</indexterm>\texteuro</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="488">euro symbol</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="489">currency, euro</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="924">\texteuro</indexterm>\texteuro</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="583">euro symbol</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="584">currency, euro</indexterm></cindex> <para>The Euro symbol: €. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="899">\textexclamdown <r>(or <code>!`</code>)</r></indexterm>\textexclamdown <r>(or <code>!`</code>)</r></itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="490">exclamation point, upside-down</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="925">\textexclamdown <r>(or <code>!`</code>)</r></indexterm>\textexclamdown <r>(or <code>!`</code>)</r></itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="585">exclamation point, upside-down</indexterm></cindex> <para>Upside down exclamation point: ¡. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="900">\textgreater</indexterm>\textgreater</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="491">greater than symbol, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="926">\textgreater</indexterm>\textgreater</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="586">greater than symbol, in text</indexterm></cindex> <para>Greater than: >. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="901">\textless</indexterm>\textless</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="492">less than symbol, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="927">\textless</indexterm>\textless</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="587">less than symbol, in text</indexterm></cindex> <para>Less than: <. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="902">\textleftarrow</indexterm>\textleftarrow</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="493">arrow, left, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="494">left arrow, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="928">\textleftarrow</indexterm>\textleftarrow</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="588">arrow, left, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="589">left arrow, in text</indexterm></cindex> <para>Left arrow. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="903">\textordfeminine</indexterm>\textordfeminine</itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="904">\textordmasculine</indexterm>\textordmasculine</itemformat></itemx> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="495">feminine ordinal symbol</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="496">masculine ordinal symbol</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="497">ordinals, feminine and masculine</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="498">Spanish ordinals, feminine and masculine</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="929">\textordfeminine</indexterm>\textordfeminine</itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="930">\textordmasculine</indexterm>\textordmasculine</itemformat></itemx> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="590">feminine ordinal symbol</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="591">masculine ordinal symbol</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="592">ordinals, feminine and masculine</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="593">Spanish ordinals, feminine and masculine</indexterm></cindex> <para>Feminine and masculine ordinal symbols: ª, º. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="905">\textperiodcentered</indexterm>\textperiodcentered</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="499">period, centered, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="500">centered period, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="931">\textperiodcentered</indexterm>\textperiodcentered</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="594">period, centered, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="595">centered period, in text</indexterm></cindex> <para>Centered period: <U>00B7</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="906">\textquestiondown <r>(or <code>?`</code>)</r></indexterm>\textquestiondown <r>(or <code>?`</code>)</r></itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="501">question mark, upside-down</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="932">\textquestiondown <r>(or <code>?`</code>)</r></indexterm>\textquestiondown <r>(or <code>?`</code>)</r></itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="596">question mark, upside-down</indexterm></cindex> <para>Upside down question mark: ¿. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="907">\textquotedblleft <r>(or <code>``</code>)</r></indexterm>\textquotedblleft <r>(or <code>``</code>)</r></itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="502">left quote, double</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="503">double left quote</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="933">\textquotedblleft <r>(or <code>``</code>)</r></indexterm>\textquotedblleft <r>(or <code>``</code>)</r></itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="597">left quote, double</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="598">double left quote</indexterm></cindex> <para>Double left quote: &textldquo;. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="908">\textquotedblright <r>(or <code>''</code>)</r></indexterm>\textquotedblright <r>(or <code>''</code>)</r></itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="504">right quote, double</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="505">double right quote</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="934">\textquotedblright <r>(or <code>''</code>)</r></indexterm>\textquotedblright <r>(or <code>''</code>)</r></itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="599">right quote, double</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="600">double right quote</indexterm></cindex> <para>Double right quote: &textrdquo;. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="909">\textquoteleft <r>(or <code>`</code>)</r></indexterm>\textquoteleft <r>(or <code>`</code>)</r></itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="506">left quote, single</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="507">single left quote</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="935">\textquoteleft <r>(or <code>`</code>)</r></indexterm>\textquoteleft <r>(or <code>`</code>)</r></itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="601">left quote, single</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="602">single left quote</indexterm></cindex> <para>Single left quote: &textlsquo;. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="910">\textquoteright <r>(or <code>'</code>)</r></indexterm>\textquoteright <r>(or <code>'</code>)</r></itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="508">right quote, single</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="509">single right quote</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="936">\textquoteright <r>(or <code>'</code>)</r></indexterm>\textquoteright <r>(or <code>'</code>)</r></itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="603">right quote, single</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="604">single right quote</indexterm></cindex> <para>Single right quote: &textrsquo;. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="911">\textquotesingle</indexterm>\textquotesingle</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="510">quote, single straight</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="511">straight single quote</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="512">single quote, straight</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="937">\textquotesingle</indexterm>\textquotesingle</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="605">quote, single straight</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="606">straight single quote</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="607">single quote, straight</indexterm></cindex> <para>Straight single quote. (From TS1 encoding.) </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="912">\textquotestraightbase</indexterm>\textquotestraightbase</itemformat></item> -<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="913">\textquotestraightdblbase</indexterm>\textquotestraightdblbase</itemformat></itemx> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="513">quote, straight base</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="514">straight quote, base</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="515">double quote, straight base</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="516">straight double quote, base</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="938">\textquotestraightbase</indexterm>\textquotestraightbase</itemformat></item> +<itemx spaces=" "><itemformat command="code"><indexterm index="fn" number="939">\textquotestraightdblbase</indexterm>\textquotestraightdblbase</itemformat></itemx> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="608">quote, straight base</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="609">straight quote, base</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="610">double quote, straight base</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="611">straight double quote, base</indexterm></cindex> <para>Single and double straight quotes on the baseline. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="914">\textregistered</indexterm>\textregistered</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="517">registered symbol</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="940">\textregistered</indexterm>\textregistered</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="612">registered symbol</indexterm></cindex> <para>Registered symbol: ®istered;. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="915">\textrightarrow</indexterm>\textrightarrow</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="518">arrow, right, in text</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="519">right arrow, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="941">\textrightarrow</indexterm>\textrightarrow</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="613">arrow, right, in text</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="614">right arrow, in text</indexterm></cindex> <para>Right arrow. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="916">\textthreequartersemdash</indexterm>\textthreequartersemdash</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="520">three-quarters em-dash</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="521">em-dash, three-quarters</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="942">\textthreequartersemdash</indexterm>\textthreequartersemdash</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="615">three-quarters em-dash</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="616">em-dash, three-quarters</indexterm></cindex> <para>&textldquo;Three-quarters&textrdquo; em-dash, between en-dash and em-dash. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="917">\texttrademark</indexterm>\texttrademark</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="522">trademark symbol</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="943">\texttrademark</indexterm>\texttrademark</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="617">trademark symbol</indexterm></cindex> <para>Trademark symbol: <U>2122</U>. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="918">\texttwelveudash</indexterm>\texttwelveudash</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="523">two-thirds em-dash</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="524">em-dash, two-thirds</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="944">\texttwelveudash</indexterm>\texttwelveudash</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="618">two-thirds em-dash</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="619">em-dash, two-thirds</indexterm></cindex> <para>&textldquo;Two-thirds&textrdquo; em-dash, between en-dash and em-dash. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="919">\textunderscore</indexterm>\textunderscore</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="525">underscore, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="945">\textunderscore</indexterm>\textunderscore</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="620">underscore, in text</indexterm></cindex> <para>Underscore: _. </para> -</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="920">\textvisiblespace</indexterm>\textvisiblespace</itemformat></item> -</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="526">visible space symbol, in text</indexterm></cindex> +</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><indexterm index="fn" number="946">\textvisiblespace</indexterm>\textvisiblespace</itemformat></item> +</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="621">visible space symbol, in text</indexterm></cindex> <para>Visible space symbol. </para> </tableitem></tableentry></ftable> @@ -9663,13 +12075,14 @@ has the ascender height. <node name="Accents" spaces=" "><nodename>Accents</nodename><nodenext automatic="on">Additional Latin letters</nodenext><nodeprev automatic="on">Text symbols</nodeprev><nodeup automatic="on">Special insertions</nodeup></node> <section spaces=" "><sectiontitle>Accents</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="527">accents</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="528">characters, accented</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="529">letters, accented</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="622">accents</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="623">characters, accented</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="624">letters, accented</indexterm></cindex> + +<cindex index="cp" spaces=" "><indexterm index="cp" number="625"><r>package</r>, <code>babel</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="626"><code>babel</code> <r>package</r></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="530"><r>package</r>, <code>babel</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="531"><code>babel</code> <r>package</r></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="532">multilingual support</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="627">multilingual support</indexterm></cindex> <para>&latex; has wide support for many of the world&textrsquo;s scripts and languages, through the <code>babel</code> package and related support. This section does not attempt to cover all that support. It merely lists @@ -9681,134 +12094,134 @@ capital letters. These are not available with OT1. <table commandarg="code" spaces=" " endspaces=" "> <tableentry><tableterm><item spaces=" "><itemformat command="code">\"</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitaldieresis</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="921">\" <r>(umlaut accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="922">\capitaldieresis</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="533">umlaut accent</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="534">dieresis accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="947">\" <r>(umlaut accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="948">\capitaldieresis</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="628">umlaut accent</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="629">dieresis accent</indexterm></cindex> <para>Produces an umlaut (dieresis), as in <accent type="uml">o</accent>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\'</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitalacute</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="923">\&textrsquo; <r>(acute accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="924">\capitalacute</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="535">acute accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="949">\' <r>(acute accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="950">\capitalacute</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="630">acute accent</indexterm></cindex> <para>Produces an acute accent, as in <accent type="acute">o</accent>. In the <code>tabbing</code> environment, pushes current column to the right of the previous column (<pxref label="tabbing"><xrefnodename>tabbing</xrefnodename></pxref>). </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\.</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="925">\. <r>(dot-over accent)</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="536">dot accent</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="537">dot-over accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="951">\. <r>(dot-over accent)</r></indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="631">dot accent</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="632">dot-over accent</indexterm></cindex> <para>Produces a dot accent over the following, as in <accent type="dotaccent">o</accent>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\=</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitalmacron</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="926">\= <r>(macron accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="927">\capitalmacron</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="538">macron accent</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="539">overbar accent</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="540">bar-over accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="952">\= <r>(macron accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="953">\capitalmacron</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="633">macron accent</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="634">overbar accent</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="635">bar-over accent</indexterm></cindex> <para>Produces a macron (overbar) accent over the following, as in <accent type="macr">o</accent>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\^</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitalcircumflex</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="928">\^ <r>(circumflex accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="929">\capitalcircumflex</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="541">circumflex accent</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="542">hat accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="954">\^ <r>(circumflex accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="955">\capitalcircumflex</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="636">circumflex accent</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="637">hat accent</indexterm></cindex> <para>Produces a circumflex (hat) accent over the following, as in <accent type="circ">o</accent>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\`</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitalgrave</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="930">\&textlsquo; <r>(grave accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="931">\capitalgrave</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="543">grave accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="956">\` <r>(grave accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="957">\capitalgrave</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="638">grave accent</indexterm></cindex> <para>Produces a grave accent over the following, as in <accent type="grave">o</accent>. In the <code>tabbing</code> environment, move following text to the right margin (<pxref label="tabbing"><xrefnodename>tabbing</xrefnodename></pxref>). </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\~</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitaltilde</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="932">\~ <r>(tilde accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="933">\capitaltilde</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="544">tilde accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="958">\~ <r>(tilde accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="959">\capitaltilde</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="639">tilde accent</indexterm></cindex> <para>Produces a tilde accent over the following, as in <accent type="tilde">n</accent>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\b</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="934">\b <r>(bar-under accent)</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="545">bar-under accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="960">\b <r>(bar-under accent)</r></indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="640">bar-under accent</indexterm></cindex> <para>Produces a bar accent under the following, as in <accent type="ubaraccent">o</accent>. See also <code>\underbar</code> hereinafter. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\c</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitalcedilla</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="935">\c <r>(cedilla accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="936">\capitalcedilla</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="546">cedilla accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="961">\c <r>(cedilla accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="962">\capitalcedilla</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="641">cedilla accent</indexterm></cindex> <para>Produces a cedilla accent under the following, as in <accent type="cedil">c</accent>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\d</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitaldotaccent</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="937">\d <r>(dot-under accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="938">\capitaldotaccent</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="547">dot-under accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="963">\d <r>(dot-under accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="964">\capitaldotaccent</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="642">dot-under accent</indexterm></cindex> <para>Produces a dot accent under the following, as in <accent type="udotaccent">o</accent>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\H</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitalhungarumlaut</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="939">\H <r>(Hungarian umlaut accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="940">\capitalhungarumlaut</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="548">hungarian umlaut accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="965">\H <r>(Hungarian umlaut accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="966">\capitalhungarumlaut</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="643">hungarian umlaut accent</indexterm></cindex> <para>Produces a long Hungarian umlaut accent over the following, as in <accent type="doubleacute">o</accent>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\i</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="941">\i <r>(dotless i)</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="549">dotless i</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="967">\i <r>(dotless i)</r></indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="644">dotless i</indexterm></cindex> <para>Produces a dotless i, as in &textlsquo;<dotless>i</dotless>&textrsquo;. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\j</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="942">\j <r>(dotless j)</r></indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="550">dotless j</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="968">\j <r>(dotless j)</r></indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="645">dotless j</indexterm></cindex> <para>Produces a dotless j, as in &textlsquo;<dotless>j</dotless>&textrsquo;. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\k</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitalogonek</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="943">\k <r>(ogonek)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="944">\capitalogonek</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="551">ogonek</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="969">\k <r>(ogonek)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="970">\capitalogonek</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="646">ogonek</indexterm></cindex> <para>Produces a letter with ogonek, as in &textlsquo;<accent type="ogon">o</accent>&textrsquo;. Not available in the OT1 encoding. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\r</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitalring</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="945">\r <r>(ring accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="946">\capitalring</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="552">ring accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="971">\r <r>(ring accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="972">\capitalring</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="647">ring accent</indexterm></cindex> <para>Produces a ring accent, as in &textlsquo;<accent type="ring">o</accent>&textrsquo;. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\t</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitaltie</itemformat></itemx> <itemx spaces=" "><itemformat command="code">\newtie</itemformat></itemx> <itemx spaces=" "><itemformat command="code">\capitalnewtie</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="947">\t <r>(tie-after accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="948">\capitaltie</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="949">\newtie</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="950">\capitalnewtie</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="553">tie-after accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="973">\t <r>(tie-after accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="974">\capitaltie</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="975">\newtie</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="976">\capitalnewtie</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="648">tie-after accent</indexterm></cindex> <para>Produces a tie-after accent, as in &textlsquo;<accent type="tieaccent">oo</accent>&textrsquo;. The <code>\newtie</code> form is centered in its box. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\u</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitalbreve</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="951">\u <r>(breve accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="952">\capitalbreve</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="554">breve accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="977">\u <r>(breve accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="978">\capitalbreve</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="649">breve accent</indexterm></cindex> <para>Produces a breve accent, as in &textlsquo;<accent type="breve">o</accent>&textrsquo;. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\underbar</itemformat></item> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="953">\underbar</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="555">underbar</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="979">\underbar</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="650">underbar</indexterm></cindex> <para>Not exactly an accent, this produces a bar under the argument text. The argument is always processed in horizontal mode. The bar is always a fixed position under the baseline, thus crossing through @@ -9817,11 +12230,11 @@ See also <code>\b</code> above. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\v</itemformat></item> <itemx spaces=" "><itemformat command="code">\capitalcaron</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="954">\v <r>(breve accent)</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="955">\capitalcaron</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="556">hacek accent</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="557">check accent</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="558">caron accent</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="980">\v <r>(breve accent)</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="981">\capitalcaron</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="651">hacek accent</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="652">check accent</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="653">caron accent</indexterm></cindex> <para>Produces a h<accent type="acute" bracketed="off">a</accent><accent type="caron">c</accent>ek (check, caron) accent, as in &textlsquo;<accent type="caron">o</accent>&textrsquo;. </para> </tableitem></tableentry></table> @@ -9832,12 +12245,12 @@ See also <code>\b</code> above. <section spaces=" "><sectiontitle>Additional Latin letters</sectiontitle> <anchor name="Non_002dEnglish-characters">Non-English characters</anchor> -<cindex index="cp" spaces=" "><indexterm index="cp" number="559">Latin letters, additional</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="560">letters, additional Latin</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="561">extended Latin</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="562">special characters</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="563">non-English characters</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="564">characters, non-English</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="654">Latin letters, additional</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="655">letters, additional Latin</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="656">extended Latin</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="657">special characters</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="658">non-English characters</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="659">characters, non-English</indexterm></cindex> <para>Here are the basic &latex; commands for inserting letters (beyond A&textndash;Z) extending the Latin alphabet, used primarily in languages other @@ -9846,84 +12259,84 @@ than English. <table commandarg="code" spaces=" " endspaces=" "> <tableentry><tableterm><item spaces=" "><itemformat command="code">\aa</itemformat></item> <itemx spaces=" "><itemformat command="code">\AA</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="956">\aa (å)</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="957">\AA (Å)</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="565">aring</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="982">\aa (å)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="983">\AA (Å)</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="660">aring</indexterm></cindex> <para>å and Å. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ae</itemformat></item> <itemx spaces=" "><itemformat command="code">\AE</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="958">\ae (æ)</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="959">\AE (Æ)</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="566">ae ligature</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="984">\ae (æ)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="985">\AE (Æ)</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="661">ae ligature</indexterm></cindex> <para>æ and Æ. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\dh</itemformat></item> <itemx spaces=" "><itemformat command="code">\DH</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="960">\dh (ð)</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="961">\DH (Ð)</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="567">Icelandic eth</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="568">eth, Icelandic letter</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="986">\dh (ð)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="987">\DH (Ð)</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="662">Icelandic eth</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="663">eth, Icelandic letter</indexterm></cindex> <para>Icelandic letter eth: ð and Ð. Not available with <sc>OT1</sc> encoding, you need the <file>fontenc</file> package to select an alternate font encoding, such as <sc>T1</sc>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\dj</itemformat></item> <itemx spaces=" "><itemformat command="code">\DJ</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="962">\dj</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="963">\DJ</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="988">\dj</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="989">\DJ</indexterm></findex> <para>Crossed d and D, a.k.a.&noeos; capital and small letter d with stroke. Not available with <sc>OT1</sc> encoding, you need the <file>fontenc</file> package to select an alternate font encoding, such as <sc>T1</sc>. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ij</itemformat></item> <itemx spaces=" "><itemformat command="code">\IJ</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="964">\ij (ij)</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="965">\IJ (IJ)</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="569">ij letter, Dutch</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="990">\ij (ij)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="991">\IJ (IJ)</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="664">ij letter, Dutch</indexterm></cindex> <para>ij and IJ (except somewhat closer together than appears here). </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\l</itemformat></item> <itemx spaces=" "><itemformat command="code">\L</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="966">\l (&lslash;)</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="967">\L (&Lslash;)</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="570">polish l</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="992">\l (&lslash;)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="993">\L (&Lslash;)</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="665">polish l</indexterm></cindex> <para>&lslash; and &Lslash;. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ng</itemformat></item> <itemx spaces=" "><itemformat command="code">\NG</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="968">\ng</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="969">\NG</indexterm></findex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="994">\ng</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="995">\NG</indexterm></findex> <para>Lappish letter eng, also used in phonetics. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\o</itemformat></item> <itemx spaces=" "><itemformat command="code">\O</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="970">\o (ø)</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="971">\O (Ø)</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="571">oslash</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="996">\o (ø)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="997">\O (Ø)</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="666">oslash</indexterm></cindex> <para>ø and Ø. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\oe</itemformat></item> <itemx spaces=" "><itemformat command="code">\OE</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="972">\oe (œ)</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="973">\OE (Œ)</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="572">oe ligature</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="998">\oe (œ)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="999">\OE (Œ)</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="667">oe ligature</indexterm></cindex> <para>œ and Œ. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\ss</itemformat></item> <itemx spaces=" "><itemformat command="code">\SS</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="974">\ss (ß)</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="975">\SS (SS)</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="573">es-zet German letter</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="574">sharp S letters</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="1000">\ss (ß)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1001">\SS (SS)</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="668">es-zet German letter</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="669">sharp S letters</indexterm></cindex> <para>ß and SS. </para> </tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">\th</itemformat></item> <itemx spaces=" "><itemformat command="code">\TH</itemformat></itemx> -</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="976">\th (þ)</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="977">\TH (Þ)</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="575">Icelandic thorn</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="576">thorn, Icelandic letter</indexterm></cindex> +</tableterm><tableitem><findex index="fn" spaces=" "><indexterm index="fn" number="1002">\th (þ)</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1003">\TH (Þ)</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="670">Icelandic thorn</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="671">thorn, Icelandic letter</indexterm></cindex> <para>Icelandic letter thorn: þ and Þ. Not available with <sc>OT1</sc> encoding, you need the <file>fontenc</file> package to select an alternate font encoding, such as <sc>T1</sc>. @@ -9935,7 +12348,7 @@ font encoding, such as <sc>T1</sc>. <node name="_005crule" spaces=" "><nodename>\rule</nodename><nodenext automatic="on">\today</nodenext><nodeprev automatic="on">Additional Latin letters</nodeprev><nodeup automatic="on">Special insertions</nodeup></node> <section spaces=" "><sectiontitle><code>\rule</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="978">\rule</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1004">\rule</indexterm></findex> <para>Synopsis: </para> @@ -9962,8 +12375,8 @@ rectangles. The arguments are: <node name="_005ctoday" spaces=" "><nodename>\today</nodename><nodeprev automatic="on">\rule</nodeprev><nodeup automatic="on">Special insertions</nodeup></node> <section spaces=" "><sectiontitle><code>\today</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="979">\today</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="577">date, today&textrsquo;s</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1005">\today</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="672">date, today&textrsquo;s</indexterm></cindex> <para>The <code>\today</code> command produces today&textrsquo;s date, in the format <samp><var>month</var> <var>dd</var>, <var>yyyy</var></samp>; for example, <samp>July 4, 1976</samp>. @@ -9984,8 +12397,9 @@ will output <samp>4 juillet 1976</samp>: \end{document} </pre></example> -<cindex index="cp" spaces=" "><indexterm index="cp" number="578"><r>package</r>, <code>datetime</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="579"><code>datetime</code> <r>package</r></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="673"><r>package</r>, <code>datetime</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="674"><code>datetime</code> <r>package</r></indexterm></cindex> + <para>The <code>datetime</code> package, among others, can produce a wide variety of other date formats. </para> @@ -9995,15 +12409,15 @@ of other date formats. <node name="Splitting-the-input" spaces=" "><nodename>Splitting the input</nodename><nodenext automatic="on">Front/back matter</nodenext><nodeprev automatic="on">Special insertions</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Splitting the input</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="580">splitting the input file</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="581">input file</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="675">splitting the input file</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="676">input file</indexterm></cindex> <para>A large document requires a lot of input. Rather than putting the whole input in a single large file, it&textrsquo;s more efficient to split it into several smaller ones. Regardless of how many separate files you use, there is one that is the -<cindex index="cp" spaces=" "><indexterm index="cp" number="582">root file</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="583">file, root</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="677">root file</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="678">file, root</indexterm></cindex> <dfn>root file</dfn>; it is the one whose name you type when you run &latex;. </para> @@ -10020,7 +12434,7 @@ external file to be created with the main document. <node name="_005cinclude" spaces=" "><nodename>\include</nodename><nodenext automatic="on">\includeonly</nodenext><nodeup automatic="on">Splitting the input</nodeup></node> <section spaces=" "><sectiontitle><code>\include</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="980">\include</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1006">\include</indexterm></findex> <para>Synopsis: </para> @@ -10037,16 +12451,16 @@ command executes <code>\clearpage</code> to start a new page only run if <var>file</var> is listed as an argument to <code>\includeonly</code>. See <ref label="_005cincludeonly"><xrefnodename>\includeonly</xrefnodename></ref>. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="584">nested <code>\include</code>, not allowed</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="679">nested <code>\include</code>, not allowed</indexterm></cindex> <para>The <code>\include</code> command may not appear in the preamble or in a file read by another <code>\include</code> command. </para> </section> <node name="_005cincludeonly" spaces=" "><nodename>\includeonly</nodename><nodenext automatic="on">\input</nodenext><nodeprev automatic="on">\include</nodeprev><nodeup automatic="on">Splitting the input</nodeup></node> -<section spaces=" "><sectiontitle>\<code>includeonly</code></sectiontitle> +<section spaces=" "><sectiontitle><code>\includeonly</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="981">\includeonly</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1007">\includeonly</indexterm></findex> <para>Synopsis: </para> @@ -10067,7 +12481,7 @@ selection to be effective. <node name="_005cinput" spaces=" "><nodename>\input</nodename><nodeprev automatic="on">\includeonly</nodeprev><nodeup automatic="on">Splitting the input</nodeup></node> <section spaces=" "><sectiontitle><code>\input</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="982">\input</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1008">\input</indexterm></findex> <para>Synopsis: </para> @@ -10100,10 +12514,10 @@ is tried (<samp>foo</samp> or <samp>foo.bar</samp>). <node name="Tables-of-contents" spaces=" "><nodename>Tables of contents</nodename><nodenext automatic="on">Glossaries</nodenext><nodeup automatic="on">Front/back matter</nodeup></node> <section spaces=" "><sectiontitle>Tables of contents</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="585">table of contents, creating</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="680">table of contents, creating</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="983">\tableofcontents</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="984">.toc <r>file</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1009">\tableofcontents</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1010">.toc <r>file</r></indexterm></findex> <para>A table of contents is produced with the <code>\tableofcontents</code> 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 @@ -10114,16 +12528,16 @@ not automatically start a new page. If you want a new page after the table of contents, write a <code>\newpage</code> command after the <code>\tableofcontents</code> command. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="985">\listoffigures</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="986">\listoftables</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="987">.lof <r>file</r></indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="988">.lot <r>file</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1011">\listoffigures</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1012">\listoftables</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1013">.lof <r>file</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1014">.lot <r>file</r></indexterm></findex> <para>The analogous commands <code>\listoffigures</code> and <code>\listoftables</code> produce a list of figures and a list of tables (from <file>.lof</file> and <file>.lot</file> files), respectively. Everything works exactly the same as for the table of contents. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="989">\nofiles</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1015">\nofiles</indexterm></findex> <para>The command <code>\nofiles</code> overrides these commands, and <emph>prevents</emph> any of these lists from being generated. </para> @@ -10136,8 +12550,8 @@ as for the table of contents. <node name="_005caddcontentsline" spaces=" "><nodename>\addcontentsline</nodename><nodenext automatic="on">\addtocontents</nodenext><nodeup automatic="on">Tables of contents</nodeup></node> <subsection spaces=" "><sectiontitle><code>\addcontentsline</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="990">\addcontentsline</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="586">table of contents entry, manually adding</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1016">\addcontentsline</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="681">table of contents entry, manually adding</indexterm></cindex> <para>Synopsis: </para> @@ -10150,7 +12564,7 @@ or table where: </para> <table commandarg="var" spaces=" " endspaces=" "> <tableentry><tableterm><item spaces=" "><itemformat command="var">ext</itemformat></item> -</tableterm><tableitem><para>The extension of the file on which information is to be written, +</tableterm><tableitem><para>The filename extension of the file on which information is to be written, typically one of: <code>toc</code> (table of contents), <code>lof</code> (list of figures), or <code>lot</code> (list of tables). </para> @@ -10172,7 +12586,7 @@ following, matching the value of the <var>ext</var> argument: </tableterm><tableitem><para>The text of the entry. </para></tableitem></tableentry></table> -<findex index="fn" spaces=" "><indexterm index="fn" number="991">\contentsline</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1017">\contentsline</indexterm></findex> <para>What is written to the <file>.<var>ext</var></file> file is the command <code>\contentsline{<var>unit</var>}{<var>text</var>}{<var>num</var>}</code>, where <code><var>num</var></code> is the current value of counter <code><var>unit</var></code>. @@ -10184,7 +12598,7 @@ following, matching the value of the <var>ext</var> argument: <node name="_005caddtocontents" spaces=" "><nodename>\addtocontents</nodename><nodeprev automatic="on">\addcontentsline</nodeprev><nodeup automatic="on">Tables of contents</nodeup></node> <subsection spaces=" "><sectiontitle><code>\addtocontents</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="992">\addtocontents{<var>ext</var>}{<var>text</var>}</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1018">\addtocontents{<var>ext</var>}{<var>text</var>}</indexterm></findex> <para>The <code>\addtocontents</code>{<var>ext</var>}{<var>text</var>} command adds text (or formatting commands) directly to the <file>.<var>ext</var></file> file that @@ -10206,22 +12620,22 @@ figures), or <file>lot</file> (list of tables). <node name="Glossaries" spaces=" "><nodename>Glossaries</nodename><nodenext automatic="on">Indexes</nodenext><nodeprev automatic="on">Tables of contents</nodeprev><nodeup automatic="on">Front/back matter</nodeup></node> <section spaces=" "><sectiontitle>Glossaries</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="587">glossaries</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="682">glossaries</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="993">\makeglossary</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1019">\makeglossary</indexterm></findex> <para>The command <code>\makeglossary</code> enables creating glossaries. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="994">\glossary</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="588"><file>.glo</file> file</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1020">\glossary</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="683"><file>.glo</file> file</indexterm></cindex> <para>The command <code>\glossary{<var>text</var>}</code> writes a glossary entry for <var>text</var> to an auxiliary file with the <file>.glo</file> extension. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="995">\glossaryentry</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1021">\glossaryentry</indexterm></findex> <para>Specifically, what gets written is the command <code>\glossaryentry{<var>text</var>}{<var>pageno</var>}</code>, where <var>pageno</var> is the current <code>\thepage</code> value. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="589">glossary <r>package</r></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="684">glossary <r>package</r></indexterm></cindex> <para>The <code>glossary</code> package on CTAN provides support for fancier glossaries. </para> @@ -10230,37 +12644,37 @@ glossaries. <node name="Indexes" spaces=" "><nodename>Indexes</nodename><nodeprev automatic="on">Glossaries</nodeprev><nodeup automatic="on">Front/back matter</nodeup></node> <section spaces=" "><sectiontitle>Indexes</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="590">indexes</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="685">indexes</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="996">\makeindex</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1022">\makeindex</indexterm></findex> <para>The command <code>\makeindex</code> enables creating indexes. Put this in the preamble. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="997">\index</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="591"><file>.idx</file> file</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1023">\index</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="686"><file>.idx</file> file</indexterm></cindex> <para>The command <code>\index{<var>text</var>}</code> writes an index entry for <var>text</var> to an auxiliary file named with the <file>.idx</file> extension. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="998">\indexentry</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1024">\indexentry</indexterm></findex> <para>Specifically, what gets written is the command <code>\indexentry{<var>text</var>}{<var>pageno</var>}</code>, where <var>pageno</var> is the current <code>\thepage</code> value. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="592">&textlsquo;see&textrsquo; and &textlsquo;see also&textrsquo; index entries</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="593">index entries, &textlsquo;see&textrsquo; and &textlsquo;see also&textrsquo;</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="687">&textlsquo;see&textrsquo; and &textlsquo;see also&textrsquo; index entries</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="688">index entries, &textlsquo;see&textrsquo; and &textlsquo;see also&textrsquo;</indexterm></cindex> <para>To generate a index entry for &textlsquo;bar&textrsquo; that says &textlsquo;See foo&textrsquo;, use a vertical bar: <code>\index{bar|see{foo}}</code>. Use <code>seealso</code> instead of <code>see</code> to make a &textlsquo;See also&textrsquo; entry. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="999">\seename</indexterm></findex> -<findex index="fn" spaces=" "><indexterm index="fn" number="1000">\alsoname</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1025">\seename</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1026">\alsoname</indexterm></findex> <para>The text &textlsquo;See&textrsquo; is defined by the macro <code>\seename</code>, and &textlsquo;See also&textrsquo; by the macro <code>\alsoname</code>. These can be redefined for other languages. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="594"><command>makeindex</command> program</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="595"><command>xindy</command> program</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="596"><file>.ind</file> file</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="689"><command>makeindex</command> program</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="690"><command>xindy</command> program</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="691"><file>.ind</file> file</indexterm></cindex> <para>The generated <file>.idx</file> file is then sorted with an external command, usually either <command>makeindex</command> (<url><urefurl>http://mirror.ctan.org/indexing/makeindex</urefurl></url>) or (the @@ -10268,26 +12682,29 @@ multi-lingual) <command>xindy</command> (<url><urefurl>http://xindy.sourceforge. This results in a <file>.ind</file> file, which can then be read to typeset the index. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="1001">\printindex</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="597"><r>package</r>, <code>makeidx</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="598"><code>makeidx</code> <r>package</r></indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1027">\printindex</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="692"><r>package</r>, <code>makeidx</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="693"><code>makeidx</code> <r>package</r></indexterm></cindex> + <para>The index is usually generated with the <code>\printindex</code> command. This is defined in the <code>makeidx</code> package, so <code>\usepackage{makeidx}</code> needs to be in the preamble. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="1002">\indexspace</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1028">\indexspace</indexterm></findex> <para>The rubber length <code>\indexspace</code> is inserted before each new letter in the printed index; its default value is <samp>10pt plus5pt minus3pt</samp>. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="599"><r>package</r>, <code>showidx</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="600"><code>showidx</code> <r>package</r></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="694"><r>package</r>, <code>showidx</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="695"><code>showidx</code> <r>package</r></indexterm></cindex> + <para>The <code>showidx</code> package causes each index entries to be shown in the margin on the page where the entry appears. This can help in preparing the index. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="601"><r>package</r>, <code>multind</code></indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="602"><code>multind</code> <r>package</r></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="696"><r>package</r>, <code>multind</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="697"><code>multind</code> <r>package</r></indexterm></cindex> + <para>The <code>multind</code> package supports multiple indexes. See also the &tex; FAQ entry on this topic, <url><urefurl>http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind</urefurl></url>. @@ -10298,8 +12715,8 @@ preparing the index. <node name="Letters" spaces=" "><nodename>Letters</nodename><nodenext automatic="on">Terminal input/output</nodenext><nodeprev automatic="on">Front/back matter</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Letters</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="603">letters, writing</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="604">writing letters</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="698">letters, writing</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="699">writing letters</indexterm></cindex> <para>Synopsis: </para> @@ -10350,7 +12767,7 @@ enumerated lists to displayed math, except that commands such as <code>letter</code> environment body typically ends with a <code>\closing</code> command such as <code>\closing{Yours,}</code>. </para> -<findex index="fn" spaces=" "><indexterm index="fn" number="1003">\\ <r>for letters</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1029">\\ <r>for letters</r></indexterm></findex> <para>Additional material may come after the <code>\closing</code>. You can say who is receiving a copy of the letter with a command like <code>\cc{the Boss \\ the Boss's Boss}</code>. There&textrsquo;s a similar <code>\encl</code> command for @@ -10405,7 +12822,7 @@ I am not interested in entering a business arrangement with you. <node name="_005caddress" spaces=" "><nodename>\address</nodename><nodenext automatic="on">\cc</nodenext><nodeup automatic="on">Letters</nodeup></node> <section spaces=" "><sectiontitle><code>\address</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1004">\address</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1030">\address</indexterm></findex> <para>Synopsis: </para> @@ -10439,8 +12856,8 @@ formatted as a personal letter. <node name="_005ccc" spaces=" "><nodename>\cc</nodename><nodenext automatic="on">\closing</nodenext><nodeprev automatic="on">\address</nodeprev><nodeup automatic="on">Letters</nodeup></node> <section spaces=" "><sectiontitle><code>\cc</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1005">\cc</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="605">cc list, in letters</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1031">\cc</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="700">cc list, in letters</indexterm></cindex> <para>Synopsis: </para> @@ -10464,9 +12881,9 @@ backslash <code>\\</code>, as in: <node name="_005cclosing" spaces=" "><nodename>\closing</nodename><nodenext automatic="on">\encl</nodenext><nodeprev automatic="on">\cc</nodeprev><nodeup automatic="on">Letters</nodeup></node> <section spaces=" "><sectiontitle><code>\closing</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1006">\closing</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="606">letters, ending</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="607">closing letters</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1032">\closing</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="701">letters, ending</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="702">closing letters</indexterm></cindex> <para>Synopsis: </para> @@ -10486,8 +12903,8 @@ is a <code>\closing</code> (although this command is optional). For example, <node name="_005cencl" spaces=" "><nodename>\encl</nodename><nodenext automatic="on">\location</nodenext><nodeprev automatic="on">\closing</nodeprev><nodeup automatic="on">Letters</nodeup></node> <section spaces=" "><sectiontitle><code>\encl</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1007">\encl</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="608">enclosure list</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1033">\encl</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="703">enclosure list</indexterm></cindex> <para>Synopsis: </para> @@ -10510,7 +12927,7 @@ Separate multiple lines with a double backslash <code>\\</code>. <node name="_005clocation" spaces=" "><nodename>\location</nodename><nodenext automatic="on">\makelabels</nodenext><nodeprev automatic="on">\encl</nodeprev><nodeup automatic="on">Letters</nodeup></node> <section spaces=" "><sectiontitle><code>\location</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1008">\location</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1034">\location</indexterm></findex> <para>Synopsis: </para> @@ -10526,7 +12943,7 @@ appears if the page style is <code>firstpage</code>. <node name="_005cmakelabels" spaces=" "><nodename>\makelabels</nodename><nodenext automatic="on">\name</nodenext><nodeprev automatic="on">\location</nodeprev><nodeup automatic="on">Letters</nodeup></node> <section spaces=" "><sectiontitle><code>\makelabels</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1009">\makelabels</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1035">\makelabels</indexterm></findex> <para>Synopsis: </para> @@ -10556,7 +12973,7 @@ in the argument to the <code>letter</code> environment. By default <node name="_005cname" spaces=" "><nodename>\name</nodename><nodenext automatic="on">\opening</nodenext><nodeprev automatic="on">\makelabels</nodeprev><nodeup automatic="on">Letters</nodeup></node> <section spaces=" "><sectiontitle><code>\name</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1010">\name</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1036">\name</indexterm></findex> <para>Synopsis: </para> @@ -10572,8 +12989,8 @@ return address. <node name="_005copening" spaces=" "><nodename>\opening</nodename><nodenext automatic="on">\ps</nodenext><nodeprev automatic="on">\name</nodeprev><nodeup automatic="on">Letters</nodeup></node> <section spaces=" "><sectiontitle><code>\opening</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1011">\opening</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="609">letters, starting</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1037">\opening</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="704">letters, starting</indexterm></cindex> <para>Synopsis: </para> @@ -10593,8 +13010,8 @@ text that starts your letter. For instance: </section> <node name="_005cps" spaces=" "><nodename>\ps</nodename><nodenext automatic="on">\signature</nodenext><nodeprev automatic="on">\opening</nodeprev><nodeup automatic="on">Letters</nodeup></node> <section spaces=" "><sectiontitle><code>\ps</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1012">\ps</indexterm></findex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="610">postscript, in letters</indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1038">\ps</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="705">postscript, in letters</indexterm></cindex> <para>Synopsis: </para> @@ -10621,7 +13038,7 @@ text that starts your letter. For instance: ... } </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="1013">\signature</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1039">\signature</indexterm></findex> <para>The sender&textrsquo;s name. This command is optional, although its inclusion is usual. @@ -10672,7 +13089,7 @@ preamble). <node name="_005ctelephone" spaces=" "><nodename>\telephone</nodename><nodeprev automatic="on">\signature</nodeprev><nodeup automatic="on">Letters</nodeup></node> <section spaces=" "><sectiontitle><code>\telephone</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1014">\telephone</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1040">\telephone</indexterm></findex> <para>Synopsis: </para> @@ -10691,8 +13108,8 @@ page. <node name="Terminal-input_002foutput" spaces=" "><nodename>Terminal input/output</nodename><nodenext automatic="on">Command line</nodenext><nodeprev automatic="on">Letters</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Terminal input/output</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="611">input/output, to terminal</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="612">terminal input/output</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="706">input/output, to terminal</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="707">terminal input/output</indexterm></cindex> <menu endspaces=" "> <menuentry leadingtext="* "><menunode separator=":: ">\typein</menunode><menudescription><pre xml:space="preserve">Read text from the terminal. @@ -10703,7 +13120,7 @@ page. <node name="_005ctypein" spaces=" "><nodename>\typein</nodename><nodenext automatic="on">\typeout</nodenext><nodeup automatic="on">Terminal input/output</nodeup></node> <section spaces=" "><sectiontitle><code>\typein[<var>cmd</var>]{<var>msg</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1015">\typein</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1041">\typein</indexterm></findex> <para>Synopsis: </para> @@ -10724,7 +13141,7 @@ redefined to be the typed input. <node name="_005ctypeout" spaces=" "><nodename>\typeout</nodename><nodeprev automatic="on">\typein</nodeprev><nodeup automatic="on">Terminal input/output</nodeup></node> <section spaces=" "><sectiontitle><code>\typeout{<var>msg</var>}</code></sectiontitle> -<findex index="fn" spaces=" "><indexterm index="fn" number="1016">\typeout</indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1042">\typeout</indexterm></findex> <para>Synopsis: </para> @@ -10749,9 +13166,9 @@ printed, independent of surrounding spaces. A <code>^^J</code> in <node name="Command-line" spaces=" "><nodename>Command line</nodename><nodenext automatic="on">Document templates</nodenext><nodeprev automatic="on">Terminal input/output</nodeprev><nodeup automatic="on">Top</nodeup></node> <chapter spaces=" "><sectiontitle>Command line</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="613">command line</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="708">command line</indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="1017">.tex, <r>default extension</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1043">.tex, <r>default extension</r></indexterm></findex> <para>The input file specification indicates the file to be formatted; &tex; uses <file>.tex</file> as a default file extension. If you omit the input file entirely, &tex; accepts input from the terminal. You can @@ -10763,14 +13180,14 @@ error: <pre xml:space="preserve">latex '\nonstopmode\input foo.tex' </pre></example> -<findex index="fn" spaces=" "><indexterm index="fn" number="1018">&textndash;help <r>command-line option</r></indexterm></findex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1044">--help <r>command-line option</r></indexterm></findex> <para>With many, but not all, implementations, command-line options can also be specified in the usual Unix way, starting with <samp>-</samp> or <samp>--</samp>. For a list of those options, try <samp>latex --help</samp>. </para> -<cindex index="cp" spaces=" "><indexterm index="cp" number="614"><samp>*</samp> prompt</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="615">prompt, <samp>*</samp></indexterm></cindex> -<findex index="fn" spaces=" "><indexterm index="fn" number="1019">\stop</indexterm></findex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="709"><samp>*</samp> prompt</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="710">prompt, <samp>*</samp></indexterm></cindex> +<findex index="fn" spaces=" "><indexterm index="fn" number="1045">\stop</indexterm></findex> <para>If &latex; stops in the middle of the document and gives you a <samp>*</samp> prompt, it is waiting for input. You can type <code>\stop</code> (and return) and it will prematurely end the document. @@ -10782,8 +13199,8 @@ be specified in the usual Unix way, starting with <samp>-</samp> or <node name="Document-templates" spaces=" "><nodename>Document templates</nodename><nodenext automatic="on">Concept Index</nodenext><nodeprev automatic="on">Command line</nodeprev><nodeup automatic="on">Top</nodeup></node> <appendix spaces=" "><sectiontitle>Document templates</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="616">document templates</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="617">templates, document</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="711">document templates</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="712">templates, document</indexterm></cindex> <para>Although not reference material, perhaps these document templates will be useful. Additional template resources are listed at @@ -10799,8 +13216,8 @@ be useful. Additional template resources are listed at <node name="beamer-template" spaces=" "><nodename>beamer template</nodename><nodenext automatic="on">book template</nodenext><nodeup automatic="on">Document templates</nodeup></node> <section spaces=" "><sectiontitle><code>beamer</code> template</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="618"><code>beamer</code> template and class</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="619">template, <code>beamer</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="713"><code>beamer</code> template and class</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="714">template, <code>beamer</code></indexterm></cindex> <para>The <code>beamer</code> class creates presentation slides. It has a vast array of features, but here is a basic template: @@ -10837,7 +13254,7 @@ array of features, but here is a basic template: <node name="book-template" spaces=" "><nodename>book template</nodename><nodenext automatic="on">tugboat template</nodenext><nodeprev automatic="on">beamer template</nodeprev><nodeup automatic="on">Document templates</nodeup></node> <section spaces=" "><sectiontitle><code>book</code> template</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="620">template, <code>book</code></indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="715">template, <code>book</code></indexterm></cindex> <verbatim xml:space="preserve"> \documentclass{book} @@ -10863,9 +13280,9 @@ The end. <node name="tugboat-template" spaces=" "><nodename>tugboat template</nodename><nodeprev automatic="on">book template</nodeprev><nodeup automatic="on">Document templates</nodeup></node> <section spaces=" "><sectiontitle><code>tugboat</code> template</sectiontitle> -<cindex index="cp" spaces=" "><indexterm index="cp" number="621">template, TUGboat</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="622">TUGboat template</indexterm></cindex> -<cindex index="cp" spaces=" "><indexterm index="cp" number="623"><code>ltugboat</code> class</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="716">template, TUGboat</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="717">TUGboat template</indexterm></cindex> +<cindex index="cp" spaces=" "><indexterm index="cp" number="718"><code>ltugboat</code> class</indexterm></cindex> <para><cite>TUGboat</cite> is the journal of the &tex; Users Group, <url><urefurl>http://tug.org/TUGboat</urefurl></url>. |