From 8332274ebd0d286768355471bc43f4041922f385 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 9 Apr 2018 22:55:14 +0000 Subject: latex2e-help-texinfo git-svn-id: svn://tug.org/texlive/trunk@47419 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/latex2e-help-texinfo/ChangeLog | 5 + .../doc/latex/latex2e-help-texinfo/Makefile | 17 +- .../doc/latex/latex2e-help-texinfo/common.texi | 16 + .../doc/latex/latex2e-help-texinfo/latex2e.dbk | 3241 ++++++++-- .../doc/latex/latex2e-help-texinfo/latex2e.pdf | Bin 976231 -> 976231 bytes .../doc/latex/latex2e-help-texinfo/latex2e.txt | 6303 +++++++++++------- .../doc/latex/latex2e-help-texinfo/latex2e.xml | 6711 +++++++++++++------- 7 files changed, 11476 insertions(+), 4817 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi 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 + + * Makefile (dist): rm zip file before remaking it; + unzip -l rather than -t for more useful info. + 2018-03-21 Jim Hefferon * 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 @@ ]> -&latex;2e unofficial reference manual (November 2016) + + +&latex;2e unofficial reference manual (March 2018) - @@ -22,6 +23,7 @@ + @@ -29,7 +31,7 @@ This document is an unofficial reference manual for &latex;, a -document preparation system, version of November 2016. +document preparation system, version of March 2018. This manual was originally translated from LATEX.HLP v1.0a in the VMS Help Library. The pre-translation version was written by @@ -44,7 +46,7 @@ Group as &tex;niques number 10), as reference material (n text was directly copied). 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. This document is an unofficial reference manual for &latex;, a -document preparation system, version of November 2016. +document preparation system, version of March 2018. This manual was originally translated from LATEX.HLP v1.0a in the VMS Help Library. The pre-translation version was written by @@ -83,7 +85,7 @@ Group as &tex;niques number 10), as reference material (n text was directly copied). 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. - &latex;2e: An unofficial reference manual 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. @@ -122,31 +123,31 @@ November 2016) for &latex;2e, a document preparation system. About this document -bug reporting -reporting bugs -http://home.gna.org/latexrefman home page +http://puszcza.gnu.org.ua/software/latexrefman/ home page This is an unofficial reference manual for the &latex;2e document preparation system, which is a macro package for the &tex; typesetting program (see Overview). This document’s home page is -http://home.gna.org/latexrefman. That page has links to the +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. &latex; vs. &latex;2e 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. unofficial nature of this manual &latex; Project team -latexrefman-discuss@gna.org email address +latexrefman@tug.org email address &latex; is currently maintained by a group of volunteers (http://latex-project.org). 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 -latexrefman-discuss@gna.org. +maintainers. +bug reporting +reporting bugs +Do not send bug reports or anything else about this document to them. +Instead, please send all comments to 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 @@ -162,8 +163,9 @@ introductions. http://ctan.org/pkg/usrguide usrguide official documentation -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 lshort document @@ -438,7 +440,8 @@ commands it covers (barring unintentional omissions, a.k.a. bugs). - + +Environments Synopsis: @@ -472,14 +475,18 @@ required (it specifies the formatting of columns). \end{tabular} - + + +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. - + + +<literal>\makeatletter</literal> and <literal>\makeatother</literal> Synopsis: @@ -497,7 +504,7 @@ character category code, or catcode character category code category code, character -catcode for shorter. For instance, the backslash \ is +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 @. @@ -511,36 +518,96 @@ So under the default 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 -inside .sty or .cls files since the \usepackage -and \documentclass commands set the at sign to have the character -code of a letter. +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. package, macros2e -macros2e package For a comprehensive list of macros with an at-sign -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. - -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. - - - +macros2e package + +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 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 - + + +<literal>\@ifstar</literal> + +\@ifstar +commands, star-variants +star-variants, commands + +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 +(see \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 +&latex;3 has the xparse package that allows this code. + +\NewDocumentCommand\foo{s}{\IfBooleanTF#1 + {starred version}% + {unstarred version}% + } + + + + @@ -645,12 +712,16 @@ size (these show height by width): \pdfpageheight package, geometry geometry package + When using one of the engines pdf&latex;, Lua&latex;, or Xe&latex; (see &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 +\pdfpageheight=\paperheight in your document’s preamble. +package, geometry +geometry package + +The geometry package provides flexible ways of setting the print area and physical page size. draft option @@ -781,14 +852,14 @@ SMC Math Department is for a class. difference between class and package 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. See \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. See \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. @@ -804,29 +875,32 @@ package from interacting with others. For instance, the class class options package options -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 +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. +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 +file. +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. - -Here is a starting class file, which should be saved as stub.cls +document font size. +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 file. +.tex file. \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 \AtBeginDvi{specials} \AtBeginDvi -Save in a box register things that are written to the .dvi file +Save in a box register things that are written to the .dvi file at the beginning of the shipout of the first page of the document. \AtEndOfClass{code} @@ -867,6 +941,22 @@ processing the current class or package. You can use these hooks multiple times; the code will be executed in the order that you called it. See also \AtBeginDocument. +\CheckCommand{cmd}[num][default]{definition} +\CheckCommand*{cmd}[num][default]{definition} +\CheckCommand +\CheckCommand* +new command, check +Like \newcommand (see \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 command +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} @@ -902,8 +992,9 @@ message, while the other versions do show that number. 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; appends a period to the messages. +\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 \CurrentOption @@ -912,7 +1003,7 @@ be used within the code argument of either \ or \DeclareOption*. \DeclareOption{option}{code} -\DeclareOption*{option}{code} +\DeclareOption*{code} \DeclareOption \DeclareOption* class options @@ -947,16 +1038,54 @@ passes the option to the article class. \DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{% \PassOptionsToClass{\CurrentOption}{article}}} +\DeclareRobustCommand{cmd}[num][default]{definition} +\DeclareRobustCommand*{cmd}[num][default]{definition} +\DeclareRobustCommand +\DeclareRobustCommand* +new command, definition +Like \newcommand and \newcommand* (see \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 see \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. + +package, etoolbox +etoolbox package + +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: +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 +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} \IfFileExists \InputIfFileExists -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 current @@ -976,7 +1105,12 @@ list]{class name}[release 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 +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 @@ -990,8 +1124,8 @@ that lets you build classes on existing ones, such as the standard \ExecuteOptions{options-list} \ExecuteOptions -For each option in the options-list, in order, this command -executes the command \ds@option. If this command is not +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 @@ -1001,13 +1135,13 @@ default to be 11pt fonts then you could specify \NeedsTeXFormat{format}[format date] \NeedsTeXFormat -Specifies the format that this class should be run under. Often issued +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 @@ -1015,8 +1149,7 @@ were implemented. If present it must be in the form YYYY/MM/DDformat 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.) +available. \OptionNotUsed \OptionNotUsed @@ -1030,8 +1163,8 @@ within the code argument of either \DeclareO -\PassOptionsToClass{options list}{class name} -\PassOptionsToPackage{options list}{package name} +\PassOptionsToClass{option list}{class name} +\PassOptionsToPackage{option list}{package name} \PassOptionsToClass \PassOptionsToPackage Adds the options in the comma-separated list option list to the @@ -1045,16 +1178,17 @@ more than once will get you an error like Option 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 write -\PassOptionsToPackage{draft}{graphics} +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 source.) @@ -1073,66 +1207,70 @@ option. The user could start their &latex; file with 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 this +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 +\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 +When \ProcessOptions is called for a package pkg.sty, the +following happens: +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. - +given in pkg.sty. +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 +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] \ProvidesClass \ProvidesPackage Identifies the class or package, printing a message to the screen and the log file. When a user writes \documentclass{smcmemo} then &latex; loads -the file smcmemo.cls. Similarly, a user writing +the file smcmemo.cls. Similarly, a user writing \usepackage{test} prompts &latex; to load the file test.sty. If the name of the file does not match the declared class or package name then you get a warning. Thus, if you invoke -\documentclass{smcmemo}, and the file smcmemo.cls has +\documentclass{smcmemo}, and the file smcmemo.cls has the statement \ProvidesClass{xxx} then you get a warning like You have requested document class `smcmemo', 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 +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 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. +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 portion allows class and package users to ask +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 +system is earlier than release date, by using the optional 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.) @@ -1141,19 +1279,21 @@ rarely include a date, and class users almost never do.) 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] \RequirePackage \RequirePackageWithOptions -Load a package, like the author command \usepackage. +Load a package, like the document author command \usepackage. See 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 @@ -1383,10 +1523,11 @@ formulas. \mathversion{normal} restores the default. lining numerals package, textcomp textcomp package + 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 +which all have 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 @@ -1469,7 +1610,8 @@ Knuth’s original encoding for Computer Modern (the default), and 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} \fontfamily @@ -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: - - - - - 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} \fontseries series, of fonts @@ -1510,39 +1671,64 @@ examples of some common families: 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 + weights, of fonts 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 - +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 + widths, of fonts -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% - +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 weight and width are m, in which case use just one @@ -1553,13 +1739,20 @@ weight and width are m, in which case use just one shapes, of fonts 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. @@ -1580,11 +1773,13 @@ reset every time a size change happens; see \baselinestretch, &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 -\renewcommand{\baselinestretch}{2.0} in the preamble. +make a line skip change happen for the entire document, for instance +doubling it, by doing \renewcommand{\baselinestretch}{2.0} in +the preamble. package, setspace setspace package + double spacing However, the best way to double-space a document is to use the setspace package. In addition to offering a number of spacing @@ -2024,6 +2219,7 @@ automatically added. here, putting floats package, float float package + To absolutely force a float to appear “here”, you can \usepackage{float} and use the H specifier which it defines. For further discussion, see the FAQ entry at @@ -2057,6 +2253,9 @@ use the afterpage package and issue \afterpage{\clearpage}. This will wait until the current page is finished and then flush all outstanding floats. +package, flafter +flafter package + &latex; can typeset a float before where it appears in the source (although on the same output page) if there is a t specifier in the placement parameter. If this is not desired, and deleting @@ -2197,15 +2396,229 @@ command is something like secnumdepth counter section numbers, printing -The secnumdepth counter controls printing of section numbers. +The secnumdepth counter controls printing of section numbers. The setting \setcounter{secnumdepth}{level} suppresses heading numbers at any depth > level, where -chapter is level zero. (See \setcounter.) +chapter is level zero. The default secnumdepth is 3 in +&latex;’s article class and 2 in the book and +report classes. (See \setcounter.) + + + + +<literal>\@startsection</literal> + +\@startsection +section, redefining + +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). See 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 \thename displays the title number and +\namemark 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. +See 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 (see 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 +name +section subsection subsubsection +level +1 2 3 +indent +0pt 0pt 0pt +beforeskip +-3.5ex plus -1ex minus -0.2ex +-3.25ex plus -1ex minus -0.2ex +-3.25ex plus -1ex minus -0.2ex +afterskip +2.3ex plus 0.2ex +1.5ex plus 0.2ex +1.5ex plus 0.2ex +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.) +See \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}% name + {1}% level + {0pt}% indent + {-3.5ex plus -1ex minus -.2ex}% beforeskip + {2.3ex plus.2ex}% afterskip + {\centering\normalfont\Large\bfseries}% style + } + +This will put subsection titles in small caps type, inline with the paragraph. + +\renewcommand\subsection{% + \@startsection{subsection}% name + {2}% level + {0em}% indent + {-1ex plus 0.1ex minus -0.05ex}% beforeskip + {-1em plus 0.2em}% afterskip + {\scshape}% 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 + + Cross references @@ -2395,6 +2808,7 @@ the end. For instance, the input environment, abstract abstract environment + abstracts Synopsis: @@ -2448,6 +2862,7 @@ a more flexible solution, use the package abstract). environment, array array environment + arrays, math Synopsis: @@ -2487,6 +2902,9 @@ by \arraycolsep, which gives half the width between columns. The default for this is ‘5pt’. +package, amsmath +amsmath package + To obtain arrays with braces the standard is to use the amsmath package. It comes with environments pmatrix for an array surrounded by parentheses (...), bmatrix for an array @@ -2522,6 +2940,7 @@ preamble: environment, center center environment + centering text, environment for Synopsis: @@ -2611,48 +3030,64 @@ centered. environment, description description environment + labelled lists, creating description lists, creating 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’. +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} + \item -The list consists of at least one item, created with the \item -command (see \item). Having no items causes the &latex; error -‘Something's wrong--perhaps a missing \item’). +Start list items with the \item command (see \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. bold typewriter, avoiding typewriter labels in lists Since the labels are in bold style, if the label text calls for a font -change given in argument style (see Font styles) then it will -come out bold. For instance, if the label text calls for typewriter -with \item[\texttt{label text}] then it will appear in bold +change given in argument style (see Font styles) then it 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}]. +text}]. Similarly, get the standard roman font with \item[{\rm +label text}]. For other major &latex; labelled list environments, see itemize -and enumerate. For information about customizing list layout, see -list; also, the package enumitem is useful for this. +and 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 +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}}} @@ -2662,40 +3097,43 @@ and enumerate. For information about customizi environment, displaymath displaymath environment + 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 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 (see 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. +&latex; will not break the math text across lines. -The construct \[..math text..\] is essentially a synonym for -\begin{displaymath}..math text..\end{displaymath} but the +package, amsmath +amsmath package + +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.) +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.) The output from this example is centered and alone on its line. \begin{displaymath} @@ -2711,13 +3149,15 @@ spacing, and because the displaymath environment honors the environment, document document environment + The document environment encloses the entire body of a document. It is required in every &latex; document. See Starting and ending. - + +<literal>\AtBeginDocument</literal> \AtBeginDocument beginning of document hook @@ -2736,7 +3176,9 @@ the preamble so you cannot do any typesetting with it. will be executed in the order that you gave them. - + + +<literal>\AtEndDocument</literal> \AtEndDocument end of document hook @@ -2756,44 +3198,54 @@ appropriate point in code. will be executed in the order that you gave them. + <literal>enumerate</literal> environment, enumerate enumerate environment + lists of items, numbered 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. +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’. -\item -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. - -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 (see itemize), description -(see 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): +\item +Start list items with the \item command (see \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 (see \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 +(see 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. arabic number followed by a period: ‘1.’, ‘2.’, … lower case letter inside parentheses: ‘(a)’, ‘(b)’ … @@ -2805,9 +3257,13 @@ This gives &latex;’s default for the format at each nesting level \enumiii \enumiv The enumerate environment uses the counters \enumi through -\enumiv counters (see Counters). If you use the optional -argument to \item then the counter is not incremented for that -item (see \item). +\enumiv (see Counters). + +For other major &latex; labeled list environments, see +description and itemize. For information about list layout +parameters, including the default values, and for information about +customizing list layout, see list. The package enumitem is +useful for customizing lists. \labelenumi \labelenumii @@ -2817,23 +3273,18 @@ item (see \item). (see \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: +period. \Alph example \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 -\alph \Alph \arabic \roman \Roman \fnsymbol. +For a list of counter-labeling commands see \alph \Alph \arabic +\roman \Roman \fnsymbol. -For more on customizing the layout see list. Also, the package -enumitem is useful for this. - - @@ -2841,6 +3292,7 @@ period: environment, eqnarray eqnarray environment + equations, aligning aligning equations @@ -2911,6 +3363,7 @@ while the third line has not entry on the left side. environment, equation equation environment + equations, environment for formulas, environment for @@ -2925,6 +3378,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. @@ -2936,6 +3393,7 @@ new documents. environment, figure figure environment + inserting figures figures, inserting @@ -2998,8 +3456,10 @@ end of the document, on a page of floats. environment, filecontents filecontents environment + environment, filecontents* filecontents* environment + external files, writing writing external files @@ -3058,6 +3518,7 @@ Article by \myname. environment, flushleft flushleft environment + left-justifying text, environment for ragged right text, environment for @@ -3100,6 +3561,7 @@ command that ends the paragraph unit. environment, flushright flushright environment + ragged left text, environment for right-justifying text, environment for @@ -3142,6 +3604,7 @@ command that ends the paragraph unit. environment, itemize itemize environment + \item lists of items unordered lists @@ -3150,34 +3613,53 @@ command that ends the 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 (see enumerate). +list. 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’. -Each item of an itemize list begins with an \item command. -There must be at least one \item command within the environment. +This example gives a two-item list. As a top-level list each label +would come out as a bullet, •. -By default, the marks at each level look like this: +\begin{itemize} + \item Pencil and watercolor sketch by Cassandra + \item Rice portrait +\end{itemize} + +\item +Start list items with the \item command (see \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 description +environment. Following the \item is optional text, which may +contain multiple paragraphs. -• (bullet) --- (bold en-dash) -* (asterisk) -. (centered dot, rendered here as a period) - \labelitemi \labelitemii \labelitemiii \labelitemiv -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: +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 (see 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. + +• (bullet, from \textbullet) +-- (bold en-dash, from \normalfont\bfseries\textendash) +* (asterisk, from \textasteriskcentered) +. (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$} @@ -3188,67 +3670,26 @@ the first level use diamonds: \leftmarginiv \leftmarginv \leftmarginvi -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: +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. + +For other major &latex; labeled list environments, see +description and enumerate. For information about list +layout parameters, including the default values, and for information +about customizing list layout, see list. The package +enumitem is useful for customizing lists. + +This example greatly reduces the margin space for outermost itemized +lists. \setlength{\leftmargini}{1.25em} % default 2.5em - -Some parameters that affect list formatting: - -\itemindent\itemindent -Extra indentation before each item in a list; default zero. - -\labelsep\labelsep -Space between the label and text of an item; default ‘.5em’. - -\labelwidth\labelwidth -Width of the label; default ‘2em’, or ‘1.5em’ in two-column mode. - -\listparindent\listparindent -Extra indentation added to second and subsequent paragraphs within a -list item; default ‘0pt’. - -\rightmargin\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). - -\itemsep\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. - -\parsep\parsep -Extra vertical space between paragraphs within a list item. Defaults -are the same as \itemsep. - -\topsep\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\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. - - \parskip example Especially for lists with short items, it may be desirable to elide space between items. Here is an example defining an itemize* @@ -3270,6 +3711,7 @@ see \parskip): environment, letter letter environment + This environment is used for creating letters. See Letters. @@ -3280,54 +3722,329 @@ see \parskip): environment, list list environment + lists of items, generic -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 +(see description, enumerate, and itemize). + +Also, many standard &latex; environments that are not visually lists +are constructed using list, including quotation, +quote, center, verbatim, and plenty more +(see quotation and quote, see center, see flushright). + +package, enumitem +enumitem package + +The third-party package enumitem is useful for customizing lists. +Here, we describe the list environment by defining a new custom +environment. -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. +\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.]; see \item. + +\makelabel +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 +(see \usecounter). + +Below are the spacing parameters for list formatting. See also the +figure below. Each is a length (see 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\itemindent +Extra horizontal space indentation, beyond leftmargin, of the +first line each item. Its default value is 0pt. + +\itemsep\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\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\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\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\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\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\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\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\topsep +Vertical space added to both the top and bottom of the list, in addition +to \parskip (see \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 width used for typesetting the list items is specified by -\linewidth (see Page layout parameters). + +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 (see 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\@beginparpenalty +The page breaking penalty for breaking before the list (default -51). + +\@itempenalty\@itempenalty +The page breaking penalty for breaking before a list item (default -51). + +\@endparpenalty\@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} } + -<literal>\item</literal>: An entry in a list. +<literal>\item</literal>: 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. +depends on the list type. + +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. -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. See &latex; command syntax. +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, {]}]. See &latex; +command syntax. -In this example the enumerate list has two items that use the -default label and one that uses the optional label. +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 @@ -3336,11 +4053,52 @@ 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.’. + + +<literal>trivlist</literal>: A restricted form of <literal>list</literal> + +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 (see 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} + @@ -3349,6 +4107,7 @@ not get a ‘3.’). environment, math math environment + in-line formulas Synopsis: @@ -3357,8 +4116,8 @@ not get a ‘3.’). math \end{math} -The math environment inserts the given math within the -running text. \(...\) and $...$ are synonyms. +The math environment inserts given math material within +the running text. \(...\) and $...$ are synonyms. See Math formulas. @@ -3368,6 +4127,7 @@ See Math formulas. environment, minipage minipage environment + minipage, creating a \begin{minipage}[position][height][inner-pos]{width} @@ -3408,6 +4168,7 @@ footnotes; they may wind up at the bottom of the wrong minipage. environment, picture picture environment + creating pictures pictures, creating @@ -3432,6 +4193,7 @@ The default value is 1pt. package, picture picture package + The picture package redefine the picture environment so that everywhere a number is used in a picture commands 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. environment, quotation quotation environment + quoted text with paragraph indentation, displaying displaying quoted text with paragraph indentation paragraph indentations in quoted text environment, quote quote environment + quoted text without paragraph indentation, displaying displaying quoted text without paragraph indentation paragraph indentations in quoted text, omitting @@ -3813,6 +4577,7 @@ quotations. environment, tabbing tabbing environment + tab stops, using lining text up using tab stops alignment via tabbing @@ -3820,23 +4585,69 @@ 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): -The following commands can be used inside a tabbing environment: +\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} + +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. + +row, tabbing +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 (see Modes). + +The following commands can be used inside a tabbing environment. +They are all fragile (see \protect). \\ (tabbing)\\ (tabbing) -End a line. +End a tabbed line and typeset it. \= (tabbing)\= (tabbing) 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. -\’ (tabbing)\' (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. +\' (tabbing)\' (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 previous column and aligned +to the right, flush against the current column’s tab stop. -\‘ (tabbing)\` (tabbing) +\` (tabbing)\` (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 -environment. There must be no \> or \' command between -the \` 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 \` command moves +all the text that follows it, up to the \\ or +\end{tabbing} command that ends the line, to the right margin +of the tabbing environment. There must be no \> or +\' command between the \` and the \\ or +\end{tabbing} command that ends the line. \a (tabbing)\a (tabbing) -\a’ (acute accent in tabbing) -\a‘ (grave accent in tabbing) +\a' (acute accent in tabbing) +\a` (grave accent in tabbing) \a= (macron accent in tabbing) In a tabbing environment, the commands \=, \' and \` do not produce accents as usual (see Accents). Instead, -the commands \a=, \a' and \a` are used. +use the commands \a=, \a' and \a`. \kill\kill -Sets tab stops without producing text. Works just like \\ -except that it throws away the current line instead of producing -output for it. The effect of any \=, \+ or \- -commands in that line remain in effect. +Sets tab stops without producing text. Works just like \\ except +that it throws away the current line instead of producing output for it. +Any \=, \+ or \- commands in that line remain in +effect. \poptabs\poptabs \poptabs @@ -3897,28 +4709,56 @@ commands in that line remain in effect. tab stop positions in the middle of a tabbing environment. \tabbingsep\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; + +package, algorithm2e +algorithm2e package +package, listings +listings package +package, minted +minted package + +package, fancyvrb +fancyvrb package + +(The above example is just for illustration of the environment. To +actually typeset computer code in typewriter like this, a verbatim +environment (see verbatim) would normally suffice. For +pretty-printed code, there are quite a few packages, including +algorithm2e, fancyvrb, listings, and +minted.) + + <literal>table</literal> environment, table table environment + tables, creating creating tables @@ -3970,6 +4810,7 @@ unless it is pushed to a float page at the end. environment, tabular tabular environment + lines in tables lining text up in tables @@ -4326,6 +5167,7 @@ is required. environment, thebibliography thebibliography environment + bibliography, creating (manually) Synopsis: @@ -4339,13 +5181,29 @@ is required. 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: +‘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: + +\bibname +For standard classes whose top level sectioning is \chapter +(such as book and report), the label is in the macro +\bibname; + +\refname +For standard classes whose the top level sectioning is \section +(such as article), the label is in macro \refname. + +package, babel +babel package + +Typically it is neither necessary nor desirable to directly redefine +\refname or \bibname; language support packages like +babel do this. -\renewcommand{\refname}{} - The mandatory widest-label argument is text that, when typeset, is as wide as the widest item label produced by the \bibitem commands. It is typically given as 9 for bibliographies with @@ -4465,6 +5323,7 @@ Bib&tex; format. Only the entries referred to via \cite and environment, theorem theorem environment + theorems, typesetting Synopsis: @@ -4485,6 +5344,7 @@ possibilities for n are described under \new environment, titlepage titlepage environment + making a title page title pages, creating @@ -4531,6 +5391,7 @@ is left to the author. environment, verbatim verbatim environment + verbatim text simulating typed text typed text, simulating @@ -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. -The verbatim uses a monospaced typewriter-like font (\tt). +The verbatim environment uses a monospaced typewriter-like font +(\tt). @@ -4581,6 +5443,7 @@ verbatim text. The delimiter must not appear in literal-textenvironment, verse verse environment + poetry, an environment for Synopsis: @@ -5085,6 +5948,7 @@ sequence with other footnotes. package, footmisc footmisc package + stable option to footmisc package 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 ‘6.65pt’ for ‘ &latex; has support for making new commands of many different kinds. + @@ -5681,11 +6546,14 @@ characters in each: fragile commands robust commands -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 +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 @@ -5732,6 +6600,87 @@ to \protect\(..\protect\). ... + + +<literal>\ignorespaces & \ignorespacesafterend</literal> + +\ignorespaces +\ignorespacesafterend +spaces, ignore around commands +commands, ignore spaces + +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}. + + @@ -5802,14 +6751,17 @@ symbols (conventionally used for labeling footnotes). The value of Here are the symbols: -NameCommandEquivalent Unicode symbol and/or numeric code point -asterisk\ast* +NameCommandEquivalent Unicode symbol and/or numeric code point +asterisk\ast* dagger\daggerddagger\ddaggersection-sign\S§ paragraph-sign\Pdouble-vert\parallel‖ -double-asterisk\ast\ast** +double-asterisk\ast\ast** double-dagger\dagger\dagger†† double-ddagger\ddagger\ddagger‡‡ @@ -6323,10 +7275,13 @@ notes from falling off the bottom of the page. math mode, entering environment, math math environment + environment, displaymath displaymath environment + environment, equation equation environment + There are three environments that put &latex; in math mode: @@ -6614,7 +7569,7 @@ arrow \Downarrow. arrow \downarrow. \ell\ell -ℓ Lower-case cursive letter l (ordinary). +ℓ Lowercase cursive letter l (ordinary). \emptyset\emptyset ∅ Empty set symbol (ordinary). The variant form is @@ -7940,8 +8895,60 @@ space that does not disappear at line breaks use - -<literal>\(SPACE)</literal> and \@ + +<literal>\spacefactor</literal> + +Synopsis: + +\spacefactor=integer + +\spacefactor +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, see \(SPACE) and \@. + + + + + +<literal>\(SPACE)</literal> and <literal>\@</literal> \(SPACE) \TAB @@ -7949,39 +8956,65 @@ space that does not disappear at line breaks use \@ -Mark a punctuation character, typically a period, as either ending a -sentence or as ending an abbreviation. +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 -(see \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. See \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 \ , see \(SPACE) after control sequence. +a tie (~) 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. + +For another use of \(SPACE), see \(SPACE) after control sequence. + + + + +<literal>\frenchspacing</literal> + +\frenchspacing +\nonfrenchspacing +spacing, inter-sentence + +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. -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). + + + +<literal>\normalsfcodes</literal> + +\normalsfcodes +spacing, inter-sentence + +Reset the &latex; space factor values to the default. + <literal>\ </literal> after control sequence @@ -8003,42 +9036,24 @@ by a space or by a punctuation mark. Compare: package, xspace xspace package + Some individual commands, notably those defined with the xspace, package do not follow the standard behavior. - -<literal>\frenchspacing</literal> + +<literal>\thinspace</literal>: Insert 1/6em -\frenchspacing -\nonfrenchspacing -spacing, inter-sentence +\thinspace -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. - - - - -<literal>\thinspace</literal>: Insert 1/6em - -\thinspace - -\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 ’”. +\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 ’”. - + <literal>\/</literal>: Insert italic correction \/ @@ -8071,7 +9086,7 @@ in a different way. - + <literal>\hrulefill \dotfill</literal> \hrulefill @@ -8100,7 +9115,7 @@ length of 0.33em to 1.00em. - + <literal>\addvspace</literal> \addvspace @@ -8129,7 +9144,7 @@ change that is to precede this command with a \par command. - + <literal>\bigskip \medskip \smallskip</literal> 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 - + <literal>\vfill</literal> \vfill @@ -8189,7 +9204,7 @@ Lost Dog! - + <literal>\vspace{<replaceable>length</replaceable>}</literal> \vspace @@ -8270,8 +9285,8 @@ argument. \fboxrule \fboxsep Both commands produce a rule of thickness \fboxrule (default -‘.4pt’), and leave a space of \fboxsep (default -‘3pt’) between the rule and the contents of the box. +0.4pt), and leave a space of \fboxsep (default 3pt) +between the rule and the contents of the box. See \framebox (picture), for the \framebox command in the picture environment. @@ -8335,8 +9350,9 @@ see \makebox (picture). \parbox[position][height][inner-pos]{width}{text} +paragraph mode The \parbox command produces a box whose contents are created -in paragraph mode. It should be used to make a box small +in 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 @@ -8444,7 +9460,1130 @@ included in the normal output, it is saved in the box labeled - + +Color + +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. + + + + +Color package options + +color package options +options, color package + +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. + + + + + +Color models + +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 +Color package options). + + + + + +Commands for color + +color package commands + +These are the commands available with the color package. + + + + +Define colors + +color +define color +color, define + +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. + + + + +Colored text + +color +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 +(see 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. + + + + + + +Colored boxes + +color +colored boxes +box, colored + +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 +(see \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.}} + + + + +Colored pages + +color +colored page +page, colored +background, colored + +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 see 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 + + + + + + +Graphics + +graphics +graphics package + +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 +(see 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. + + + + +Graphics package options + +graphics package options +options, graphics package + +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. + + + + + +Graphics package configuration + +graphics +graphics package +configuration, graphics package +EPS files +JPEG files +JPG files +PDF graphic files +PNG files + +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. + + + + +<literal>\graphicspath</literal> + +\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. + + + + +<literal>\DeclareGraphicsExtensions</literal> + +\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 +(see \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. + + + + +<literal>\DeclareGraphicsRule</literal> + +\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. + + + + + +Commands for graphics + +graphics package commands +commands, graphics package + +These are the commands available with the graphics and +graphicx packages. + + + + +<literal>\includegraphics</literal> + +graphics +graphics package +including graphics +importing graphics +EPS files +JPEG files +JPG files +PDF graphic files +PNG files +\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, see \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 +(see \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 +(see 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 \rotatebox and \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 (see 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 (see Units of length) and also convenient is +\linewidth, or in a two-column document, \columnwidth +(see 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 (see Units of length), and also +convenient are \pageheight and \textheight (see 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, +see \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, see \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, see \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. + + + + + + +<literal>\rotatebox</literal> + +rotation +rotating graphics +rotating text +\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 (see \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]{...} (see 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. + + + + + +<literal>\scalebox</literal> + +graphics, scaling +graphics, resizing +scaling +resizing +text, scaling +text, resizing +\scalebox +\reflectbox + +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 +(see \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. + + + + +<literal>\resizebox</literal> + +graphics, scaling +graphics, resizing +scaling +resizing +text, scaling +text, resizing +\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}. + + + + + + Special insertions special insertions @@ -8455,7 +10594,7 @@ special meaning do not correspond to simple characters you can type. - + Reserved characters reserved characters @@ -8502,7 +10641,66 @@ split the lines. - + +Upper and lower case + +Upper case +Lower case +characters, 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 (see \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}} + +package, textcase +textcase package + +The textcase package brings some of the missing feature of the +standard &latex; commands \MakeUppercase and +\MakeLowerCase. + +package, mfirstuc +mfirstuc package + +To uppercase only the first letter of words, you can use the package +mfirstuc. + + + + Symbols by font position \symbol @@ -8521,7 +10719,7 @@ example could also be written as \symbol{'40} or - + Text symbols text symbols @@ -8809,7 +11007,7 @@ has the ascender height. - + Accents accents @@ -8818,6 +11016,7 @@ has the ascender height. package, babel babel package + multilingual support &latex; has wide support for many of the world’s scripts and languages, through the babel package and related support. This @@ -8837,7 +11036,7 @@ capital letters. These are not available with OT1. \' \capitalacute -\’ (acute accent) +\' (acute accent) \capitalacute acute accent Produces an acute accent, as in ó. In the tabbing @@ -8869,7 +11068,7 @@ environment, pushes current column to the right of the previous column \` \capitalgrave -\‘ (grave accent) +\` (grave accent) \capitalgrave grave accent Produces a grave accent over the following, as in ò. In the @@ -8975,7 +11174,7 @@ See also \b above. - + Additional Latin letters Latin letters, additional @@ -9076,7 +11275,7 @@ font encoding, such as T1. - + <literal>\rule</literal> \rule @@ -9099,7 +11298,7 @@ rectangles. The arguments are: - + <literal>\today</literal> \today @@ -9124,13 +11323,14 @@ will output ‘4 juillet 1976’: package, datetime datetime package + The datetime package, among others, can produce a wide variety of other date formats. - + Splitting the input splitting the input file @@ -9150,7 +11350,7 @@ external file to be created with the main document. - + <literal>\include</literal> \include @@ -9174,8 +11374,8 @@ read by another \include command. - -\<literal>includeonly</literal> + +<literal>\includeonly</literal> \includeonly @@ -9193,7 +11393,7 @@ selection to be effective. - + <literal>\input</literal> \input @@ -9214,12 +11414,12 @@ is tried (‘foo’ or ‘foo.bar - + Front/back matter - + Tables of contents table of contents, creating @@ -9251,7 +11451,7 @@ as for the table of contents. - + <literal>\addcontentsline</literal> \addcontentsline @@ -9265,7 +11465,7 @@ as for the table of contents. or table where: ext -The extension of the file on which information is to be written, +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). @@ -9293,7 +11493,7 @@ following, matching the value of the ext argument: - + <literal>\addtocontents</literal> \addtocontents{ext}{text} @@ -9313,7 +11513,7 @@ figures), or lot (list of tables). - + Glossaries glossaries @@ -9337,7 +11537,7 @@ glossaries. - + Indexes indexes @@ -9381,6 +11581,7 @@ the index. \printindex package, makeidx makeidx package + The index is usually generated with the \printindex command. This is defined in the makeidx package, so \usepackage{makeidx} needs to be in the preamble. @@ -9392,12 +11593,14 @@ minus3pt’. package, showidx showidx package + The showidx 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. package, multind multind package + The multind package supports multiple indexes. See also the &tex; FAQ entry on this topic, http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind. @@ -9405,7 +11608,7 @@ preparing the index. - + Letters letters, writing @@ -9492,7 +11695,7 @@ I am not interested in entering a business arrangement with you. - + <literal>\address</literal> \address @@ -9522,7 +11725,7 @@ formatted as a personal letter. - + <literal>\cc</literal> \cc @@ -9543,7 +11746,7 @@ backslash \\, as in: - + <literal>\closing</literal> \closing @@ -9561,7 +11764,7 @@ is a \closing (although this command is optional). For examp - + <literal>\encl</literal> \encl @@ -9581,7 +11784,7 @@ Separate multiple lines with a double backslash \\. - + <literal>\location</literal> \location @@ -9595,7 +11798,7 @@ appears if the page style is firstpage. - + <literal>\makelabels</literal> \makelabels @@ -9623,7 +11826,7 @@ in the argument to the letter environment. By default - + <literal>\name</literal> \name @@ -9637,7 +11840,7 @@ return address. - + <literal>\opening</literal> \opening @@ -9655,7 +11858,7 @@ text that starts your letter. For instance: - + <literal>\ps</literal> \ps postscript, in letters @@ -9671,7 +11874,7 @@ text that starts your letter. For instance: - + <literal>\signature</literal> Synopsis: @@ -9725,7 +11928,7 @@ preamble). - + <literal>\telephone</literal> \telephone @@ -9742,7 +11945,7 @@ page. - + Terminal input/output input/output, to terminal @@ -9750,7 +11953,7 @@ page. - + <literal>\typein[<replaceable>cmd</replaceable>]{<replaceable>msg</replaceable>}</literal> \typein @@ -9769,7 +11972,7 @@ redefined to be the typed input. - + <literal>\typeout{<replaceable>msg</replaceable>}</literal> \typeout @@ -9792,7 +11995,7 @@ printed, independent of surrounding spaces. A ^^J in - + Command line command line @@ -9807,7 +12010,7 @@ error: latex '\nonstopmode\input foo.tex' -–help command-line option +--help command-line option With many, but not all, implementations, command-line options can also be specified in the usual Unix way, starting with ‘-’ or ‘--’. For a list of those options, try ‘latex --help’. diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.pdf b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.pdf index 840fccb1c16..0abfe9be01b 100644 Binary files a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.pdf and b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.pdf differ 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 -. That page has links to the current -output in various formats, sources, mailing list archives and -subscriptions, and other infrastructure. +. 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 (). 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 -. +. 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. - 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: 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 . 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 +. 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}[ ]' -'\ProvidesPackage{PACKAGE NAME}[ ]' +'\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 + . '\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. -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: 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: \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) -* 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) +* 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) -* email address: About this document. - (line 269) + (line 315) +* 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 @@ - + \input texinfo - + latex2e.info -November 2016 -&latex;2e unofficial reference manual (November 2016) +March 2018 +http://puszcza.gnu.org.ua/software/latexrefman/ +latexrefman@@tug.org + +thenelse\else\@c + + + +&latex;2e unofficial reference manual (March 2018) - @@ -25,6 +35,7 @@ + @@ -33,7 +44,7 @@ This document is an unofficial reference manual for &latex;, a -document preparation system, version of November 2016. +document preparation system, version of March 2018. This manual was originally translated from LATEX.HLP v1.0a in the VMS Help Library. The pre-translation version was written by @@ -48,7 +59,7 @@ Group as &tex;niques number 10), as reference material (no text was directly copied). 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. @@ -80,13 +91,12 @@ into another language, under the above conditions for modified versions. -\global\hbadness=4444 % don&textrsquo;t complain much &latex;2e: An unofficial reference manual -November 2016 -http://home.gna.org/latexrefman +March 2018 +http://puszcza.gnu.org.ua/software/latexrefman/ 0pt plus 1filll @@ -100,26 +110,24 @@ into another language, under the above conditions for modified versions. utf8math@U{\utf8\} -thenelse\else\@c - env@findex @r{environment}, @code{\env\} @findex @code{\env\} @r{environment} + pkg@cindex @r{package}, @code{\pkg\} @cindex @code{\pkg\} @r{package} + Not available in plain @TeX{}. @value{NotInPlainTeX} In @LaTeX{} you need to load the @file{amssymb} package. @value{NotInPlainTeX} In @LaTeX{} you need to load the @file{stix} package. - - TopAbout this document(dir) &latex;2e: An unofficial reference manual 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. About this document
Bug reporting, etc.
@@ -142,6 +150,8 @@ November 2016) for &latex;2e, a document preparation system.
 
Page styles
Various styles of page layout.
 
Spaces
Horizontal and vertical space.
 
Boxes
Making boxes.
+
Color
Defining and using colors.
+
Graphics
Importing graphics from outside &latex;.
 
Special insertions
Inserting reserved and special characters.
 
Splitting the input
Dealing with big files by splitting.
 
Front/back matter
Tables of contents, glossaries, indexes.
@@ -158,31 +168,31 @@ November 2016) for &latex;2e, a document preparation system.
 About this documentOverviewTopTop
 About this document
 
-bug reporting
-reporting bugs
-http://home.gna.org/latexrefman home page
+http://puszcza.gnu.org.ua/software/latexrefman/ home page
 This is an unofficial reference manual for the &latex;2e document
 preparation system, which is a macro package for the &tex;
 typesetting program (Overview).  This document&textrsquo;s home page is
-http://home.gna.org/latexrefman.  That page has links to the
+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.
 
-&latex; vs.&noeos; &latex;2e
+&latex; vs.&noeos; &latex;2e
 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.
 
-unofficial nature of this manual
-&latex; Project team
-latexrefman-discuss&arobase;gna.org email address
+unofficial nature of this manual
+&latex; Project team
+latexrefman&arobase;tug.org email address
 &latex; is currently maintained by a group of volunteers
 (http://latex-project.org).  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
-latexrefman-discuss&arobase;gna.org.
+maintainers.  
+bug reporting
+reporting bugs
+Do not send bug reports or anything else about this document to them.
+Instead, please send all comments to latexrefman&arobase;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
@@ -199,8 +209,9 @@ introductions.
 
 http://ctan.org/pkg/usrguide
 usrguide official documentation
-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
 lshort document
@@ -497,6 +508,7 @@ commands it covers (barring unintentional omissions, a.k.a.&noeos; bugs).
 
 
 EnvironmentDeclaration&latex; command syntax
+Environments
 
 Synopsis:
 
@@ -536,14 +548,18 @@ required (it specifies the formatting of columns).
 
+ Declaration\makeatletter and \makeatotherEnvironment&latex; command syntax +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. + \makeatletter and \makeatotherDeclaration&latex; command syntax +\makeatletter and \makeatother Synopsis: @@ -563,7 +579,7 @@ character category code, or catcode character category code category code, character -catcode for shorter. For instance, the backslash \ is +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 &arobase;. @@ -577,46 +593,117 @@ So under the default category codes, user-defined commands cannot contain an &arobase;. But \makeatletter and \makeatother allow users to define or redefine commands named with &arobase;. -Use these inside a .tex file, in the preamble. Don&textrsquo;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. +Use these two commands inside a .tex file, in the preamble, when +defining or redefining a command with &arobase; in its name. Don&textrsquo;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. package, macros2e -macros2e package For a comprehensive list of macros with an at-sign -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. +macros2e package + +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&textrsquo;s class file is a command +\thesis&arobase;universityname. The user wants to change the +definition. These three lines should go in the preamble, before the +\begin{document}. - -
\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
 
- + +\&arobase;ifstar
Define your own commands with *-variants.
+
+ + +\&arobase;ifstar\makeatletter and \makeatother +\&arobase;ifstar + +\&arobase;ifstar +commands, star-variants +star-variants, commands + +Synopsis: + + +
\newcommand{\mycmd}{\&arobase;ifstar{\mycmd&arobase;star}{\mycmd&arobase;nostar}}
+\newcommand{\mycmd&arobase;nostar}[non-starred command number of args]{body of non-starred command} 
+\newcommand{\mycmd&arobase;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&arobase;nostar and \mycmd&arobase;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 &arobase; +must be enclosed inside a \makeatletter ... \makeatother block +(\makeatletter and \makeatother). + +This example of \&arobase;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&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}}
+
+ +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 ``My name is \agentsecret*{Bond}, +\agentsecret{James}{Bond}.'' is equivalent to ``My name is +\textsc{Bond}, \textit{James} textsc{Bond}.'' + + +
\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}}
+
+ +There are two sometimes more convenient ways to accomplish the work of +\&arobase;ifstar. The suffix package allows the construct +\newcommand\mycommand{unstarred version} followed by +\WithSuffix\newcommand\mycommand*{starred version}. And +&latex;3 has the xparse package that allows this code. + + +
\NewDocumentCommand\foo{s}{\IfBooleanTF#1
+  {starred version}%
+  {unstarred version}% 
+  }
+
+ +
+
Document classesFontsOverviewTop Document classes -document classes -classes of documents -\documentclass +document classes +classes of documents +\documentclass 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.
\documentclass[options]{class}
 
-article class -report class -book class -letter class -slides class +article class +report class +book class +letter class +slides class The following document class names are built into &latex;. (Many other document classes are available as separate packages; Overview.) @@ -670,10 +757,10 @@ template). Document class optionsAdditional packagesDocument classes
Document class options -document class options -options, document class -class options -global options +document class options +options, document class +class options +global options You can specify so-called global options or class options to the \documentclass command by enclosing them in square brackets. @@ -685,9 +772,9 @@ To specify more than one option, separate them with a comma, as in: Here is the list of the standard class options. -10pt option -11pt option -12pt option +10pt option +11pt option +12pt option All of the standard classes except slides accept the following options for selecting the typeface size (default is 10pt): @@ -695,12 +782,12 @@ options for selecting the typeface size (default is 10pt):
10pt  11pt  12pt
 
-a4paper option -a5paper option -b5paper option -executivepaper option -legalpaper option -letterpaper option +a4paper option +a5paper option +b5paper option +executivepaper option +legalpaper option +letterpaper option All of the standard classes accept these options for selecting the paper size (these show height by width): @@ -724,59 +811,63 @@ size (these show height by width): 8.5 by 11 inches (the default) -\pdfpagewidth -\pdfpageheight -package, geometry -geometry package +\pdfpagewidth +\pdfpageheight +package, geometry +geometry package + When using one of the engines pdf&latex;, Lua&latex;, or Xe&latex; (&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&textrsquo;s preamble. The -geometry package provides flexible ways of setting the print +\pdfpageheight=\paperheight in your document&textrsquo;s preamble. +package, geometry +geometry package + +The geometry package provides flexible ways of setting the print area and physical page size. -draft option -final option -fleqn option -landscape option -leqno option -openbib option -titlepage option -notitlepage option +draft option +final option +fleqn option +landscape option +leqno option +openbib option +titlepage option +notitlepage option Miscellaneous other options: draft final -black boxes, omitting +black boxes, omitting Mark (draft) or do not mark (final) overfull boxes with a black box in the margin; default is final. fleqn -flush left equations -centered equations -equations, flush left vs.&noeos; centered +flush left equations +centered equations +equations, flush left vs.&noeos; centered Put displayed formulas flush left; default is centered. landscape -landscape orientation -portrait orientation +landscape orientation +portrait orientation Selects landscape format; default is portrait. leqno -left-hand equation numbers -right-hand equation numbers -equation numbers, left vs.&noeos; right +left-hand equation numbers +right-hand equation numbers +equation numbers, left vs.&noeos; right Put equation numbers on the left side of equations; default is the right side. openbib -bibliography format, open +bibliography format, open Use &textldquo;open&textrdquo; bibliography format. titlepage notitlepage -title page, separate or run-in +title page, separate or run-in Specifies whether there is a separate page for the title information and for the abstract also, if there is one. The default for the report class is titlepage, for the other classes it is @@ -785,12 +876,12 @@ for the abstract also, if there is one. The default for the The following options are not available with the slides class. -onecolumn option -twocolumn option -oneside option -twoside option -openright option -openany option +onecolumn option +twocolumn option +oneside option +twoside option +openright option +openany option
onecolumn twocolumn @@ -798,8 +889,8 @@ for the abstract also, if there is one. The default for the oneside twoside -\evensidemargin -\oddsidemargin +\evensidemargin +\oddsidemargin Selects one- or two-sided layout; default is oneside, except that in the book class the default is twoside. @@ -816,7 +907,7 @@ being 40% of the difference between \paperwidth and openright for book, and openany for report.
-clock option to slides class +clock option to slides class The slides class offers the option clock for printing the time at the bottom of each note. @@ -825,10 +916,10 @@ the time at the bottom of each note. Additional packagesClass and package constructionDocument class optionsDocument classes
Additional packages -loading additional packages -packages, loading additional -additional packages, loading -\usepackage +loading additional packages +packages, loading additional +additional packages, loading +\usepackage Load a package pkg, with the package options given in the comma-separated list options, as here. @@ -840,8 +931,8 @@ list options, as here. as in \usepackage{pkg1,pkg2,...}, or use multiple \usepackage commands. -global options -options, global +global options +options, global Any options given in the \documentclass command that are unknown to the selected document class are passed on to the packages loaded with \usepackage. @@ -851,9 +942,9 @@ to the selected document class are passed on to the packages loaded with Class and package constructionAdditional packagesDocument classes
Class and package construction -document class commands -commands, document class -new class commands +document class commands +commands, document class +new class commands 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 Memo from the SMC Math Department is for a class. -class and package difference -difference between class and package +class and package difference +difference between class and package Inside of a class or package file you can use the at-sign &arobase; as a -character in command names without having to surround that command with -\makeatletter and \makeatother. \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&arobase;tolist, -\smc&arobase;fromlist, etc. +character in command names without having to surround the code +containing that command with \makeatletter and +\makeatother. \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&arobase;tolist, \smc&arobase;fromlist, etc. @@ -887,39 +978,47 @@ package from interacting with others. For instance, the class Class and package structureClass and package commandsClass and package construction -Class and package structure - -class and package structure -class file layout -package file layout -options, document class -options, package -class options -package options - -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 +Class and package structure + +class and package structure +class file layout +package file layout +options, document class +options, package +class options +package options + +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. + +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\&arobase;tolist{#1}} used in that -file. (3) In the handle options part the class or package declares +file. + +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. - -Here is a starting class file, which should be saved as stub.cls +document font size. + +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 file. +.tex file.
\NeedsTeXFormat{LaTeX2e}
@@ -928,7 +1027,7 @@ where &latex; can find it, for example in the same directory as the
 \ProcessOptions\relax
 \LoadClass{article}
 
-class file example +class file example It identifies itself, handles the class options via the default of passing them all to the article class, and then loads the @@ -943,26 +1042,42 @@ of the descriptions here derive from this document), or the tutorial
Class and package commandsClass and package structureClass and package construction Class and package commands -class and package commands -commands, class and package +class and package commands +commands, class and package These are the commands designed to help writers of classes or packages. \AtBeginDvi{specials} -\AtBeginDvi -Save in a box register things that are written to the .dvi file +\AtBeginDvi +Save in a box register things that are written to the .dvi file at the beginning of the shipout of the first page of the document. \AtEndOfClass{code} \AtEndOfPackage{code} -\AtEndOfClass -\AtEndOfPackage +\AtEndOfClass +\AtEndOfPackage Hook to insert code to be executed when &latex; finishes processing the current class or package. You can use these hooks multiple times; the code will be executed in the order that you called it. See also \AtBeginDocument. +\CheckCommand{cmd}[num][default]{definition} +\CheckCommand*{cmd}[num][default]{definition} +\CheckCommand +\CheckCommand* +new command, check +Like \newcommand (\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 command +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} @@ -973,16 +1088,16 @@ called it. See also \AtBeginDoc \PackageInfo{package name}{info text} \ClassInfoNoLine{class name}{info text} \PackageInfoNoLine{package name}{info text} -\ClassError -\PackageError -\ClassWarning -\PackageWarning -\ClassWarningNoLine -\PackageWarningNoLine -\ClassInfo -\PackageInfo -\ClassInfoNoLine -\PackageInfoNoLine +\ClassError +\PackageError +\ClassWarning +\PackageWarning +\ClassWarningNoLine +\PackageWarningNoLine +\ClassInfo +\PackageInfo +\ClassInfoNoLine +\PackageInfoNoLine Produce an error message, or warning or informational messages. For \ClassError and \PackageError the message is @@ -998,23 +1113,24 @@ message, while the other versions do show that number. 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; appends a period to the messages. +\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 -\CurrentOption +\CurrentOption Expands to the name of the currently-being-processed option. Can only be used within the code argument of either \DeclareOption or \DeclareOption*. \DeclareOption{option}{code} -\DeclareOption*{option}{code} -\DeclareOption -\DeclareOption* -class options -package options -options, class -options, package +\DeclareOption*{code} +\DeclareOption +\DeclareOption* +class options +package options +options, class +options, package 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 @@ -1047,16 +1163,58 @@ passes the option to the article class. \PassOptionsToClass{\CurrentOption}{article}}} +\DeclareRobustCommand{cmd}[num][default]{definition} +\DeclareRobustCommand*{cmd}[num][default]{definition} +\DeclareRobustCommand +\DeclareRobustCommand* +new command, definition +Like \newcommand and \newcommand* (\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 \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&textrsquo;s data is fragile and the +command is used within a moving argument, use \newcommand. + +package, etoolbox +etoolbox package + +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: + + +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 + +They make the same distinction between \new&dots;, +\renew&dots;, and \provide&dots;, 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&dots; or \provide&dots; or you get an error. + + + \IfFileExists{file name}{true code}{false code} \InputIfFileExists{file name}{true code}{false code} -\IfFileExists -\InputIfFileExists -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 +\IfFileExists +\InputIfFileExists +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 current @@ -1068,15 +1226,20 @@ extensions see \input \LoadClass[options list]{class name}[release date] \LoadClassWithOptions{class name}[release date] -\LoadClass -\LoadClassWithOptions +\LoadClass +\LoadClassWithOptions Load a class, as with \documentclass[options list]{class name}[release info]. An example is \LoadClass[twoside]{article}. 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 +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 @@ -1089,9 +1252,9 @@ that lets you build classes on existing ones, such as the standard article class, without having to track which options were passed. \ExecuteOptions{options-list} -\ExecuteOptions -For each option in the options-list, in order, this command -executes the command \ds&arobase;option. If this command is not +\ExecuteOptions +For each option option in the options-list, in order, this command +executes the command \ds&arobase;option. If this command is not defined then that option is silently ignored. It can be used to provide a default option list before @@ -1100,14 +1263,14 @@ default to be 11pt fonts then you could specify \ExecuteOptions{11pt}\ProcessOptions\relax. \NeedsTeXFormat{format}[format date] -\NeedsTeXFormat -Specifies the format that this class should be run under. Often issued +\NeedsTeXFormat +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 @@ -1115,11 +1278,10 @@ were implemented. If present it must be in the form YYYY/MM/DD. 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.) +available. \OptionNotUsed -\OptionNotUsed +\OptionNotUsed Adds the current option to the list of unused options. Can only be used within the code argument of either \DeclareOption or \DeclareOption*. @@ -1130,10 +1292,10 @@ within the code argument of either \DeclareOption or -\PassOptionsToClass{options list}{class name} -\PassOptionsToPackage{options list}{package name} -\PassOptionsToClass -\PassOptionsToPackage +\PassOptionsToClass{option list}{class name} +\PassOptionsToPackage{option list}{package name} +\PassOptionsToClass +\PassOptionsToPackage 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. @@ -1145,16 +1307,17 @@ more than once will get you an error like Option 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 write -\PassOptionsToPackage{draft}{graphics} +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 source.) @@ -1167,93 +1330,103 @@ option. The user could start their &latex; file with \ProcessOptions \ProcessOptions*\&arobase;options -\ProcessOptions -\ProcessOptions* +\ProcessOptions +\ProcessOptions* Execute the code for each option that the user has invoked. Include it in the class file as \ProcessOptions\relax (because of the existence of the starred command). -Options come in two types. &textlsquo;Local&textrsquo; options have been specified for this +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]. &textlsquo;Global&textrsquo; options are those given +\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 +When \ProcessOptions is called for a package pkg.sty, the +following happens: + + +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&arobase;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. - +given in pkg.sty. + +For each remaining local option, it executes the command +\ds&arobase;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*\&arobase;options executes the +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 -\ProvidesPackage +\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] +\ProvidesClass +\ProvidesPackage Identifies the class or package, printing a message to the screen and the log file. When a user writes \documentclass{smcmemo} then &latex; loads -the file smcmemo.cls. Similarly, a user writing +the file smcmemo.cls. Similarly, a user writing \usepackage{test} prompts &latex; to load the file test.sty. If the name of the file does not match the declared class or package name then you get a warning. Thus, if you invoke -\documentclass{smcmemo}, and the file smcmemo.cls has +\documentclass{smcmemo}, and the file smcmemo.cls has the statement \ProvidesClass{xxx} then you get a warning like You have requested document class `smcmemo', 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 +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 smcmem.cls contains the line -\ProvidesClass{smcmem}[2008/06/01 SMC memo class] and your -document&textrsquo;s first line is \documentclass{smcmem} then you will -see Document Class: smcmemo 2008/06/01 SMC memo class. +log file. Thus, if your file smcmemo.cls contains the line +\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC memo class] and your +document&textrsquo;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 portion allows class and package users to ask +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 +system is earlier than release date, by using the optional 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.) \ProvidesFile{file name}[additional information] -\ProvidesFile +\ProvidesFile 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] -\RequirePackage -\RequirePackageWithOptions -Load a package, like the author command \usepackage. +\RequirePackage +\RequirePackageWithOptions +Load a package, like the document author command \usepackage. 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;&textrsquo;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 @@ -1282,8 +1455,8 @@ causes &latex; to give error like \usepackage before Fonts Typefaces -typefaces -fonts +typefaces +fonts Two important aspects of selecting a font 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. Font stylesFont sizesFonts
Font styles -font styles -type styles -styles of text +font styles +type styles +styles of text The following type style commands are supported by &latex;. @@ -1318,8 +1491,8 @@ are cumulative; e.g., you can say either \sffamily\bfseries or You can alternatively use an environment form of the declarations; for instance, \begin{ttfamily}...\end{ttfamily}. -\nocorrlist -\nocorr +\nocorrlist +\nocorr These font-switching commands automatically insert italic corrections if needed. (\/, for the details of italic corrections.) Specifically, they insert the italic correction unless the following @@ -1331,59 +1504,59 @@ command argument, such as \textit{\nocorr text} or
\textrm (\rmfamily) -\textrm -\rmfamily +\textrm +\rmfamily Roman. \textit (\itshape) -\textit -\itshape +\textit +\itshape Italics. \textmd (\mdseries) -\textmd -\mdseries +\textmd +\mdseries Medium weight (default). \textbf (\bfseries) -\textbf -\bfseries +\textbf +\bfseries Boldface. \textup (\upshape) -\textup -\upshape +\textup +\upshape Upright (default). \textsl (\slshape) -\textsl -\slshape +\textsl +\slshape Slanted. \textsf (\sffamily) -\textsf -\sffamily +\textsf +\sffamily Sans serif. \textsc (\scshape) -\textsc -\scshape +\textsc +\scshape Small caps. \texttt (\ttfamily) -\texttt -\ttfamily +\texttt +\ttfamily Typewriter. \textnormal (\normalfont) -\textnormal -\normalfont +\textnormal +\normalfont Main document font.
-emphasis -\emph +emphasis +\emph Although it also changes fonts, the \emph{text} command is semantic, for text to be emphasized, and should not be used as a substitute for \textit. For example, \emph{start @@ -1398,40 +1571,40 @@ they are used differently than the above commands: are two unrelated constructs. -\bf\bf -bold font +\bf\bf +bold font Switch to bold face. -\cal\cal -script letters for math -calligraphic letters for math +\cal\cal +script letters for math +calligraphic letters for math Switch to calligraphic letters for math. -\it\it -italic font +\it\it +italic font Italics. -\rm\rm -roman font +\rm\rm +roman font Roman. -\sc\sc -small caps font +\sc\sc +small caps font Small caps. -\sf\sf -sans serif font +\sf\sf +sans serif font Sans serif. -\sl\sl -slanted font -oblique font +\sl\sl +slanted font +oblique font Slanted (oblique). -\tt\tt -typewriter font -monospace font -fixed-width font +\tt\tt +typewriter font +monospace font +fixed-width font Typewriter (monospace, fixed-width). @@ -1453,19 +1626,19 @@ typographic treatment, regardless of the surrounding environment.
\mathrm -\mathrm +\mathrm Roman, for use in math mode. \mathbf -\mathbf +\mathbf Boldface, for use in math mode. \mathsf -\mathsf +\mathsf Sans serif, for use in math mode. \mathtt -\mathtt +\mathtt Typewriter, for use in math mode. \mathit @@ -1473,32 +1646,33 @@ typographic treatment, regardless of the surrounding environment. Italics, for use in math mode. \mathnormal -\mathnormal +\mathnormal For use in math mode, e.g., inside another type style declaration. \mathcal -\mathcal +\mathcal Calligraphic letters, for use in math mode.
-\mathversion -math, bold -bold math +\mathversion +math, bold +bold math In addition, the command \mathversion{bold} can be used for switching to bold letters and symbols in formulas. \mathversion{normal} restores the default. -\oldstylenums -numerals, old-style -old-style numerals -lining numerals -package, textcomp -textcomp package +\oldstylenums +numerals, old-style +old-style numerals +lining numerals +package, textcomp +textcomp package + Finally, the command \oldstylenums{numerals} 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 \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 @@ -1511,9 +1685,9 @@ are provided to make them the default. FAQ entry: Font sizesLow-level font commandsFont stylesFonts
Font sizes -font sizes -typeface sizes -sizes of text +font sizes +typeface sizes +sizes of text 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 10pt, 11pt, and 12pt document size options, respectively (Document class options). -\tiny -\scriptsize -\footnotesize -\small -\normalsize -\large -\Large -\LARGE -\huge -\Huge +\tiny +\scriptsize +\footnotesize +\small +\normalsize +\large +\Large +\LARGE +\huge +\Huge \normalsize (default) 24.88 24.88 24.88 Command 10pt 11pt 12pt @@ -1566,8 +1740,8 @@ these commands; for instance, \begin{tiny}...\end{tin Low-level font commandsFont sizesFonts
Low-level font commands -low-level font commands -font commands, low-level +low-level font commands +font commands, low-level 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. \fontencoding{encoding} -\fontencoding +\fontencoding Select the font encoding, the encoding of the output font. There are a large number of valid encodings. The most common are OT1, Knuth&textrsquo;s original encoding for Computer Modern (the default), and 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} -\fontfamily -families, of fonts -font catalogue +\fontfamily +families, of fonts +font catalogue Select the font family. The web page http://www.tug.dk/FontCatalogue/ provides one way to browse 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 - +font Computer Modern Typewriter XXXX +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} -\fontseries -series, of fonts +\fontseries +series, of fonts 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 - +xx Medium (normal)xx +m +Medium (normal) +b +Bold +c +Condensed +bc +Bold condensed +bx +Bold extended + -weights, of fonts +weights, of fontsThe 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 - +xx Medium (normal) xx +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 + -widths, of fonts -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% - +widths, of fonts +The possible values for width, individually, are (the meaning and +relationship of these terms varies with individual typefaces): + + +xx Ultra condensed +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 @@ -1672,26 +1891,33 @@ weight and width are m, in which case use just one (m). \fontshape{shape} -\fontshape -shapes, of fonts +\fontshape +shapes, of fonts Select font shape. Valid shapes are: - -n Upright (normal) -it Italic -sl Slanted (oblique) -sc Small caps -ui Upright italics -ol Outline - +xx Slanted (oblique)xx +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. \fontsize{size}{skip} -\fontsize -font size -\baselineskip +\fontsize +font size +\baselineskip Set the font size and the line spacing. The unit of both parameters defaults to points (pt). The line spacing is the nominal vertical space between lines, baseline to baseline. It is stored in the @@ -1701,16 +1927,18 @@ Changing \baselineskip directly is inadvisable since its value is reset every time a size change happens; see \baselinestretch, next. \baselinestretch -\baselinestretch +\baselinestretch &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 -\renewcommand{\baselinestretch}{2.0} in the preamble. +make a line skip change happen for the entire document, for instance +doubling it, by doing \renewcommand{\baselinestretch}{2.0} in +the preamble. -package, setspace -setspace package -double spacing +package, setspace +setspace package + +double spacing However, the best way to double-space a document is to use the setspace 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. \linespread{factor} -\linespread +\linespread Equivalent to \renewcommand{\baselinestretch}{factor}, and therefore must be followed by \selectfont to have any effect. @@ -1726,7 +1954,7 @@ Best specified in the preamble, or use the setspace package, as just described. \selectfont -\selectfont +\selectfont The effects of the font commands described above do not happen until \selectfont is called, as in \fontfamily{familyname}\selectfont. It is often useful @@ -1735,7 +1963,7 @@ to put this in a macro:&linebreak; (\newcommand & \renewcommand). \usefont{enc}{family}{series}{shape} -\usefont +\usefont The same as invoking \fontencoding, \fontfamily, \fontseries and \fontshape with the given parameters, followed by \selectfont. For example: @@ -1752,7 +1980,7 @@ followed by \selectfont. For example: LayoutSectioningFontsTop Layout -layout commands +layout commands Commands for controlling the general page layout. @@ -1769,8 +1997,8 @@ followed by \selectfont. For example: \onecolumn\twocolumnLayout
\onecolumn -\onecolumn -one-column output +\onecolumn +one-column output Start a new page and produce single-column output. If the document is given the class option onecolumn then this is the default @@ -1783,9 +2011,9 @@ behavior (Document class opt \twocolumn\flushbottom\onecolumnLayout
\twocolumn -\twocolumn -multicolumn text -two-column output +\twocolumn +multicolumn text +two-column output Synopses: @@ -1807,20 +2035,20 @@ typesetting starts. These parameters control typesetting in two-column output: -\columnsep\columnsep +\columnsep\columnsep The distance between columns. The default is 35pt. Change it with a command such as \setlength{\columnsep}{40pt} You must change it before the two column environment starts; in the preamble is a good place. -\columnseprule\columnseprule +\columnseprule\columnseprule 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 \setlength{\columnseprule}{0.4pt}, before the two-column environment starts. -\columnwidth\columnwidth +\columnwidth\columnwidth The width of a single column. In one-column mode this is equal to \textwidth. In two-column mode by default &latex; sets the width of each of the two columns to be half of \textwidth minus @@ -1835,7 +2063,7 @@ and table). &latex; pl The following parameters control float behavior of two-column output. -\dbltopfraction\dbltopfraction +\dbltopfraction\dbltopfraction 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 table* or figure* environment must not @@ -1860,24 +2088,24 @@ to avoid going to float pages so soon. You can redefine it, for instance with \renewcommand{\dbltopfraction}{0.9}. -\dblfloatpagefraction\dblfloatpagefraction +\dblfloatpagefraction\dblfloatpagefraction 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 0.5. Change it with \renewcommand. -\dblfloatsep\dblfloatsep +\dblfloatsep\dblfloatsep 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 12pt plus2pt minus2pt for a document set at 10pt or 11pt, and 14pt plus2pt minus4pt for a document set at 12pt. -\dbltextfloatsep\dbltextfloatsep +\dbltextfloatsep\dbltextfloatsep 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 20pt plus2pt minus4pt. -\dbltopnumber\dbltopnumber +\dbltopnumber\dbltopnumber 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 2. @@ -1913,7 +2141,7 @@ Two column text here. \flushbottom\raggedbottom\twocolumnLayout
\flushbottom -\flushbottom +\flushbottom 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 \raggedbottomPage layout parameters\flushbottomLayout
\raggedbottom -\raggedbottom -stretch, omitting vertical +\raggedbottom +stretch, omitting vertical 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 (Document class optio Page layout parametersFloats\raggedbottomLayout
Page layout parameters -page layout parameters -parameters, page layout -layout, page parameters for -header, parameters for -footer, parameters for -running header and footer +page layout parameters +parameters, page layout +layout, page parameters for +header, parameters for +footer, parameters for +running header and footer -\columnsep\columnsep -\columnseprule\columnseprule -\columnwidth\columnwidth -\columnsep -\columnseprule -\columnwidth +\columnsep\columnsep +\columnseprule\columnseprule +\columnwidth\columnwidth +\columnsep +\columnseprule +\columnwidth 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 twocolumn is in effect (Document class options). \twocolumn. -\headheight\headheight -\headheight +\headheight\headheight +\headheight Height of the box that contains the running head. The default in the article, report, and book classes is 12pt, at all type sizes. -\headsep\headsep -\headsep +\headsep\headsep +\headsep Vertical distance between the bottom of the header line and the top of the main text. The default in the article and report classes is 25pt. In the book class the default is: if the document is set at 10pt then it is 0.25in, and at 11pt and 12pt it is 0.275in. -\footskip\footskip -\footskip +\footskip\footskip +\footskip Distance from the baseline of the last line of text to the baseline of the page footer. The default in the article and report classes is 30pt. In the book class the default is: when the type size is 10pt the default is 0.35in, while at 11pt it is 0.38in, and at 12pt it is 30pt. -\linewidth\linewidth -\linewidth +\linewidth\linewidth +\linewidth Width of the current line, decreased for each nested list (list). That is, the nominal value for \linewidth is to equal \textwidth but for each nested list the \linewidth @@ -2006,12 +2234,12 @@ is decreased by the sum of that list&textrsquo;s \leftmargin and -\marginparpush\marginparpush -\marginsep\marginsep -\marginparwidth\marginparwidth -\marginparpush -\marginsep -\marginparwidth +\marginparpush\marginparpush +\marginsep\marginsep +\marginparwidth\marginparwidth +\marginparpush +\marginsep +\marginparwidth 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 \paperwidth − \textwidth, while in one-column mode it is 50% of that distance. -\oddsidemargin\oddsidemargin -\evensidemargin\evensidemargin -\oddsidemargin -\evensidemargin +\oddsidemargin\oddsidemargin +\evensidemargin\evensidemargin +\oddsidemargin +\evensidemargin The \oddsidemargin 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 twoside is chosen and on all pages when @@ -2051,22 +2279,22 @@ even-numbered pages the extra distance on the left is difference between \paperwidth and \textwidth, and \evensidemargin is the remainder. -\paperheight\paperheight -\paperheight +\paperheight\paperheight +\paperheight 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 \documentclass[a4paper]{article} (Document class options). -\paperwidth\paperwidth -\paperwidth +\paperwidth\paperwidth +\paperwidth 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 \documentclass[a4paper]{article} (Document class options). -\textheight\textheight -\textheight +\textheight\textheight +\textheight The normal vertical height of the page body. If the document is set at a nominal type size of 10pt then for an article or report the default is 43\baselineskip, while for a book it is @@ -2074,8 +2302,8 @@ the default is 43\baselineskip, while for a book it is 38\baselineskip for all document classes. At 12pt it is 36\baselineskip for all classes. -\textwidth\textwidth -\textwidth +\textwidth\textwidth +\textwidth The full horizontal width of the entire page body. For an article or report document, the default is 345pt when the chosen type size is 10pt, the default is 360pt at 11pt, @@ -2095,22 +2323,22 @@ column), while \linewidth may decrease for nested lists. specified width, and revert to their normal values at the end of the minipage or \parbox. -\hsize -\hsize +\hsize +\hsize This entry is included for completeness: \hsize is the &tex; primitive parameter used when text is broken into lines. It should not be used in normal &latex; documents. -\topmargin\topmargin -topmargin +\topmargin\topmargin +topmargin 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: \paperheight − 2in − \headheight − \headsep − \textheight − \footskip, and then divided by two. -\topskip\topskip -\topskip +\topskip\topskip +\topskip 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., 10pt 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. -placement of floats -specifier, float placement +placement of floats +specifier, float placement In addition to changing the parameters, for each float you can tweak where the float placement algorithm tries to place it by using its placement argument. The possible values are a sequence of the @@ -2171,16 +2399,17 @@ FAQ: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloath is not allowed by itself; t is automatically added. -here, putting floats -package, float -float package +here, putting floats +package, float +float package + To absolutely force a float to appear &textldquo;here&textrdquo;, you can \usepackage{float} and use the H specifier which it defines. For further discussion, see the FAQ entry at http://www.tex.ac.uk/cgi-bin/texfaq2html?label=figurehere. p -float page +float page (Page of floats)&textmdash;on a separate float page, which is a page containing no text, only floats. @@ -2208,13 +2437,16 @@ use the afterpage package and issue \afterpage{\clearpage}. This will wait until the current page is finished and then flush all outstanding floats. +package, flafter +flafter package + &latex; can typeset a float before where it appears in the source (although on the same output page) if there is a t specifier in the placement parameter. If this is not desired, and deleting the t 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 flafter package or using the command -\suppressfloats +\suppressfloats \suppressfloats[t], which causes floats for the top position on this page to moved to the next page. @@ -2223,24 +2455,24 @@ non-float text (change them with \renewcommand{parameter}{decimal between 0 and 1}): -\bottomfraction\bottomfraction -\bottomfraction +\bottomfraction\bottomfraction +\bottomfraction The maximum fraction of the page allowed to be occupied by floats at the bottom; default .3. -\floatpagefraction\floatpagefraction -\floatpagefraction +\floatpagefraction\floatpagefraction +\floatpagefraction The minimum fraction of a float page that must be occupied by floats; default .5. -\textfraction\textfraction -\textfraction +\textfraction\textfraction +\textfraction 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 .2. -\topfraction\topfraction -\topfraction +\topfraction\topfraction +\topfraction Maximum fraction at the top of a page that may be occupied before floats; default .7. @@ -2249,19 +2481,19 @@ floats; default .7. \setlength{parameter}{length expression}): -\floatsep\floatsep -\floatsep +\floatsep\floatsep +\floatsep Space between floats at the top or bottom of a page; default 12pt plus2pt minus2pt. -\intextsep\intextsep -\intextsep +\intextsep\intextsep +\intextsep Space above and below a float in the middle of the main text; default 12pt plus2pt minus2pt for 10 point and 11 point documents, and 14pt plus4pt minus4pt for 12 point documents. -\textfloatsep\textfloatsep -\textfloatsep +\textfloatsep\textfloatsep +\textfloatsep Space between the last (first) float at the top (bottom) of a page; default 20pt plus2pt minus4pt. @@ -2270,23 +2502,23 @@ default 20pt plus2pt minus4pt. \setcounter{ctrname}{natural number}): -bottomnumberbottomnumber -bottomnumber +bottomnumberbottomnumber +bottomnumber Maximum number of floats that can appear at the bottom of a text page; default 1. -dbltopnumberdbltopnumber -dbltopnumber +dbltopnumberdbltopnumber +dbltopnumber Maximum number of full-sized floats that can appear at the top of a two-column page; default 2. -topnumbertopnumber -topnumber +topnumbertopnumber +topnumber Maximum number of floats that can appear at the top of a text page; default 2. -totalnumbertotalnumber -totalnumber +totalnumbertotalnumber +totalnumber Maximum number of floats that can appear on a text page; default 3. @@ -2305,19 +2537,19 @@ influence the position of float environments like figure and table in SectioningCross referencesLayoutTop Sectioning -sectioning commands +sectioning commands Sectioning commands provide the means to structure your text into units: -\part\part -\chapter\chapter +\part\part +\chapter\chapter (report and book class only) -\section\section -\subsection\subsection -\subsubsection\subsubsection -\paragraph\paragraph -\subparagraph\subparagraph +\section\section +\subsection\subsection +\subsubsection\subsubsection +\paragraph\paragraph +\subparagraph\subparagraph All sectioning commands take the same general form, e.g., @@ -2341,7 +2573,7 @@ To handle this, the sectioning commands have an optional argument toctitle that, when given, specifies the text for these other places. -*-form of sectioning commands +*-form of sectioning commands Also, all sectioning commands have *-forms that print title 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:
\section*{Preamble}
 
-\appendix -appendix, creating +\appendix +appendix, creating The \appendix command changes the way following sectional units are numbered. The \appendix 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} -secnumdepth counter -section numbers, printing +secnumdepth counter +section numbers, printing +Sectioning/secnumdepth The secnumdepth counter controls printing of section numbers. The setting @@ -2375,19 +2608,252 @@ The setting suppresses heading numbers at any depth > level, where -chapter is level zero. (\setcounter.) +chapter is level zero. The default secnumdepth is 3 in +&latex;&textrsquo;s article class and 2 in the book and +report classes. (\setcounter.) + + +\&arobase;startsection
Redefine layout of start of sections, subsections, etc.
+
+ + +\&arobase;startsectionSectioning +
\&arobase;startsection + +\&arobase;startsection +section, redefining + +Synopsis: + + +
\&arobase;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 \&arobase;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, \&arobase;startsection has the form + +
\&arobase;startsection{name}{level}{indent}{beforeskip}{afterskip}{style}*[toctitle]{title}
+
+ (the star * is optional), so that issuing + +
\renewcommand{\section}{\&arobase;startsection{name}{level}{indent}{beforeskip}{afterskip}{style}}
+
+ redefines \section to have the form +\section*[toctitle]{title} (here too, the +star * is optional). Sectioning. This implies that +when you write a command like \renewcommand{section}{...}, +the \&arobase;startsection{...} must come last in the definition. See +the examples below. + +
+ +name +\&arobase;startsection/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 \thename displays the title number and +\namemark is for the page headers. See the third +example below. + +level +\&arobase;startsection/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 &textldquo;1 +Introduction&textrdquo; while \subsection{Discussion} will produce +output like &textldquo;Discussion&textrdquo;, without the number prefix. +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 +\&arobase;startsection/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 +\&arobase;startsection/beforeskip 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 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 (Lengths). + +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 \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 +\&arobase;startsection/afterskip This is a length. If afterskip +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 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&textrsquo;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&textrsquo;s from standalone to run-in, you cannot use a negative +afterskip to cancel part of the \parskip.) + +style +\&arobase;startsection/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;&textrsquo;s defaults for the first three sectioning units that +are defined with \&arobase;startsection, for the article, +book, and report classes. + + +section subsection subsubsection +\&arobase;startsection/namenamename +section subsection subsubsection +\&arobase;startsection/levellevellevel +1 2 3 +\&arobase;startsection/indentindentindent +0pt 0pt 0pt +\&arobase;startsection/beforeskipbeforeskipbeforeskip +-3.5ex plus -1ex minus -0.2ex +-3.25ex plus -1ex minus -0.2ex +-3.25ex plus -1ex minus -0.2ex +\&arobase;startsection/afterskipafterskipafterskip +2.3ex plus 0.2ex +1.5ex plus 0.2ex +1.5ex plus 0.2ex +\&arobase;startsection/stylestylestyle +\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.) +\makeatletter and \makeatother. + +This will put section titles in large boldface type, centered. It says +\renewcommand because &latex;&textrsquo;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&arobase;section. + + +
\renewcommand\section{%
+  \&arobase;startsection{section}% \&arobase;startsection/namenamename
+    {1}% \&arobase;startsection/levellevellevel
+    {0pt}% \&arobase;startsection/indentindentindent
+    {-3.5ex plus -1ex minus -.2ex}% \&arobase;startsection/beforeskipbeforeskipbeforeskip
+    {2.3ex plus.2ex}% \&arobase;startsection/afterskipafterskipafterskip
+    {\centering\normalfont\Large\bfseries}% \&arobase;startsection/stylestylestyle
+  }
+
+ +This will put subsection titles in small caps type, inline with the paragraph. + + +
\renewcommand\subsection{%
+  \&arobase;startsection{subsection}%  \&arobase;startsection/namenamename
+    {2}% \&arobase;startsection/levellevellevel
+    {0em}% \&arobase;startsection/indentindentindent
+    {-1ex plus 0.1ex minus -0.05ex}% \&arobase;startsection/beforeskipbeforeskipbeforeskip
+    {-1em plus 0.2em}% \&arobase;startsection/afterskipafterskipafterskip
+    {\scshape}% \&arobase;startsection/stylestylestyle
+  }
+
+ +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.\&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
+
+ +
Cross referencesEnvironmentsSectioningTop Cross references -cross references +cross references 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; -label +label 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 label @@ -2402,8 +2868,8 @@ where currentlabel is the current value of the macro \&arobase;currentlabel that is usually updated whenever you call \refstepcounter{counter}.) -forward reference -reference, forward +forward reference +reference, forward The most common side effect of the prior paragraph happens when your document has a forward reference, a \ref{key} that appears earlier than the associated \label{key}; see the @@ -2427,7 +2893,7 @@ case is just to compile the document a second time. \label\pagerefCross references
\label -\label +\label Synopsis: @@ -2490,9 +2956,9 @@ See Figure~\ref{fig:test}. \pageref\ref\labelCross references
\pageref{key} -\pageref -cross referencing with page number -page number, cross referencing +\pageref +cross referencing with page number +page number, cross referencing Synopsis: @@ -2521,12 +2987,12 @@ to resolve those.) \ref\pagerefCross references
\ref{key} -\ref -cross referencing, symbolic -section number, cross referencing -equation number, cross referencing -figure number, cross referencing -footnote number, cross referencing +\ref +cross referencing, symbolic +section number, cross referencing +equation number, cross referencing +figure number, cross referencing +footnote number, cross referencing Synopsis: @@ -2558,9 +3024,9 @@ that it is a forward reference since it comes before EnvironmentsLine breakingCross referencesTop Environments -environments -\begin -\end +environments +\begin +\end &latex; provides many environments for delimiting certain behavior. An environment begins with \begin and ends with \end, @@ -2578,7 +3044,7 @@ the end. For instance, the input ! LaTeX Error: \begin{table*} on input line 5 ended by \end{table}. -group, and environments +group, and environments Environments are executed within a group. @@ -2616,9 +3082,10 @@ the end. For instance, the input abstractarrayEnvironments
abstract -environment, abstract -abstract environment -abstracts +environment, abstract +abstract environment + +abstracts Synopsis: @@ -2675,9 +3142,10 @@ a more flexible solution, use the package abstract). arraycenterabstractEnvironments
array -environment, array -array environment -arrays, math +environment, array +array environment + +arrays, math Synopsis: @@ -2716,10 +3184,13 @@ textstyle (except if the cols definition specifies the column with The second is that, instead of tabular&textrsquo;s parameter \tabcolsep, &latex;&textrsquo;s intercolumn space in an array is governed by -\arraycolsep +\arraycolsep \arraycolsep, which gives half the width between columns. The default for this is 5pt. +package, amsmath +amsmath package + To obtain arrays with braces the standard is to use the amsmath package. It comes with environments pmatrix for an array surrounded by parentheses (...), bmatrix for an array @@ -2757,9 +3228,10 @@ preamble: centerdescriptionarrayEnvironments
center -environment, center -center environment -centering text, environment for +environment, center +center environment + +centering text, environment for Synopsis: @@ -2772,7 +3244,7 @@ preamble: 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 (\\). -\\ (for center) +\\ (for center) 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. \centeringcenter \centering -\centering -centering text, declaration for +\centering +centering text, declaration for A declaration that causes material in its scope to be centered. It is most often used inside an environment such as figure, or in a @@ -2857,54 +3329,72 @@ centered. descriptiondisplaymathcenterEnvironments
description -environment, description -description environment -labelled lists, creating -description lists, creating +environment, description +description environment + +labelled lists, creating +description lists, creating 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&textrsquo;s label -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. +Environment to make a labeled list of items. Each item&textrsquo;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. -\item -The list consists of at least one item, created with the \item -command (\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}
+
+ +\item +Start list items with the \item command (\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. -bold typewriter, avoiding -typewriter labels in lists +bold typewriter, avoiding +typewriter labels in lists Since the labels are in bold style, if the label text calls for a font -change given in argument style (see Font styles) then it will -come out bold. For instance, if the label text calls for typewriter -with \item[\texttt{label text}] then it will appear in bold +change given in argument style (see Font styles) then it 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}]. +text}]. Similarly, get the standard roman font with \item[{\rm +label text}]. For other major &latex; labelled list environments, see itemize -and enumerate. For information about customizing list layout, see -list; also, the package enumitem is useful for this. +and 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 +list. The package enumitem is useful for customizing +lists. + +This example changes the description labels to small caps. -
\begin{definition}
-  \item[lama] A priest.
-  \item[llama] A beast.
-\end{definition}
-
+
\renewcommand{\descriptionlabel}[1]{%
+  {\hspace{\labelsep}\textsc{#1}}}
+
@@ -2912,14 +3402,15 @@ and enumerate. For in
displaymath -environment, displaymath -displaymath environment +environment, displaymath +displaymath environment + Synopsis:
\begin{displaymath}
-  ... math text ...
+math text
 \end{displaymath}
 
@@ -2927,29 +3418,31 @@ and enumerate. For in and centered. To make the text be flush-left use the global option fleqn; see 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 (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. +&latex; will not break the math text across lines. -The construct \[..math text..\] is essentially a synonym for -\begin{displaymath}..math text..\end{displaymath} but the +package, amsmath +amsmath package + +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&textrsquo;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.) +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&textrsquo;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.) The output from this example is centered and alone on its line. @@ -2965,8 +3458,9 @@ spacing, and because the displaymath environment honors the documentenumeratedisplaymathEnvironments
document -environment, document -document environment +environment, document +document environment + The document environment encloses the entire body of a document. It is required in every &latex; document. Starting and ending. @@ -2978,9 +3472,10 @@ It is required in every &latex; document. \AtBeginDocument\AtEndDocumentdocument +\AtBeginDocument -\AtBeginDocument -beginning of document hook +\AtBeginDocument +beginning of document hook Synopsis: @@ -2998,10 +3493,12 @@ the preamble so you cannot do any typesetting with it. will be executed in the order that you gave them. + \AtEndDocument\AtBeginDocumentdocument +\AtEndDocument -\AtEndDocument -end of document hook +\AtEndDocument +end of document hook Synopsis: @@ -3020,34 +3517,36 @@ appropriate point in code. will be executed in the order that you gave them. +
enumerateeqnarraydocumentEnvironments
enumerate -environment, enumerate -enumerate environment -lists of items, numbered +environment, enumerate +enumerate environment + +lists of items, numbered 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. +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. -\item -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. - -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}
@@ -3056,12 +3555,20 @@ item is produced with an \item command.
 \end{enumerate}
 
-Enumerations may be nested within a paragraph-making environment, -including itemize (itemize), description -(description) and enumeration, 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): +\item +Start list items with the \item command (\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 (\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 +(itemize), 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. arabic number followed by a period: 1., 2., &dots; @@ -3070,55 +3577,55 @@ This gives &latex;&textrsquo;s default for the format at each nesting level upper case letter followed by a period: A., B., &dots; -\enumi -\enumii -\enumiii -\enumiv +\enumi +\enumii +\enumiii +\enumiv The enumerate environment uses the counters \enumi through -\enumiv counters (Counters). If you use the optional -argument to \item then the counter is not incremented for that -item (\item). - -\labelenumi -\labelenumii -\labelenumiii -\labelenumiv +\enumiv (Counters). + +For other major &latex; labeled list environments, see +description and itemize. For information about list layout +parameters, including the default values, and for information about +customizing list layout, see list. The package enumitem is +useful for customizing lists. + +\labelenumi +\labelenumii +\labelenumiii +\labelenumiv To change the format of the label use \renewcommand (\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: +period. -\Alph example +\Alph example
\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 -\alph \Alph \arabic \roman \Roman \fnsymbol. +For a list of counter-labeling commands see \alph \Alph \arabic +\roman \Roman \fnsymbol. -For more on customizing the layout see list. Also, the package -enumitem is useful for this. - -
eqnarrayequationenumerateEnvironments
eqnarray -environment, eqnarray -eqnarray environment -equations, aligning -aligning equations +environment, eqnarray +eqnarray environment + +equations, aligning +aligning equations -align environment, from amsmath -amsmath package, replacing eqnarray -Madsen, Lars +align environment, from amsmath +amsmath package, replacing eqnarray +Madsen, Lars First, a caveat: the eqnarray 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*} -\\ (for eqnarray) +\\ (for eqnarray) 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. It is similar to a three-column array environment, with items within a row separated by an ampersand (&), and with rows separated by double backslash  \\). -\\* (for eqnarray) +\\* (for eqnarray) The starred form of line break (\\*) can also be used to separate equations, and will disallow a page break there (\\). -\nonumber -equation numbers, omitting +\nonumber +equation numbers, omitting The unstarred form eqnarray places an equation number on every line (using the equation counter), unless that line contains a \nonumber command. The starred form eqnarray* omits equation numbering, while otherwise being the same. -\lefteqn +\lefteqn The command \lefteqn is used for splitting long formulas across lines. It typesets its argument in display style flush left in a box of zero width. @@ -3187,10 +3694,11 @@ while the third line has not entry on the left side. equationfigureeqnarrayEnvironments
equation -environment, equation -equation environment -equations, environment for -formulas, environment for +environment, equation +equation environment + +equations, environment for +formulas, environment for Synopsis: @@ -3205,6 +3713,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. @@ -3214,10 +3726,11 @@ new documents. figurefilecontentsequationEnvironments
figure -environment, figure -figure environment -inserting figures -figures, inserting +environment, figure +figure environment + +inserting figures +figures, inserting Synopsis: @@ -3258,7 +3771,7 @@ and so it can contain text, commands, etc. The label is optional; it is used for cross references (Cross references). -\caption +\caption The optional \caption command specifies caption text for the figure. By default it is numbered. If loftitle is present, it is used in the list of figures instead of title (Tables of @@ -3282,12 +3795,14 @@ end of the document, on a page of floats. filecontentsflushleftfigureEnvironments
filecontents: Write an external file -environment, filecontents -filecontents environment -environment, filecontents* -filecontents* environment -external files, writing -writing external files +environment, filecontents +filecontents environment + +environment, filecontents* +filecontents* environment + +external files, writing +writing external files Synopsis: @@ -3350,10 +3865,11 @@ Article by \myname. flushleftflushrightfilecontentsEnvironments
flushleft -environment, flushleft -flushleft environment -left-justifying text, environment for -ragged right text, environment for +environment, flushleft +flushleft environment + +left-justifying text, environment for +ragged right text, environment for
\begin{flushleft}
@@ -3363,7 +3879,7 @@ Article by \myname.
 \end{flushleft}
 
-\\ for flushleft +\\ for flushleft The flushleft 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 \\. @@ -3376,10 +3892,10 @@ right. Each line must be terminated with the string \\. \raggedrightflushleft \raggedright -\raggedright -ragged right text -left-justifying text -justification, ragged right +\raggedright +ragged right text +left-justifying text +justification, ragged right The \raggedright declaration corresponds to the flushleft environment. This declaration can be used inside an @@ -3397,10 +3913,11 @@ command that ends the paragraph unit. flushrightitemizeflushleftEnvironments
flushright -environment, flushright -flushright environment -ragged left text, environment for -right-justifying text, environment for +environment, flushright +flushright environment + +ragged left text, environment for +right-justifying text, environment for
\begin{flushright}
@@ -3410,7 +3927,7 @@ command that ends the paragraph unit.
 \end{flushright}
 
-\\ (for flushright) +\\ (for flushright) The flushright 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 \\. @@ -3423,10 +3940,10 @@ left. Each line must be terminated with the control sequence \\. \raggedleftflushright \raggedleft -\raggedleft -ragged left text -justification, ragged left -right-justifying text +\raggedleft +ragged left text +justification, ragged left +right-justifying text The \raggedleft declaration corresponds to the flushright environment. This declaration can be used inside an @@ -3444,128 +3961,105 @@ command that ends the paragraph unit. itemizeletterflushrightEnvironments
itemize -environment, itemize -itemize environment -\item -lists of items -unordered lists -bulleted lists +environment, itemize +itemize environment + +\item +lists of items +unordered lists +bulleted lists 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 &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 enumerate (enumerate). +list. 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. -Each item of an itemize list begins with an \item command. -There must be at least one \item command within the environment. +This example gives a two-item list. As a top-level list each label +would come out as a bullet, •. -By default, the marks at each level look like this: + +
\begin{itemize}
+ \item Pencil and watercolor sketch by Cassandra
+ \item Rice portrait 
+\end{itemize}
+
+ +\item +Start list items with the \item command (\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 description +environment. Following the \item is optional text, which may +contain multiple paragraphs. + +\labelitemi +\labelitemii +\labelitemiii +\labelitemiv +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 (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. -• (bullet) --- (bold en-dash) -* (asterisk) -. (centered dot, rendered here as a period) +• (bullet, from \textbullet) +-- (bold en-dash, from \normalfont\bfseries\textendash) +* (asterisk, from \textasteriskcentered) +. (centered dot, rendered here as a period, from \textperiodcentered) -\labelitemi -\labelitemii -\labelitemiii -\labelitemiv -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: +Change the labels with \renewcommand. For instance, this makes +the first level use diamonds.
\renewcommand{\labelitemi}{$\diamond$}
 
-\leftmargin -\leftmargini -\leftmarginii -\leftmarginiii -\leftmarginiv -\leftmarginv -\leftmarginvi -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: +\leftmargin +\leftmargini +\leftmarginii +\leftmarginiii +\leftmarginiv +\leftmarginv +\leftmarginvi +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. + +For other major &latex; labeled list environments, see +description and enumerate. For information about list +layout parameters, including the default values, and for information +about customizing list layout, see list. The package +enumitem is useful for customizing lists. + +This example greatly reduces the margin space for outermost itemized +lists.
\setlength{\leftmargini}{1.25em} % default 2.5em
 
- -Some parameters that affect list formatting: - - -\itemindent\itemindent -Extra indentation before each item in a list; default zero. - -\labelsep\labelsep -Space between the label and text of an item; default .5em. - -\labelwidth\labelwidth -Width of the label; default 2em, or 1.5em in two-column mode. - -\listparindent\listparindent -Extra indentation added to second and subsequent paragraphs within a -list item; default 0pt. - -\rightmargin\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). - - -\itemsep\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. - -\parsep\parsep -Extra vertical space between paragraphs within a list item. Defaults -are the same as \itemsep. - -\topsep\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\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. - - - -\parskip example +\parskip example Especially for lists with short items, it may be desirable to elide space between items. Here is an example defining an itemize* environment with no extra spacing between items, or between paragraphs @@ -3586,8 +4080,9 @@ within a single item (\parskip is not list-specific, letterlistitemizeEnvironments
letter environment: writing letters -environment, letter -letter environment +environment, letter +letter environment + This environment is used for creating letters. Letters. @@ -3596,41 +4091,308 @@ within a single item (\parskip is not list-specific, listmathletterEnvironments
list -environment, list -list environment -lists of items, generic +environment, list +list environment + +lists of items, generic -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 +(description, enumerate, and itemize). + +Also, many standard &latex; environments that are not visually lists +are constructed using list, including quotation, +quote, center, verbatim, and plenty more +(quotation and quote, center, flushright). + +package, enumitem +enumitem package + +The third-party package enumitem is useful for customizing lists. +Here, we describe the list environment by defining a new custom +environment. + + +
\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&textrsquo;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.]; \item. + +\makelabel +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 +(\usecounter). + +Below are the spacing parameters for list formatting. See also the +figure below. Each is a length (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\itemindent +Extra horizontal space indentation, beyond leftmargin, of the +first line each item. Its default value is 0pt. + +\itemsep\itemsep +Vertical space between items, beyond the \parsep. The defaults +for the first three levels in &latex;&textrsquo;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\labelsep +Horizontal space between the label and text of an item. +The default for &latex;&textrsquo;s article, book, +and report classes is 0.5em. + +\labelwidth\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;&textrsquo;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;&textrsquo;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&textrsquo;s left edge coincide with the left margin of the enclosing +environment. + +\leftmargin\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;&textrsquo;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\listparindent +Horizontal space of additional line indentation, beyond +\leftmargin, for second and subsequent paragraphs within a list +item. A negative value makes this an &textldquo;outdent&textrdquo;. Its default value +is 0pt. + +\parsep\parsep +Vertical space between paragraphs within an item. In the book +and article classes The defaults for the first three levels in +&latex;&textrsquo;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\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;&textrsquo;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\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\topsep +Vertical space added to both the top and bottom of the list, in addition +to \parskip (\parskip). The defaults for the first three +levels in &latex;&textrsquo;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. + + +latex2e-figures/list3.21in.png + + +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 +&backslash;topsep + &backslash;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&textrsquo;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 (Page +layout parameters). 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 +\setlength{\leftmargin}{0.25\linewidth}. + +Page breaking in a list structure is controlled by the three +parameters below. For each, the &latex; default is +-\&arobase;lowpenalty, that is, -51. Because it is negative, +it somewhat encourages a page break at each spot. Change it with, +e.g., \&arobase;beginparpenalty=9999; a value of 10000 prohibits a +page break. + + +\&arobase;beginparpenalty\&arobase;beginparpenalty +The page breaking penalty for breaking before the list (default -51). -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. +\&arobase;itempenalty\&arobase;itempenalty +The page breaking penalty for breaking before a list item (default -51). -The width used for typesetting the list items is specified by -\linewidth (Page layout parameters). +\&arobase;endparpenalty\&arobase;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} }
+
+ \item
An entry in a list.
+
trivlist
A restricted form of list.
 
-\itemlist -\item: An entry in a list. +\itemtrivlistlist +\item: An entry in a list Synopsis: @@ -3640,21 +4402,25 @@ empty, i.e., {}, which leaves the default spacing. 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. +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. &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, {]}]. &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}
@@ -3665,20 +4431,68 @@ default label and one that uses the optional label.
 
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.. + +trivlist\itemlist +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&textrsquo;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 (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}
+
+
mathminipagelistEnvironments
math -environment, math -math environment -in-line formulas +environment, math +math environment + +in-line formulas Synopsis: @@ -3688,8 +4502,8 @@ not get a 3.). \end{math} -The math environment inserts the given math within the -running text. \(...\) and $...$ are synonyms. +The math environment inserts given math material within +the running text. \(...\) and $...$ are synonyms. Math formulas. @@ -3697,9 +4511,10 @@ running text. \(...\) and $...$ are synonyms. minipagepicturemathEnvironments
minipage -environment, minipage -minipage environment -minipage, creating a +environment, minipage +minipage environment + +minipage, creating a
\begin{minipage}[position][height][inner-pos]{width}
@@ -3715,15 +4530,15 @@ other paragraph-making environments can be used inside a minipage.
 
 The arguments are the same as for \parbox (\parbox).
 
-indentation of paragraphs, in minipage
-paragraph indentation, in minipage
-\parindent
+indentation of paragraphs, in minipage
+paragraph indentation, in minipage
+\parindent
 By default, paragraphs are not indented in the minipage
 environment.  You can restore indentation with a command such as
 \setlength{\parindent}{1pc} command.
 
-footnotes in figures
-figures, footnotes in
+footnotes in figures
+figures, footnotes in
 Footnotes in a minipage environment are handled in a way that is
 particularly useful for putting footnotes in figures or tables.  A
 \footnote or \footnotetext command puts the footnote at
@@ -3739,10 +4554,11 @@ footnotes; they may wind up at the bottom of the wrong minipage.
 picturequotation and quoteminipageEnvironments
 
picture -environment, picture -picture environment -creating pictures -pictures, creating +environment, picture +picture environment + +creating pictures +pictures, creating
\begin{picture}(width,height)(xoffset,yoffset)
@@ -3750,7 +4566,7 @@ footnotes; they may wind up at the bottom of the wrong minipage.
 \end{picture}
 
-\unitlength +\unitlength The picture environment allows you to create just about any kind of picture you want containing text, lines, arrows and circles. You tell &latex; where to put things in the picture by specifying @@ -3765,15 +4581,16 @@ centimeters. \setlength command, outside of a picture environment. The default value is 1pt. -package, picture -picture package +package, picture +picture package + The picture package redefine the picture environment so that everywhere a number is used in a picture commands to specify a coordinate, one can use alternatively a length. Be aware however that this will prevent scaling those lengths by changing \unitlength. -position, in picture +position, in picture A position is a pair of coordinates, such as (2.4,-5), specifying the point with x-coordinate 2.4 and y-coordinate -5. Coordinates are specified in the usual way with respect to an origin, @@ -3823,7 +4640,7 @@ command. The command picture, with its reference point at coordinates (11.3,-.3). The reference points for various objects will be described below. -lR box +lR box The \put command creates an LR box. You can put anything that can go in an \mbox (\mbox) in the text argument of the \put command. When you do this, the reference point will @@ -3852,7 +4669,7 @@ be the lower left corner of the box. \circle\makebox (picture)picture \circle -\circle +\circle Synopsis: @@ -3871,7 +4688,7 @@ draws a solid circle. \makebox (picture)\framebox (picture)\circlepicture \makebox -\makebox (for picture) +\makebox (for picture) Synopsis: @@ -3908,7 +4725,7 @@ your text appears in. You may select up to two of the following: \framebox (picture)\dashbox\makebox (picture)picture \framebox -\framebox +\framebox Synopsis: @@ -3920,8 +4737,8 @@ your text 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. -\fboxrule -\fboxsep +\fboxrule +\fboxsep The \framebox command produces a rule of thickness \fboxrule, and leaves a space \fboxsep between the rule and the contents of the box. @@ -3931,7 +4748,7 @@ and the contents of the box. \dashbox\frame\framebox (picture)picture \dashbox -\dashbox +\dashbox Draws a box with a dashed line. Synopsis: @@ -3952,7 +4769,7 @@ multiples of the dlen. \frame\line\dashboxpicture \frame -\frame +\frame Synopsis: @@ -3969,7 +4786,7 @@ space is put between the frame and the object. \line\linethickness\framepicture \line -\line +\line Synopsis: @@ -3980,8 +4797,8 @@ space is put between the frame and the object. The \line command draws a line with the given length and slope xslope/yslope. -pict2e package -graphics packages +pict2e package +graphics packages Standard &latex; can only draw lines with slope = x/y, where x and y have integer values from −6 through 6. For lines of any slope, and plenty of other shapes, @@ -3992,7 +4809,7 @@ see pict2e and many other packages on CTAN. \linethickness\thicklines\linepicture \linethickness -\linethickness +\linethickness The \linethickness{dim} 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 \oval. \thicklines\thinlines\linethicknesspicture \thicklines -\thicklines +\thicklines The \thicklines command is an alternate line thickness for horizontal and vertical lines in a picture environment; @@ -4017,7 +4834,7 @@ cf. \linethickness\thinlines\multiput\thicklinespicture \thinlines -\thinlines +\thinlines The \thinlines command is the default line thickness for horizontal and vertical lines in a picture environment; @@ -4028,7 +4845,7 @@ cf. \linethickness\multiput\oval\thinlinespicture \multiput -\multiput +\multiput Synopsis: @@ -4046,7 +4863,7 @@ pattern across a picture. obj is first placed at position \oval\put\multiputpicture \oval -\oval +\oval Synopsis: @@ -4081,7 +4898,7 @@ boxes with rounded corners. \put\shortstack\ovalpicture \put -\put +\put Synopsis: @@ -4098,7 +4915,7 @@ boxes with rounded corners. \shortstack\vector\putpicture \shortstack -\shortstack +\shortstack Synopsis: @@ -4118,7 +4935,7 @@ positions are: Move the objects to the centre of the stack (default) -\\ (for \shortstack objects) +\\ (for \shortstack objects) Objects are separated with \\. @@ -4126,7 +4943,7 @@ positions are: \vector\shortstackpicture \vector -\vector +\vector Synopsis: @@ -4144,16 +4961,18 @@ values must lie between −4 and +4, inclusive. quotation and quotetabbingpictureEnvironments
quotation and quote -environment, quotation -quotation environment -quoted text with paragraph indentation, displaying -displaying quoted text with paragraph indentation -paragraph indentations in quoted text -environment, quote -quote environment -quoted text without paragraph indentation, displaying -displaying quoted text without paragraph indentation -paragraph indentations in quoted text, omitting +environment, quotation +quotation environment + +quoted text with paragraph indentation, displaying +displaying quoted text with paragraph indentation +paragraph indentations in quoted text +environment, quote +quote environment + +quoted text without paragraph indentation, displaying +displaying quoted text without paragraph indentation +paragraph indentations in quoted text, omitting Synopsis: @@ -4200,106 +5019,156 @@ quotations. tabbingtablequotation and quoteEnvironments
tabbing -environment, tabbing -tabbing environment -tab stops, using -lining text up using tab stops -alignment via tabbing +environment, tabbing +tabbing environment + +tab stops, using +lining text up using tab stops +alignment via tabbing 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): -The following commands can be used inside a tabbing environment: + +
\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}
+
+ +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. + +row, tabbing +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, &dots;, 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 (Modes). + +The following commands can be used inside a tabbing environment. +They are all fragile (\protect). -\\ (tabbing)\\ (tabbing) -End a line. +\\ (tabbing)\\ (tabbing) +End a tabbed line and typeset it. -\= (tabbing)\= (tabbing) +\= (tabbing)\= (tabbing) Sets a tab stop at the current position. -\> (tabbing)\> (tabbing) -\> +\> (tabbing)\> (tabbing) +\> Advances to the next tab stop. -\<\< +\<\< Put following text to the left of the local margin (without changing the margin). Can only be used at the start of the line. -\+\+ +\+\+ Moves the left margin of the next and all the following commands one tab stop to the right, beginning tabbed line if necessary. -\-\- +\-\- Moves the left margin of the next and all the following commands one tab stop to the left, beginning tabbed line if necessary. -\&textrsquo; (tabbing)\' (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&textrsquo;s tab stop. +\' (tabbing)\' (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 previous column and aligned +to the right, flush against the current column&textrsquo;s tab stop. -\&textlsquo; (tabbing)\` (tabbing) +\` (tabbing)\` (tabbing) 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 \` command moves all the -text that follows it, up to the \\ or \end{tabbing} -command that ends the line, to the right margin of the tabbing -environment. There must be no \> or \' command between -the \` and the command that ends the line. - -\a (tabbing)\a (tabbing) -\a&textrsquo; (acute accent in tabbing) -\a&textlsquo; (grave accent in tabbing) -\a= (macron accent in tabbing) +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 \` command moves +all the text that follows it, up to the \\ or +\end{tabbing} command that ends the line, to the right margin +of the tabbing environment. There must be no \> or +\' command between the \` and the \\ or +\end{tabbing} command that ends the line. +
+\a (tabbing)\a (tabbing) +\a' (acute accent in tabbing) +\a` (grave accent in tabbing) +\a= (macron accent in tabbing) In a tabbing environment, the commands \=, \' and \` do not produce accents as usual (Accents). Instead, -the commands \a=, \a' and \a` are used. +use the commands \a=, \a' and \a`. -\kill\kill -Sets tab stops without producing text. Works just like \\ -except that it throws away the current line instead of producing -output for it. The effect of any \=, \+ or \- -commands in that line remain in effect. +\kill\kill +Sets tab stops without producing text. Works just like \\ except +that it throws away the current line instead of producing output for it. +Any \=, \+ or \- commands in that line remain in +effect. -\poptabs\poptabs -\poptabs +\poptabs\poptabs +\poptabs Restores the tab stop positions saved by the last \pushtabs. -\pushtabs\pushtabs +\pushtabs\pushtabs Saves all current tab stop positions. Useful for temporarily changing tab stop positions in the middle of a tabbing environment. -\tabbingsep\tabbingsep -Distance to left of tab stop moved by \'. +\tabbingsep\tabbingsep +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; \-\- \\
@@ -4307,15 +5176,45 @@ function \= fact(n : integer) : integer;\\
 \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;
+
+ +package, algorithm2e +algorithm2e package + package, listings +listings package + package, minted +minted package + +package, fancyvrb +fancyvrb package + +(The above example is just for illustration of the environment. To +actually typeset computer code in typewriter like this, a verbatim +environment (verbatim) would normally suffice. For +pretty-printed code, there are quite a few packages, including +algorithm2e, fancyvrb, listings, and +minted.) + +
tabletabulartabbingEnvironments
table -environment, table -table environment -tables, creating -creating tables +environment, table +table environment + +tables, creating +creating tables Synopsis: @@ -4340,7 +5239,7 @@ and so it can contain text, commands, etc. The label is optional; it is used for cross references (Cross references). -\caption +\caption The optional \caption command specifies caption text for the table. By default it is numbered. If lottitle is present, it is used in the list of tables instead of title (Tables of @@ -4367,10 +5266,11 @@ unless it is pushed to a float page at the end. tabularthebibliographytableEnvironments
tabular -environment, tabular -tabular environment -lines in tables -lining text up in tables +environment, tabular +tabular environment + +lines in tables +lining text up in tables Synopsis: @@ -4406,10 +5306,10 @@ in columns. This illustrates many of the features. The vertical format of two left-aligned columns, with a vertical bar between them, is specified in tabular&textrsquo;s argument {l|l}. -& +& Columns are separated with an ampersand &. A horizontal rule between two rows is created with \hline. -\\ for tabular +\\ for tabular The end of each row is marked with a double backslash \\. This \\ is optional after the last row unless an \hline 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}
-\extracolsep +\extracolsep An \extracolsep{wd} command in an &arobase;-expression causes an extra space of width wd to appear to the left of all subsequent columns, until countermanded by another \extracolsep command. @@ -4543,22 +5443,22 @@ contain another *-expression. -\arrayrulewidth\arrayrulewidth +\arrayrulewidth\arrayrulewidth A length that is the thickness of the rule created by |, \hline, and \vline in the tabular and array environments. The default is .4pt. Change it as in \setlength{\arrayrulewidth}{0.8pt}. -\arraystretch\arraystretch +\arraystretch\arraystretch A factor by which the spacing between rows in the tabular and array environments is multiplied. The default is 1, for no scaling. Change it as \renewcommand{\arraystretch}{1.2}. -\doublerulesep\doublerulesep +\doublerulesep\doublerulesep A length that is the distance between the vertical rules produced by the || specifier. The default is 2pt. -\tabcolsep\tabcolsep +\tabcolsep\tabcolsep A length that is half of the space between columns. The default is 6pt. Change it with \setlength. @@ -4579,7 +5479,7 @@ lines: \multicolumn\vlinetabular \multicolumn -\multicolumn +\multicolumn Synopsis: @@ -4676,7 +5576,7 @@ vertical bar in the cols of either of the first row&textrsquo;s \vline\cline\multicolumntabular \vline -\vline +\vline Draw a vertical line in a tabular or array 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 g, with no whitespace. \cline\hline\vlinetabular \cline -\cline +\cline Synopsis: @@ -4739,7 +5639,7 @@ height. \hline\clinetabular \hline -\hline +\hline Draws a horizontal line the width of the enclosing tabular or array environment. It&textrsquo;s most commonly used to draw a line at the @@ -4764,9 +5664,10 @@ is required. thebibliographytheoremtabularEnvironments
thebibliography -environment, thebibliography -thebibliography environment -bibliography, creating (manually) +environment, thebibliography +thebibliography environment + +bibliography, creating (manually) Synopsis: @@ -4781,15 +5682,33 @@ is required. reference list. In the article class, this reference list is labelled -&textldquo;References&textrdquo;; in the report class, it is labelled -&textldquo;Bibliography&textrdquo;. You can change the label (in the standard classes) -by redefining the command \refname. For instance, this -eliminates it entirely: +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. - -
\renewcommand{\refname}{}
-
+You can change the label by redefining the command \refname or +\bibname, whichever is applicable depending on the class: + + + +\bibname +For standard classes whose top level sectioning is \chapter +(such as book and report), the label is in the macro +\bibname; + + +\refname +For standard classes whose the top level sectioning is \section +(such as article), the label is in macro \refname. + + +package, babel +babel package +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 is typically given as 9 for bibliographies with @@ -4806,7 +5725,7 @@ less than 10 references, 99 for ones with less than 100, etc. \bibitem\citethebibliography \bibitem -\bibitem +\bibitem Synopsis: @@ -4817,7 +5736,7 @@ less than 10 references, 99 for ones with less than 100, etc. The \bibitem command generates an entry labelled by label. If the label argument is missing, a number is automatically generated using the enumi counter. The cite_key is a -citation key +citation key citation key consisting in any sequence of letters, numbers, and punctuation symbols not containing a comma. @@ -4833,7 +5752,7 @@ with a \cite command (\cite< \cite\nocite\bibitemthebibliography \cite -\cite +\cite Synopsis: @@ -4855,7 +5774,7 @@ citation. For example, \cite[p.~314]{knuth} might pr \nociteUsing BibTeX\citethebibliography \nocite -\nocite +\nocite Synopsis: @@ -4871,11 +5790,11 @@ which is a list of one or more citation keys, to the .aux file. Using BibTeX\nocitethebibliography Using Bib&tex; -using Bib&tex; -bib&tex;, using -bibliography, creating (automatically) -\bibliographystyle -\bibliography +using Bib&tex; +bib&tex;, using +bibliography, creating (automatically) +\bibliographystyle +\bibliography 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 \cite and theoremtitlepagethebibliographyEnvironments
theorem -environment, theorem -theorem environment -theorems, typesetting +environment, theorem +theorem environment + +theorems, typesetting Synopsis: @@ -4945,10 +5865,11 @@ possibilities for n are described under \newtheorem titlepageverbatimtheoremEnvironments
titlepage -environment, titlepage -titlepage environment -making a title page -title pages, creating +environment, titlepage +titlepage environment + +making a title page +title pages, creating Synopsis: @@ -4995,13 +5916,14 @@ is left to the author. verbatimversetitlepageEnvironments
verbatim -environment, verbatim -verbatim environment -verbatim text -simulating typed text -typed text, simulating -code, typesetting -computer programs, typesetting +environment, verbatim +verbatim environment + +verbatim text +simulating typed text +typed text, simulating +code, typesetting +computer programs, typesetting Synopsis: @@ -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. -The verbatim uses a monospaced typewriter-like font (\tt). +The verbatim environment uses a monospaced typewriter-like font +(\tt). \verb
The macro form of the verbatim environment.
@@ -5026,8 +5949,8 @@ effect that they would on a typewriter.
 \verbverbatim
 \verb
 
-\verb
-verbatim text, inline
+\verb
+verbatim text, inline
 
 Synopsis:
 
@@ -5042,11 +5965,10 @@ including special characters and spaces, using the typewriter
 \verb* and the delimiter char, which begins and ends the
 verbatim text.  The delimiter must not appear in literal-text.
 
-visible space
+visible space
 The *-form differs only in that spaces are printed with a
 &textldquo;visible space&textrdquo; character.
 
-(Namely, {\tt\char&textlsquo;\ }.)
 
 
 
@@ -5055,9 +5977,10 @@ verbatim text.  The delimiter must not appear in literal-text.
 verseverbatimEnvironments
 
verse -environment, verse -verse environment -poetry, an environment for +environment, verse +verse environment + +poetry, an environment for Synopsis: @@ -5072,7 +5995,7 @@ verbatim text. The delimiter must not appear in literal-text. The verse environment is designed for poetry, though you may find other uses for it. -\\ for verse +\\ for verse 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 \\, and use one or more blank lines to separate the @@ -5084,8 +6007,8 @@ stanzas. Line breakingPage breakingEnvironmentsTop Line breaking -line breaking -breaking lines +line breaking +breaking lines 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. \\\obeycr & \restorecrLine breaking
\\ -\\ force line break -new line, starting -line break, forcing +\\ force line break +new line, starting +line break, forcing Synopsis: @@ -5155,9 +6078,9 @@ in a tabular environment) the \newline command is a sy \obeycr & \restorecr\newline\\Line breaking
\obeycr & \restorecr -\obeycr -\restorecr -new line, output as input +\obeycr +\restorecr +new line, output as input The \obeycr command makes a return in the input file (^^M, internally) the same as \\ (followed by @@ -5171,8 +6094,8 @@ in the output. \newline\- (hyphenation)\obeycr & \restorecrLine breaking
\newline -\newline -new line, starting (paragraph mode) +\newline +new line, starting (paragraph mode) In ordinary text this is equivalent to double-backslash (\\); it breaks a line, with no stretching of the text before it. @@ -5199,8 +6122,8 @@ single cell of the table. \- (hyphenation)\discretionary\newlineLine breaking
\- (discretionary hyphen) -\- (hyphenation) -hyphenation, forcing +\- (hyphenation) +hyphenation, forcing The \- 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.
\discretionary\fussy\- (hyphenation)Line breaking
\discretionary (generalized hyphenation point) -hyphenation, discretionary -discretionary hyphenation +hyphenation, discretionary +discretionary hyphenation Synopsis: @@ -5230,7 +6153,7 @@ that &latex; might otherwise have chosen. \fussy\sloppy\discretionaryLine breaking
\fussy -\fussy +\fussy The declaration \fussy (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. \sloppy\hyphenation\fussyLine breaking
\sloppy -\sloppy +\sloppy The declaration \sloppy makes &tex; less fussy about line breaking. This will avoid overfull boxes, at the cost of loose @@ -5257,8 +6180,8 @@ interword spacing. \hyphenation\linebreak & \nolinebreak\sloppyLine breaking
\hyphenation -\hyphenation -hyphenation, defining +\hyphenation +hyphenation, defining Synopsis: @@ -5282,10 +6205,10 @@ misses the hyphenations in these words): \linebreak & \nolinebreak\hyphenationLine breaking
\linebreak & \nolinebreak -\linebreak -\nolinebreak -line breaks, forcing -line breaks, preventing +\linebreak +\nolinebreak +line breaks, forcing +line breaks, preventing Synopses: @@ -5309,8 +6232,8 @@ from a demand to a request. The priority must be a number from Page breakingFootnotesLine breakingTop Page breaking -page breaking -breaking pages +page breaking +breaking pages &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. \cleardoublepage\clearpagePage breaking
\cleardoublepage -\cleardoublepage -starting on a right-hand page +\cleardoublepage +starting on a right-hand page The \cleardoublepage 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. \clearpage\newpage\cleardoublepagePage breaking
\clearpage -\clearpage -flushing floats and starting a page -starting a new page and clearing floats +\clearpage +flushing floats and starting a page +starting a new page and clearing floats The \clearpage 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. \newpage\enlargethispage\clearpagePage breaking
\newpage -\newpage -new page, starting -starting a new page +\newpage +new page, starting +starting a new page The \newpage command ends the current page, but does not clear floats (\clearpage). @@ -5367,8 +6290,8 @@ floats (\clearpage

\enlargethispage\pagebreak & \nopagebreak\newpagePage breaking
\enlargethispage -\enlargethispage -enlarge current page +\enlargethispage +enlarge current page \enlargethispage{size} @@ -5387,10 +6310,10 @@ much as possible. This is normally used together with an explicit \pagebreak & \nopagebreak\enlargethispagePage breaking
\pagebreak & \nopagebreak -\pagebreak -\nopagebreak -page break, forcing -page break, preventing +\pagebreak +\nopagebreak +page break, forcing +page break, preventing Synopses: @@ -5415,7 +6338,7 @@ insistent the request is. FootnotesDefinitionsPage breakingTop Footnotes -footnotes, creating +footnotes, creating Place a numbered footnote at the bottom of the current page, as here. @@ -5450,7 +6373,7 @@ include a bibliographic style with that behavior. \footnote\footnotemarkFootnotes
\footnote -\footnote +\footnote Synopsis: @@ -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. -footnotes, symbols instead of numbers -\fnsymbol, and footnotes -\&arobase;fnsymbol +footnotes, symbols instead of numbers +\fnsymbol, and footnotes +\&arobase;fnsymbol Change how &latex; shows the footnote counter with something like \renewcommand{\thefootnote}{\fnsymbol{footnote}}, which uses a sequence of symbols (\alph \Alph \arabic \roman \Roman @@ -5490,8 +6413,8 @@ sectioning command such as \chapter (it can only be used in outer paragraph mode). There are some workarounds; see following sections. -Footnotes, in a minipage -mpfootnote counter +Footnotes, in a minipage +mpfootnote counter In a minipage environment the \footnote command uses the mpfootnote counter instead of the footnote counter, so they are numbered independently. They are @@ -5503,7 +6426,7 @@ And by default they are shown alphabetically. \footnotemark\footnotetext\footnoteFootnotes
\footnotemark -\footnotemark +\footnotemark Synopsis, one of: @@ -5546,7 +6469,7 @@ and the third theorem.\footnotemark[\value{footnote}] \footnotetextFootnotes in a table\footnotemarkFootnotes
\footnotetext -\footnotetext +\footnotetext Synopsis, one of: @@ -5565,7 +6488,7 @@ argument number changes the displayed footnote number. The Footnotes in a tableFootnotes in section headings\footnotetextFootnotes
Footnotes in a table -Footnotes, in a table +Footnotes, in a table Inside a table environment the \footnote command does not work. For instance, if the code below appears on its own then the @@ -5621,17 +6544,18 @@ sequence with other footnotes. Footnotes in section headingsFootnotes of footnotesFootnotes in a tableFootnotes
Footnotes in section headings -footnotes, in section headings -table of contents, avoiding footnotes +footnotes, in section headings +table of contents, avoiding footnotes Putting a footnote in a section heading, as in:
\section{Full sets\protect\footnote{This material due to ...}}
 
-package, footmisc -footmisc package -stable option to footmisc package +package, footmisc +footmisc package + +stable option to footmisc package 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. Footnote parametersMultiple reference to footnotesFootnotes
Footnote parameters -footnote parameters -parameters, for footnotes +footnote parameters +parameters, for footnotes -\footnoterule\footnoterule +\footnoterule\footnoterule Produces the rule separating the main text on a page from the page&textrsquo;s footnotes. Default dimensions: 0.4pt thick (or wide), and 0.4\columnwidth long in the standard document classes (except slides, where it does not appear). -\footnotesep\footnotesep +\footnotesep\footnotesep The height of the strut placed at the beginning of the footnote. By default, this is set to the normal strut for \footnotesize fonts (Font sizes), therefore there is no extra space between @@ -5727,11 +6651,12 @@ footnotes. This is 6.65pt for 10pt, 7.7ptDefinitionsCountersFootnotesTop Definitions -definitions +definitions &latex; has support for making new commands of many different kinds. + \newcommand & \renewcommand
(Re)define a new command.
@@ -5743,17 +6668,18 @@ footnotes.  This is 6.65pt for 10pt, 7.7pt\newtheorem
Define a new theorem-like environment.
 
\newfont
Define a new font name.
 
\protect
Using tricky commands.
+
\ignorespaces & \ignorespacesafterend
Discard extra spaces.
 
\newcommand & \renewcommand\providecommandDefinitions
\newcommand & \renewcommand -\newcommand -commands, defining new ones -commands, redefining -defining a new command -new commands, defining +\newcommand +commands, defining new ones +commands, redefining +defining a new command +new commands, defining \newcommand and \renewcommand define and redefine a command, respectively. Synopses: @@ -5765,8 +6691,8 @@ command, respectively. Synopses: \renewcommand*{\cmd}[nargs][optargdefault]{defn}
-starred form, defining new commands -*-form, defining new commands +starred form, defining new commands +*-form, defining new commands The starred form of these two commands requires that the arguments not contain multiple paragraphs of text (not \long, in plain &tex; terms). @@ -5790,7 +6716,7 @@ command \cmd is optional, with default value optarg (which may be the empty string). If this argument is not present then \cmd does not take an optional argument. -positional parameter +positional parameter That is, if \cmd is used with square brackets following, as in \cmd[myval], then within defn the first positional parameter #1 expands myval. On the @@ -5866,10 +6792,10 @@ part of the definition and thus do define a group. \providecommand\newcounter\newcommand & \renewcommandDefinitions
\providecommand -\providecommand -commands, defining new ones -defining a new command -new commands, defining +\providecommand +commands, defining new ones +defining a new command +new commands, defining Defines a command, as long as no command of this name already exists. Synopses: @@ -5890,8 +6816,8 @@ loaded more than once. \newcounter\newlength\providecommandDefinitions
\newcounter: Allocating a counter -\newcounter -counters, defining new +\newcounter +counters, defining new Synopsis, one of: @@ -5922,11 +6848,11 @@ existing counter supercounter. For example, ordinarily \newlength\newsavebox\newcounterDefinitions
\newlength: Allocating a length -\newlength -lengths, allocating new -rubber lengths, defining new -skip register, plain &tex; -glue register, plain &tex; +\newlength +lengths, allocating new +rubber lengths, defining new +skip register, plain &tex; +glue register, plain &tex; Allocate a new length register. Synopsis: @@ -5948,8 +6874,8 @@ sequence \arg must not already be defined. \newsavebox\newenvironment & \renewenvironment\newlengthDefinitions
\newsavebox: Allocating a box -\newsavebox -box, allocating new +\newsavebox +box, allocating new Allocate a &textldquo;bin&textrdquo; for holding a box. Synopsis: @@ -5971,11 +6897,11 @@ be already defined. \newenvironment & \renewenvironment\newtheorem\newsaveboxDefinitions
\newenvironment & \renewenvironment -\newenvironment -\renewenvironment -environments, defining -defining new environments -redefining environments +\newenvironment +\renewenvironment +environments, defining +defining new environments +redefining environments These commands define or redefine an environment env, that is, \begin{env} body \end{env}. Synopses: @@ -5987,7 +6913,7 @@ be already defined. \renewenvironment*{env}[nargs][optargdefault]{begdefn}{enddefn} -*-form of environment commands +*-form of environment commands 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: \newtheorem\newfont\newenvironment & \renewenvironmentDefinitions
\newtheorem -\newtheorem -theorems, defining -defining new theorems +\newtheorem +theorems, defining +defining new theorems -theorem-like environment -environment, theorem-like +theorem-like environment +environment, theorem-like Define a new theorem-like environment. Synopses: @@ -6237,9 +7163,9 @@ by Theorem 2.1 and Definition 2.2. \newfont\protect\newtheoremDefinitions
\newfont: Define a new font (obsolete) -\newfont -fonts, new commands for -defining new fonts +\newfont +fonts, new commands for +defining new fonts \newfont, 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 fontname.tfm. The control sequence must must not already be defined. It must begin with a backslash (\). -.fd file +.fd file 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; (&tex; engines). -at clause, in font definitions -design size, in font definitions +at clause, in font definitions +design size, in font definitions But since it is part of &latex;, here is an explanation: the font description consists of a fontname and an optional at clause; this can have the form either at dimen @@ -6284,18 +7210,21 @@ characters in each:
-\protect\newfontDefinitions +\protect\ignorespaces & \ignorespacesafterend\newfontDefinitions
\protect -\protect -fragile commands -robust commands - -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 +fragile commands +robust commands + +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 @@ -6304,7 +7233,7 @@ name} command it writes the section name 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 -moving arguments +moving arguments moving argument. 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 \caption{...} @@ -6347,26 +7276,117 @@ to \protect\(..\protect\).
- -CountersLengthsDefinitionsTop -Counters +\ignorespaces & \ignorespacesafterend\protectDefinitions +
\ignorespaces & \ignorespacesafterend -counters, a list of -variables, a list of +\ignorespaces +\ignorespacesafterend +spaces, ignore around commands +commands, ignore spaces -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 -environment or command associated with the number, except that the -counter&textrsquo;s name has no backslash \. Thus, associated with -the \chapter command is the chapter counter that keeps -track of the chapter number. - -Below is a list of the counters used in &latex;&textrsquo;s standard document -classes to control numbering. +Synopsis: -
part            paragraph       figure          enumi
-chapter         subparagraph    table           enumii
+
\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\&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}
+
+ +To fix this, change to +\newcommand{\fullname}[1]{\ignorespaces\&arobase;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}. + + +
+
+CountersLengthsDefinitionsTop +Counters + +counters, a list of +variables, a list of + +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 +environment or command associated with the number, except that the +counter&textrsquo;s name has no backslash \. Thus, associated with +the \chapter command is the chapter counter that keeps +track of the chapter number. + +Below is a list of the counters used in &latex;&textrsquo;s standard document +classes to control numbering. + + +
part            paragraph       figure          enumi
+chapter         subparagraph    table           enumii
 section         page            footnote        enumiii
 subsection      equation        mpfootnote      enumiv
 subsubsection
@@ -6395,7 +7415,7 @@ up to four levels of nesting (enumerate\alph \Alph \arabic \roman \Roman \fnsymbol\usecounterCounters
 
\alph \Alph \arabic \roman \Roman \fnsymbol: Printing counters -counters, printing +counters, printing Print the value of a counter, in a specified style. For instance, if the counter counter has the value 1 then a @@ -6407,22 +7427,22 @@ instance, \alph{enumi}. Note that the counter name d start with a backslash. -\alph{counter}\alph{counter} +\alph{counter}\alph{counter} Print the value of counter in lowercase letters: &textlsquo;a&textrsquo;, &textlsquo;b&textrsquo;, &enddots; -\Alph{counter}\Alph{counter} +\Alph{counter}\Alph{counter} Print in uppercase letters: &textlsquo;A&textrsquo;, &textlsquo;B&textrsquo;, &enddots; -\arabic{counter}\arabic{counter} +\arabic{counter}\arabic{counter} Print in Arabic numbers: &textlsquo;1&textrsquo;, &textlsquo;2&textrsquo;, &enddots; -\roman{counter}\roman{counter} +\roman{counter}\roman{counter} Print in lowercase roman numerals: &textlsquo;i&textrsquo;, &textlsquo;ii&textrsquo;, &enddots; -\Roman{counter}\Roman{counter} +\Roman{counter}\Roman{counter} Print in uppercase roman numerals: &textlsquo;I&textrsquo;, &textlsquo;II&textrsquo;, &enddots; -\fnsymbol{counter}\fnsymbol{counter} +\fnsymbol{counter}\fnsymbol{counter} Prints the value of counter in a specific sequence of nine symbols (conventionally used for labeling footnotes). The value of counter must be between 1 and 9, inclusive. @@ -6430,9 +7450,11 @@ symbols (conventionally used for labeling footnotes). The value of Here are the symbols: -NameCommandEquivalent Unicode symbol and/or numeric code point +NameCommandEquivalent Unicode symbol and/or numeric code point -asterisk\ast* +asterisk\ast* dagger\dagger2020 @@ -6444,7 +7466,8 @@ symbols (conventionally used for labeling footnotes). The value of double-vert\parallel2016 -double-asterisk\ast\ast** +double-asterisk\ast\ast** double-dagger\dagger\dagger20202020 @@ -6458,9 +7481,9 @@ symbols (conventionally used for labeling footnotes). The value of \usecounter\value\alph \Alph \arabic \roman \Roman \fnsymbolCounters
\usecounter{counter} -\usecounter -list items, specifying counter -numbered items, specifying counter +\usecounter +list items, specifying counter +numbered items, specifying counter Synopsis: @@ -6494,8 +7517,8 @@ value. This command is fragile (\prot \value\setcounter\usecounterCounters
\value{counter} -\value -counters, getting value of +\value +counters, getting value of Synopsis: @@ -6535,9 +7558,9 @@ Other counter is \arabic{other}. \setcounter\addtocounter\valueCounters
\setcounter{counter}{value} -\setcounter -counters, setting -setting counters +\setcounter +counters, setting +setting counters Synopsis: @@ -6561,7 +7584,7 @@ Here it is in Roman: \Roman{section}. \addtocounter\refstepcounter\setcounterCounters
\addtocounter{counter}{value} -\addtocounter +\addtocounter The \addtocounter command globally increments counter by the amount specified by the value argument, which may be negative. @@ -6579,7 +7602,7 @@ Here it is in Roman: \Roman{section}. \refstepcounter\stepcounter\addtocounterCounters
\refstepcounter{counter} -\refstepcounter +\refstepcounter The \refstepcounter command works in the same way as \stepcounter (\stepcounter): it globally increments the @@ -6598,7 +7621,7 @@ locally, i.e., inside the current group. \stepcounter\day \month \year\refstepcounterCounters
\stepcounter{counter} -\stepcounter +\stepcounter The \stepcounter command globally adds one to counter 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 \day \month \year\stepcounterCounters
\day \month \year: Predefined counters -\day -\month -\year +\day +\month +\year &latex; defines counters for the day of the month (\day, 1&textndash;31), month of the year (\month, 1&textndash;12), and year @@ -6628,7 +7651,7 @@ current day (\todayLengthsMaking paragraphsCountersTop Lengths -lengths, defining and using +lengths, defining and using A length is a measure of distance. Many &latex; commands take a length as an argument. @@ -6671,67 +7694,67 @@ and \setlength{\zlength}{3\ylength} the Units of length\setlengthLengths
Units of length -units, of length +units, of length &tex; and &latex; know about these units both inside and outside of math mode. pt -pt -Point +pt +Point Point 1/72.27 inch. The conversion to metric units, to two decimal places, is 1point = 2.85mm = 28.45cm. pc -pica -pc +pica +pc Pica, 12 pt in -in -inch +in +inch Inch, 72.27 pt bp -bp -Big point +bp +Big point Big point, 1/72 inch. This length is the definition of a point in PostScript and many desktop publishing systems. cm -Centimeter -cm +Centimeter +cm Centimeter mm -Millimeter -mm +Millimeter +mm Millimeter dd -Didot point -dd +Didot point +dd Didot point, 1.07 pt cc -Cicero -cc +Cicero +cc Cicero, 12 dd sp -Scaled point -sp +Scaled point +sp Scaled point, 1/65536 pt
-ex -x-height -ex -m-width -em -em +ex +x-height +ex +m-width +em +em Two other lengths that are often used are values set by the designer of the font. The x-height of the current font ex, 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. -mu, math unit -mu +mu, math unit +mu In math mode, many definitions are expressed in terms of the math unit mu given by 1 em = 18 mu, where the em is taken from the current math symbols family. Spacing in math mode. @@ -6755,8 +7778,8 @@ math symbols family. Spacing i \setlength\addtolengthUnits of lengthLengths
\setlength -\setlength -lengths, setting +\setlength +lengths, setting Synopsis: @@ -6765,7 +7788,7 @@ math symbols family. Spacing i
The \setlength sets the value of length command -length command +length command \len to the value argument which can be expressed in any units that &latex; understands, i.e., inches (in), millimeters (mm), points (pt), big points (bp), etc. @@ -6775,8 +7798,8 @@ units that &latex; understands, i.e., inches (in), millimeters \addtolength\settodepth\setlengthLengths
\addtolength -\addtolength -lengths, adding to +\addtolength +lengths, adding to Synopsis: @@ -6794,7 +7817,7 @@ negative. \settodepth\settoheight\addtolengthLengths
\settodepth -\settodepth +\settodepth Synopsis: @@ -6810,7 +7833,7 @@ negative. \settoheight\settowidth\settodepthLengths
\settoheight -\settoheight +\settoheight Synopsis: @@ -6827,7 +7850,7 @@ equal to the height of the text argument. \settowidthPredefined lengths\settoheightLengths
\settowidth{\len}{text} -\settowidth +\settowidth Synopsis: @@ -6843,20 +7866,20 @@ to the width of the text argument. Predefined lengths\settowidthLengths
Predefined lengths -lengths, predefined -predefined lengths +lengths, predefined +predefined lengths \width -\width +\width \height -\height +\height \depth -\depth +\depth \totalheight -\totalheight +\totalheight These length parameters can be used in the arguments of the box-making commands (Boxes). They specify the natural width, etc., of @@ -6874,8 +7897,8 @@ natural size, e.g., say Making paragraphsMath formulasLengthsTop Making paragraphs -making paragraphs -paragraphs +making paragraphs +paragraphs A paragraph is ended by one or more completely blank lines&textmdash;lines not containing even a %. A blank line should not appear where a new @@ -6893,9 +7916,9 @@ a sectioning command. \indent\noindentMaking paragraphs
\indent -\indent -\parindent -indent, forcing +\indent +\parindent +indent, forcing \indent produces a horizontal space whose width equals to the \parindent length, the normal paragraph indentation. It is used @@ -6910,8 +7933,8 @@ mode, otherwise 15pt for 10pt documents, 17pt\noindent\parskip\indentMaking paragraphs
\noindent -\noindent -indent, suppressing +\noindent +indent, suppressing 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. \parskipMarginal notes\noindentMaking paragraphs
\parskip -\parskip -vertical space before paragraphs +\parskip +vertical space before paragraphs \parskip is a rubber length defining extra vertical space added before each paragraph. The default is 0pt plus1pt. @@ -6943,10 +7966,10 @@ before each paragraph. The default is 0pt plus1pt. Marginal notes\parskipMaking paragraphs
Marginal notes -marginal notes -notes in the margin -remarks in the margin -\marginpar +marginal notes +notes in the margin +remarks in the margin +\marginpar Synopsis: @@ -6970,8 +7993,8 @@ will be placed in the nearest margin for two-column layout (option twocolumn, see Document class options). -\reversemarginpar -\normalmarginpar +\reversemarginpar +\normalmarginpar The command \reversemarginpar places subsequent marginal notes in the opposite (inside) margin. \normalmarginpar places them in the default position. @@ -6985,15 +8008,15 @@ hyphenation there by beginning the node with \hspace{0pt}These parameters affect the formatting of the note: -\marginparpush\marginparpush +\marginparpush\marginparpush Minimum vertical space between notes; default 7pt for 12pt documents, 5pt else. -\marginparsep\marginparsep +\marginparsep\marginparsep Horizontal space between the main text and the note; default 11pt for 10pt documents, 10pt else. -\marginparwidth\marginparwidth +\marginparwidth\marginparwidth Width of the note itself; default for a one-sided 10pt document is 90pt, 83pt for 11pt, and 68pt for 12pt; 17pt more in each case for a two-sided document. @@ -7013,15 +8036,18 @@ notes from falling off the bottom of the page. Math formulasModesMaking paragraphsTop Math formulas -math formulas -formulas, math -math mode, entering -environment, math -math environment -environment, displaymath -displaymath environment -environment, equation -equation environment +math formulas +formulas, math +math mode, entering +environment, math +math environment + +environment, displaymath +displaymath environment + +environment, equation +equation environment + There are three environments that put &latex; in math mode: @@ -7035,10 +8061,10 @@ notes from falling off the bottom of the page. number in the right margin. -\( -\) -\[ -\] +\( +\) +\[ +\] The math environment can be used in both paragraph and LR mode, but the displaymath and equation environments can be used only in paragraph mode. The math and displaymath @@ -7049,7 +8075,7 @@ environments are used so often that they have the following short forms: \[...\] instead of \begin{displaymath}...\end{displaymath} -$ +$ In fact, the math environment is so common that it has an even shorter form: @@ -7057,15 +8083,15 @@ shorter form:
$ ... $   instead of   \(...\)
 
-\boldmath -\unboldmath +\boldmath +\unboldmath The \boldmath command changes math letters and symbols to be in a bold font. It is used outside of math mode. Conversely, the \unboldmath command changes math glyphs to be in a normal font; it too is used outside of math mode. -\displaystyle +\displaystyle The \displaystyle declaration forces the size and style of the formula to be that of displaymath, e.g., with limits above and below summations. For example: @@ -7089,11 +8115,11 @@ below summations. For example: Subscripts & superscriptsMath symbolsMath formulas
Subscripts & superscripts -superscript -subscript -exponent -_ -^ +superscript +subscript +exponent +_ +^ In math mode, use the caret character ^ to make the exp appear as a superscript: ^{exp}. @@ -7137,9 +8163,9 @@ writing Chemical formulas such as mhchem. Math symbolsMath functionsSubscripts & superscriptsMath formulas
Math symbols -math symbols -symbols, math -greek letters +math symbols +symbols, math +greek letters &latex; provides almost any mathematical symbol you&textrsquo;re likely to need. For example, if you include $\pi$ in your source, you will get @@ -7159,185 +8185,185 @@ see \ensuremath. -\|\| +\|\| 2225 Parallel (relation). Synonym: \parallel. -\aleph\aleph +\aleph\aleph 2135 Aleph, transfinite cardinal (ordinary). -\alpha\alpha +\alpha\alpha 03B1 Lower case Greek letter alpha (ordinary). -\amalg\amalg +\amalg\amalg 2A3F Disjoint union (binary) -\angle\angle +\angle\angle 2220 Geometric angle (ordinary). Similar: less-than sign < and angle bracket \langle. -\approx\approx +\approx\approx 2248 Almost equal to (relation). -\ast\ast +\ast\ast 2217 Asterisk operator, convolution, six-pointed (binary). Synonym: *, which is often a superscript or subscript, as in the Kleene star. Similar: \star, which is five-pointed, and is sometimes used as a general binary operation, and sometimes reserved for cross-correlation. -\asymp\asymp +\asymp\asymp 224D Asymptotically equivalent (relation). -\backslash\backslash +\backslash\backslash \ Backslash (ordinary). Similar: set minus \setminus, and \textbackslash for backslash outside of math mode. -\beta\beta +\beta\beta 03B2 Lower case Greek letter beta (ordinary). -\bigcap\bigcap +\bigcap\bigcap 22C2 Variable-sized, or n-ary, intersection (operator). Similar: binary intersection \cap. -\bigcirc\bigcirc +\bigcirc\bigcirc 26AA Circle, larger (binary). Similar: function composition \circ. -\bigcup\bigcup +\bigcup\bigcup 22C3 Variable-sized, or n-ary, union (operator). Similar: binary union \cup. -\bigodot\bigodot +\bigodot\bigodot 2A00 Variable-sized, or n-ary, circled dot operator (operator). -\bigoplus\bigoplus +\bigoplus\bigoplus 2A01 Variable-sized, or n-ary, circled plus operator (operator). -\bigotimes\bigotimes +\bigotimes\bigotimes 2A02 Variable-sized, or n-ary, circled times operator (operator). -\bigtriangledown\bigtriangledown +\bigtriangledown\bigtriangledown 25BD Variable-sized, or n-ary, open triangle pointing down (operator). -\bigtriangleup\bigtriangleup +\bigtriangleup\bigtriangleup 25B3 Variable-sized, or n-ary, open triangle pointing up (operator). -\bigsqcup\bigsqcup +\bigsqcup\bigsqcup 2A06 Variable-sized, or n-ary, square union (operator). -\biguplus\biguplus +\biguplus\biguplus 2A04 Variable-sized, or n-ary, union operator with a plus (operator). (Note that the name has only one p.) -\bigvee\bigvee +\bigvee\bigvee 22C1 Variable-sized, or n-ary, logical-and (operator). -\bigwedge\bigwedge +\bigwedge\bigwedge 22C0 Variable-sized, or n-ary, logical-or (operator). -\bot\bot +\bot\bot 22A5 Up tack, bottom, least element of a partially ordered set, or a contradiction (ordinary). See also \top. -\bowtie\bowtie +\bowtie\bowtie 22C8 Natural join of two relations (relation). -\Box\Box +\Box\Box 25A1 Modal operator for necessity; square open box (ordinary). Not available in plain &tex;. In &latex; you need to load the amssymb package. -\bullet\bullet -bullet symbol +\bullet\bullet +bullet symbol 2022 Bullet (binary). Similar: multiplication dot \cdot. -\cap\cap +\cap\cap 2229 Intersection of two sets (binary). Similar: variable-sized operator \bigcap. -\cdot\cdot +\cdot\cdot 22C5 Multiplication (binary). Similar: Bullet dot \bullet. -\chi\chi +\chi\chi 03C7 Lower case Greek chi (ordinary). -\circ\circ +\circ\circ 2218 Function composition, ring operator (binary). Similar: variable-sized operator \bigcirc. -\clubsuit\clubsuit +\clubsuit\clubsuit 2663 Club card suit (ordinary). -\complement\complement +\complement\complement 2201 Set complement, used as a superscript as in $S^\complement$ (ordinary). Not available in plain &tex;. In &latex; you need to load the amssymb package. Also used: $S^{\mathsf{c}}$ or $\bar{S}$. -\cong\cong +\cong\cong 2245 Congruent (relation). -\coprod\coprod +\coprod\coprod 2210 Coproduct (operator). -\cup\cup +\cup\cup 222A Union of two sets (binary). Similar: variable-sized operator \bigcup. -\dagger\dagger +\dagger\dagger 2020 Dagger relation (binary). -\dashv\dashv +\dashv\dashv 22A3 Dash with vertical, reversed turnstile (relation). Similar: turnstile \vdash. -\ddagger\ddagger +\ddagger\ddagger 2021 Double dagger relation (binary). -\Delta\Delta +\Delta\Delta 0394 Greek upper case delta, used for increment (ordinary). -\delta\delta +\delta\delta 03B4 Greek lower case delta (ordinary). -\Diamond\Diamond +\Diamond\Diamond 25C7 Large diamond operator (ordinary). Not available in plain &tex;. In &latex; you need to load the amssymb package. -\diamond\diamond +\diamond\diamond 22C4 Diamond operator, or diamond bullet (binary). Similar: large diamond \Diamond, circle bullet \bullet. -\diamondsuit\diamondsuit +\diamondsuit\diamondsuit 2662 Diamond card suit (ordinary). -\div\div +\div\div 00F7 Division sign (binary). -\doteq\doteq +\doteq\doteq 2250 Approaches the limit (relation). Similar: geometrically equal to \Doteq. -\downarrow\downarrow +\downarrow\downarrow 2193 Down arrow, converges (relation). Similar: double line down arrow \Downarrow. -\Downarrow\Downarrow +\Downarrow\Downarrow 21D3 Double line down arrow (relation). Similar: single line down arrow \downarrow. -\ell\ell -2113 Lower-case cursive letter l (ordinary). +\ell\ell +2113 Lowercase cursive letter l (ordinary). -\emptyset\emptyset +\emptyset\emptyset 2205 Empty set symbol (ordinary). The variant form is \varnothing. -\epsilon\epsilon +\epsilon\epsilon 03F5 Lower case lunate epsilon (ordinary). Similar to Greek text letter. More widely used in mathematics is the script small letter epsilon \varepsilon 03B5. Related: @@ -7345,194 +8371,194 @@ the set membership relation \in 2208. -\equiv\equiv +\equiv\equiv 2261 Equivalence (relation). -\eta\eta +\eta\eta 03B7 Lower case Greek letter (ordinary). -\exists\exists +\exists\exists 2203 Existential quantifier (ordinary). -\flat\flat +\flat\flat 266D Musical flat (ordinary). -\forall\forall +\forall\forall 2200 Universal quantifier (ordinary). -\frown\frown +\frown\frown 2322 Downward curving arc (ordinary). -\Gamma\Gamma +\Gamma\Gamma 0393 Upper case Greek letter (ordinary). -\gamma\gamma +\gamma\gamma 03B3 Lower case Greek letter (ordinary). -\ge\ge +\ge\ge 2265 Greater than or equal to (relation). This is a synonym for \geq. -\geq\geq +\geq\geq 2265 Greater than or equal to (relation). This is a synonym for \ge. -\gets\gets +\gets\gets 2190 Is assigned the value (relation). Synonym: \leftarrow. -\gg\gg +\gg\gg 226B Much greater than (relation). Similar: much less than \ll. -\hbar\hbar +\hbar\hbar 210F Planck constant over two pi (ordinary). -\heartsuit\heartsuit +\heartsuit\heartsuit 2661 Heart card suit (ordinary). -\hookleftarrow\hookleftarrow +\hookleftarrow\hookleftarrow 21A9 Hooked left arrow (relation). -\hookrightarrow\hookrightarrow +\hookrightarrow\hookrightarrow 21AA Hooked right arrow (relation). -\iff\iff +\iff\iff 27F7 If and only if (relation). It is \Longleftrightarrow with a \thickmuskip on either side. -\Im\Im +\Im\Im 2111 Imaginary part (ordinary). See: real part \Re. -\in\in +\in\in 2208 Set element (relation). See also: lower case lunate epsilon \epsilon03F5 and small letter script epsilon \varepsilon. -\infty\infty +\infty\infty 221E Infinity (ordinary). -\int\int +\int\int 222B Integral (operator). -\iota\iota +\iota\iota 03B9 Lower case Greek letter (ordinary). -\Join\Join +\Join\Join 2A1D Condensed bowtie symbol (relation). Not available in Plain &tex;. -\kappa\kappa +\kappa\kappa 03BA Lower case Greek letter (ordinary). -\Lambda\Lambda +\Lambda\Lambda 039B Upper case Greek letter (ordinary). -\lambda\lambda +\lambda\lambda 03BB Lower case Greek letter (ordinary). -\land\land +\land\land 2227 Logical and (binary). This is a synonym for \wedge. See also logical or \lor. -\langle\langle +\langle\langle 27E8 Left angle, or sequence, bracket (opening). Similar: less-than <. Matches \rangle. -\lbrace\lbrace +\lbrace\lbrace 007B Left curly brace (opening). Synonym: \{. Matches \rbrace. -\lbrack\lbrack +\lbrack\lbrack 005B Left square bracket (opening). Synonym: [. Matches \rbrack. -\lceil\lceil +\lceil\lceil 2308 Left ceiling bracket, like a square bracket but with the bottom shaved off (opening). Matches \rceil. -\le\le +\le\le 2264 Less than or equal to (relation). This is a synonym for \leq. -\leadsto\leadsto +\leadsto\leadsto 21DD Squiggly right arrow (relation). Not available in plain &tex;. In &latex; you need to load the amssymb package. To get this symbol outside of math mode you can put \newcommand*{\Leadsto}{\ensuremath{\leadsto}} in the preamble and then use \Leadsto instead. -\Leftarrow\Leftarrow +\Leftarrow\Leftarrow 21D0 Is implied by, double-line left arrow (relation). Similar: single-line left arrow \leftarrow. -\leftarrow\leftarrow +\leftarrow\leftarrow 2190 Single-line left arrow (relation). Synonym: \gets. Similar: double-line left arrow \Leftarrow. -\leftharpoondown\leftharpoondown +\leftharpoondown\leftharpoondown 21BD Single-line left harpoon, barb under bar (relation). -\leftharpoonup\leftharpoonup +\leftharpoonup\leftharpoonup 21BC Single-line left harpoon, barb over bar (relation). -\Leftrightarrow\Leftrightarrow +\Leftrightarrow\Leftrightarrow 21D4 Bi-implication; double-line double-headed arrow (relation). Similar: single-line double headed arrow \leftrightarrow. -\leftrightarrow\leftrightarrow +\leftrightarrow\leftrightarrow 2194 Single-line double-headed arrow (relation). Similar: double-line double headed arrow \Leftrightarrow. -\leq\leq +\leq\leq 2264 Less than or equal to (relation). This is a synonym for \le. -\lfloor\lfloor +\lfloor\lfloor 230A Left floor bracket (opening). Matches: \floor. -\lhd\lhd +\lhd\lhd 25C1 Arrowhead, that is, triangle, pointing left (binary). Not available in plain &tex;. In &latex; you need to load the amssymb package. For the normal subgroup symbol you should load amssymb and use \vartriangleleft (which is a relation and so gives better spacing). -\ll\ll +\ll\ll 226A Much less than (relation). Similar: much greater than \gg. -\lnot\lnot +\lnot\lnot 00AC Logical negation (ordinary). Synonym: \neg. -\longleftarrow\longleftarrow +\longleftarrow\longleftarrow 27F5 Long single-line left arrow (relation). Similar: long double-line left arrow \Longleftarrow. -\longleftrightarrow\longleftrightarrow +\longleftrightarrow\longleftrightarrow 27F7 Long single-line double-headed arrow (relation). Similar: long double-line double-headed arrow \Longleftrightarrow. -\longmapsto\longmapsto +\longmapsto\longmapsto 27FC Long single-line left arrow starting with vertical bar (relation). Similar: shorter version \mapsto. -\longrightarrow\longrightarrow +\longrightarrow\longrightarrow 27F6 Long single-line right arrow (relation). Similar: long double-line right arrow \Longrightarrow. -\lor\lor +\lor\lor 2228 Logical or (binary). Synonym: wedge \wedge. -\mapsto\mapsto +\mapsto\mapsto 21A6 Single-line left arrow starting with vertical bar (relation). Similar: longer version \longmapsto. -\mho\mho +\mho\mho 2127 Conductance, half-circle rotated capital omega (ordinary). Not available in plain &tex;. In &latex; you need to load the amssymb package. -\mid\mid +\mid\mid 2223 Single-line vertical bar (relation). A typical use of \mid is for a set \{\, x \mid x\geq 5 \,\}. @@ -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 \vert and for norm see the entry for \Vert. -\models\models +\models\models 22A8 Entails, or satisfies; double turnstile, short double dash (relation). Similar: long double dash \vDash. -\mp\mp +\mp\mp 2213 Minus or plus (relation). -\mu\mu +\mu\mu 03BC Lower case Greek letter (ordinary). -\nabla\nabla +\nabla\nabla 2207 Hamilton&textrsquo;s del, or differential, operator (ordinary). -\natural\natural +\natural\natural 266E Musical natural notation (ordinary). -\ne\ne +\ne\ne 2260 Not equal (relation). Synonym: \neq. -\nearrow\nearrow +\nearrow\nearrow 2197 North-east arrow (relation). -\neg\neg +\neg\neg 00AC Logical negation (ordinary). Synonym: \lnot. Sometimes instead used for negation: \sim. -\neq\neq +\neq\neq 2260 Not equal (relation). Synonym: \ne. -\ni\ni +\ni\ni 220B Reflected membership epsilon; has the member (relation). Synonym: \owns. Similar: is a member of \in. -\not\not +\not\not 002000A00338 Long solidus, or slash, used to overstrike a following operator (relation). @@ -7586,81 +8612,81 @@ following operator (relation). particularly with the amssymb package. For example, \notin is probably typographically preferable to \not\in. -\notin\notin +\notin\notin 2209 Not an element of (relation). Similar: not subset of \nsubseteq. -\nu\nu +\nu\nu 03BD Lower case Greek letter (ordinary). -\nwarrow\nwarrow +\nwarrow\nwarrow 2196 North-west arrow (relation). -\odot\odot +\odot\odot 2299 Dot inside a circle (binary). Similar: variable-sized operator \bigodot. -\oint\oint +\oint\oint 222E Contour integral, integral with circle in the middle (operator). -\Omega\Omega +\Omega\Omega 03A9 Upper case Greek letter (ordinary). -\omega\omega +\omega\omega 03C9 Lower case Greek letter (ordinary). -\ominus\ominus +\ominus\ominus 2296 Minus sign, or dash, inside a circle (binary). -\oplus\oplus +\oplus\oplus 2295 Plus sign inside a circle (binary). Similar: variable-sized operator \bigoplus. -\oslash\oslash +\oslash\oslash 2298 Solidus, or slash, inside a circle (binary). -\otimes\otimes +\otimes\otimes 2297 Times sign, or cross, inside a circle (binary). Similar: variable-sized operator \bigotimes. -\owns\owns +\owns\owns 220B Reflected membership epsilon; has the member (relation). Synonym: \ni. Similar: is a member of \in. -\parallel\parallel +\parallel\parallel 2225 Parallel (relation). Synonym: \|. -\partial\partial +\partial\partial 2202 Partial differential (ordinary). -\perp\perp +\perp\perp 27C2 Perpendicular (relation). Similar: \bot uses the same glyph but the spacing is different because it is in the class ordinary. -\phi\phi +\phi\phi 03D5 Lower case Greek letter (ordinary). The variant form is \varphi 03C6. -\Pi\Pi +\Pi\Pi 03A0 Upper case Greek letter (ordinary). -\pi\pi +\pi\pi 03C0 Lower case Greek letter (ordinary). The variant form is \varpi 03D6. -\pm\pm +\pm\pm 00B1 Plus or minus (binary). -\prec\prec +\prec\prec 227A Precedes (relation). Similar: less than <. -\preceq\preceq +\preceq\preceq 2AAF Precedes or equals (relation). Similar: less than or equals \leq. -\prime\prime +\prime\prime 2032 Prime, or minute in a time expression (ordinary). Typically used as a superscript: $f^\prime$; $f^\prime$ and $f'$ produce the same result. An advantage of the second @@ -7670,299 +8696,299 @@ typing. You can only use \prime in math mode. Using the right single quote ' in text mode produces a different character (apostrophe). -\prod\prod +\prod\prod 220F Product (operator). -\propto\propto +\propto\propto 221D Is proportional to (relation) -\Psi\Psi +\Psi\Psi 03A8 Upper case Greek letter (ordinary). -\psi\psi +\psi\psi 03C8 Lower case Greek letter (ordinary). -\rangle\rangle +\rangle\rangle 27E9 Right angle, or sequence, bracket (closing). Similar: greater than >. Matches:\langle. -\rbrace\rbrace +\rbrace\rbrace 007D Right curly brace (closing). Synonym: \}. Matches \lbrace. -\rbrack\rbrack +\rbrack\rbrack 005D Right square bracket (closing). Synonym: ]. Matches \lbrack. -\rceil\rceil +\rceil\rceil 2309 Right ceiling bracket (closing). Matches \lceil. -\Re\Re +\Re\Re 211C Real part, real numbers, cursive capital R (ordinary). Related: double-line, or blackboard bold, R \mathbb{R}; to access this, load the amsfonts package. -\restriction\restriction +\restriction\restriction 21BE Restriction of a function (relation). Synonym: \upharpoonright. Not available in plain &tex;. In &latex; you need to load the amssymb package. -\revemptyset\revemptyset +\revemptyset\revemptyset 29B0 Reversed empty set symbol (ordinary). Related: \varnothing. Not available in plain &tex;. In &latex; you need to load the stix package. -\rfloor\rfloor +\rfloor\rfloor 230B Right floor bracket, a right square bracket with the top cut off (closing). Matches \lfloor. -\rhd\rhd +\rhd\rhd 25C1 Arrowhead, that is, triangle, pointing right (binary). Not available in plain &tex;. In &latex; you need to load the amssymb package. For the normal subgroup symbol you should instead load amssymb and use \vartriangleright (which is a relation and so gives better spacing). -\rho\rho +\rho\rho 03C1 Lower case Greek letter (ordinary). The variant form is \varrho 03F1. -\Rightarrow\Rightarrow +\Rightarrow\Rightarrow 21D2 Implies, right-pointing double line arrow (relation). Similar: right single-line arrow \rightarrow. -\rightarrow\rightarrow +\rightarrow\rightarrow 2192 Right-pointing single line arrow (relation). Synonym: \to. Similar: right double line arrow \Rightarrow. -\rightharpoondown\rightharpoondown +\rightharpoondown\rightharpoondown 21C1 Right-pointing harpoon with barb below the line (relation). -\rightharpoonup\rightharpoonup +\rightharpoonup\rightharpoonup 21C0 Right-pointing harpoon with barb above the line (relation). -\rightleftharpoons\rightleftharpoons +\rightleftharpoons\rightleftharpoons 21CC Right harpoon up above left harpoon down (relation). -\searrow\searrow +\searrow\searrow 2198 Arrow pointing southeast (relation). -\setminus\setminus +\setminus\setminus 29F5 Set difference, reverse solidus or slash, like \ (binary). Similar: backslash \backslash and also \textbackslash outside of math mode. -\sharp\sharp +\sharp\sharp 266F Musical sharp (ordinary). -\Sigma\Sigma +\Sigma\Sigma 03A3 Upper case Greek letter (ordinary). -\sigma\sigma +\sigma\sigma 03C3 Lower case Greek letter (ordinary). The variant form is \varsigma 03C2. -\sim\sim +\sim\sim 223C Similar, in a relation (relation). -\simeq\simeq +\simeq\simeq 2243 Similar or equal to, in a relation (relation). -\smallint\smallint +\smallint\smallint 222B Integral sign that does not change to a larger size in a display (operator). -\smile\smile +\smile\smile 2323 Upward curving arc, smile (ordinary). -\spadesuit\spadesuit +\spadesuit\spadesuit 2660 Spade card suit (ordinary). -\sqcap\sqcap +\sqcap\sqcap 2293 Square intersection symbol (binary). Similar: intersection cap. -\sqcup\sqcup +\sqcup\sqcup 2294 Square union symbol (binary). Similar: union cup. Related: variable-sized operator \bigsqcup. -\sqsubset\sqsubset +\sqsubset\sqsubset 228F Square subset symbol (relation). Similar: subset \subset. Not available in plain &tex;. In &latex; you need to load the amssymb package. -\sqsubseteq\sqsubseteq +\sqsubseteq\sqsubseteq 2291 Square subset or equal symbol (binary). Similar: subset or equal to \subseteq. -\sqsupset\sqsupset +\sqsupset\sqsupset 2290 Square superset symbol (relation). Similar: superset \supset. Not available in plain &tex;. In &latex; you need to load the amssymb package. -\sqsupseteq\sqsupseteq +\sqsupseteq\sqsupseteq 2292 Square superset or equal symbol (binary). Similar: superset or equal \supseteq. -\star\star +\star\star 22C6 Five-pointed star, sometimes used as a general binary operation but sometimes reserved for cross-correlation (binary). Similar: the synonyms asterisk * and \ast, which are six-pointed, and more often appear as a superscript or subscript, as with the Kleene star. -\subset\subset +\subset\subset 2282 Subset (occasionally, is implied by) (relation). -\subseteq\subseteq +\subseteq\subseteq 2286 Subset or equal to (relation). -\succ\succ +\succ\succ 227B Comes after, succeeds (relation). Similar: is less than >. -\succeq\succeq +\succeq\succeq 2AB0 Succeeds or is equal to (relation). Similar: less than or equal to \leq. -\sum\sum +\sum\sum 2211 Summation (operator). Similar: Greek capital sigma \Sigma. -\supset\supset +\supset\supset 2283 Superset (relation). -\supseteq\supseteq +\supseteq\supseteq 2287 Superset or equal to (relation). -\surd\surd +\surd\surd 221A Radical symbol (ordinary). The &latex; command \sqrt{...} typesets the square root of the argument, with a bar that extends to cover the argument. -\swarrow\swarrow +\swarrow\swarrow 2199 Southwest-pointing arrow (relation). -\tau\tau +\tau\tau 03C4 Lower case Greek letter (ordinary). -\theta\theta +\theta\theta 03B8 Lower case Greek letter (ordinary). The variant form is \vartheta 03D1. -\times\times +\times\times 00D7 Primary school multiplication sign (binary). See also \cdot. -\to\to +\to\to 2192 Right-pointing single line arrow (relation). Synonym: \rightarrow. -\top\top +\top\top 22A4 Top, greatest element of a partially ordered set (ordinary). See also \bot. -\triangle\triangle +\triangle\triangle 25B3 Triangle (ordinary). -\triangleleft\triangleleft +\triangleleft\triangleleft 25C1 Not-filled triangle pointing left (binary). Similar: \lhd. For the normal subgroup symbol you should load amssymb and use \vartriangleleft (which is a relation and so gives better spacing). -\triangleright\triangleright +\triangleright\triangleright 25B7 Not-filled triangle pointing right (binary). For the normal subgroup symbol you should instead load amssymb and use \vartriangleright (which is a relation and so gives better spacing). -\unlhd\unlhd +\unlhd\unlhd 22B4 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 amssymb package. For the normal subgroup symbol load amssymb and use \vartrianglelefteq (which is a relation and so gives better spacing). -\unrhd\unrhd +\unrhd\unrhd 22B5 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 amssymb package. For the normal subgroup symbol load amssymb and use \vartrianglerighteq (which is a relation and so gives better spacing). -\Uparrow\Uparrow +\Uparrow\Uparrow 21D1 Double-line upward-pointing arrow (relation). Similar: single-line up-pointing arrow \uparrow. -\uparrow\uparrow +\uparrow\uparrow 2191 Single-line upward-pointing arrow, diverges (relation). Similar: double-line up-pointing arrow \Uparrow. -\Updownarrow\Updownarrow +\Updownarrow\Updownarrow 21D5 Double-line upward-and-downward-pointing arrow (relation). Similar: single-line upward-and-downward-pointing arrow \updownarrow. -\updownarrow\updownarrow +\updownarrow\updownarrow 2195 Single-line upward-and-downward-pointing arrow (relation). Similar: double-line upward-and-downward-pointing arrow \Updownarrow. -\upharpoonright\upharpoonright +\upharpoonright\upharpoonright 21BE Up harpoon, with barb on right side (relation). Synonym: &backslashchar;restriction. Not available in plain &tex;. In &latex; you need to load the amssymb package. -\uplus\uplus +\uplus\uplus 228E Multiset union, a union symbol with a plus symbol in the middle (binary). Similar: union \cup. Related: variable-sized operator \biguplus. -\Upsilon\Upsilon +\Upsilon\Upsilon 03A5 Upper case Greek letter (ordinary). -\upsilon\upsilon +\upsilon\upsilon 03C5 Lower case Greek letter (ordinary). -\varepsilon\varepsilon +\varepsilon\varepsilon 03B5 Small letter script epsilon (ordinary). This is more widely used in mathematics than the non-variant lunate epsilon form \epsilon 03F5. Related: set membership \in. -\vanothing\vanothing +\vanothing\vanothing 2205 Empty set symbol. Similar: \emptyset. Related: \revemptyset. Not available in plain &tex;. In &latex; you need to load the amssymb package. -\varphi\varphi +\varphi\varphi 03C6 Variant on the lower case Greek letter (ordinary). The non-variant form is \phi 03D5. -\varpi\varpi +\varpi\varpi 03D6 Variant on the lower case Greek letter (ordinary). The non-variant form is \pi 03C0. -\varrho\varrho +\varrho\varrho 03F1 Variant on the lower case Greek letter (ordinary). The non-variant form is \rho 03C1. -\varsigma\varsigma +\varsigma\varsigma 03C2 Variant on the lower case Greek letter (ordinary). The non-variant form is \sigma 03C3. -\vartheta\vartheta +\vartheta\vartheta 03D1 Variant on the lower case Greek letter (ordinary). The non-variant form is \theta 03B8. -\vdash\vdash +\vdash\vdash 22A2 Provable; turnstile, vertical and a dash (relation). Similar: turnstile rotated a half-circle \dashv. -\vee\vee +\vee\vee 2228 Logical or; a downwards v shape (binary). Related: logical and \wedge. Similar: variable-sized operator \bigvee. -\Vert\Vert +\Vert\Vert 2016 Vertical double bar (ordinary). Similar: vertical single bar \vert. @@ -7978,7 +9004,7 @@ and \norm[size command]{M^\perp} also give do not grow but are set to the size given in the size command, e.g., \Bigg. -\vert\vert +\vert\vert 007C Single line vertical bar (ordinary). Similar: double-line vertical bar \Vert. For such that, as in the definition of a set, use \mid 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 size command, e.g., \Bigg. -\wedge\wedge +\wedge\wedge 2227 Logical and (binary). Synonym: \land. See also logical or \vee. Similar: variable-sized operator \bigwedge. -\wp\wp +\wp\wp 2118 Weierstrass p (ordinary). -\wr\wr +\wr\wr 2240 Wreath product (binary). -\Xi\Xi +\Xi\Xi 039E Upper case Greek letter (ordinary). -\xi\xi +\xi\xi 03BE Lower case Greek letter (ordinary). -\zeta\zeta +\zeta\zeta 03B6 Lower case Greek letter (ordinary). @@ -8022,116 +9048,116 @@ operator \bigwedge. Math functionsMath accentsMath symbolsMath formulas
Math functions -math functions -functions, math +math functions +functions, math These commands produce roman function names in math mode with proper spacing. -\arccos\arccos +\arccos\arccos \arccos -\arcsin\arcsin +\arcsin\arcsin \arcsin -\arctan\arctan +\arctan\arctan \arctan -\arg\arg +\arg\arg \arg -\bmod\bmod +\bmod\bmod Binary modulo operator (x \bmod y) -\cos\cos +\cos\cos \cos -\cosh\cosh +\cosh\cosh \cosh -\cot\cot +\cot\cot \cot -\coth\coth +\coth\coth \coth -\csc\csc +\csc\csc \csc -\deg\deg +\deg\deg \deg -\det\det +\det\det \det -\dim\dim +\dim\dim \dim -\exp\exp +\exp\exp \exp -\gcd\gcd +\gcd\gcd \gcd -\hom\hom +\hom\hom \hom -\inf\inf +\inf\inf \inf -\ker\ker +\ker\ker \ker -\lg\lg +\lg\lg \lg -\lim\lim +\lim\lim \lim -\liminf\liminf +\liminf\liminf \liminf -\limsup\limsup +\limsup\limsup \limsup -\ln\ln +\ln\ln \ln -\log\log +\log\log \log -\max\max +\max\max \max -\min\min +\min\min \min -\pmod\pmod +\pmod\pmod parenthesized modulus, as in (\pmod 2^n - 1) -\Pr\Pr +\Pr\Pr \Pr -\sec\sec +\sec\sec \sec -\sin\sin +\sin\sin \sin -\sinh\sinh +\sinh\sinh \sinh -\sup\sup +\sup\sup \sup -\tan\tan +\tan\tan \tan -\tanh\tanh +\tanh\tanh \tanh @@ -8141,76 +9167,76 @@ spacing. Math accentsSpacing in math modeMath functionsMath formulas
Math accents -math accents -accents, mathematical +math accents +accents, mathematical &latex; provides a variety of commands for producing accented letters in math. These are different from accents in normal text (Accents). -\acute\acute -acute accent, math +\acute\acute +acute accent, math Math acute accent: \acute{x}. -\bar\bar -bar-over accent, math -macron accent, math +\bar\bar +bar-over accent, math +macron accent, math Math bar-over accent: \bar{x}. -\breve\breve -breve accent, math +\breve\breve +breve accent, math Math breve accent: \breve{x}. -\check\check -check accent, math -hacek accent, math +\check\check +check accent, math +hacek accent, math Math hacek (check) accent: \check{x}. -\ddot\ddot -double dot accent, math +\ddot\ddot +double dot accent, math Math dieresis accent: \ddot{x}. -\dot\dot -overdot accent, math -dot over accent, math +\dot\dot +overdot accent, math +dot over accent, math Math dot accent: \dot{x}. -\grave\grave -grave accent, math +\grave\grave +grave accent, math Math grave accent: \grave{x}. -\hat\hat -hat accent, math -circumflex accent, math +\hat\hat +hat accent, math +circumflex accent, math Math hat (circumflex) accent: \hat{x}. -\imath\imath -dotless i, math +\imath\imath +dotless i, math Math dotless i. -\jmath\jmath -dotless j, math +\jmath\jmath +dotless j, math Math dotless j. -\mathring\mathring -ring accent, math +\mathring\mathring +ring accent, math Math ring accent: x. -\tilde\tilde -tilde accent, math +\tilde\tilde +tilde accent, math Math tilde accent: \tilde{x}. -\vec\vec -vector symbol, math +\vec\vec +vector symbol, math Math vector symbol: \vec{x}. -\widehat\widehat -wide hat accent, math +\widehat\widehat +wide hat accent, math Math wide hat accent: \widehat{x+y}. -\widetilde\widetilde -wide tilde accent, math +\widetilde\widetilde +wide tilde accent, math Math wide tilde accent: \widetilde{x+y}. @@ -8220,8 +9246,8 @@ in math. These are different from accents in normal text Spacing in math modeMath miscellanyMath accentsMath formulas
Spacing in math mode -spacing within math mode -math mode, spacing +spacing within math mode +math mode, spacing In a math 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 (Units of lengt \; -\; -\thickspace +\; +\thickspace Normally 5.0mu plus 5.0mu. The longer name is \thickspace. Math mode only. \: \> -\: -\> -\medspace +\: +\> +\medspace Normally 4.0mu plus 2.0mu minus 4.0mu. The longer name is \medspace. Math mode only. \, -\, -\thinspace +\, +\thinspace Normally 3mu. The longer name is \thinspace. This can be used in both math mode and text mode. \thinspace. \! -\! +\! A negative thin space. Normally -3mu. Math mode only. \quad -quad -\quad +quad +\quad This is 18mu, that is, 1em. This is often used for space surrounding equations or expressions, for instance for the space between two equations inside a displaymath environment. It is available in both text and math mode. \qquad -\qquad +\qquad A length of 2 quads, that is, 36mu = 2em. It is available in both text and math mode.
@@ -8283,12 +9309,12 @@ infinitesimal. Math miscellanySpacing in math modeMath formulas
Math miscellany -math miscellany +math miscellany -\*\* -discretionary multiplication -multiplication symbol, discretionary line break +\*\* +discretionary multiplication +multiplication symbol, discretionary line break A discretionary 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 00D7 symbol is @@ -8316,72 +9342,71 @@ through A_4, that is A_1 A_2 \times&linebreak;A_ equal to zero. -\cdots\cdots +\cdots\cdots A horizontal ellipsis with the dots raised to the center of the line. -As in: &textlsquo;$\cdots$&textrsquo;. -\ddots\ddots +\ddots\ddots A diagonal ellipsis: \ddots. -\frac{num}{den}\frac{num}{den} -\frac +\frac{num}{den}\frac{num}{den} +\frac Produces the fraction num divided by den. -\left delim1 ... \right delim2\left delim1 ... \right delim2 -\right -null delimiter +\left delim1 ... \right delim2\left delim1 ... \right delim2 +\right +null delimiter The two delimiters need not match; . acts as a null delimiter, producing no output. The delimiters are sized according to the math in between. Example: \left( \sum_{i=1}^{10} a_i \right]. -\mathdollar\mathdollar +\mathdollar\mathdollar Dollar sign in math mode: $. -\mathellipsis\mathellipsis +\mathellipsis\mathellipsis Ellipsis (spaced for text) in math mode: &dots;. -\mathparagraph\mathparagraph +\mathparagraph\mathparagraph Paragraph sign (pilcrow) in math mode: 00B6. -\mathsection\mathsection +\mathsection\mathsection Section sign in math mode. -\mathsterling\mathsterling +\mathsterling\mathsterling Sterling sign in math mode: £. -\mathunderscore\mathunderscore +\mathunderscore\mathunderscore Underscore in math mode: _. -\overbrace{math}\overbrace{math} +\overbrace{math}\overbrace{math} Generates a brace over math. For example, \overbrace{x+\cdots+x}^{k \;\textrm{times}}. -\overline{text}\overline{text} +\overline{text}\overline{text} Generates a horizontal line over tex. For example, \overline{x+y}. -\sqrt[root]{arg}\sqrt[root]{arg} +\sqrt[root]{arg}\sqrt[root]{arg} Produces the representation of the square root of arg. The optional argument root determines what root to produce. For example, the cube root of x+y would be typed as \sqrt[3]{x+y}. -\stackrel{text}{relation}\stackrel{text}{relation} +\stackrel{text}{relation}\stackrel{text}{relation} Puts text above relation. For example, \stackrel{f}{\longrightarrow}. -\underbrace{math}\underbrace{math} +\underbrace{math}\underbrace{math} Generates math with a brace underneath. For example, \underbrace{x+y+z}_{>\,0} -\underline{text}\underline{text} +\underline{text}\underline{text} Causes text, which may be either math mode or not, to be underlined. The line is always below the text, taking account of descenders. -\vdots\vdots +\vdots\vdots Produces a vertical ellipsis. @@ -8392,11 +9417,11 @@ descenders. ModesPage stylesMath formulasTop Modes -modes -paragraph mode -math mode -left-to-right mode -LR mode +modes +paragraph mode +math mode +left-to-right mode +LR mode 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. &latex; is in math mode when it&textrsquo;s generating a mathematical formula, either displayed math or within a line. -\mbox, and LR mode +\mbox, and LR mode In LR mode, as in paragraph mode, &latex; considers the output that it produces to be a string of words with spaces between them. However, unlike paragraph mode, &latex; keeps going from left to @@ -8490,8 +9515,8 @@ All roads \leadsto\ Rome. Page stylesSpacesModesTop Page styles -styles, page -page styles +styles, page +page styles The \documentclass 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 \maketitle\pagenumberingPage styles
\maketitle -titles, making -\maketitle +titles, making +\maketitle The \maketitle command generates a title on a separate title page&textmdash;except in the article 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: -\author{name \and name2}\author{name \and name2} -author, for titlepage -\\ for \author -\and for \author +\author{name \and name2}\author{name \and name2} +author, for titlepage +\\ for \author +\and for \author The \author command declares the document author(s), where the argument is a list of authors separated by \and commands. Use \\ to separate lines within a single author&textrsquo;s entry&textmdash;for example, to give the author&textrsquo;s institution or address. -\date{text}\date{text} -date, for titlepage +\date{text}\date{text} +date, for titlepage The \date command declares text to be the document&textrsquo;s date. With no \date command, the current date (\today) is used. -\thanks{text}\thanks{text} -thanks, for titlepage -credit footnote +\thanks{text}\thanks{text} +thanks, for titlepage +credit footnote The \thanks command produces a \footnote to the title, usually used for credit acknowledgements. -\title{text}\title{text} -title, for titlepage -\\ for \title +\title{text}\title{text} +title, for titlepage +\\ for \title The \title command declares text to be the title of the document. Use \\ to force a line break, as usual. @@ -8550,8 +9575,8 @@ document. Use \\ to force a line break, as usual. \pagenumbering\pagestyle\maketitlePage styles
\pagenumbering -\pagenumbering -page numbering style +\pagenumbering +page numbering style Synopsis: @@ -8585,10 +9610,10 @@ the following: \pagestyle\thispagestyle\pagenumberingPage styles
\pagestyle -\pagestyle -header style -footer style -running header and footer style +\pagestyle +header style +footer style +running header and footer style Synopsis: @@ -8619,7 +9644,7 @@ goes in the headers. Here are the descriptions of \markboth and \markright: -\markboth{left}{right}\markboth{left}{right} +\markboth{left}{right}\markboth{left}{right} Sets both the left and the right heading. A &textldquo;left-hand heading&textrdquo; (left) is generated by the last \markboth command before the end of the page, while a &textldquo;right-hand heading&textrdquo; (right) is @@ -8627,7 +9652,7 @@ generated by the first \markboth or \markright that comes on the page if there is one, otherwise by the last one before the page. -\markright{right}\markright{right} +\markright{right}\markright{right} Sets the right heading, leaving the left heading unchanged. @@ -8637,7 +9662,7 @@ the page. \thispagestyle\pagestylePage styles
\thispagestyle{style} -\thispagestyle +\thispagestyle The \thispagestyle command works in the same manner as the \pagestyle command (see previous section) except that it @@ -8649,8 +9674,8 @@ changes to style for the current page only. SpacesBoxesPage stylesTop Spaces -spaces -white space +spaces +white space &latex; has many ways to produce white (or filled) space. @@ -8658,9 +9683,8 @@ changes to style for the current page only.
Horizontal space 
 
\hspace
Fixed horizontal space.  
 
\hfill
Stretchable horizontal space.  
-
\(SPACE) and \&arobase;
Space after a period.  
+
\spacefactor
Stretchability of following space
 
\(SPACE) after control sequence
Space (gobbling) after a control sequence.
-
\frenchspacing
Equal interword and inter-sentence space.
 
\thinspace
One-sixth of an em.  
 
\/
Insert italic correction.
 
\hrulefill \dotfill
Stretchable horizontal rule or dots.
@@ -8676,7 +9700,7 @@ Vertical space
 \hspace\hfillSpaces
 
\hspace -\hspace +\hspace Synopsis: @@ -8708,68 +9732,153 @@ from the right margin.
-\hfill\(SPACE) and \&arobase;\hspaceSpaces +\hfill\spacefactor\hspaceSpaces
\hfill -\hfill +\hfill -stretch, infinite horizontal -infinite horizontal stretch +stretch, infinite horizontal +infinite horizontal stretch Produce a rubber length which has no natural space but can stretch horizontally as far as needed (Lengths). -\fill +\fill The command \hfill is equivalent to \hspace{\fill}. For space that does not disappear at line breaks use \hspace*{\fill} instead (\hspace).
-\(SPACE) and \&arobase;\(SPACE) after control sequence\hfillSpaces -
\(SPACE) and \&arobase; +\spacefactor\(SPACE) after control sequence\hfillSpaces +
\spacefactor + +Synopsis: + + +
\spacefactor=integer
+
+ +\spacefactor +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;&textrsquo;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&textrsquo;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&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 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, \(SPACE) and \&arobase;. + + + +\(SPACE) and \&arobase;
Space after a period.  
+
\frenchspacing
Equal interword and inter-sentence space.
+
\normalsfcodes
Restore space factor settings to the default.
+
+ -\(SPACE) -\TAB -\NEWLINE -\&arobase; +\(SPACE) and \&arobase;\frenchspacing\spacefactor +\(SPACE) and \&arobase; + +\(SPACE) +\TAB +\NEWLINE +\&arobase; \AT -Mark a punctuation character, typically a period, as either ending a -sentence or as ending an abbreviation. +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 -(\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. \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 \ , \(SPACE) after control sequence. +a tie (~) or a \&arobase;. Examples are Nat.\ Acad.\ +Science, and Mr.~Bean, and (manure, etc.\&arobase;) for sale +(note that in the last the \&arobase; 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 \&arobase; before that period. -For example, book by the MAA\&arobase;. will have inter-sentence -spacing after the period. +period that does end the sentence, then put \&arobase; before the +period. For example, book by the MAA\&arobase;. will have correct +inter-sentence spacing after the period. + +For another use of \(SPACE), \(SPACE) after control sequence. + + + +\frenchspacing\normalsfcodes\(SPACE) and \&arobase;\spacefactor +\frenchspacing + +\frenchspacing +\nonfrenchspacing +spacing, inter-sentence + +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. -In contrast, putting \&arobase; after a period tells &tex; that the -period does not end the sentence. In the example reserved words -(if, then, etc.\&arobase;) are different, &tex; will put interword space -after the closing parenthesis (note that \&arobase; is before the -parenthesis). + + +\normalsfcodes\frenchspacing\spacefactor +\normalsfcodes + +\normalsfcodes +spacing, inter-sentence + +Reset the &latex; space factor values to the default. +
-\(SPACE) after control sequence\frenchspacing\(SPACE) and \&arobase;Spaces +\(SPACE) after control sequence\thinspace\spacefactorSpaces
\ after control sequence The \ 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.
-package, xspace -xspace package +package, xspace +xspace package + Some individual commands, notably those defined with the xspace, package do not follow the standard behavior.
-\frenchspacing\thinspace\(SPACE) after control sequenceSpaces -
\frenchspacing - -\frenchspacing -\nonfrenchspacing -spacing, inter-sentence - -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. - - -
-\thinspace\/\frenchspacingSpaces +\thinspace\/\(SPACE) after control sequenceSpaces
\thinspace: Insert 1/6em -\thinspace +\thinspace \thinspace 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;&textrdquo;. -\fboxrule -\fboxsep +\fboxrule +\fboxsep Both commands produce a rule of thickness \fboxrule (default -.4pt), and leave a space of \fboxsep (default -3pt) between the rule and the contents of the box. +0.4pt), and leave a space of \fboxsep (default 3pt) +between the rule and the contents of the box. \framebox (picture), for the \framebox command in the picture environment. @@ -9097,7 +10186,7 @@ argument. lrbox\makebox\fbox and \frameboxBoxes
lrbox -lrbox +lrbox Synopsis: @@ -9117,7 +10206,7 @@ which must have been declared with \newsavebox. \makebox\parboxlrboxBoxes
\makebox -\makebox +\makebox Synopsis: @@ -9151,7 +10240,7 @@ stretchable space for this to work. \parbox\raisebox\makeboxBoxes
\parbox -\parbox +\parbox Synopsis: @@ -9159,8 +10248,9 @@ stretchable space for this to work.
\parbox[position][height][inner-pos]{width}{text}
 
+paragraph mode The \parbox command produces a box whose contents are created -in paragraph mode. It should be used to make a box small +in paragraph mode. 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 \parbox argument. For larger pieces of text, including ones @@ -9206,7 +10296,7 @@ for this to work. \raisebox\savebox\parboxBoxes
\raisebox -\raisebox +\raisebox Synopsis: @@ -9229,7 +10319,7 @@ ignoring its natural height and depth. \savebox\sbox\raiseboxBoxes
\savebox -\savebox +\savebox Synopsis: @@ -9247,7 +10337,7 @@ declared with \newsavebox (\sbox\usebox\saveboxBoxes
\sbox{\boxcmd}{text} -\sbox +\sbox Synopsis: @@ -9266,7 +10356,7 @@ included in the normal output, it is saved in the box labeled \usebox\sboxBoxes
\usebox{\boxcmd} -\usebox +\usebox Synopsis: @@ -9280,380 +10370,1702 @@ included in the normal output, it is saved in the box labeled
-Special insertionsSplitting the inputBoxesTop -Special insertions +ColorGraphicsBoxesTop +Color -special insertions -insertions of special characters +color -&latex; provides commands for inserting characters that have a -special meaning do not correspond to simple characters you can type. +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;&textrsquo;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. -Reserved characters
Inserting # $ % & { } _ ~ ^ \
-
Symbols by font position
Inserting font symbols by number.
-
Text symbols
Inserting other non-letter symbols in text.
-
Accents
Inserting accents.
-
Additional Latin letters
Inserting other non-English characters.
-
\rule
Inserting lines and rectangles.
-
\today
Inserting today&textrsquo;s date.
+Color package options
Options when you load the standard package.
+
Color models
How colors are represented.
+
Commands for color
The available commands.
 
-Reserved charactersSymbols by font positionSpecial insertions -
Reserved characters +Color package optionsColor modelsColor +
Color package options -reserved characters -characters, reserved -special characters -characters, special -&latex; sets aside the following characters for special purposes (for -example, the percent sign % is for comments) so they are -called reserved characters or special characters. +color package options +options, color package + +Synopsis (must be in the document preamble): -
# $ % & { } _ ~ ^ \ 
+
\usepackage[comma-separated option list]{color}
 
-\# -\$ -\% -\& -\_ -\{ -\} -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 \ in front of the character. Thus, -\$1.23 will produce $1.23 in your output. +When you load the color package there are two kinds of available +options. -\~ -\^ -\textbackslash -As to the last three characters, to get a tilde in the text body font -use \~{} (omitting the curly braces would result in the next -character receiving a tilde accent). Similarly, to get a get a text -body font circumflex use \^{}. A text body font backslash -results from \textbackslash{}. +The first specifies the printer driver. &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: 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). -To produce the reserved characters in a typewriter font use -\verb!!, as below. +The second kind of options, beyond the drivers, are below. - -
\begin{center}
-  \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \\
-  \verb!# $ % & { } _ ~ ^ \!
-\end{center}
-
- -In that example the double backslash \\ is only there to -split the lines. + + +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. + +
+
-Symbols by font positionText symbolsReserved charactersSpecial insertions -
Symbols by font position +Color modelsCommands for colorColor package optionsColor +
Color models -\symbol -accessing any character of a font -font symbols, by number +color models -You can access any character of the current font using its number with -the \symbol command. For example, the visible space character -used in the \verb* command has the code decimal 32, so it can be -typed as \symbol{32}. +A color model is a way of representing colors. &latex;&textrsquo;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. -You can also specify numbers in octal (base 8) by using a ' -prefix, or hexadecimal (base 16) with a " prefix, so the previous -example could also be written as \symbol{'40} or -\symbol{"20}. +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 +Color package options). +
+
-Text symbolsAccentsSymbols by font positionSpecial insertions -
Text symbols +Commands for colorColor modelsColor +
Commands for color -text symbols -symbols, text +color package commands -textcomp package -&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 textcomp package. - - -\copyright\copyright -\textcopyright\textcopyright -copyright symbol -The copyright symbol, ©right;. - -\dag\dag -dagger, in text -The dagger symbol (in text). +These are the commands available with the color package. -\ddag\ddag -double dagger, in text -The double dagger symbol (in text). + +Define colors
Give a color a name.
+
Colored text
Text or rules in color.
+
Colored boxes
A box of color, to write over.
+
Colored pages
A whole page colored.
+
+ + +Define colorsColored textCommands for color +Define colors + +color +define color +color, define + +Synopsis: -
\LaTeX\LaTeX -&latex; logo -logo, &latex; -The &latex; logo. + +
\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}!. -
\LaTeXe\LaTeXe -&latex;2e logo -logo, &latex;2e -The &latex;2e logo. +This example gives the color a more abstract name, so it could change and +not be misleading. -\guillemotleft («)\guillemotleft («) -\guillemotright (»)\guillemotright (») -\guilsinglleft (‹)\guilsinglleft (‹) -\guilsinglright (›)\guilsinglright (›) -double guillemets -single guillemets -left angle quotation marks -right angle quotation marks -double angle quotation marks -single angle quotation marks -French quotation marks -quotation marks, French -Double and single angle quotation marks, commonly used in French: -«, », ‹, ›. + +
\definecolor{logocolor}{RGB}{145,92,131}    % RGB needs pdflatex
+\newcommand{\logo}{\textcolor{logocolor}{Bob's Big Bagels}}
+
+ +Often a document&textrsquo;s colors are defined in the preamble, or in the class +or style, rather than in the document body. -
\ldots\ldots -\dots\dots -\textellipsis\textellipsis -ellipsis -An ellipsis (three dots at the baseline): &textlsquo;&dots;&textrsquo;. \ldots -and \dots also work in math mode. + + +Colored textColored boxesDefine colorsCommands for color +Colored text + +color +colored text + +Synopses: -\lq\lq -left quote -opening quote -Left (opening) quote: &textlsquo;. + +
\textcolor{name}{...}
+\textcolor[color model]{color specification}{...}
+
+ +or -
\P\P -\textparagraph\textparagraph -paragraph symbol -pilcrow -Paragraph sign (pilcrow): 00B6. + +
\color{name}
+\color[color model]{specification}
+
+ +The affected text gets the color. This line -
\pounds\pounds -\textsterling\textsterling -pounds symbol -sterling symbol -English pounds sterling: £. + +
\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. -
\quotedblbase („)\quotedblbase („) -\quotesinglbase (‚)\quotesinglbase (‚) -double low-9 quotation mark -single low-9 quotation mark -low-9 quotation marks, single and double -Double and single quotation marks on the baseline: -„ and ‚. + +
\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. -
\rq\rq -right quote -closing quote -Right (closing) quote: &textrsquo;. + +
\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. -
\S\S -\itemx \textsection -section symbol -Section sign: 00A7. + +
\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. -
\TeX\TeX -&tex; logo -logo, &tex; -The &tex; logo. + +
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 +(Color models). For instance, while rgb takes three +numbers, gray takes only one. -
\textasciicircum\textasciicircum -circumflex, ASCII, in text -ASCII circumflex, in text -ASCII circumflex: ^. + +
The selection was \textcolor[gray]{0.5}{grayed out}.
+
+ +Colors inside colors do not combine. Thus -
\textasciitilde\textasciitilde -tilde, ASCII, in text -ASCII tilde, in text -ASCII tilde: ~. + +
\textcolor{green}{kind of \textcolor{blue}{blue}}
+
+ +has a final word that is blue, not a combination of blue and green. -
\textasteriskcentered\textasteriskcentered -asterisk, centered, in text -centered asterisk, in text -Centered asterisk: *. + + + + +Colored boxesColored pagesColored textCommands for color +Colored boxes + +color +colored boxes +box, colored + +Synopses: -\textbackslash\textbackslash -backslash, in text -Backslash: \. + +
\colorbox{name}{...}
+\colorbox[model name]{box background color specification}{...}
+
+ +or -
\textbar\textbar -vertical bar, in text -bar, vertical, in text -Vertical bar: |. + +
\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 -
\textbardbl\textbardbl -vertical bar, double, in text -bar, double vertical, in text -double vertical bar, in text -Double vertical bar. + +
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. -
\textbigcircle\textbigcircle -big circle symbols, in text -circle symbol, big, in text -Big circle symbol. + +
\colorbox{blue}{\textcolor{white}{Welcome to the machine.}}
+
+ +The \fcolorbox commands use the same parameters as \fbox +(\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;&textrsquo;s defaults are 0.4pt and +3pt, respectively. -
\textbraceleft\textbraceleft -left brace, in text -brace, left, in text -Left brace: {. +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. -\textbraceright\textbraceright -right brace, in text -brace, right, in text + +
{\setlength{\fboxrule}{0.8pt}
+\fcolorbox{black}{red}{Under no circumstances turn this knob.}}
+
+ + + +Colored pagesColored boxesCommands for color +Colored pages + +color +colored page +page, colored +background, colored + +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 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
+
+ + +
+
+ +GraphicsSpecial insertionsColorTop +Graphics + +graphics +graphics package + +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 +(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. + + +Graphics package options
Options when you load the package.
+
Graphics package configuration
Where to look for files, which file types.
+
Commands for graphics
The available commands.
+
+ + +Graphics package optionsGraphics package configurationGraphics +
Graphics package options + +graphics package options +options, graphics package + +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&textrsquo;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. + +
+ + +
+Graphics package configurationCommands for graphicsGraphics package optionsGraphics +
Graphics package configuration + +graphics +graphics package +configuration, graphics package +EPS files +JPEG files +JPG files +PDF graphic files +PNG files + +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&textrsquo;s documentation. + + +\graphicspath
Directories to search.
+
\DeclareGraphicsExtensions
File types, such as JPG or EPS.
+
\DeclareGraphicsRule
How to handle file types.
+
+ + +\graphicspath\DeclareGraphicsExtensionsGraphics package configuration +\graphicspath + +\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&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 \input&arobase;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&arobase;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. + + +
+\DeclareGraphicsExtensions\DeclareGraphicsRule\graphicspathGraphics package configuration +\DeclareGraphicsExtensions + +\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 +(\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&arobase;extensions}\makeatother. + + +
+\DeclareGraphicsRule\DeclareGraphicsExtensionsGraphics package configuration +\DeclareGraphicsRule + +\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. + +
+ +
+
+Commands for graphicsGraphics package configurationGraphics +
Commands for graphics + +graphics package commands +commands, graphics package + +These are the commands available with the graphics and +graphicx packages. + + +\includegraphics
Using a graphic in your document.
+
\rotatebox
Rotating boxes, including graphics.
+
\scalebox
Scaling boxes, including graphics.
+
\resizebox
Scaling boxes, including graphics, to a set size.
+
+ + +\includegraphics\rotateboxCommands for graphics +\includegraphics + +graphics +graphics package +including graphics +importing graphics +EPS files +JPEG files +JPG files +PDF graphic files +PNG files +\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, \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 +(\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 +(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 \rotatebox and \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 (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&textrsquo;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&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. + + +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 (Units of length) and also convenient is +\linewidth, or in a two-column document, \columnwidth +(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 (Units of length), and also +convenient are \pageheight and \textheight (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, +\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, \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&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. + +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;&textrsquo;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;&textrsquo;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;&textrsquo;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, \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. + + +
+ + +
+\rotatebox\scalebox\includegraphicsCommands for graphics +\rotatebox + +rotation +rotating graphics +rotating text +\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 (\includegraphics). + + +origin +The point of the material&textrsquo;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]{...} (Units of length). These give the offset +from the box&textrsquo;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. + +
+ + +
+\scalebox\resizebox\rotateboxCommands for graphics +\scalebox + +graphics, scaling +graphics, resizing +scaling +resizing +text, scaling +text, resizing +\scalebox +\reflectbox + +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 +(\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. + + +
+\resizebox\scaleboxCommands for graphics +\resizebox + +graphics, scaling +graphics, resizing +scaling +resizing +text, scaling +text, resizing +\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&textrsquo;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}. + + +
+
+
+Special insertionsSplitting the inputGraphicsTop +Special insertions + +special insertions +insertions of special characters + +&latex; provides commands for inserting characters that have a +special meaning do not correspond to simple characters you can type. + + +Reserved characters
Inserting # $ % & { } _ ~ ^ \
+
Upper and lower case
Make text upper or lower case.
+
Symbols by font position
Inserting font symbols by number.
+
Text symbols
Inserting other non-letter symbols in text.
+
Accents
Inserting accents.
+
Additional Latin letters
Inserting other non-English characters.
+
\rule
Inserting lines and rectangles.
+
\today
Inserting today&textrsquo;s date.
+
+ + +Reserved charactersUpper and lower caseSpecial insertions +
Reserved characters + +reserved characters +characters, reserved +special characters +characters, special +&latex; sets aside the following characters for special purposes (for +example, the percent sign % is for comments) so they are +called reserved characters or special characters. + + +
# $ % & { } _ ~ ^ \ 
+
+ +\# +\$ +\% +\& +\_ +\{ +\} +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 \ in front of the character. Thus, +\$1.23 will produce $1.23 in your output. + +\~ +\^ +\textbackslash +As to the last three characters, to get a tilde in the text body font +use \~{} (omitting the curly braces would result in the next +character receiving a tilde accent). Similarly, to get a get a text +body font circumflex use \^{}. A text body font backslash +results from \textbackslash{}. + +To produce the reserved characters in a typewriter font use +\verb!!, as below. + + +
\begin{center}
+  \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \\
+  \verb!# $ % & { } _ ~ ^ \!
+\end{center}
+
+ +In that example the double backslash \\ is only there to +split the lines. + + +
+Upper and lower caseSymbols by font positionReserved charactersSpecial insertions +
Upper and lower case + +Upper case +Lower case +characters, 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 (\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}}
+
+ +package, textcase +textcase package + +The textcase package brings some of the missing feature of the +standard &latex; commands \MakeUppercase and +\MakeLowerCase. + +package, mfirstuc +mfirstuc package + +To uppercase only the first letter of words, you can use the package +mfirstuc. + + +
+Symbols by font positionText symbolsUpper and lower caseSpecial insertions +
Symbols by font position + +\symbol +accessing any character of a font +font symbols, by number + +You can access any character of the current font using its number with +the \symbol command. For example, the visible space character +used in the \verb* command has the code decimal 32, so it can be +typed as \symbol{32}. + +You can also specify numbers in octal (base 8) by using a ' +prefix, or hexadecimal (base 16) with a " prefix, so the previous +example could also be written as \symbol{'40} or +\symbol{"20}. + + +
+Text symbolsAccentsSymbols by font positionSpecial insertions +
Text symbols + +text symbols +symbols, text + +textcomp package +&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 textcomp package. + + +\copyright\copyright +\textcopyright\textcopyright +copyright symbol +The copyright symbol, ©right;. + +\dag\dag +dagger, in text +The dagger symbol (in text). + +\ddag\ddag +double dagger, in text +The double dagger symbol (in text). + +\LaTeX\LaTeX +&latex; logo +logo, &latex; +The &latex; logo. + +\LaTeXe\LaTeXe +&latex;2e logo +logo, &latex;2e +The &latex;2e logo. + +\guillemotleft («)\guillemotleft («) +\guillemotright (»)\guillemotright (») +\guilsinglleft (‹)\guilsinglleft (‹) +\guilsinglright (›)\guilsinglright (›) +double guillemets +single guillemets +left angle quotation marks +right angle quotation marks +double angle quotation marks +single angle quotation marks +French quotation marks +quotation marks, French +Double and single angle quotation marks, commonly used in French: +«, », ‹, ›. + +\ldots\ldots +\dots\dots +\textellipsis\textellipsis +ellipsis +An ellipsis (three dots at the baseline): &textlsquo;&dots;&textrsquo;. \ldots +and \dots also work in math mode. + +\lq\lq +left quote +opening quote +Left (opening) quote: &textlsquo;. + +\P\P +\textparagraph\textparagraph +paragraph symbol +pilcrow +Paragraph sign (pilcrow): 00B6. + +\pounds\pounds +\textsterling\textsterling +pounds symbol +sterling symbol +English pounds sterling: £. + +\quotedblbase („)\quotedblbase („) +\quotesinglbase (‚)\quotesinglbase (‚) +double low-9 quotation mark +single low-9 quotation mark +low-9 quotation marks, single and double +Double and single quotation marks on the baseline: +„ and ‚. + +\rq\rq +right quote +closing quote +Right (closing) quote: &textrsquo;. + +\S\S +\itemx \textsection +section symbol +Section sign: 00A7. + +\TeX\TeX +&tex; logo +logo, &tex; +The &tex; logo. + +\textasciicircum\textasciicircum +circumflex, ASCII, in text +ASCII circumflex, in text +ASCII circumflex: ^. + +\textasciitilde\textasciitilde +tilde, ASCII, in text +ASCII tilde, in text +ASCII tilde: ~. + +\textasteriskcentered\textasteriskcentered +asterisk, centered, in text +centered asterisk, in text +Centered asterisk: *. + +\textbackslash\textbackslash +backslash, in text +Backslash: \. + +\textbar\textbar +vertical bar, in text +bar, vertical, in text +Vertical bar: |. + +\textbardbl\textbardbl +vertical bar, double, in text +bar, double vertical, in text +double vertical bar, in text +Double vertical bar. + +\textbigcircle\textbigcircle +big circle symbols, in text +circle symbol, big, in text +Big circle symbol. + +\textbraceleft\textbraceleft +left brace, in text +brace, left, in text +Left brace: {. + +\textbraceright\textbraceright +right brace, in text +brace, right, in text Right brace: }. -\textbullet\textbullet -bullet, in text +\textbullet\textbullet +bullet, in text Bullet: •. -\textcircled{letter}\textcircled{letter} -circled letter, in text +\textcircled{letter}\textcircled{letter} +circled letter, in text letter in a circle, as in ®istered;. -\textcompwordmark\textcompwordmark -\textcapitalcompwordmark\textcapitalcompwordmark -\textascendercompwordmark\textascendercompwordmark -composite word mark, in text -cap height -ascender height +\textcompwordmark\textcompwordmark +\textcapitalcompwordmark\textcapitalcompwordmark +\textascendercompwordmark\textascendercompwordmark +composite word mark, in text +cap height +ascender height Composite word mark (invisible). The \textcapital... form has the cap height of the font, while the \textascender... form has the ascender height. -\textdagger\textdagger -dagger, in text +\textdagger\textdagger +dagger, in text Dagger: \dag. -\textdaggerdbl\textdaggerdbl -dagger, double, in text -double dagger, in text +\textdaggerdbl\textdaggerdbl +dagger, double, in text +double dagger, in text Double dagger: \ddag. -\textdollar (or \$)\textdollar (or \$) -dollar sign -currency, dollar +\textdollar (or \$)\textdollar (or \$) +dollar sign +currency, dollar Dollar sign: $. -\textemdash (or ---)\textemdash (or ---) -em-dash +\textemdash (or ---)\textemdash (or ---) +em-dash Em-dash: &textmdash; (for punctuation). -\textendash (or --)\textendash (or --) -e-dash +\textendash (or --)\textendash (or --) +e-dash En-dash: &textndash; (for ranges). -\texteuro\texteuro -euro symbol -currency, euro +\texteuro\texteuro +euro symbol +currency, euro The Euro symbol: €. -\textexclamdown (or !`)\textexclamdown (or !`) -exclamation point, upside-down +\textexclamdown (or !`)\textexclamdown (or !`) +exclamation point, upside-down Upside down exclamation point: ¡. -\textgreater\textgreater -greater than symbol, in text +\textgreater\textgreater +greater than symbol, in text Greater than: >. -\textless\textless -less than symbol, in text +\textless\textless +less than symbol, in text Less than: <. -\textleftarrow\textleftarrow -arrow, left, in text -left arrow, in text +\textleftarrow\textleftarrow +arrow, left, in text +left arrow, in text Left arrow. -\textordfeminine\textordfeminine -\textordmasculine\textordmasculine -feminine ordinal symbol -masculine ordinal symbol -ordinals, feminine and masculine -Spanish ordinals, feminine and masculine +\textordfeminine\textordfeminine +\textordmasculine\textordmasculine +feminine ordinal symbol +masculine ordinal symbol +ordinals, feminine and masculine +Spanish ordinals, feminine and masculine Feminine and masculine ordinal symbols: ª, º. -\textperiodcentered\textperiodcentered -period, centered, in text -centered period, in text +\textperiodcentered\textperiodcentered +period, centered, in text +centered period, in text Centered period: 00B7. -\textquestiondown (or ?`)\textquestiondown (or ?`) -question mark, upside-down +\textquestiondown (or ?`)\textquestiondown (or ?`) +question mark, upside-down Upside down question mark: ¿. -\textquotedblleft (or ``)\textquotedblleft (or ``) -left quote, double -double left quote +\textquotedblleft (or ``)\textquotedblleft (or ``) +left quote, double +double left quote Double left quote: &textldquo;. -\textquotedblright (or '')\textquotedblright (or '') -right quote, double -double right quote +\textquotedblright (or '')\textquotedblright (or '') +right quote, double +double right quote Double right quote: &textrdquo;. -\textquoteleft (or `)\textquoteleft (or `) -left quote, single -single left quote +\textquoteleft (or `)\textquoteleft (or `) +left quote, single +single left quote Single left quote: &textlsquo;. -\textquoteright (or ')\textquoteright (or ') -right quote, single -single right quote +\textquoteright (or ')\textquoteright (or ') +right quote, single +single right quote Single right quote: &textrsquo;. -\textquotesingle\textquotesingle -quote, single straight -straight single quote -single quote, straight +\textquotesingle\textquotesingle +quote, single straight +straight single quote +single quote, straight Straight single quote. (From TS1 encoding.) -\textquotestraightbase\textquotestraightbase -\textquotestraightdblbase\textquotestraightdblbase -quote, straight base -straight quote, base -double quote, straight base -straight double quote, base +\textquotestraightbase\textquotestraightbase +\textquotestraightdblbase\textquotestraightdblbase +quote, straight base +straight quote, base +double quote, straight base +straight double quote, base Single and double straight quotes on the baseline. -\textregistered\textregistered -registered symbol +\textregistered\textregistered +registered symbol Registered symbol: ®istered;. -\textrightarrow\textrightarrow -arrow, right, in text -right arrow, in text +\textrightarrow\textrightarrow +arrow, right, in text +right arrow, in text Right arrow. -\textthreequartersemdash\textthreequartersemdash -three-quarters em-dash -em-dash, three-quarters +\textthreequartersemdash\textthreequartersemdash +three-quarters em-dash +em-dash, three-quarters &textldquo;Three-quarters&textrdquo; em-dash, between en-dash and em-dash. -\texttrademark\texttrademark -trademark symbol +\texttrademark\texttrademark +trademark symbol Trademark symbol: 2122. -\texttwelveudash\texttwelveudash -two-thirds em-dash -em-dash, two-thirds +\texttwelveudash\texttwelveudash +two-thirds em-dash +em-dash, two-thirds &textldquo;Two-thirds&textrdquo; em-dash, between en-dash and em-dash. -\textunderscore\textunderscore -underscore, in text +\textunderscore\textunderscore +underscore, in text Underscore: _. -\textvisiblespace\textvisiblespace -visible space symbol, in text +\textvisiblespace\textvisiblespace +visible space symbol, in text Visible space symbol. @@ -9663,13 +12075,14 @@ has the ascender height. AccentsAdditional Latin lettersText symbolsSpecial insertions
Accents -accents -characters, accented -letters, accented +accents +characters, accented +letters, accented -package, babel -babel package -multilingual support +package, babel +babel package + +multilingual support &latex; has wide support for many of the world&textrsquo;s scripts and languages, through the babel 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. \" \capitaldieresis -\" (umlaut accent) -\capitaldieresis -umlaut accent -dieresis accent +\" (umlaut accent) +\capitaldieresis +umlaut accent +dieresis accent Produces an umlaut (dieresis), as in o. \' \capitalacute -\&textrsquo; (acute accent) -\capitalacute -acute accent +\' (acute accent) +\capitalacute +acute accent Produces an acute accent, as in o. In the tabbing environment, pushes current column to the right of the previous column (tabbing). \. -\. (dot-over accent) -dot accent -dot-over accent +\. (dot-over accent) +dot accent +dot-over accent Produces a dot accent over the following, as in o. \= \capitalmacron -\= (macron accent) -\capitalmacron -macron accent -overbar accent -bar-over accent +\= (macron accent) +\capitalmacron +macron accent +overbar accent +bar-over accent Produces a macron (overbar) accent over the following, as in o. \^ \capitalcircumflex -\^ (circumflex accent) -\capitalcircumflex -circumflex accent -hat accent +\^ (circumflex accent) +\capitalcircumflex +circumflex accent +hat accent Produces a circumflex (hat) accent over the following, as in o. \` \capitalgrave -\&textlsquo; (grave accent) -\capitalgrave -grave accent +\` (grave accent) +\capitalgrave +grave accent Produces a grave accent over the following, as in o. In the tabbing environment, move following text to the right margin (tabbing). \~ \capitaltilde -\~ (tilde accent) -\capitaltilde -tilde accent +\~ (tilde accent) +\capitaltilde +tilde accent Produces a tilde accent over the following, as in n. \b -\b (bar-under accent) -bar-under accent +\b (bar-under accent) +bar-under accent Produces a bar accent under the following, as in o. See also \underbar hereinafter. \c \capitalcedilla -\c (cedilla accent) -\capitalcedilla -cedilla accent +\c (cedilla accent) +\capitalcedilla +cedilla accent Produces a cedilla accent under the following, as in c. \d \capitaldotaccent -\d (dot-under accent) -\capitaldotaccent -dot-under accent +\d (dot-under accent) +\capitaldotaccent +dot-under accent Produces a dot accent under the following, as in o. \H \capitalhungarumlaut -\H (Hungarian umlaut accent) -\capitalhungarumlaut -hungarian umlaut accent +\H (Hungarian umlaut accent) +\capitalhungarumlaut +hungarian umlaut accent Produces a long Hungarian umlaut accent over the following, as in o. \i -\i (dotless i) -dotless i +\i (dotless i) +dotless i Produces a dotless i, as in &textlsquo;i&textrsquo;. \j -\j (dotless j) -dotless j +\j (dotless j) +dotless j Produces a dotless j, as in &textlsquo;j&textrsquo;. \k \capitalogonek -\k (ogonek) -\capitalogonek -ogonek +\k (ogonek) +\capitalogonek +ogonek Produces a letter with ogonek, as in &textlsquo;o&textrsquo;. Not available in the OT1 encoding. \r \capitalring -\r (ring accent) -\capitalring -ring accent +\r (ring accent) +\capitalring +ring accent Produces a ring accent, as in &textlsquo;o&textrsquo;. \t \capitaltie \newtie \capitalnewtie -\t (tie-after accent) -\capitaltie -\newtie -\capitalnewtie -tie-after accent +\t (tie-after accent) +\capitaltie +\newtie +\capitalnewtie +tie-after accent Produces a tie-after accent, as in &textlsquo;oo&textrsquo;. The \newtie form is centered in its box. \u \capitalbreve -\u (breve accent) -\capitalbreve -breve accent +\u (breve accent) +\capitalbreve +breve accent Produces a breve accent, as in &textlsquo;o&textrsquo;. \underbar -\underbar -underbar +\underbar +underbar 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 \b above. \v \capitalcaron -\v (breve accent) -\capitalcaron -hacek accent -check accent -caron accent +\v (breve accent) +\capitalcaron +hacek accent +check accent +caron accent Produces a hacek (check, caron) accent, as in &textlsquo;o&textrsquo;.
@@ -9832,12 +12245,12 @@ See also \b above.
Additional Latin letters Non-English characters -Latin letters, additional -letters, additional Latin -extended Latin -special characters -non-English characters -characters, non-English +Latin letters, additional +letters, additional Latin +extended Latin +special characters +non-English characters +characters, non-English 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. \aa \AA -\aa (å) -\AA (Å) -aring +\aa (å) +\AA (Å) +aring å and Å. \ae \AE -\ae (æ) -\AE (Æ) -ae ligature +\ae (æ) +\AE (Æ) +ae ligature æ and Æ. \dh \DH -\dh (ð) -\DH (Ð) -Icelandic eth -eth, Icelandic letter +\dh (ð) +\DH (Ð) +Icelandic eth +eth, Icelandic letter Icelandic letter eth: ð and Ð. Not available with OT1 encoding, you need the fontenc package to select an alternate font encoding, such as T1. \dj \DJ -\dj -\DJ +\dj +\DJ Crossed d and D, a.k.a.&noeos; capital and small letter d with stroke. Not available with OT1 encoding, you need the fontenc package to select an alternate font encoding, such as T1. \ij \IJ -\ij (ij) -\IJ (IJ) -ij letter, Dutch +\ij (ij) +\IJ (IJ) +ij letter, Dutch ij and IJ (except somewhat closer together than appears here). \l \L -\l (&lslash;) -\L (&Lslash;) -polish l +\l (&lslash;) +\L (&Lslash;) +polish l &lslash; and &Lslash;. \ng \NG -\ng -\NG +\ng +\NG Lappish letter eng, also used in phonetics. \o \O -\o (ø) -\O (Ø) -oslash +\o (ø) +\O (Ø) +oslash ø and Ø. \oe \OE -\oe (œ) -\OE (Œ) -oe ligature +\oe (œ) +\OE (Œ) +oe ligature œ and Œ. \ss \SS -\ss (ß) -\SS (SS) -es-zet German letter -sharp S letters +\ss (ß) +\SS (SS) +es-zet German letter +sharp S letters ß and SS. \th \TH -\th (þ) -\TH (Þ) -Icelandic thorn -thorn, Icelandic letter +\th (þ) +\TH (Þ) +Icelandic thorn +thorn, Icelandic letter Icelandic letter thorn: þ and Þ. Not available with OT1 encoding, you need the fontenc package to select an alternate font encoding, such as T1. @@ -9935,7 +12348,7 @@ font encoding, such as T1. \rule\todayAdditional Latin lettersSpecial insertions
\rule -\rule +\rule Synopsis: @@ -9962,8 +12375,8 @@ rectangles. The arguments are: \today\ruleSpecial insertions
\today -\today -date, today&textrsquo;s +\today +date, today&textrsquo;s The \today command produces today&textrsquo;s date, in the format month dd, yyyy; for example, July 4, 1976. @@ -9984,8 +12397,9 @@ will output 4 juillet 1976: \end{document} -package, datetime -datetime package +package, datetime +datetime package + The datetime package, among others, can produce a wide variety of other date formats. @@ -9995,15 +12409,15 @@ of other date formats. Splitting the inputFront/back matterSpecial insertionsTop Splitting the input -splitting the input file -input file +splitting the input file +input file 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 -root file -file, root +root file +file, root root file; it is the one whose name you type when you run &latex;. @@ -10020,7 +12434,7 @@ external file to be created with the main document. \include\includeonlySplitting the input
\include -\include +\include Synopsis: @@ -10037,16 +12451,16 @@ command executes \clearpage to start a new page only run if file is listed as an argument to \includeonly. See \includeonly. -nested \include, not allowed +nested \include, not allowed The \include command may not appear in the preamble or in a file read by another \include command.
\includeonly\input\includeSplitting the input -
\includeonly +
\includeonly -\includeonly +\includeonly Synopsis: @@ -10067,7 +12481,7 @@ selection to be effective. \input\includeonlySplitting the input
\input -\input +\input Synopsis: @@ -10100,10 +12514,10 @@ is tried (foo or foo.bar). Tables of contentsGlossariesFront/back matter
Tables of contents -table of contents, creating +table of contents, creating -\tableofcontents -.toc file +\tableofcontents +.toc file A table of contents is produced with the \tableofcontents command. You put the command right where you want the table of contents to go; &latex; does the rest for you. 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 \newpage command after the \tableofcontents command. -\listoffigures -\listoftables -.lof file -.lot file +\listoffigures +\listoftables +.lof file +.lot file The analogous commands \listoffigures and \listoftables produce a list of figures and a list of tables (from .lof and .lot files), respectively. Everything works exactly the same as for the table of contents. -\nofiles +\nofiles The command \nofiles overrides these commands, and prevents any of these lists from being generated. @@ -10136,8 +12550,8 @@ as for the table of contents. \addcontentsline\addtocontentsTables of contents \addcontentsline -\addcontentsline -table of contents entry, manually adding +\addcontentsline +table of contents entry, manually adding Synopsis: @@ -10150,7 +12564,7 @@ or table where:
ext -The extension of the file on which information is to be written, +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). @@ -10172,7 +12586,7 @@ following, matching the value of the ext argument: The text of the entry.
-\contentsline +\contentsline What is written to the .ext file is the command \contentsline{unit}{text}{num}, where num is the current value of counter unit. @@ -10184,7 +12598,7 @@ following, matching the value of the ext argument: \addtocontents\addcontentslineTables of contents \addtocontents -\addtocontents{ext}{text} +\addtocontents{ext}{text} The \addtocontents{ext}{text} command adds text (or formatting commands) directly to the .ext file that @@ -10206,22 +12620,22 @@ figures), or lot (list of tables). GlossariesIndexesTables of contentsFront/back matter
Glossaries -glossaries +glossaries -\makeglossary +\makeglossary The command \makeglossary enables creating glossaries. -\glossary -.glo file +\glossary +.glo file The command \glossary{text} writes a glossary entry for text to an auxiliary file with the .glo extension. -\glossaryentry +\glossaryentry Specifically, what gets written is the command \glossaryentry{text}{pageno}, where pageno is the current \thepage value. -glossary package +glossary package The glossary package on CTAN provides support for fancier glossaries. @@ -10230,37 +12644,37 @@ glossaries. IndexesGlossariesFront/back matter
Indexes -indexes +indexes -\makeindex +\makeindex The command \makeindex enables creating indexes. Put this in the preamble. -\index -.idx file +\index +.idx file The command \index{text} writes an index entry for text to an auxiliary file named with the .idx extension. -\indexentry +\indexentry Specifically, what gets written is the command \indexentry{text}{pageno}, where pageno is the current \thepage value. -&textlsquo;see&textrsquo; and &textlsquo;see also&textrsquo; index entries -index entries, &textlsquo;see&textrsquo; and &textlsquo;see also&textrsquo; +&textlsquo;see&textrsquo; and &textlsquo;see also&textrsquo; index entries +index entries, &textlsquo;see&textrsquo; and &textlsquo;see also&textrsquo; To generate a index entry for &textlsquo;bar&textrsquo; that says &textlsquo;See foo&textrsquo;, use a vertical bar: \index{bar|see{foo}}. Use seealso instead of see to make a &textlsquo;See also&textrsquo; entry. -\seename -\alsoname +\seename +\alsoname The text &textlsquo;See&textrsquo; is defined by the macro \seename, and &textlsquo;See also&textrsquo; by the macro \alsoname. These can be redefined for other languages. -makeindex program -xindy program -.ind file +makeindex program +xindy program +.ind file The generated .idx file is then sorted with an external command, usually either makeindex (http://mirror.ctan.org/indexing/makeindex) or (the @@ -10268,26 +12682,29 @@ multi-lingual) xindy (http://xindy.sourceforge. This results in a .ind file, which can then be read to typeset the index. -\printindex -package, makeidx -makeidx package +\printindex +package, makeidx +makeidx package + The index is usually generated with the \printindex command. This is defined in the makeidx package, so \usepackage{makeidx} needs to be in the preamble. -\indexspace +\indexspace The rubber length \indexspace is inserted before each new letter in the printed index; its default value is 10pt plus5pt minus3pt. -package, showidx -showidx package +package, showidx +showidx package + The showidx 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. -package, multind -multind package +package, multind +multind package + The multind package supports multiple indexes. See also the &tex; FAQ entry on this topic, http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind. @@ -10298,8 +12715,8 @@ preparing the index. LettersTerminal input/outputFront/back matterTop Letters -letters, writing -writing letters +letters, writing +writing letters Synopsis: @@ -10350,7 +12767,7 @@ enumerated lists to displayed math, except that commands such as letter environment body typically ends with a \closing command such as \closing{Yours,}. -\\ for letters +\\ for letters Additional material may come after the \closing. You can say who is receiving a copy of the letter with a command like \cc{the Boss \\ the Boss's Boss}. There&textrsquo;s a similar \encl command for @@ -10405,7 +12822,7 @@ I am not interested in entering a business arrangement with you. \address\ccLetters
\address -\address +\address Synopsis: @@ -10439,8 +12856,8 @@ formatted as a personal letter. \cc\closing\addressLetters
\cc -\cc -cc list, in letters +\cc +cc list, in letters Synopsis: @@ -10464,9 +12881,9 @@ backslash \\, as in: \closing\encl\ccLetters
\closing -\closing -letters, ending -closing letters +\closing +letters, ending +closing letters Synopsis: @@ -10486,8 +12903,8 @@ is a \closing (although this command is optional). For example, \encl\location\closingLetters
\encl -\encl -enclosure list +\encl +enclosure list Synopsis: @@ -10510,7 +12927,7 @@ Separate multiple lines with a double backslash \\. \location\makelabels\enclLetters
\location -\location +\location Synopsis: @@ -10526,7 +12943,7 @@ appears if the page style is firstpage. \makelabels\name\locationLetters
\makelabels -\makelabels +\makelabels Synopsis: @@ -10556,7 +12973,7 @@ in the argument to the letter environment. By default \name\opening\makelabelsLetters
\name -\name +\name Synopsis: @@ -10572,8 +12989,8 @@ return address. \opening\ps\nameLetters
\opening -\opening -letters, starting +\opening +letters, starting Synopsis: @@ -10593,8 +13010,8 @@ text that starts your letter. For instance:
\ps\signature\openingLetters
\ps -\ps -postscript, in letters +\ps +postscript, in letters Synopsis: @@ -10621,7 +13038,7 @@ text that starts your letter. For instance: ... } -\signature +\signature The sender&textrsquo;s name. This command is optional, although its inclusion is usual. @@ -10672,7 +13089,7 @@ preamble). \telephone\signatureLetters
\telephone -\telephone +\telephone Synopsis: @@ -10691,8 +13108,8 @@ page. Terminal input/outputCommand lineLettersTop Terminal input/output -input/output, to terminal -terminal input/output +input/output, to terminal +terminal input/output \typein
Read text from the terminal.
@@ -10703,7 +13120,7 @@ page.
 \typein\typeoutTerminal input/output
 
\typein[cmd]{msg} -\typein +\typein Synopsis: @@ -10724,7 +13141,7 @@ redefined to be the typed input. \typeout\typeinTerminal input/output
\typeout{msg} -\typeout +\typeout Synopsis: @@ -10749,9 +13166,9 @@ printed, independent of surrounding spaces. A ^^J in Command lineDocument templatesTerminal input/outputTop Command line -command line +command line -.tex, default extension +.tex, default extension The input file specification indicates the file to be formatted; &tex; uses .tex as a default file extension. If you omit the input file entirely, &tex; accepts input from the terminal. You can @@ -10763,14 +13180,14 @@ error:
latex '\nonstopmode\input foo.tex'
 
-&textndash;help command-line option +--help command-line option With many, but not all, implementations, command-line options can also be specified in the usual Unix way, starting with - or --. For a list of those options, try latex --help. -* prompt -prompt, * -\stop +* prompt +prompt, * +\stop If &latex; stops in the middle of the document and gives you a * prompt, it is waiting for input. You can type \stop (and return) and it will prematurely end the document. @@ -10782,8 +13199,8 @@ be specified in the usual Unix way, starting with - or Document templatesConcept IndexCommand lineTop Document templates -document templates -templates, document +document templates +templates, document 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 beamer templatebook templateDocument templates
beamer template -beamer template and class -template, beamer +beamer template and class +template, beamer The beamer 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: book templatetugboat templatebeamer templateDocument templates
book template -template, book +template, book \documentclass{book} @@ -10863,9 +13280,9 @@ The end. tugboat templatebook templateDocument templates
tugboat template -template, TUGboat -TUGboat template -ltugboat class +template, TUGboat +TUGboat template +ltugboat class TUGboat is the journal of the &tex; Users Group, http://tug.org/TUGboat. -- cgit v1.2.3