From 75f529a8c99a457b98e31992cb965bbc447813c8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 8 Aug 2017 20:38:58 +0000 Subject: latex2e-help-texinfo (8aug17) git-svn-id: svn://tug.org/texlive/trunk@44985 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/latex2e-help-texinfo/ChangeLog | 1210 ++++- .../doc/latex/latex2e-help-texinfo/Makefile | 10 +- .../texmf-dist/doc/latex/latex2e-help-texinfo/NEWS | 25 +- .../doc/latex/latex2e-help-texinfo/README | 15 +- .../doc/latex/latex2e-help-texinfo/aspell.en.pws | 60 +- .../doc/latex/latex2e-help-texinfo/latex2e.dbk | 2352 ++++++--- .../doc/latex/latex2e-help-texinfo/latex2e.html | 3505 +++++++++---- .../doc/latex/latex2e-help-texinfo/latex2e.pdf | Bin 784210 -> 865879 bytes .../doc/latex/latex2e-help-texinfo/latex2e.texi | 2962 ++++++++--- .../doc/latex/latex2e-help-texinfo/latex2e.txt | 5282 ++++++++++++-------- .../doc/latex/latex2e-help-texinfo/latex2e.xml | 5220 +++++++++++-------- .../doc/latex/latex2e-help-texinfo/ltx-help.el | 25 +- 12 files changed, 13917 insertions(+), 6749 deletions(-) (limited to 'Master/texmf-dist/doc/latex/latex2e-help-texinfo') diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog index fcf49d6c6f3..23dfeea791a 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog @@ -1,3 +1,1207 @@ +2017-08-06 Karl Berry + + * README: update for move to puszcza/tug. + +2017-08-05 Jim Hefferon + + * latex2e.texi: (Upper and lower case) Added. + +2017-08-01 Karl Berry + + * latex2e.texi: copyright 2017. + +2017-08-01 Vincent Belaïche + + * latex2e.texi (Environment, Declaration, \makeatletter and \makeatother) + (\@@ifstar, \@@startsection): put a sectionning title to node. + (\@@ifstar): @cindex star-variants with key star-variants. + (Sectioning): Add anchor to secnumdepth counter for reference from + \@@startsection node. + (\@@startsection): Reword the explanation of redefining \section + as \@@startsection and how \section keeps is standard calling form + when redefined. heading -> title for consistency. @code{}-ify + class names, book, report & article. Use anchor to + secnumdepth. Typoes. rubber -> typically rubber. Solve overfully + hbox in example by not repeating explanations in examplified LaTeX + comments, rather make a simple link. style [...] file -> package + [...] file. redefined [...] sectional units -> redefined [...] + sectional unit title commands. + (Class and package commands): Amend Karl's r574 edit of + 2017-07-31, `When a document is processed using that class' -> + `When a document using that class is processed', as one usually + specify the class in the document itself, not on the command line, + although the latter is possible. + + + * latex2e-fr.texi (document header): update copyright for + translation. + (About this document, Class and package commands): Translate + Karl's r574 edits of 2017-07-31. + (Environment, Declaration, \makeatletter and \makeatother) + (\@@startsection,\@@ifstar): put a sectionning title to node. + (\@@startsection): Complete translation of Jim's r562 of + 2017-07-26 for this node, w/o moving the node under node + Sectionning. + (Sectioning): Add anchor to secnumdepth counter for reference from + \@@startsection node. + +2017-07-31 Vincent Belaïche + + * latex2e-fr.texi (Class and package commands): Add \CheckCommand + and \DeclareRobustCommand as per Jim's r568 2017-07-30 edits + my + own modifications in latex2e.texi. + + * latex2e.texi (Class and package commands/\CheckCommand): Use & + define term "long" for long command + improve description. + (Class and package commands/\DeclareRobustCommand): Improve + existing description. Add mention to etoolbox macros. + +2017-07-31 Vincent Belaïche + + * Makefile.1: Extend check-dw to handle other languages. Add + target help. + + * latex2e-fr.texi (document header): update version. + (About this document): Fix some leftover English/automatic + translated French. Typo. + (\pageref): Translate some leftover English. + + * latex2e.texi (document header): update version. + + +2017-07-31 Vincent Belaïche + + * Makefile.1: Add targets , like enpdf, frpdf, + eninfo, etc... + + * latex2e-fr.texi (document header, About this document): Take + edits from Karl's r333 of 2015-05-12. and . Plus all my + modfifications in latex2e.texi --- like using common.texi for + project home page and bug report. `http://www.ctan.org/...' -> + `http://ctan.org/...'. Reword `non officiel' -> `officieux'. + (Overview): Take edits from Jim's r412+413 of 2015-08-21. + (Starting and ending): Typo. rewording `sections' -> `rubriques'. + (Output files): English quotes `` '' to French quotes + « ». Concerning .log, add @dfn{fichier journal} (the French for + ``log file''). Typo. Translate leftover English in .lot/.lof/.toc + cindex. + (@TeX{} engines): @TeX{} -> @TeX{} de base --- ie Plain-@TeX{}. Typo. + (@LaTeX{} command syntax): Typo. + (\makeatletter and \makeatother): Take edits from Jim's r564 of + 2017-07-26. + (\@@startsection): Preliminary taking into account of Jim's r562 + of 2017-07-26. + (Class and package commands): Translate leftover English sentance. + (Floats): Translate leftover English + title. @PkgIndex{flafter}. Typo. Place URL to F. Mittelback + article in in round-bracket like in the English version. + (array): @PkgIndex{amsmath} + (displaymath): Take edits from Jim's r412 2015-08-21, plus my + modifications to latex2e.texi. + (picture): `sections' -> `rubriques'. + (\oval): English quotes `` '' to French quotes « ». + (table): Exchange order of \caption and \label in example to align + on the English version. + (Units of length): Translate to French leftover English @cindex + about mu. + (\parbox): Same change as in latex2e.texi, @dfn{}-ize and + @cindex-ize `paragraphe mode', so remove @code{} around + `paragraph'. Typo & some rewording. + (\today): Translate to French leftover English about datetime package. + (\addtocontents): @code{}-ify title. + (\addtocontents): Translate to French this node leftover in + English. + (Glossaries): Translate to French leftover English word. Fix translation. + (Indexes): Typo. + + * common.texi: New file, for flags common to all 3 manuals. + + * latex2e-es.texi: Use common.texi for defining project home page + and bug report address. + + * latex2e.texi (document header): @include common.texi for URL's + and other flags that we want to make common between all the translations. + (document titlepage): take home page URL from common.texi + (About this document): take home page URL from common.texi, same + for bug report address. @cindex bug report. + (Floats): @PkgIndex{flafter}. + (\@@startsection): @code{}-ify book and report class names. + (array): @PkgIndex{amsmath}. + (displaymath): @var{}-ify `math text'. Move upward sentence + `@LaTeX{} will not break the @var{math text} across lines.' in + order not to interrupt description about equation + numbering. @PkgIndex{amsmath}. Suppress verbous sentance `Those + facilities are the best approach for such output in new + documents.' and replace by add `significantly more' before + `extensive displayed equation facilities'. `options' -> `ways' in + order not to create confusion with package options. + (\parbox): @dfn{}-ize and @cindex-ize `paragraphe mode', so remove + @code{} around `paragraph'. + (\includeonly): Typo. + (\addcontentsline): extension -> filename extension. + +2017-07-31 Karl Berry + + * latex2e.texi (About this document): latex2e frozen, not retired; + clarify usrguide status. + (Class and package commands): clarify \NeedsTeXFormat. + vincent xxx's + other typos. + +2017-07-30 Jim Hefferon + + * latex2e.texi: (\@DeclareRobustCommand): Add. + +2017-07-30 Jim Hefferon + + * latex2e.texi: (\@ifstar): Translate from the French version. + (\@startsection): Move to Sectioning. + +2017-07-27 Vincent Belaïche + + * Makefile.1 (compare-nodes, compare-nodes-fr, compare-nodes-es): + new targets to compare node lists between languages. compare-nodes + is made a synonym of compare-nodes-fr because the Spanish + translation does not reuse the same node names. + +2017-07-26 Vincent Belaïche + + * latex2e-fr.texi (
): Add reference to + https://www.latex-project.org/help/books/lc2fr-apb.pdf, as far as + translation is concerned. + (Starting and ending): Fix @cindex translation. + (\@@startsection): Typo. + (\@@ifstar): Typo. + (Document classes): Add menu entries `Additional packages' and + `Class and package construction', as per Jim's r560 edits of 2017-07-21. + (Document class options): typo. + (Additional packages): Create new node entry, as per Jim's r560 + edits of 2017-07-21. + (Class and package commands, Class and package construction): New + nodes, as per Jim's r560 edits of 2017-07-21. + (document): Add \AtBeginDocument & + \AtEndDocument sub node, as per Jim's r397 edits of 2015-08-11. + (itemize): Typo. + + * latex2e.texi (Class and package construction): Re-word avout + \makeat's surrounding, because the catcode must be changed outside + a macro definition, and not within it so that any @-char is + interpreted as a letter in the definition. Reword `interact' -> `interfere'. + (Class and package structure): Use an enumerate env for + enumerating. @dfn{...}-ize name of each part of the class/package file. + @code{...} -> @file{...} for file names. + (Class and package commands): Clarify that within + error/warning/info message, command \space is useful only after a + command name, as the usual space char can be used otherwise. Fix + prototype of \DeclareLOption* --- takes no @var{option}. + (Class and package commands): \IfFileExists, \InputIfFileExists, + use argument in description. Use @file{...} for file names. Add + @comment about at-macros for handling release date with more + refinement. + (Class and package commands): \ExecuteOptions, push @var{option} + into @code{...} for @code{\ds@@@var{option}}. + (Class and package commands): @comment, I do not understand ``that + you invoked''. + (Class and package commands): @var{option+s+ list} -> @var{option + list}. + (Class and package commands): If your code -> If your _own_ code + (Class and package commands): Cascaded package loading, clarify + text about how options get through. + (Class and package commands): \ProcessOpitons `Execute the code + +for+ each option' -> `Execute the code _associated with_ each + option' + (Class and package commands): @dfn{}-ize `global' and `local' + options. + (Class and package commands): Use enumerate env for enumerating. + (Class and package commands): + `@code{\ProcessOptions*}@var{\@@options}' -> + `@code{\ProcessOptions*}', fix this, probably a confusion with + `ds@...' macros. + (Class and package commands): \ProvidesClass, \ProvidesPackage, + give synopsis with and w/o brief additional info. + (Class and package commands): optional part/portion -> optional + argument. + (Class and package commands): Place a version number also in the + brief additional information, as this is what people usually do. + (Class and package commands): smcmem -> smcmemo for consistency. + (Class and package commands): `by using the optional +calls+' -> + `by using the optional _arguments_'. + (Class and package commands): \ProvidesFile, relate @var{...} + arguments and description text. + (Class and package commands): \RequirePackage, author -> document + author, to distinguish from class/package authors. + +2017-07-26 Jim Hefferon + + * latex2e.texi: (\makeatletter and \makeatother) Give an example + replacing the \@startsection one that migrated from there. + +2017-07-26 Jim Hefferon + + * latex2e.texi: (\@startsection) Translate from French. Add text + and examples, including example of inventing new sectioning type. + +2017-07-21 Karl Berry + + * latex2e.texi: Typos. + +2017-07-12 Jim Hefferon + + * latex2e.texi: added class and package commands from clsguide.pdf. + +2017-06-09 Vincent Belaïche + + * latex2e-fr.texi (abstract): typo. + (\raggedleft): typo. + (\circle): Make \circle & \circle* two different synopsis rather + than signalling * as an optional argument by square bracketing it. + (Spacing in math mode): Typo. + (\hspace): Make \hspace & \hspace* two different synopsis rather + than signalling * as an optional argument by square bracketing + it. Typo. + (\addvspace): Typo (use masculine gender for espace when vertical, + feminine seems to be used only for horizontal space). + (tugboat template): Take Karl's edit of 2016-11-30 + translate to + French --- well maybe I should add that TUG articles have to be + written in English, and maybe I should add a template for cahiers + de GUTember. + +2016-11-30 Karl Berry + + * latex2e.texi: assorted typos and rewordings. + - not "itemization" + - "paragraph" not "paragraphe" + - "sign" not "signe" + - "useful" not "usefull" + Also, "ctan.org" not "www.ctan.org". + + (tugboat template): update. + +2016-11-24 Vincent Belaïche + + * latex2e-es.texi: Place the English license in the @copying + section, and push the translation to an annex. + + * Makefile.1 (fr, en, es): Change dependancy order so that license + check happens first. + (license-check-{fr, en, es}): Make the comparison relative to the + license as in latex2e.texi, and fix `/std/err' to `/dev/stderr'. + (distclean clean mostlyclean): Add license.texi to the files to be + cleaned off. + (txt_files): Remove license.texi from the list of files + to zip into the distributed archive. + + * Makefile (txt_files): Remove license.texi from the list of files + to zip into the distributed archive. + +2016-11-23 Vincent Belaïche + + * license.texi: dos2unix + svn propset svn:eol-style to LF. + + * latex2e.texi (Cross references): Add word label to concept + index, and make it an @dfn{...} in the node text. `running the + document' -> `compiling the document'. + (\label): `number' -> `reference number'. + (abstract): Solve some overful hbox in @example...@end example + blocks. + + * latex2e-fr.texi (document header comment): Refer to + http://gdt.oqlf.gouv.qc.ca/ as one of the source for French + vocabulary. + (Cross references, \label, abstract): Same changes as in + latex2e.texi. + (Cross references, \label, \pageref, \ref): Take Jim's rev481 + edits + fix some typoes. + (\includeonly): Fix typo. + + * Makefile.1: Add check-license- targets to check that the + license is same as in license.texi + +2016-11-21 Vincent Belaïche + + * ltx-help.el (latex-help-file): Make this variable a defcustom + for selecting the manuel translation. + + * latex2e-fr.texi (copying): Restore license text without @include'sion of + license.texi, make it delimited by @comment's. + (dircategory): fix `LaTeX2e-fr' -> `latex2e-fr' + (throughout document): Use proper unbreakable space before colons. + (tabular, \newtheorem): typoes. + (\address): @var{...} instead of @code{...} for the argument + typoes. + (\cc): typoes + add example from latex2e.texi + (\closing): typo. + (\signature): Typoes, translate @var name. + (Command line): Typoes. + + * latex2e.texi: Restore license text without @inclusion of + license.texi, make it delimited by @comment's. + (\cc): Add `, as in:' before example. + +2016-11-19 Vincent Belaïche + + * license.texi: Ooops... add this file. + +2016-11-19 Vincent Belaïche + + * latex2e-fr.{xml,dvi,html,info,pdf,txt}: Make these files again + for the license. + + * latex2e-fr.texi: Restore original English license text by + @inclusion of license.texi, and push translation thereof to an + annex. + + * latex2e.texi: Make license text @include-ed + + * NEWS-fr: Mention that original English license text is restored, + and translation thereof pushed to an annex. + + * Makefile.1 (txt_files): Add license.texi file. + + * Makefile (txt_files): Add license.texi file. + +2016-11-18 Vincent Belaïche + + * Makefile.1: Make variable txt_tiles a macro, so that NEWS-fr and + README-fr be delivered instead of NEWS and README for target + dist-fr. + + * NEWS-fr: add news for November 2016 CTAN delivery. + +2016-11-18 Vincent Belaïche + + * latex2e-fr.{xml,dvi,html,info,pdf,txt}: Make these files. + + * latex2e.texi (\makeatletter and \makeatother): Add reference to + package macros2e. + (picture): Add reference to package picture. + + * latex2e-fr.texi (\makeatletter and \makeatother): Add reference + to package macros2e. + (picture): Fix typos. Add reference to package picture. + (\protect): Rephrase `argument mobile' to `argument mouvant' + + * README-fr: Make it clear the motivation for changing `argument + mobile' into `argument mouvant'. + + * Makefile.1 (spell-$(1)): Take in edit by Karl (rev 546) on Makefile + +2016-11-15 Vincent Belaïche + + * latex2e.texi (Math miscellany): Use `math' instead of `text' for + the @var{...} name. + + * latex2e-fr.texi (Math miscellany): Use `math' instead of `texte' + for the @var{...} name. Use `@ifset HAS-MATH' instead of `@iftex' + for displaying how the example looks like. + (\(SPACE) and \@@): `@key{espace}' -> `@key{}' + fix typo + missing \ in @code{\ }. + +2016-10-31 Karl Berry + + * Makefile (spell): A-Z intended in range. + +2016-09-14 Vincent Belaïche + + * latex2e-fr.{dbk,html,info,txt,xml,pdf}: Update French manuals. + +2016-09-13 Vincent Belaïche + + * latex2e-fr.texi (\@@ifstar): New node. + + * latex2e.texi (\makeatletter and \makeatother): Comment that + documenting \@ifstar is TODO. + +2016-09-13 Vincent Belaïche + + * latex2e-fr.texi (\newcommand & \renewcommand, Spaces) + (\(SPACE) and \@@, \(SPACE) after control sequence): Complete + taking on Karl's rev497 edits. + +2016-09-13 Vincent Belaïche + + * latex2e-fr.texi (\discretionary, Footnotes in section headings) + (\newcommand & \renewcommand, Math miscellany, \(SPACE) and \@@) + (Text symbols): Align on Karl's rev533 changes. + (\(SPACE) after control sequence): Rename node --- old name was + ``\(SPACE) after CS'' --- as per Karl's rev497 edits. + +2016-09-12 Vincent Belaïche + + * latex2e.texi (Document class options): Remove @dmn{...} for + ``inches''. + + * latex2e-fr.texi (Document class options): Remove @dmn{...} for + ``pouces''. Use comma instead of point as decimal symbol. Fix + left-over non translated word ``by''. + (Floats): Indicate that ``Here'' means ``Ici'', and fix left-over + non translated word ``For''. + +2016-09-09 Vincent Belaïche + + * latex2e.texi (Document class options): @dmn{...}-ize the units + in the text from Jim's rev383 changes. + (All over document): Create PkgIndex macro and use it to add packages + to index. + + * latex2e-fr.texi: Take left over Jim's rev383 changes --- + including further fix from Karl's rev 533. Move HAS_MATH flag + definition (as per Karl's rev533 changes). Fix typo inside + EnvIndex macro definition. Create PkgIndex macro for adding + packages to index. + (All over document): Use PkgIndex macro to add packages to index. + (Overview): Use term ``paquet'' instead of ``paquetage'' in the + cindex for ``paquet de macro'', to be in line with the text body. + (Document class options): As compared with Jim's rev383 changes, + @dmn{...}-ize the units. + (Math symbols): Fix typo in \uplus entry. + +2016-09-07 Vincent Belaïche + + * latex2e-fr.texi: Same changes as in latex2e.texi + (Document class options): Minor editorial change. + (\newenvironment & \renewenvironment): Align on Karl's rev538 + change, ie clarify that @var{débutdéf} and @var{findéf} are + executed within a group. Rename @var{débutdéf} and @var{findéf} to + @var{défdébut} and @var{déffin} + + * latex2e.texi: new iftexthenelse macro. + (Footnotes in a table): Minor editorial change to avoid overfull hbox. + (\alph \Alph \arabic \roman \Roman \fnsymbol): Do not mention + Unicode for PDF output, and show the LaTeX commands producing the + symbols. + (\newenvironment & \renewenvironment): clarify that @var{begdefn} + and @var{enddefn} are executed within a group. Plus clarify that + _body_ is also treated within a group. Replace word ``executed'' + by ``processed'' because not only execution but also expansion + prior to it happens within a group. + +2016-09-05 Vincent Belaïche + + * latex2e.texi (\newenvironment & \renewenvironment): Add an + @findex for ``group''. + + * latex2e-fr.texi (\newenvironment & \renewenvironment): Align on + Karl's 2016-09-03, plus some typo/translation fixes. Add an @findex + for ``groupe''. + + * README-fr, + * NEWS-fr: New file, translation of NEWS plus some French specifics. + + * README: Clarify that + https://mail.gna.org/listinfo/latexrefman-discuss is for archives + and subsription. + +2016-09-04 Vincent Belaïche + + * latex2e-fr.texi: Whole file, suppress any trailing blanks. + +2016-09-04 Vincent Belaïche + + * latex2e-fr.texi (Top): Fix translation of sub node menu entry text. + (Overview): Fix spelling. Fix leftover English. ``paquetage de + macros'' -> ``paquet de macros'', because here work ``package'' is + less formal (not using the kernel packaging mechanism). + (@LaTeX{} command syntax): Translate title. + (Fonts): in ``Low-level font commands'' menu entry, improve + translation (notably translat ``shape'' by ``allure''). + (Font styles): Use French guillemets. + (Low-level font commands): Fix spelling. ``shape'' -> ``allure'' + (Layout): Fix menu entry Texinfoing. + (\centering): Fix spelling. + (\centering): Fix typo. + (minipage): Fix spelling. + (Footnotes in a table): Fix typo. + (Lengths): Provide menu entry text index translation where needed. + (Spaces): Fix spelling + provide ref text translation where needed. + +2016-09-03 Karl Berry + + * latex2e.texi (\newenvironment & \renewenvironment): wording, + examples, xref. + * aspell.en.pws: additions. + +2016-08-31 Karl Berry + + * aspell.en.pws: additions. + + * latex2e.texi (Document class options): add a5paper. + (\discretionary): English description. + + (Footnotes in section headers): wording, add index entries. + + (\newcommand & \renewcommand): more attempts at clarity; + simplify examples. + + (Math miscellany): add \mathdollar \mathellipsis \mathparagraph + \mathsection \mathsterling \mathunderscore \mathunderscore. + (Text symbols): add \textsection, \textquotesingle. + +2016-04-12 Vincent Belaïche + + * latex2e.texi (Document class options): Improve wording by + reusing package variable @var{pkg} in the synopsis description. + (\newcommand & \renewcommand): Fix typo. + (\newenvironment & \renewenvironment): Use term `positional + parameter' in addition of `@code{#@var{n}}'. `argument parameters' -> + `positional parameters'. + (Reserved characters): `\backslash' -> `\textbackslash' in the + @findex in accordance with description. + + * latex2e-fr.texi (Document class options): Align \usepackage + description on latest latex2e.texi, improve wording by reusing + package variable @var{paquo} in the synopsis description. + (\newcommand & \renewcommand): Align description on latest + latex2e.texi by @code{...}-ifying all the occurrence of + `\@var{cmd}'. Fix typoes. + (\newenvironment & \renewenvironment): nargs starting from 0 + rather than from 1. Fix typoes. `argument positionnel' -> + `paramètre positionnel'. + (Reserved characters): `\backslash' -> `\textbackslash' in the + @findex in accordance with description. Fix typoes. + +2016-04-12 Vincent Belaïche + + * latex2e-fr.texi (top comment, Top): Make version under quotes to + avoid incorrect French ``de Avril 2016'' or ``du Avril 2016'' + instead of ``d'Avril 2016''. + (Document classes): Typoes. + + * latex2e-{es,fr}.texi (top comment): Update dates in copyright + notice up to 2016. + + * latex2e-fr.texi (top comment): `Copyright' -> `Tous droits + réservés ©' + add ``Vincent Belaïche'' as translator. + +2016-04-11 Vincent Belaïche + + * latex2e-es.texi (top comment, Using BibTeX): Replace CTAN + central server URLs by mirror URLs, after a comment by Petra + Rübe-Pugliese. + + * latex2e-fr.texi (top comment, Output files, Using BibTeX): + Replace CTAN central server URLs by mirror URLs, after a comment + by Petra Rübe-Pugliese. + (Output files, Using BibTeX): Typoes. + + * latex2e.texi (top comment, Output files): Replace CTAN central + server URLs by mirror URLs, after a comment by Petra + Rübe-Pugliese. + +2016-04-08 Vincent Belaïche + + * NEWS: Add NEWS entry for the Apr 2016 release --- assuming + English will be released also. + + * Makefile.1 (dist-xx, dist): Fix pior check that there aren't any + uncommited changes before making the zip. + +2016-04-07 Vincent Belaïche + + * latex2e-fr.{dbk,html,info,txt,xml,pdf}: Update French manuals + for distribution 2016-04-08 to CTAN. + +2016-04-07 Vincent Belaïche + + * latex2e-fr.texi: Updated @set UPDATED. + + * aspell.es.pws: new file. + + * aspell.fr.pws: new file. + + * Makefile.1: new file evolved from Makefile, to be merged + later-on with Makefile once Karl has more time to review it and + validate the design. Compared to orignal Makefile the changes are + as follows, where xx denotes the language, ie is a two letter word + in {en,fr,es}: + + - make it futureproof w.r.t. to new languages addition. + + - make it safer: + - test for uncommitted changes before preparing distribution zip + - automate @set UPDATED flag before preparing distribution zip + + - add target dist-xx, to prepare distribution for language xx only, this + triggers automatic update of @set UPDATED flag for the corresponding + language + + - modify spell and spell-en target so as to support all languages. I had + to add custom dicitionnary for fr and es. spell will check all the + languages, use spell-en for English only. My aspell seems to be too + old to support --mode=texinfo, so I could not test it. + + - modify target dist so that french is added to the zip file. Please + note that dist will not trigger automatic update of the @set UPDATED + flag, before Makefile cannot know which manual has been updated and + which not. This will also make the uncommitted check. + + - add target updated-date-xx to automatically update @set UPDATED flag + in the xx manual + + - add target updated-xx to do updated-date-xx + rebuild all outputs for + xx + + - add target tag to make a tag, you can use this as follows for default + CTAN tag (which is `ctanYYYY-MM-DDTHH:mm:SS', where + YYYY-MM-DDTHH:mm:SS is an ISO time stamp): + + make tag + + or you can do this for make tag `foo' with message `Some message': + + make tag TAG=foo "MESSAGE=Some message" + + +2016-04-04 Vincent Belaïche + + * latex2e.texi: Add EnvIndex macro to make indexing environments + consistent and throughout the manual. Replace any @findex of an + environment by a call to this macro. + + * latex2e-fr.texi: Same as latex2e.texi. + (filecontents): Typoes. + (table): Typo (table evironment name mistakenly translated to + French). + (\\): Typoes. + (\enlargethispage): translate cindex entry to French. + + * latex2e-es.texi: Same as latex2e.texi. + (filecontents): Align to latest text in latex2e{,-fr}.texi. + +2016-04-02 Vincent Belaïche + + * latex2e-es.texi: Add @BES and @BESU macro definitions. + (Símbolos de Texto): Use @BES macro rather than @math for + \textperiodcentered so that the other-than-PDF is clean. `$' -> + `\$' for \textdollar. + + * latex2e.texi (Text symbols): Use @BES macro rather than @math + for \textperiodcentered and \trademark so that the other-than-PDF + is clean. `$' -> `\$' for \textdollar. + (\makeatletter and \makeatother): re-indent + \@startsection example for solving the overfull hbox in the PDF + output. + * latex2e-fr.texi (Text symbols): \textquestiondown + Typo. \textexclamdown `haut en bas' -> `culbuté'. Use @BES macro + rather than @math for \textperiodcentered and \trademark so that + the other-than-PDF is clean. `$' -> `\$' for \textdollar. `marque + de fabrique' -> `marque de commerce' for \texttrademark. + (\@@startsection): re-indent \@startsection example for solving + the overfull hbox in the PDF output, and fix some wrong reference. + +2016-03-31 Vincent Belaïche + + * latex2e-fr.{dbk,dvi,html,info,pdf,texi,txt,xml}: make fr. + +2016-03-29 Vincent Belaïche + + * latex2e-fr.texi (Line breaking): Improve translation of + break/breaking, use `saut/sauter à' rather than `rupture/rompre'. + (Spaces): Typo. + (Special insertions): Typo. + (Text symbols): Fix typo adding `comp' into + `\textcapitalcompwordmark' and `\textascendercompwordmark', and + translate this item. + (Math miscellany): Same change as in latex2e.texi + (\bigskip \medskip \smallskip): Same change as in latex2e.texi + + * latex2e.texi (Math miscellany): Remove @findex useless as we are in an ftable. + (\bigskip \medskip \smallskip): Replace @table by @ftable, and + remove @findex corresponding to @item's + (Text symbols): Fix typo adding `comp' into + `\textcapitalcompwordmark' and `\textascendercompwordmark' + + +2016-03-17 Vincent Belaïche + + Reword descrition of \epsilon and \varepsilon. + + * latex2e.texi (Math symbols): About \epsilon ``Greek-letter'' -> + ``lunate'', plus add some notice that ``Similar to Greek text + letter''. About \varepsilon ``curly'' or ``rounded small'' -> + ``script small letter''. + + * latex2e-fr.texi (Math symbols): About \varepsilon ``en forme de + 3 retourné'' -> ``minuscule de ronde''. + +2016-03-15 Vincent Belaïche + + * latex2e.texi (Math symbols): Fix compilation errors. + + * latex2e-fr.texi (Math symbols): Fix compilation errors. + +2016-03-14 Vincent Belaïche + + * latex2e.texi Define flags NotInPlainTeX, NeedsAMSSymb and + NeedsSTIX, in order to factorize text of `Math symbols' node. + (Math symbols): Remove that \varnothing is reverse of \emptyset, + but make it variant. Add items for \revemptyset and varnothing. + Factorize text with news flags flags NotInPlainTeX, NeedsAMSSymb + and NeedsSTIX. \rangle, fix unicode code point. \smile: add + `smile' into meaning. + + * latex2e-fr.texi (Math symbols): Progress translation of this + node and make same changes as for latex2e.texi. + +2016-03-08 Vincent Belaïche + + * latex2e-fr.texi (Top): Typoe in `Modes' menu entry. + (eqnarray): `or' -> `ou'. + (Math symbols): Progress translation of this node + same changes + as in latex2e.texi. + (Modes): Typoes + same changes as in latex2e.texi. + (\ensuremath): new node. + (\(SPACE) and \@@): `guillemet anglais' -> `guillemet-apostrophe'. + (Text symbols): Progess translation of this node + same changes as + in latex2e.texi. + + * latex2e.texi (Math symbols): Remove description how to make + \leadsto mode independent, and add a reference to new node + \ensuremath. Also clarify "Unless said otherwise" for this that + these commands are only available in math mode as this is not true + for \ldots. + (Modes): Point to new node \ensuremath + (\ensuremath): new node. + (Text symbols): Add pilcrow character for \P, similar change for \S. + +2016-03-06 Vincent Belaïche + + * latex2e-fr.texi (Math symbols): Progress translation of this node. + +2016-02-29 Vincent Belaïche + + * latex2e-fr.texi (\circle): Use term ``disque'', in addition to + ``cercle plein'' (solid circle). @dmn{...}-ify unit. + (\makebox (picture)): Typo. + (Math symbols): Progress translation of this node. + +2016-02-22 Vincent Belaïche + + * latex2e.texi (Text symbols): Fix @code{'}->@code{''} for \textquotedblright + (Splitting the input): @dfn{...}-ify `root file' and add it to concept index + (\include): Replace `See next section' -> `See @ref{\includeonly}'. + (\includeonly): `@var{file}s' -> `@var{file1}, @var{file2}, @dots{}' + + * latex2e-fr.texi (\alph \Alph \arabic \roman \Roman \fnsymbol): `croix-mortuaire' -> `obèle' + (Math symbols): Progress translation of this node. + (Text symbols): Start translation of this node. + (\thinspace): `imbriqué' -> `emboîté', as per Cahier GUTenberg #49 glossary + (Text symbols): Fix @code{'}->@code{''} for \textquotedblright + (Splitting the input, \include, \includeonly, \input): Translate these nodes. + (Splitting the input): @dfn{...}-ify `root file' and add it to concept index + (\include): Replace `See next section' -> `See @ref{\includeonly}'. + (\includeonly): `@var{file}s' -> `@var{file1}, @var{file2}, @dots{}' + +2016-02-15 Vincent Belaïche + + * latex2e.texi (\noindent): `..' -> `...'. + + * latex2e-fr.texi (About this document, @LaTeX{} command syntax) + (Document class options, Document class options) + (Page layout parameters, Sectioning, enumerate, \item, \line) + (\thicklines, \thinlines, \cite, \newtheorem, \newtheorem, \newtheorem) + (\alph \Alph \arabic \roman \Roman \fnsymbol, \signature): @tie{} -> UTF-8 + unbreakable space. + (Environment): `..' -> `...' + translation of text in example. + (\centering): Typo. + (quotation and quote, \newenvironment & \renewenvironment) + (\noindent, \signature): `..' -> `...'. + (Math symbols): Progress translation + @tie{} -> UTF-8 unbreakable + space. + +2016-02-11 Vincent Belaïche + + * latex2e.texi (abstract): @code{...}-ify words `article' & + `report' when they refer to classes. + (array): @code{...}-ify words `array' when it refers to + environment. + (array): Ellipsis `..' -> `...'. + (\multicolumn): Add empty blank line after `@end example'. + + * latex2e-fr.texi: Throughout document align on Cahier GUTenberg #49 glossary the following: + `indentation/indenter' -> `renfoncement/renfoncer', `en mode affichage' -> `en hors-texte'. + (\@@startsection): `@var{indent}' -> `@var{retrait}', indent(ation) -> retrait or renfoncement. + (Document class options): Added flegn concerns display mode formula only. + (Environments): `mise en vedette' -> `en hors texte' + (abstract): `abtracts' -> `résumé', and update translating this + node as per Jim's rev 486 of 2015-12-05T13:22:45+01 edit. + (Environment): Ellipsis `..' -> `...', and add + `Voir @ref{Environments} pour une liste des environnements.' as + per Jim's rev 486 of 2015-12-05T13:22:45+01 edit. + (array): Update translation ad per Jim's edits rev 391 of + 2015-08-02T22:57:00+02 and with fixes from rev 469 by Karl of + 2015-11-01T23:58:36+01, and rev 503 by Karl of + 2016-02-10T00:11:11+01 + (eqnarray): `style d'affichage' -> `hors texte'. + (itemize, minipage, quotation and quote): `Indentation' -> `Renfoncement'. + (tabular): Ellipsis `..' -> `...', from rev 469 by Karl of + 2015-11-01T23:58:36+01. Typo. + (\multicolumn): Update translation as per Jim's edit rev 390 of + 2015-08-02T20:08:26+02 + (\verb): Typo. + (verse): indent(ation) -> retrait or renfoncement. + (\\): Ellipsis `..' -> `...', from rev 469 by Karl of + 2015-11-01T23:58:36+01. + (\footnotetext): Typo. + (Making paragraphs, \indent, \noindent): indent(ation) -> retrait + or renfoncement. + (Letters): `style d'affichage' -> `hors texte'. indente -> renfonce. + + +2016-02-09 Karl Berry + + * latex2e.texi (array): the directive is just p{...}, not @p{...}. + Noted by Vincent. + +2016-02-08 Vincent Belaïche + + * latex2e.texi (lrbox): Use Synopsis instead of in-line + @code{...}. `cmd' -> `\@var{cmd}'. @ref{...}-ify @code{\sbox}. + (\raisebox): @var{...}-ify some synopsis arguments. + (\addcontentsline): Remove args from @findex entry. Use synopis + rather than in-line @code{...}. Specify @var{unit} to be `figure', + resp. `table', when @var{ext} is `lof', resp. `lot'. Use `text' + everywhere instead of `text', `entry' and `name'. Fix `\contentsline' + description. Add third argument `num' to `\contentsline' and describe it. + (Indexes): Clarify `extension' is a filename extension. Add + missing antislash to \printindex and \indexspace. + (Letters): Typo. @code{...}-ify word `letter' when the environment + name. Add word `body' concerning whatever lies in the letter + environment body. + (\closing): @var{...}-ify argument. + + * latex2e-fr.texi: In file header, add reference to the + French/English LaTeX glossary published in the ``Cahier + GUTenberg'' #49 (2017), page 19--45. + (Top): Typo. + (itemize): Typo. + (\discretionary): Typo. + (\vfill): Translate this node. + (\vspace): Take fixes from rev 469 by Karl (2015-11-01T23:58:36+01). + (\opening): Take fixes from rev 469 by Karl (2015-11-01T23:58:36+01). + (lrbox): Translate this node. + (\raisebox): Complete translation of this node. + (Front/back matter): Typo. + (Tables of contents): `article' -> `entrée', as per Cahier GUTenberg #49 glossary. + (\addcontentsline): Translate this node, with same edits as in latex2e.texi. + (\addtocontents): Translate this node. + (Glossaries): Translate this node. + (Indexes): Translate this node, with same edits as in latex2e.texi. + (Letters): Typoes. `clôture' -> `salutation'. Typo. Complete + translation with same edits as in latex2e.texi. + (\address): Translate this node. + (\cc): Translate this node. + (\closing): Translate this node with same edits as in latex2e.texi. + (\encl): Translate this node. + (\location): Translate this node. + (\makelabels): Typo. + (\opening): Typo. + +2016-02-05 Vincent Belaïche + + * latex2e.texi (Line breaking, \discretionary): Add node + \discreionary, need completion. + (\protect): `they must be' -> `one solution is', as there are + alternative solution consisting in robustification of fragile + command. Move concept index entry "moving arguments" next to + concept first occurrence. Fix typo. + + * latex2e-fr.texi (Line breaking, \discretionary): Add \discretionary node + (\linebreak & \nolinebreak): Translate this node. + (Page breaking): Translate this node. + (\protect): Translate this node, with same changes as in latex2e.texi. + +2016-02-04 Vincent Belaïche + + * latex2e-fr.texi (Spacing in math mode): Add @xref{\thinspace} to + the \thinspace entry. + (Math miscellany): Complete translation of this node. Clarify + discretionary multiplication and add example. Make TeX output only + when compilation is with TeX and fix some of the examples. + (\(SPACE) and \@@): Typo. + (\thinspace): Translate this node. + (Boxes): Translate intro in this node. + + * latex2e.texi (Spacing in math mode): Add @xref{\thinspace} to + the \thinspace entry. + (Math miscellany): Clarify discretionary multiplication and add + example. Make TeX output only when compilation is with TeX and fix + some of the examples. + +2016-02-02 Vincent Belaïche + + * latex2e-fr.texi: Reword copyright notice from + Automatic-translation French to real French. + (Environments): Remove spurious space. + (tabular): Typo. + (\hyphenation): Translate this node. + (\newenvironment & \renewenvironment): Typo. Align on change done by Jim + on rev 482 2015-11-30T12:06:12. + (\newcommand & \renewcommand): Align on changes done by Jim on rev + 345 2015-05-27T02:05:34+02. Also `@var{cmd}' or `@var{\cmd}' -> + `@cmd{\@var{cmd}}'. + (Math miscellany): Start translation of this node. + (Spaces): Typo in menu. + (\(SPACE) after CS): Typo. Translate remain pieces left over in + English, notably title. Align on rev 497 2016-02-01 by Karl (ie + make only a brief mention of xspace), plus my rewording in + latex2e.texi. + + * latex2e.texi (\newcommand & \renewcommand): `@var{cmd}' or + `@var{\cmd}' -> `@cmd{\@var{cmd}}' + (\typein): `@var{cmd}' -> `@cmd{\@var{cmd}}'. Add `starred form' to concept index. + (\(SPACE) after control sequence): Rewording mention that xspace + alter standard behaviour. I gather the the intention was not to + say that individual commands alter the standard behaviour --- as + xspace package does --- but rather that some individual command do + not following the standard behaviour, and amongst them, those + defined with the xspace package. + +2016-02-01 Karl Berry + + * latex2e.texi (\(SPACE) after control sequence): replace xspace + details with a mere mention. Rename node from + \(SPACE) after control sequence. + (\newcommand & \renewcommand): don't say "command". + +2016-01-30 Karl Berry + + * latex2e.texi (\newcommand & \renewcommand): mention "\ " + after control sequences, as noted by Vincent. + +2016-01-27 Vincent Belaïche + + * latex2e-fr.texi (Marginal notes): Typoes. + (Subscripts & superscripts): Typo. + (Math functions): Translate this node to French. + (Math accents): Translate this node to French. + (Math miscellany): Initiate translation of this node to French. + (Non-English characters): Translate this node to French. + (\today): Translate this node to French. + + * latex2e.texi (Math functions): make `\sup' formatted as a math + operator when in TeX output, update comment accordingly. + (Additional Latin letters): Add information that \dh, \DH, \dj, + \DJ, \th and \TH do not exist in OT1 font encoding --- I got this + infomation from the comprehensive package. + (Additional Latin letters): \ng & \NG, `Latin' -> `Lappish'. + (\today): @samp-ify the example date. + (\today): Add information about localization by multilingual + packages & classes. + +2016-01-26 Karl Berry + + * latex2e.texi (Additional Latin letters): rename from + Non-English characters (leave anchor behind). Suggestion from + Vincent, 25 Jan 2016 17:27:30. + +2016-01-24 Karl Berry + + * latex2e.texi (\item): oops, should have been a subsection. + (throughout): use three dots consistently for displayed ellipses; + will fix in-text ellipses later. + +2016-01-23 Karl Berry + + * latex2e.texi (Environment[s], \item): fix undefined references. + (cross-reference): replace with "cross reference", for consistency. + +2016-01-22 Karl Berry + + * aspell.en.pws: add more exceptions. + * latex2e.texi: fix typos, refilling. + +2016-01-15 Vincent Belaïche + + * latex2e.texi (\setlength, \addtolength, \settodepth) + (\settoheight, \settowidth): Place synopsis in a Synopsis + paragraph, rather than in title, simplify title, use \@var{len} + for the length command (rather than \gnat). Add ``length command'' + to concept index of \selength node with @dfn-fying it, and remove + quote in the other nodes. + (Predefined lengths): Make the formula defining \totalheight a + math formula. + + * latex2e-fr.texi (Floats): Typo + (\setlength, \addtolength, \settodepth, \settoheight) + (\settowidth, Predefined lengths): Translate these nodes to + French, with taking into account changes done to latex2e.texi + (Special insertions): Fix menu entry syntax. + (Reserved characters): Translate this node to French + (Symbols by font position): Add this node, after update made to + latex2e.texi + +2015-12-14 Vincent Belaïche + + * latex2e-fr.texi (Top): section->rubrique, sectionement->rubricage + (@LaTeX{} command syntax): Add node ``\makeatletter and \makeatother''. + (\makeatletter and \makeatother): New node, translated from + English version, plus improvement as changes in latex2e.texi, plus + \@startsection example made a separate node with more information. + (\@@startsection): New node. + + * latex2e.texi (\makeatletter and \makeatother): Change ``read by + TeX and LaTeX'' to ``read by TeX for LaTeX''. Change ``character + code'' to ``character category code'', and introduce term + ``catcode''. Use the term ``private commands'' for commands with + an ``@'' in their names. Improve wording about command names with + a single non-letter. Suppress chiasmus of ``\documentclass and + \usepackage'' w.r.t. ``.sty and .cls files''. Add TODO @comment + about making \@startsection a separate node, see French version. + (\makelabels) Add reminder TODO comment to align on French + version. + +2015-12-10 Jim Hefferon + + * latex2e.texi (array, center): Adjust wording, add examples. + +2015-12-05 Kevin Ryde + + * ltx-help.el (ltxh-buffer-substring): defalias to use + 'buffer-substring-no-properties if available. + (latex-help-get-cmd-alist): support :: and (line 123). + Mail of 03 Dec 2015 17:49:05. + +2015-12-03 Jim Hefferon + + * latex2e.texi (abstract): Add examples. + +2015-12-03 Jim Hefferon + + * latex2e.texi (\onecolumn, \twocolumn): Adjust wording (make + first sentence a one-sentence description). + +2015-12-02 Jim Hefferon + + * latex2e.texi (\flushbottom): Adjust wording. + +2015-12-01 Jim Hefferon + + * latex2e.texi (\newtheorem): Add case of no optional arguments + to synopsis, with summary in body. + +2015-11-29 Jim Hefferon + + * latex2e.texi (\newcommand and \newenvironment): Minor wording + adjustments, mostly for consistency with subsequent practice. + +2015-11-29 Jim Hefferon + + * latex2e.texi (Cross references): Add examples, and description of + forward references. + +2015-11-28 Jim Hefferon + + * latex2e.texi (Counters): Adjust wording and add examples + for \setcounter and \addtocounter. + +2015-11-28 Jim Hefferon + + * latex2e.texi (Counters): Add variable `counter' to description + of the counter-formatting commands. (From latex.texinfo.) + +2015-11-27 Jim Hefferon + + * latex2e.texi (\makeatletter and \makeatother): Adjust wording. + +2015-11-26 Vincent Belaïche + + * latex2e-fr.texi (\newsavebox, \newtheorem, \newfont): Complete + translation of this node, and align on latest English version. + + * latex2e.texi (\newtheorem): Typo. + (\newfont): `11pt' -> `1100' in the example, when the at clause + has the `scaled FACTOR' form. + +2015-11-26 Jim Hefferon + + * latex2e.texi (\makeatletter and \makeatother): Add node for this, + as a subnode of the description of definition of commands. + +2015-11-25 Jim Hefferon + + * latex2e.texi (Reserved characters): Split out symbols by font + position. Distinguish between output in text body font and + output in typewriter font. + +2015-11-09 Vincent Belaïche + + * latex2e.texi (\newcommand & \renewcommand): Introduce the + concept of positional parameter. + (\newenvironment & \renewenvironment): Remove the text that + starred & nonstarred forms have the same effect, and restore the + original text that starred forms ban the use of \par in arguments. + Tell that the only allowed characters in environment names are + letters and character `*'. Use the term positional parameter, and + tell that expansion is within begdefn, not within environment, + which was misleading. @samp{...}-ify `Shakespear' outside of + @example...@end example. + + * latex2e-fr.texi (Output files): Typo. + (tabular): Typoes. + (\newcommand & \renewcommand): Typo. Introduce the concept of positional parameter. + (\newenvironment & \renewenvironment): Complete the translation + and make the same text improvements as in latex2e.texi. + +2015-11-06 Vincent Belaïche + + * latex2e-fr.texi (\parbox): Tell that `position=m' equates the + default behaviour. + + * latex2e.texi (\parbox): Same as latex2e-fr.texi. + +2015-11-05 Vincent Belaïche + + * latex2e.texi (\fussy): Typo. + + * latex2e-fr.texi (verbatim): Translate this node. + (\verb): Clean-up left over English words. + (\obeycr & \restorecr, \fussy, \sloppy): Translate this node. + +2015-11-04 Vincent Belaïche + + * latex2e.texi (tabular): wording `@code{*-expression}' -> `@code{*}-expression'. + + * latex2e-fr.texi (tabular): Complete translation of this node. + +2015-11-03 Vincent Belaïche + + * latex2e.texi (\parbox): Correct description of \parbox vertical + alignment after comment from Denis Bitouzé. + + * latex2e-fr.texi (\parbox): Same as for latex2e.texi. + +2015-11-01 Karl Berry + + * latex2e.texi (\vspace): mention behavior if used in hmode. + + * latex2e.texi (throughout): consistently use ... instead of + .. for code ellipses. + +2015-10-27 Vincent Belaïche + + * latex2e-fr.texi (enumerate): Typo. + (itemize): Restore missing example. + (thebibliography): `label' -> `étiquette', `cite_key' -> + `clef_de_cite'. Change wording concerning `\refname' in standard classes. + (\bibitem, \cite, \nocite, Using BibTeX, theorem): Translate this node. + (\cleardoublepage, \newpage): Improve wording `page actuelle' -> + `page courante'. + (\typeout): Typo `\espace' -> `\space'. + + * latex2e.texi (\bibitem): 1/ Add to concept index "citation + key". 2/ @var{...}-ify word label where applicable for consistency + with @var{cite_key}. 3/ `see next section' -> `@pxref{\cite}'. + (\cite): 1/ Add reference to node \bibitem. 2/ @samp{...}-ify the + example possibly produced typeset text. + (\nocite): Add `Synopsis:' and `@example ... @end example' + encapsulation thereof. + (Using BibTeX): 1/ `@var{style}' -> `@var{bibstyle}'. 2/ + `@file{@var{bibfile}.bib}' -> `@file{@var{bibfile1}.bib}, + @file{@var{bibfile2}.bib}, @dots{}'. + +2015-10-27 Jim Hefferon + + * latex2e.texi (titlepage): Add example. + 2015-10-25 Jim Hefferon * Correct errors reported by CTAN, including my lack @@ -5,9 +1209,9 @@ 2015-10-24 Jim Hefferon - * New version for CTAN, since there were lots of updates over the - summer. Just English for the moment; we need to smooth the process - for other languages. + * New release, version of October 2015, for CTAN, since there + were lots of updates over the summer. Just English for the + moment; we need to smooth the process for other languages. * Makefile (distzip): the phony target was not doing the recipies; changed name of a variable to distzip. diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile index 04277eb0274..2c3cf753278 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 462 2015-10-24 20:37:02Z jhefferon $ +# $Id: Makefile 555 2016-11-24 09:45:22Z vincentb1 $ # Public domain. Originally written 2006, Karl Berry. # Makefile for latexrefman. @@ -81,21 +81,21 @@ realclean maintainer-clean: distclean # dist for CTAN. Also update NEWS # txt_files = ChangeLog Makefile NEWS README aspell.en.pws ltx-help.el -distzip = latex2e-help-texinfo.zip +dist = latex2e-help-texinfo.zip # dist: en mkdir latex2e-help-texinfo && cd latex2e-help-texinfo && ln -s ../* . - zip -q $(distzip) \ + zip -q $(dist) \ $(addprefix latex2e-help-texinfo/, $(txt_files) \ latex2e.texi $(en_mi_output) latex2e.pdf) rm -rf latex2e-help-texinfo - @ls -l $(distzip); unzip -t $(distzip) + @ls -l $(dist); unzip -t $(dist) # A hacky spell check target. # Remove \commandnames to reduce exception list, but not {args} or # [args], since they are often words. spell spell-en: - sed -e 's/\\[a-zA-z]*//g' latex2e.texi \ + sed -e 's/\\[a-zA-Z]*//g' latex2e.texi \ | aspell list --mode=texinfo --add-extra-dicts=`pwd`/aspell.en.pws \ | sort -f -u diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS index 1ee74e2cd97..512b24076d6 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS @@ -1,9 +1,30 @@ -$Id: NEWS 462 2015-10-24 20:37:02Z jhefferon $ +$Id: NEWS 580 2017-08-07 22:10:07Z jimhefferon $ NEWS for latex2e.texi, aka the latex2e-help-texinfo package. Public domain. Originally written 1995, Torsten Martinsen. -Spanish translation originally from Nacho Pacheco. +Spanish translation originally from Nacho Pacheco (currently unmaintained). French translation originally from Vincent Belaiche. +---------------------------------------------------------------- +Changes in Aug 2017 release: + +Besides the usual bug fixes, some of the changes in this version +include coverage of \makeatletter and \makeatother, \@startsection, +and commands for writing classes and packages, as well as improvements +in the descriptions of floats, the letter environment, \raisebox, +\onecolumn and \twocolumn, and many more. + +---------------------------------------------------------------- +Changes in Apr 2016 release: + +Provide first complete French translation --- still not fully aligned +on the latest revisions of the English version. + +Fix \newfont description. Clarify discretionary multiplication and +\discretionary. Clarify space gobbling after control word. Making +environment indexing consistent, improve some synopsis syntax, notably +for optional parameters. Improve naming of Math symbols. Usual bug and +typo fixes. + ---------------------------------------------------------------- Changes in Oct 2015 release: diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/README b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/README index 6a87140bfaf..920dc2831a4 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/README +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/README @@ -1,16 +1,17 @@ -$Id: README 463 2015-10-25 18:16:55Z jhefferon $ +$Id: README 579 2017-08-06 21:52:19Z karl $ README for latex2e.texi, aka the latex2e-help-texinfo package. -Public domain. This file originally written 2008, Karl Berry. +Public domain. This README file originally written 2008, Karl Berry. This project is an attempt to write a reference manual for core LaTeX. It is unofficial and the LaTeX Project members have not reviewed it. -http://home.gna.org/latexrefman (the project home page) has more -information, including links to the current output in various formats, -sources, mailing lists, and other infrastructure. +https://puszcza.gnu.org.ua/software/latexrefman/ (the project home page) +has more information, including links to the current output in various +formats, sources, mailing lists, and other infrastructure. Help is most definitely wanted. (Search for "xx" in the source for just a few of the known deficiencies.) Please email any bug reports, new -material, general discussion, whatever, to latexrefman-discuss@gna.org, -also at https://mail.gna.org/listinfo/latexrefman-discuss. +material, general discussion, whatever, to latexrefman@tug.org (see +http://lists.tug.org/latexrefman for archives and subscription via the web). + diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/aspell.en.pws b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/aspell.en.pws index 36cd313760a..94d39843475 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/aspell.en.pws +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/aspell.en.pws @@ -1,20 +1,34 @@ personal_ws-1.1 en 0 +Avant +Biemesderfer +Botway +EnvIndex +Garde +Kleene +LAH +Lappish +Martinsen +Overstrike ae arabic aring -Biemesderfer -Botway +ary bowtie +bp cmd +coproduct cp +del dvi dvitype eg ek eng +env eth executivepaper f's +fd fleqn fn fnsymbol @@ -23,13 +37,16 @@ hacek hungarian indexspace intercolumn -Itemizations -LAH +lR +leadsto legalpaper letterpaper -lR +lhd lrbox -Martinsen +lunate +mho +mpfootnote +multiset niques notitlepage oe @@ -41,25 +58,42 @@ openright oslash overbar overdot -Overstrike +pagebreak pagestyle printindex +ptr +revemptyset +rhd secnumdepth +sp +sqsubset +sqsupset superscripted teck tecks texinfo +textstyle th titlepage +topmargin twocolumn twoside underbar +unlhd +unrhd +upharpoonright +usrguide +varnothing +vert +xdv xelatex xyz zet -ptr -usrguide -Avant -Garde -fd -xdv +ddagger +footmisc +setspace +showidx +makeidx +multind +datetime +PkgIndex 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 dd1f9b3d58a..b282655c48e 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk @@ -4,19 +4,20 @@ ]> -&latex;2e unofficial reference manual (October 2015) +&latex;2e unofficial reference manual (November 2016) + - - + + @@ -28,7 +29,7 @@ This document is an unofficial reference manual for &latex;, a -document preparation system, version of October 2015. +document preparation system, version of November 2016. This manual was originally translated from LATEX.HLP v1.0a in the VMS Help Library. The pre-translation version was written by @@ -43,12 +44,13 @@ Group as &tex;niques number 10), as reference material (n text was directly copied). Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, -2014, 2015 Karl Berry. +2014, 2015, 2016 Karl Berry. Copyright 1988, 1994, 2007 Stephen Gilmore. Copyright 1994, 1995, 1996 Torsten Martinsen. + Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. @@ -61,11 +63,12 @@ notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions. + This document is an unofficial reference manual for &latex;, a -document preparation system, version of October 2015. +document preparation system, version of November 2016. This manual was originally translated from LATEX.HLP v1.0a in the VMS Help Library. The pre-translation version was written by @@ -80,12 +83,13 @@ Group as &tex;niques number 10), as reference material (n text was directly copied). Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, -2014, 2015 Karl Berry. +2014, 2015, 2016 Karl Berry. Copyright 1988, 1994, 2007 Stephen Gilmore. Copyright 1994, 1995, 1996 Torsten Martinsen. + Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. @@ -98,16 +102,19 @@ notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions. + + + &latex;2e: An unofficial reference manual This document is an unofficial reference manual (version of -October 2015) for &latex;2e, a document preparation system. +November 2016) for &latex;2e, a document preparation system. @@ -264,7 +271,7 @@ it to a PostScript .ps file with dvips or Portable Document Format .pdf file with dvipdfmx. The contents of the file can be dumped in human-readable form with dvitype. A vast array of other DVI utility programs are -available (http://mirror.ctan.org/tex-archive/dviware). +available (http://mirror.ctan.org/dviware). .pdf .pdf file @@ -436,7 +443,7 @@ commands it covers (barring unintentional omissions, a.k.a. bugs). Synopsis: \begin{environment name} - .. + ... \end{environment name} An area of &latex; source, inside of which there is a distinct @@ -444,10 +451,12 @@ behavior. For instance, for poetry in &latex; put the lines between \begin{verse} and \end{verse}. \begin{verse} - There once was a man from Nantucket \\ - .. + There once was a man from Nantucket \\ + ... \end{verse} +See Environments for a list of environments. + The environment name at the beginning must exactly match that at the end. This includes the case where environment name ends in a star (*); both the \begin and \end texts must @@ -459,7 +468,7 @@ the table to be aligned on its top row) while the second argument is required (it specifies the formatting of columns). \begin{tabular}[t]{r|l} - .. rows of table .. + ... rows of table ... \end{tabular} @@ -470,6 +479,68 @@ command or parameter. For instance, the \mainmatter command changes the setting of page numbers from roman numerals to arabic. + + +Synopsis: + +\makeatletter + ... definition of commands with @ in their name .. +\makeatother + +Used to redefine internal &latex; commands. \makeatletter makes +the 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 +character category code +category code, character +catcode for shorter. For instance, the backslash \ is +assigned the catcode 0, for characters that start a command. These two +commands alter the catcode assigned to @. + +The alteration is needed because many of &latex;’s commands use +@ in their name, to prevent users from accidentally defining a +command that replaces one of &latex;’s own. Command names consist of a +category 0 character, ordinarily backslash, followed by letters, +category 11 characters (except that a command name can also consist +of a category 0 character followed by a single non-letter symbol). +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. + +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. + + + +\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 +\makeatother + + + @@ -553,22 +624,26 @@ options for selecting the typeface size (default is 10pt): size (these show height by width): a4paper -210 by 297 mm (about 8.25 by 11.75 inches) +210 by 297mm (about 8.25 by 11.75 inches) + +a5paper +148 by 210mm (about 5.8 by 8.3 inches) b5paper -176 by 250 mm (about 7 by 9.875 inches) +176 by 250mm (about 6.9 by 9.8 inches) executivepaper -7.25 by 10.5 inches +7.25 by 10.5 inches legalpaper -8.5 by 14 inches +8.5 by 14 inches letterpaper -8.5 by 11 inches (the default) +8.5 by 11 inches (the default) \pdfpagewidth \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 @@ -618,7 +693,10 @@ black box in the margin; default is final. titlepage notitlepage title page, separate or run-in -Specifies whether the title page is separate; default depends on the class. +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 +notitlepage. The following options are not available with the slides class. @@ -655,25 +733,448 @@ being 40% of the difference between \paperwidth and The slides class offers the option clock for printing the time at the bottom of each note. + + + +Additional packages + loading additional packages packages, loading additional additional packages, loading \usepackage -Additional packages are loaded like this: +Load a package pkg, with the package options given in the comma-separated +list options, as here. -\usepackage[options]{pkg} +\usepackage[options]{pkg}. -To specify more than one package, you can separate them with a comma, +To specify more than one package you can separate them with a comma, as in \usepackage{pkg1,pkg2,...}, or use multiple \usepackage commands. global options options, global Any options given in the \documentclass command that are unknown -by the selected document class are passed on to the packages loaded with +to the selected document class are passed on to the packages loaded with \usepackage. + + +Class and package construction + +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 +standard header for each page, then you could create a new class +smcmemo.cls and begin your documents with +\documentclass{smcmemo}. + +What separates a package from a document class is that the commands in a +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 + +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. + + + + + +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 +\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. + +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. + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{stub}[2017/07/06 stub to start building classes from] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions\relax +\LoadClass{article} +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 +article class to provide the basis for this class’s code. + +For more, see the official guide for class and package writers, the +Class Guide, at +http://www.latex-project.org/help/documentation/clsguide.pdf (much +of the descriptions here derive from this document), or the tutorial +https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf. + + + +Class and package commands +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 +at the beginning of the shipout of the first page of the document. + +\AtEndOfClass{code} +\AtEndOfPackage{code} +\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. + +\ClassError{class name}{error text}{help text} +\PackageError{package name}{error text}{help text} +\ClassWarning{class name}{warning text} +\PackageWarning{package name}{warning text} +\ClassWarningNoLine{class name}{warning text} +\PackageWarningNoLine{package name}{warning text} +\ClassInfo{class name}{info text} +\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 +Produce an error message, or warning or informational messages. + +For \ClassError and \PackageError the message is +error text, followed by &tex;’s ? error prompt. If the +user then asks for help by typing h, they see the help +text. + +The four warning commands are similar except that they write +warning text on the screen with no error prompt. The four info +commands write info text only in the transcript file. The +NoLine versions do not show the number of the line generating the +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. + +\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 +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 +first page with \documentclass[logo]{smcmemo}. The class file +must contain \DeclareOption{logo}{code} (and later, +\ProcessOptions). + +If you request an option that has not been declared, by default this +will produce a warning like Unused global option(s): [badoption]. +Change this behaviour with the starred version +\DeclareOption*{code}. For example, many classes extend +an existing class, using a declaration such as +\LoadClass{article}, and for passing extra options to the +underlying class use code such as this. + +\DeclareOption*{% +\PassOptionsToClass{\CurrentOption}{article}% +} + +Another example is that the class smcmemo may allow users to keep +lists of memo recipients in external files. Then the user could invoke +\documentclass[math]{smcmemo} and it will read the file +math.memo. This code handles the file if it exists and otherwise +passes the option to the article class. + +\DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{% + \PassOptionsToClass{\CurrentOption}{article}}} + +\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{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. + +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 +directory do something like \IfFileExists{./filename}{true +code}{false code}. If you ask for a filename without a +.tex extension then &latex; will first look for the file by +appending the .tex; for more on how &latex; handles file +extensions see \input. + +\LoadClass[options list]{class name}[release date] +\LoadClassWithOptions{class name}[release date] +\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 +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 passed +to it via \PassOptionsToClass. This is a convenience command +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@option. If this command is not +defined then that option is silently ignored. + +It can be used to provide a default option list before +\ProcessOptions. For example, if in a class file you want the +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 +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'.’ + +To specify a version of the format that you know to have certain +features, include the optional format date on which those features +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.) + +\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*. + + + + + + + +\PassOptionsToClass{options list}{class name} +\PassOptionsToPackage{options 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. + +The reason for these commands is: you may load a package any number of +times with no options but if you want options then you may only supply +them when you first load the package. Loading a package with options +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 +\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} +\RequirePackage{foo}. (If foo.sty loads an option in conflict +with what you want then you may have to look into altering its source.) + +These commands are useful for general users as well as class and package +writers. For instance, suppose a user wants to load the graphicx +package with the option draft and also wants to use a class +foo that loads the graphicx package, but without that +option. The user could start their &latex; file with +\PassOptionsToPackage{draft}{graphicx}\documentclass{foo}. + +\ProcessOptions +\ProcessOptions*\@options +\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. ‘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 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. + +When \ProcessOptions is called for a class it works in the same +way except that all options are local, and the default value 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. + + +\ProvidesClass{class name}[<release date> <brief additional information>] +\ProvidesPackage{package name}[<release date> <brief additional information>] +\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 +\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 +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 +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 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 +\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 +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. + +\RequirePackage[options list]{package name}[release date] +\RequirePackageWithOptions{package name}[release date] +\RequirePackage +\RequirePackageWithOptions +Load a package, like the 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 +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, on input line 9, version `2017/07/03' of package jhtest, but +only version `2000/01/01' is available. + +The \RequirePackageWithOptions version uses the list of options +for the current class. This means it ignores any options passed to it +via \PassOptionsToClass. This is a convenience command to allow +easily building classes on existing ones without having to track which +options were passed. + +The difference between \usepackage and \RequirePackage is +small. The \usepackage command is intended for the document file +while \RequirePackage is intended for package and class files. +Thus, using \usepackage before the \documentclass command +causes &latex; to give error like \usepackage before +\documentclass, but you can use \RequirePackage there. + + + @@ -880,6 +1381,7 @@ formulas. \mathversion{normal} restores the default. numerals, old-style old-style numerals lining numerals +package, textcomp textcomp package Finally, the command \oldstylenums{numerals} will typeset so-called “old-style” numerals, which have differing heights and @@ -1081,6 +1583,7 @@ 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. +package, setspace setspace package double spacing However, the best way to double-space a document is to use the @@ -1135,10 +1638,9 @@ followed by \selectfont. For example: \onecolumn one-column output -The \onecolumn declaration starts a new page and produces -single-column output. If the document is given the class option -onecolumn then this is the default behavior (see Document -class options). +Start a new page and produce single-column output. If the document is +given the class option onecolumn then this is the default +behavior (see Document class options). This command is fragile (see \protect). @@ -1151,14 +1653,14 @@ class options). multicolumn text two-column output -Synopsis: +Synopses: -\twocolumn[prelim one column text] +\twocolumn +\twocolumn[prelim one column text] -The \twocolumn declaration starts a new page and produces -two-column output. If the document is given the class option -twocolumn then this is the default (see Document class -options). +Start a new page and produce two-column output. If the document is given +the class option twocolumn then this is the default +(see Document class options). If the optional prelim one column text argument is present, it is typeset in one-column mode before the two-column @@ -1199,7 +1701,7 @@ The following parameters control float behavior of two-column output. occupied by two-column wide floats. The default is 0.7, meaning that the height of a table* or figure* environment must not exceed 0.7\textheight . If the height of your starred float -environment exceeeds this then you can take one of the following actions +environment exceeds this then you can take one of the following actions to prevent it from floating all the way to the back of the document: Use the [tp] location specifier to tell LaTeX to try to put @@ -1238,24 +1740,24 @@ default is 2. -This example shows the use of the optional argument of \twocolumn -to create a title that spans the two-column article: +This example uses \twocolumn’s optional argument of to create a +title that spans the two-column article: \documentclass[twocolumn]{article} \newcommand{\authormark}[1]{\textsuperscript{#1}} \begin{document} \twocolumn[{% inside this optional argument goes one-column text - \centering - \LARGE The Title \\[1.5em] - \large Author One\authormark{1}, - Author Two\authormark{2}, - Author Three\authormark{1} \\[1em] - \normalsize - \begin{tabular}{p{.2\textwidth}@{\hspace{2em}}p{.2\textwidth}} - \authormark{1}Department one &\authormark{2}Department two \\ - School one &School two - \end{tabular}\\[3em] % space below title part -}] + \centering + \LARGE The Title \\[1.5em] + \large Author One\authormark{1}, + Author Two\authormark{2}, + Author Three\authormark{1} \\[1em] + \normalsize + \begin{tabular}{p{.2\textwidth}@{\hspace{2em}}p{.2\textwidth}} + \authormark{1}Department one &\authormark{2}Department two \\ + School one &School two + \end{tabular}\\[3em] % space below title part + }] Two column text here. @@ -1266,22 +1768,23 @@ Two column text here. \flushbottom -The \flushbottom command can go at any point in the document -body. It makes all later pages the same height, stretching the vertical -space where necessary to fill out the page. +Make all pages in the documents after this declaration have the same +height, by stretching the vertical space where necessary to fill out the +page. This is most often used when making two-sided documents since the +differences in facing pages can be glaring. If &tex; cannot satisfactorily stretch the vertical space in a page then you get a message like ‘Underfull \vbox (badness 10000) has -occurred while \output is active’. You can change to -\raggedbottom (see below). Alternatively, you can try to adjust -the textheight to be compatible, or you can add some vertical -stretch glue between lines or between paragraphs, as in -\setlength{\parskip}{0ex plus0.1ex}. In a final editing -stage you can adjust the height of individual pages +occurred while \output is active’. If you get that, one option is to +change to \raggedbottom (see \raggedbottom). Alternatively, +you can adjust the textheight to make compatible pages, or you +can add some vertical stretch glue between lines or between paragraphs, +as in \setlength{\parskip}{0ex plus0.1ex}. Your last option +is to, in a final editing stage, adjust the height of individual pages (see \enlargethispage). -This is the default only if you select the twoside document class -option (see Document class options). +The \flushbottom state is the default only if you select the +twoside document class option (see Document class options). @@ -1291,11 +1794,10 @@ option (see Document class options \raggedbottom stretch, omitting vertical -The \raggedbottom command can go at any point in the document -body. It makes all later pages the natural height of the material on -that page; no rubber lengths will be stretched. Thus, in a two-sided -document the facing pages may be different heights. See also -\flushbottom above. +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 +document the facing pages may be different heights. This command can go +at any point in the document body. See \flushbottom. This is the default unless you select the twoside document class option (see Document class options). @@ -1487,14 +1989,14 @@ while the first table appears in the source before the first figure, it appears in the output after it. The placement of floats is subject to parameters, given below, that -limit the number of floats that can appear at the top of a page, and the -bottom, etc. If so many floats are queued up that the limits prevent +limit the number of floats that can appear at the top of a page, and +the bottom, etc. If so many floats are queued that the limits prevent them all from fitting on a page then &latex; places what it can and -defers the rest to the next page. In this way, floats may be typset far -from their place in the source. In particular, a float that is big can -migrate to the end of the document. But then because all floats in a -class must appear in sequential order, every subsequent float in that -class also appears at the end. +defers the rest to the next page. In this way, floats may end up +being typeset far from their place in the source. In particular, a +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 @@ -1520,6 +2022,7 @@ appears. However, h is not allowed by itself; t 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 @@ -1555,11 +2058,11 @@ use the afterpage package and issue is finished and then flush all outstanding floats. &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 paramater. 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 +(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[t], which causes floats for the top position on this page to moved to the next page. @@ -1633,10 +2136,11 @@ default 2. The principal &tex; FAQ entry relating to floats http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats contains suggestions for relaxing &latex;’s default parameters to reduce the -problem of floats being pushed to the end. A full explaination of the -float placement algorithm is Frank Mittelbach’s article “How to -infuence the position of float environments like figure and table in -&latex;?” http://latex-project.org/papers/tb111mitt-float.pdf. +problem of floats being pushed to the end. A full explanation of the +float placement algorithm is in Frank Mittelbach’s article “How to +influence the position of float environments like figure and table in +&latex;?” +(http://latex-project.org/papers/tb111mitt-float.pdf). @@ -1708,8 +2212,38 @@ The setting cross references -One reason for numbering things like figures and equations is to refer -the reader to them, as in “See Figure 3 for more details.” +One reason for numbering things such as figures and equations is to +refer the reader to them, as in “See Figure~3 for more details.” + +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 +like \label{eq:GreensThm} and refer to it with See +equation~\ref{eq:GreensThm}. + +&latex; writes the information from the labels to a file with the same +name as the file containing the \label{...} but with an +.aux extension. (The information has the format +\newlabel{label}{{currentlabel}{pagenumber}} +where currentlabel is the current value of the macro +\@currentlabel that is usually updated whenever you call +\refstepcounter{counter}.) + +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 +example in the \pageref{...} description. &latex; gets the +information for references from the .aux file. If this is the +first time you are compiling the document then you will get a message +LaTeX Warning: Label(s) may have changed. Rerun to get +cross references right. and in the output the reference will appear as +two question marks ‘??’, in boldface. Or, if you change some +things so the references change then you get the same warning and the +output contains the old reference information. The solution in either +case is just to compile the document a second time. @@ -1722,35 +2256,22 @@ the reader to them, as in “See Figure 3 for more details.” \label{key} -A \label command appearing in ordinary text assigns to -key the number of the current sectional unit; one appearing -inside a numbered environment assigns that number to key. The -assigned number can be retrieved with the \ref{key} -command (see \ref). - -Thus, in the example below the key sec:test holds the number of -the current section and the key fig:test that of the figure. -(Incidentally, labels must appear after captions in figures and -tables.) +Assign a reference number to key. In ordinary text +\label{key} assigns to key the number of the +current sectional unit. Inside an environment with numbering, such as a +table or theorem environment, \label{key} +assigns to key the number of that environment. Retrieve the +assigned number with the \ref{key} command +(see \ref). -\section{section name} -\label{sec:test} -This is Section~\ref{sec:test}. -\begin{figure} - ... - \caption{caption text} - \label{fig:test} -\end{figure} -See Figure~\ref{fig:test}. - A key name can consist of any sequence of letters, digits, or common punctuation characters. Upper and lowercase letters are distinguished, as usual. -Although the name can be more or less anything, a common convention is -to use labels consisting of a prefix and a suffix separated by a colon -or period. This helps to avoid accidentally creating two labels with -the same name. Some commonly-used prefixes: +A common convention is to use labels consisting of a prefix and a suffix +separated by a colon or period. This helps to avoid accidentally +creating two labels with the same name, and makes your source more +readable. Some commonly-used prefixes: ch for chapters @@ -1763,9 +2284,24 @@ the same name. Some commonly-used prefixes: eq for equations -Thus, a label for a figure would look like fig:test or -fig.test. +Thus, \label{fig:Euler} is a label for a figure with a portrait +of the great man. + +In this example below the key sec:test will get the number of the +current section and the key fig:test will get the number of the +figure. (Incidentally, put labels after captions in figures and +tables.) +\section{section name} +\label{sec:test} +This is Section~\ref{sec:test}. +\begin{figure} + ... + \caption{caption text} + \label{fig:test} +\end{figure} +See Figure~\ref{fig:test}. + @@ -1779,10 +2315,20 @@ the same name. Some commonly-used prefixes: \pageref{key} -The \pageref{key} command produces the page number of -the place in the text where the corresponding +Produce the page number of the place in the text where the corresponding \label{key} command appears. +In this example the \label{eq:main} is used both for the +formula number and for the page number. (Note that the two references +are forward references, so this document would need to be compiled twice +to resolve those.) + +The main result is formula~\ref{eq:main} on page~\pageref{eq:main}. + ... +\begin{equation} \label{eq:main} + \mathbf{P}=\mathbf{NP} +\end{equation} + @@ -1799,11 +2345,22 @@ the place in the text where the corresponding \ref{key} -The \ref command produces the number of the sectional unit, +Produces the number of the sectional unit, equation, footnote, figure, …, of the corresponding \label command (see \label). It does not produce any text, such as the word ‘Section’ or ‘Figure’, just the bare number itself. +In this example, the \ref{popular} produces ‘2’. Note +that it is a forward reference since it comes before +\label{popular}. + +The most widely-used format is item number~\ref{popular}. +\begin{enumerate} +\item Plain \TeX +\item \label{popular} \LaTeX +\item Con\TeX t +\end{enumerate} + @@ -1814,19 +2371,30 @@ such as the word ‘Section’ or ‘Figure’, just the bare nu \begin \end -&latex; provides many environments for marking off certain text. -Each environment begins and ends in the same manner: +&latex; provides many environments for delimiting certain behavior. +An environment begins with \begin and ends with \end, +like this: -\begin{envname} -... -\end{envname} +\begin{environment-name} + ... +\end{environment-name} +The environment-name at the beginning must exactly match that at +the end. For instance, the input +\begin{table*}...\end{table} will cause an error like: +‘! LaTeX Error: \begin{table*} on input line 5 ended by +\end{table}.’ + +group, and environments +Environments are executed within a group. + <literal>abstract</literal> -abstract environment +environment, abstract +abstract environment abstracts Synopsis: @@ -1835,35 +2403,72 @@ Each environment begins and ends in the same manner: ... \end{abstract} -Environment for producing an abstract, possibly of multiple paragraphs. +Produce an abstract, possibly of multiple paragraphs. This environment +is only defined in the article and report document classes +(see Document classes). + +Using the example below in the article class produces a displayed +paragraph. Document class option titlepage causes the abstract +to be on a separate page (see Document class options); this is the +default only in the report class. + +\begin{abstract} + We compare all known accounts of the proposal made by Porter Alexander + to Robert E Lee at the Appomattox Court House that the army continue + in a guerrilla war, which Lee refused. +\end{abstract} + +The next example produces a one column abstract in a two column document (for +a more flexible solution, use the package abstract). + +\documentclass[twocolumn]{article} + ... +\begin{document} +\title{Babe Ruth as Cultural Progenitor: a Atavistic Approach} +\author{Smith \\ Jones \\ Robinson\thanks{Railroad tracking grant.}} +\twocolumn[ + \begin{@twocolumnfalse} + \maketitle + \begin{abstract} + Ruth was not just the Sultan of Swat, he was the entire swat + team. + \end{abstract} + \end{@twocolumnfalse} + ] +{ % by-hand insert a footnote at page bottom + \renewcommand{\thefootnote}{\fnsymbol{footnote}} + \footnotetext[1]{Thanks for all the fish.} +} + <literal>array</literal> -array environment +environment, array +array environment arrays, math Synopsis: \begin{array}{cols} -column 1 entry &column 2 entry ... &column n entry \\ -... + column 1 entry &column 2 entry ... &column n entry \\ + ... \end{array} or \begin{array}[pos]{cols} -column 1 entry &column 2 entry ... &column n entry \\ -... + column 1 entry &column 2 entry ... &column n entry \\ + ... \end{array} Produce a mathematical array. This environment can only be used in math mode, and normally appears within a displayed mathematics environment such as equation (see equation). Column entries are separated by an ampersand (&). Rows are terminated with -double-backslashes (\\) (see \\). +double-backslashes (see \\). The required argument cols describes the number of columns, their alignment, and the formatting of the intercolumn regions. See @@ -1872,24 +2477,24 @@ other common features of the two environments, including the optional pos argument. There are two ways that array diverges from tabular. The -first is that array entries are typeset in mathematics mode, in +first is that array entries are typeset in math mode, in textstyle (except if the cols definition specifies the column with -@p{..}, which causes the entry to be typeset in text mode). +p{...}, which causes the entry to be typeset in text mode). The second is that, instead of tabular’s parameter -\tabcolsep, &latex;’s intercolumn space in an array is governed +\tabcolsep, &latex;’s intercolumn space in an array is governed by \arraycolsep -\arraycolsep which gives half the width between columns. The +\arraycolsep, which gives half the width between columns. The default for this is ‘5pt’. 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 -surrounded by square brackets [..], Bmatrix for an -array surrounded by curly braces {..}, vmatrix for -an array surrounded by vertical bars |..|, and +surrounded by parentheses (...), bmatrix for an array +surrounded by square brackets [...], Bmatrix for an +array surrounded by curly braces {...}, vmatrix for +an array surrounded by vertical bars |...|, and Vmatrix for an array surrounded by double vertical -bars ||..||, along with a number of other array constructs. +bars ||...||, along with a number of other array constructs. Here is an example of an array: @@ -1900,35 +2505,57 @@ bars ||..||, along with a number of other array construc \end{array} \end{equation} +The next example works if \usepackage{amsmath} is in the +preamble: + +\begin{equation} + \begin{vmatrix}{cc} + a &b \\ + c &d + \end{vmatrix}=ad-bc +\end{equation} + <literal>center</literal> -center environment +environment, center +center environment centering text, environment for Synopsis: \begin{center} - .. text .. + ... text ... \end{center} -Environment to create a sequence of lines that are centered within the -left and right margins on the current page. If the text in the -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. To force a line break at a particular spot use -double-backslash \\ (see \\). +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 (see \\). \\ (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. This environment inserts space above and below the text body. See \centering to avoid such space, for example inside a figure environment. -In this example, depending on the line width, &latex; may choose a break -for the part before the double backslash, will center the line or two, -then will break at the double backslash, and will center the ending. +This example produces three centered lines. There is extra vertical +space between the last two lines. + +\begin{center} + A Thesis Submitted in Partial Fufillment \\ + of the Requirements of \\[0.5ex] + the School of Environmental Engineering +\end{center} + +In this example, depending on the page’s line width, &latex; may choose +a line break for the part before the double backslash. If so, it will +center each of the two lines and if not it will center the single line. +Then &latex; will break at the double backslash, and will center the +ending. \begin{center} My father considered that anyone who went to chapel and didn't drink @@ -1946,7 +2573,7 @@ then will break at the double backslash, and will center the ending. \centering centering text, declaration for -Declaration that causes material in its scope to be centered. It is +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 parbox. @@ -1982,7 +2609,8 @@ centered. <literal>description</literal> -description environment +environment, description +description environment labelled lists, creating description lists, creating @@ -1994,26 +2622,26 @@ centered. ... \end{description} -\item 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. \item -The list consists of at least one item; see \item (having no -items causes the &latex; error ‘Something's wrong--perhaps a -missing \item’). Each item is produced with an \item command. +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’). 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 -typewriter, if that is available. The simplest way to get non-bolded -typewriter is to use declaritive style \item[{\tt label text}]. -Similarly, get normal text use \item[{\rm label text}]. +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}]. For other major &latex; labelled list environments, see itemize and enumerate. For information about customizing list layout, see @@ -2032,12 +2660,13 @@ and enumerate. For information about customizi <literal>displaymath</literal> -displaymath environment +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 @@ -2080,7 +2709,8 @@ spacing, and because the displaymath environment honors the <literal>document</literal> -document environment +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. @@ -2130,7 +2760,8 @@ will be executed in the order that you gave them. <literal>enumerate</literal> -enumerate environment +environment, enumerate +enumerate environment lists of items, numbered Synopsis: @@ -2208,7 +2839,8 @@ period: <literal>eqnarray</literal> -eqnarray environment +environment, eqnarray +eqnarray environment equations, aligning aligning equations @@ -2277,7 +2909,8 @@ while the third line has not entry on the left side. <literal>equation</literal> -equation environment +environment, equation +equation environment equations, environment for formulas, environment for @@ -2301,7 +2934,8 @@ new documents. <literal>figure</literal> -figure +environment, figure +figure environment inserting figures figures, inserting @@ -2338,7 +2972,7 @@ in Floats. The figure body is typeset in a parbox of width \textwidth and so it can contain text, commands, etc. -The label is optional; it is used for cross-references (see Cross +The label is optional; it is used for cross references (see Cross references). \caption The optional \caption command specifies caption text for the @@ -2362,7 +2996,10 @@ end of the document, on a page of floats. <literal>filecontents</literal>: Write an external file -filecontents +environment, filecontents +filecontents environment +environment, filecontents* +filecontents* environment external files, writing writing external files @@ -2419,7 +3056,8 @@ Article by \myname. <literal>flushleft</literal> -flushleft environment +environment, flushleft +flushleft environment left-justifying text, environment for ragged right text, environment for @@ -2460,7 +3098,8 @@ command that ends the paragraph unit. <literal>flushright</literal> -flushright environment +environment, flushright +flushright environment ragged left text, environment for right-justifying text, environment for @@ -2501,7 +3140,8 @@ command that ends the paragraph unit. <literal>itemize</literal> -itemize environment +environment, itemize +itemize environment \item lists of items unordered lists @@ -2516,7 +3156,7 @@ command that ends the paragraph unit. \end{itemize} The itemize environment produces an “unordered”, “bulleted” -list. Itemizations can be nested within one another, up to four +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). @@ -2628,7 +3268,8 @@ see \parskip): <literal>letter</literal> environment: writing letters -letter environment +environment, letter +letter environment This environment is used for creating letters. See Letters. @@ -2637,7 +3278,8 @@ see \parskip): <literal>list</literal> -list +environment, list +list environment lists of items, generic The list environment is a generic environment which is used for @@ -2664,7 +3306,8 @@ empty, i.e., {}, which leaves the default spacing. - + +<literal>\item</literal>: An entry in a list. Synopsis: @@ -2699,11 +3342,13 @@ not get a ‘3.’). + <literal>math</literal> -math environment +environment, math +math environment in-line formulas Synopsis: @@ -2721,7 +3366,8 @@ See Math formulas. <literal>minipage</literal> -minipage environment +environment, minipage +minipage environment minipage, creating a \begin{minipage}[position][height][inner-pos]{width} @@ -2760,7 +3406,8 @@ footnotes; they may wind up at the bottom of the wrong minipage. <literal>picture</literal> -picture +environment, picture +picture environment creating pictures pictures, creating @@ -2783,6 +3430,14 @@ centimeters. \setlength command, outside of a picture environment. 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 +this will prevent scaling those lengths by changing \unitlength. + + 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. @@ -3106,11 +3761,13 @@ values must lie between −4 and +4, inclusive. <literal>quotation</literal> and <literal>quote</literal> -quotation +environment, quotation +quotation environment quoted text with paragraph indentation, displaying displaying quoted text with paragraph indentation paragraph indentations in quoted text -quote +environment, quote +quote environment quoted text without paragraph indentation, displaying displaying quoted text without paragraph indentation paragraph indentations in quoted text, omitting @@ -3145,7 +3802,7 @@ quotations. \begin{quotation} \it Four score and seven years ago - .. shall not perish from the earth. + ... shall not perish from the earth. \hspace{1em plus 1fill}---Abraham Lincoln \end{quotation} @@ -3154,7 +3811,8 @@ quotations. <literal>tabbing</literal> -tabbing environment +environment, tabbing +tabbing environment tab stops, using lining text up using tab stops alignment via tabbing @@ -3259,7 +3917,8 @@ function \= fact(n : integer) : integer;\\ <literal>table</literal> -table +environment, table +table environment tables, creating creating tables @@ -3282,7 +3941,7 @@ float placement algorithm, see Floats. The table body is typeset in a parbox of width \textwidth and so it can contain text, commands, etc. -The label is optional; it is used for cross-references (see Cross +The label is optional; it is used for cross references (see Cross references). \caption The optional \caption command specifies caption text for the @@ -3309,7 +3968,8 @@ unless it is pushed to a float page at the end. <literal>tabular</literal> -tabular environment +environment, tabular +tabular environment lines in tables lining text up in tables @@ -3356,7 +4016,7 @@ the width of the tabular* environment. The space between col should be rubber, as with @{\extracolsep{\fill}}, to allow the table to stretch or shrink to make the specified width, or else you are likely to get the Underfull \hbox (badness 10000) in alignment -.. warning. +... warning. pos Optional. Specifies the table’s vertical position. The default is to @@ -3391,14 +4051,14 @@ column and intercolumn material. text or space material is typeset in LR mode. This text is fragile (see \protect). -This specifier is optional: unless you put in your own @-expression -then &latex;’s book, article, and report classes will put on either -side of each column a space of length \tabcolsep, which by -default is ‘6pt’. That is, by default adjacent columns are +This specifier is optional: with no @-expression, &latex;’s +book, article, and report classes will put on +either side of each column a space of length \tabcolsep, which +by default is ‘6pt’. That is, by default adjacent columns are separated by 12pt (so \tabcolsep is misleadingly-named since it -is not the separation between tabular columns). Also by default a space -of 6pt comes before the first column as well as after the final column, -unless you put a @{..} or | there. +is not the separation between tabular columns). By implication, a +space of 6pt also comes before the first column and after the final +column, unless you put a @{...} or | there. If you override the default and use an @-expression then you must insert any desired space yourself, as in @{\hspace{1em}}. @@ -3409,7 +4069,7 @@ lines need to lie on the left margin. \begin{flushleft} \begin{tabular}{@{}l} - .. + ... \end{tabular} \end{flushleft} @@ -3460,7 +4120,7 @@ ending the row. positive integer and cols is a list of specifiers. Thus \begin{tabular}{|*{3}{l|r}|} is equivalent to \begin{tabular}{|l|rl|rl|r|}. Note that cols may -contain another *-expression. +contain another *-expression. Parameters that control formatting: @@ -3514,7 +4174,7 @@ spanned by the single heading ‘Name’. \begin{tabular}{lccl} \textit{ID} &\multicolumn{2}{c}{\textit{Name}} &\textit{Age} \\ \hline % row one 978-0-393-03701-2 &O'Brian &Patrick &55 \\ % row two - .. + ... \end{tabular} What counts as a column is: the column format specifier for the @@ -3527,7 +4187,7 @@ and p{1.5in}|. The cols argument overrides the array or tabular environment’s intercolumn area default adjoining this multicolumn entry. To affect that area, this argument can contain vertical bars -| indicating the placement of vertical rules, and @{..} +| indicating the placement of vertical rules, and @{...} expressions. Thus if cols is ‘|c|’ then this multicolumn entry will be centered and a vertical rule will come in the intercolumn area before it and after it. This table details the exact behavior. @@ -3538,7 +4198,8 @@ area before it and after it. This table details the exact behavior. &\multicolumn{1}{|r}{y} % entry three &z % entry four \end{tabular} -Before the first entry the output will not have a vertical rule because + +Before the first entry the output will not have a vertical rule because the \multicolumn has the cols specifier ‘r’ with no initial vertical bar. Between entry one and entry two there will be a vertical rule; although the first cols does not have an ending @@ -3584,13 +4245,13 @@ vertical bar in the cols of either of the first row&# <literal>\vline</literal> \vline - Draw a vertical line in a tabular or array environment -extending the full height and depth of an entry’s row. Can also be used -in an @-expression, although its synonym vertical bar | is -more common. This command is rarely used; typically a table’s vertical -lines are specified in tabular’s cols argument and -overriden as needed with \multicolumn. +extending the full height and depth of an entry’s row. Can also be +used in an @-expression, although its synonym vertical +bar | is more common. This command is rarely used in the +body of a table; typically a table’s vertical lines are specified in +tabular’s cols argument and overridden as needed with +\multicolumn. This example illustrates some pitfalls. In the first line’s second entry the \hfill moves the \vline to the left edge of the @@ -3663,7 +4324,8 @@ is required. <literal>thebibliography</literal> -thebibliography environment +environment, thebibliography +thebibliography environment bibliography, creating (manually) Synopsis: @@ -3700,18 +4362,19 @@ less than 10 references, 99 for ones with less than 100, etc. \bibitem[label]{cite_key} -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 any sequence of letters, numbers, and punctuation -symbols not containing a comma. +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 consisting in any sequence of +letters, numbers, and punctuation symbols not containing a comma. This command writes an entry to the .aux file containing the -item’s cite_key and label. When the .aux file is read by -the \begin{document} command, the item’s label is +item’s cite_key and label. When the .aux file is +read by the \begin{document} command, the item’s label is associated with cite_key, causing references to cite_key -with a \cite command (see next section) to produce the -associated label. +with a \cite command (see \cite) to produce the associated +label. @@ -3724,14 +4387,14 @@ associated label. \cite[subcite]{keys} -The keys argument is a list of one or more citation keys, -separated by commas. This command generates an in-text citation to -the references associated with keys by entries in the -.aux file. +The keys argument is a list of one or more citation keys +(see \bibitem), separated by commas. This command generates an +in-text citation to the references associated with keys by entries +in the .aux file. The text of the optional subcite argument appears after the citation. For example, \cite[p.~314]{knuth} might produce -‘[Knuth, p. 314]’. +‘[Knuth, p. 314]’. @@ -3740,8 +4403,10 @@ citation. For example, \cite[p.~314]{knuth} might produce \nocite -\nocite{keys} +Synopsis: +\nocite{keys} + The \nocite command produces no text, but writes keys, which is a list of one or more citation keys, to the .aux file. @@ -3769,7 +4434,7 @@ you include the lines its own. Rather, it defines the style in which the bibliography will be produced: bibstyle refers to a file bibstyle.bst, which defines how your citations will look. -The standard style names distributed with Bib&tex; are: +The standard bibstyle names distributed with Bib&tex; are: alpha Sorted alphabetically. Labels are formed from name of author and year of @@ -3787,7 +4452,8 @@ the demands of various publications. See The \bibliography command is what actually produces the bibliography. The argument to \bibliography refers to files -named bibfile.bib, which should contain your database in +named bibfile1.bib, bibfile2.bib, …, +which should contain your database in Bib&tex; format. Only the entries referred to via \cite and \nocite will be listed in the bibliography. @@ -3797,7 +4463,8 @@ Bib&tex; format. Only the entries referred to via \cite and <literal>theorem</literal> -theorem environment +environment, theorem +theorem environment theorems, typesetting Synopsis: @@ -3816,31 +4483,54 @@ possibilities for n are described under \new <literal>titlepage</literal> -titlepage environment +environment, titlepage +titlepage environment making a title page title pages, creating Synopsis: \begin{titlepage} -text + ... text and spacing ... \end{titlepage} -The titlepage environment creates a title page, i.e., a page -with no printed page number or heading. It also causes the following -page to be numbered page one. Formatting the title page is left to -you. The \today command may be useful on title pages -(see \today). +Create a title page, a page with no printed page number or heading. The +following page will be numbered page one. -You can use the \maketitle command (see \maketitle) to -produce a standard title page without a titlepage environment. +To instead produce a standard title page without a titlepage +environment you can use \maketitle (see \maketitle). +Notice in this example that all formatting, including vertical spacing, +is left to the author. + +\begin{titlepage} +\vspace*{\stretch{1}} +\begin{center} + {\huge\bfseries Thesis \\[1ex] + title} \\[6.5ex] + {\large\bfseries Author name} \\ + \vspace{4ex} + Thesis submitted to \\[5pt] + \textit{University name} \\[2cm] + in partial fulfilment for the award of the degree of \\[2cm] + \textsc{\Large Doctor of Philosophy} \\[2ex] + \textsc{\large Mathematics} \\[12ex] + \vfill + Department of Mathematics \\ + Address \\ + \vfill + \today +\end{center} +\vspace{\stretch{2}} +\end{titlepage} + <literal>verbatim</literal> -verbatim environment +environment, verbatim +verbatim environment verbatim text simulating typed text typed text, simulating @@ -3889,7 +4579,8 @@ verbatim text. The delimiter must not appear in literal-text <literal>verse</literal> -verse environment +environment, verse +verse environment poetry, an environment for Synopsis: @@ -3953,7 +4644,7 @@ particular, to start a new paragraph instead leave a blank line. This command is mostly used outside of the main flow of text such as in a tabular or array environment. -Under ordinary circumstances (e.g., outside of a p{..} column +Under ordinary circumstances (e.g., outside of a p{...} column in a tabular environment) the \newline command is a synonym for \\ (see \newline). @@ -3992,7 +4683,7 @@ in the output. breaks a line, with no stretching of the text before it. Inside a tabular or array environment, in a column with a -specifier producing a paragraph box, like typically p{..}, +specifier producing a paragraph box, like typically p{...}, \newline will insert a line break inside of the column, that is, it does not break the entire row. To break the entire row use \\ or its equivalent \tabularnewline. @@ -4024,9 +4715,20 @@ cases. hyphenated at those points and not at any of the hyphenation points that &latex; might otherwise have chosen. + + +<literal>\discretionary</literal> (generalized hyphenation point) +hyphenation, discretionary +discretionary hyphenation + +Synopsis: + +\discretionary{pre-break-text}{post-break-text}{no-break-text} + + - + <literal>\fussy</literal> \fussy @@ -4036,11 +4738,11 @@ picky about line breaking. This usually avoids too much space between words, at the cost of an occasional overfull box. This command cancels the effect of a previous \sloppy command -(see \sloppy. +(see \sloppy). - + <literal>\sloppy</literal> \sloppy @@ -4053,7 +4755,7 @@ interword spacing. - + <literal>\hyphenation</literal> \hyphenation @@ -4074,7 +4776,7 @@ misses the hyphenations in these words): - + <literal>\linebreak</literal> & <literal>\nolinebreak</literal> \linebreak @@ -4338,7 +5040,8 @@ but nothing is set at the bottom of the page. \textit{HMS Sophie} &Master and Commander \\ \textit{HMS Polychrest} &Post Captain \\ \textit{HMS Lively} &Post Captain \\ - \textit{HMS Surprise} &A number of books\footnote{Starting with HMS Surprise.} + \textit{HMS Surprise} &A number of books\footnote{Starting with + HMS Surprise.} \end{tabular} \end{center} @@ -4347,7 +5050,7 @@ but nothing is set at the bottom of the page. \begin{center} \begin{minipage}{.5\textwidth} - .. tabular material .. + ... tabular material ... \end{minipage} \end{center} @@ -4374,22 +5077,28 @@ sequence with other footnotes. Footnotes in section headings -Putting a footnote in a section heading +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 is due to R~Jones.}} +\section{Full sets\protect\footnote{This material due to ...}} -causes the footnote to appear both at the bottom of the page where the -section starts and at the bottom of the table of contents page. To have -it not appear on the table of contents use the package footmisc -with the stable option. +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 +contents, where it is not likely to be desired. To have it not appear +on the table of contents use the package footmisc with the +stable option. \usepackage[stable]{footmisc} - .. +... \begin{document} - .. -\section{Full sets\footnote{This material is due to R~Jones.}} +... +\section{Full sets\footnote{This material due to ...}} -Note that the \protect is gone; putting it in causes the +Note that the \protect is gone; including it would cause the footnote to reappear on the table of contents. @@ -4405,12 +5114,12 @@ ways, including allow these two, as in this example. \usepackage{bigfoot} \DeclareNewFootnote{Default} \DeclareNewFootnote{from}[alph] % create class \footnotefrom{} - .. + ... \begin{document} - .. +... The third theorem is a partial converse of the second.\footnotefrom{First noted in Wilson.\footnote{Second edition only.}} - .. +... @@ -4423,13 +5132,13 @@ uses the package cleverref. \usepackage{cleveref}[2012/02/15] % this version of package or later \crefformat{footnote}{#2\footnotemark[#1]#3} - .. +... \begin{document} - .. +... The theorem is from Evers.\footnote{\label{fn:TE}Tinker and Evers, 1994.} The corollary is from Chance.\footnote{Evers and Chance, 1990.} But the key lemma is from Tinker.\cref{fn:TE} - .. +... This solution will work with the package hyperref. See \footnotemark for a simpler solution in the common case @@ -4483,75 +5192,80 @@ footnotes. This is ‘6.65pt’ for ‘ \newcommand and \renewcommand define and redefine a command, respectively. Synopses: - \newcommand{cmd}[nargs][optargdefault]{defn} - \newcommand*{cmd}[nargs][optargdefault]{defn} -\renewcommand{cmd}[nargs][optargdefault]{defn} -\renewcommand*{cmd}[nargs][optargdefault]{defn} + \newcommand{\cmd}[nargs][optargdefault]{defn} + \newcommand*{\cmd}[nargs][optargdefault]{defn} +\renewcommand{\cmd}[nargs][optargdefault]{defn} +\renewcommand*{\cmd}[nargs][optargdefault]{defn} -The *-form of these two commands requires that the arguments -not contain multiple paragraphs of text (not \long, in plain -&tex; terms). +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). cmd -Required; the command name. It must begin with \. For -\newcommand, it must not be already defined and must not begin -with \end. For \renewcommand, it must already be -defined. +Required; \cmd is the command name. For \newcommand, it +must not be already defined and must not begin with \end. For +\renewcommand, it must already be defined. nargs Optional; an integer from 0 to 9, specifying the number of arguments -that the command will take. If this argument is not present, the -default is for the command to have no arguments. When redefining a -command, the new version can have a different number of arguments than -the old version. +that the command can take, including any optional argument. If this +argument is not present, the default is for the command to have no +arguments. When redefining a command, the new version can have a +different number of arguments than the old version. optargdefault Optional; if this argument is present then the first argument of defined -command \cmd is optional, with default value optargdefault +command \cmd is optional, with default value optargdefault (which may be the empty string). If this argument is not present then -\cmd does not take an optional argument. - -That is, if \cmd is used with square brackets following, as in -\cmd[myval], then within defn #1 expands -myval. While if \cmd is called without square brackets -following, then within defn the #1 expands to the default -optargdefault. In either case, any required arguments will be -referred to starting with #2. - -Omitting [myval] in the call is different from having the +\cmd does not take an optional argument. + +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 +other hand, if \cmd is called without square brackets +following, then within defn the positional parameter #1 +expands to the default optargdefault. In either case, any +required arguments will be referred to starting with #2. + +Omitting [myval] in a call is different from having the square brackets with no contents, as in []. The former results in #1 expanding to optargdefault; the latter results in #1 expanding to the empty string. defn -The text to be substituted for every occurrence of cmd; a -construct of the form #n in defn is replaced by the -text of the nth argument. +The text to be substituted for every occurrence of \cmd; the +positional parameter #n in defn is replaced by +the text of the nth argument. -A command with no arguments that is followed in the source by a space -will swallow that space. The solution is to type {} after the -command and before the space. +&tex; ignores spaces in the source following an alphabetic control +sequence, as in ‘\cmd ’. If you actually want a space there, one +solution is to type {} after the command (‘\cmd{} ’; +another solution is to use an explicit control space (‘\cmd\ ’). A simple example of defining a new command: -\newcommand{\JH}{Jim Hef{}feron} causes the abbreviation -\JH to be replaced by the longer text. +\newcommand{\RS}{Robin Smith} results in +\RS being replaced by the longer text. -Redefining a command is basically the same: +Redefining an existing command is similar: \renewcommand{\qedsymbol}{{\small QED}}. -Here’s a command definition that uses arguments: +Here’s a command definition with one required argument: -\newcommand{\defreference}[1]{Definition~\ref{#1}} +\newcommand{\defref}[1]{Definition~\ref{#1}} -Then, \defreference{def:basis} will expand to +Then, \defref{def:basis} expands to +Definition~\ref{def:basis}, which will ultimately expand to something like ‘Definition~3.14’. -An example with two arguments: -\newcommand{\nbym}[2]{#1\!\times\!#2} is invoked as +An example with two required arguments: +\newcommand{\nbym}[2]{$#1 \times #2$} is invoked as \nbym{2}{k}. -An example with optional arguments: +An example with an optional argument: \newcommand{\salutation}[1][Sir or Madam]{Dear #1:} @@ -4559,15 +5273,17 @@ something like ‘Definition~3.14’. \salutation[John] gives ‘Dear John:’. And \salutation[] gives ‘Dear :’. -The braces around defn do not delimit the scope of the result of -expanding defn. So \newcommand{\shipname}[1]{\it #1} -is wrong since in the sentence +The braces around defn do not define a group, that is, they do +not delimit the scope of the result of expanding defn. So +\newcommand{\shipname}[1]{\it #1} is problematic; in this +sentence, -The \shipname{Monitor} met the \shipname{Virginia}. +The \shipname{Monitor} met the \shipname{Merrimac}. -the words ‘met the’ will incorrectly be in italics. An -extra pair of braces \newcommand{\shipname}[1]{{\it #1}} -fixes it. +the words ‘met the’ would incorrectly be in italics. Another +pair of braces in the definition is needed, like this: +\newcommand{\shipname}[1]{{\it #1}}. Those braces are +part of the definition and thus do define a group. @@ -4599,19 +5315,22 @@ loaded more than once. \newcounter counters, defining new -Synopsis: +Synopsis, one of: -\newcounter{countername}[supercounter] +\newcounter{countername} +\newcounter{countername}[supercounter] -The \newcounter command globally defines a new counter named -countername. The name consists of letters only and does not begin -with a backslash (‘\’). The name must not already be used by -another counter. The new counter is initialized to zero. +Globally defines a new counter named countername and initialize +the new counter to zero. + +The name countername must consists of letters only, and does not +begin with a backslash. This name must not already be in use by another +counter. -If the optional argument [supercounter] appears, then +When you use the optional argument [supercounter] then countername will be numbered within, or subsidiary to, the existing counter supercounter. For example, ordinarily -subsection is numbered within section. Any time +subsection is numbered within section so that any time supercounter is incremented with \stepcounter (see \stepcounter) or \refstepcounter (see \refstepcounter) then countername is reset to zero. @@ -4675,19 +5394,21 @@ be already defined. redefining environments These commands define or redefine an environment env, that is, -\begin{env} … \end{env}. Synopses: +\begin{env} body \end{env}. Synopses: - \newenvironment{env}[nargs][optargdefault]{begdefn}{enddefn} + \newenvironment{env}[nargs][optargdefault]{begdefn}{enddefn} \newenvironment*{env}[nargs][optargdefault]{begdefn}{enddefn} -\renewenvironment{env}[nargs][optargdefault]{begdefn}{enddefn} + \renewenvironment{env}[nargs][optargdefault]{begdefn}{enddefn} \renewenvironment*{env}[nargs][optargdefault]{begdefn}{enddefn} -Unlike \newcommand and \renewcommand, the *-forms -\newenvironment* and \renewcommand* have the same effect -as the forms with no *. +*-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. env -Required; the environment name. It does not begin with backslash +Required; the environment name. It consists only of letters or the +* character, and thus does not begin with backslash (\). It must not begin with the string end. For \newenvironment, the name env must not be the name of an already existing environment, and also the command \env @@ -4696,8 +5417,8 @@ name of an existing environment. nargs Optional; an integer from 0 to 9 denoting the number of arguments of -that the environment will take. These arguments appear after the -\begin, as in +that the environment will take. When the environment is used these +arguments appear after the \begin, as in \begin{env}{arg1}…{argn}. If this argument is not present then the default is for the environment to have no arguments. When redefining an environment, the new version can have @@ -4709,16 +5430,16 @@ defined environment is optional, with default value optargdefault -That is, when [optargdefault] is present in the environment -definition, if \begin{env} is used with square brackets -following, as in \begin{env}[myval], then within -the environment #1 expands myval. If -\begin{env} is called without square brackets following, -then within the environment the #1 expands to the default -optargdefault. In either case, any required arguments will be -referred to starting with #2. +That is, when [optargdefault] is present in the +environment definition, if \begin{env} is used with +square brackets following, as in +\begin{env}[myval], then, within begdefn, +the positional parameter #1 expands to myval. If +\begin{env} is called without square brackets +following, then, within within begdefn, the positional parameter +#1 expands to the default optargdefault. In either case, +any required arguments will be referred to starting with #2. - Omitting [myval] in the call is different from having the square brackets with no contents, as in []. The former results in #1 expanding to optargdefault; the latter results in @@ -4726,22 +5447,24 @@ in #1 expanding to optargdefault; begdefn Required; the text expanded at every occurrence of -\begin{env}; a construct of the form #n in -begdef is replaced by the text of the nth argument. +\begin{env}. Within begdef, the nth +positional parameter (i.e., #n) is replaced by the text +of the nth argument. enddefn Required; the text expanded at every occurrence of -\end{env}. Note that it may not contain any argument -parameters, so #n cannot be used here. +\end{env}. This may not contain any positional +parameters, so #n cannot be used here (but see the final +example below). -The environment env delimits the scope of the result of expanding -begdefn and enddefn. Thus, in the first example below, the -effect of the \small is limited to the quote and does not extend -to material following the environment. +All environments, that is to say the begdefn code, the environment +body and the enddefn code, are processed within a group. Thus, in +the first example below, the effect of the \small is limited to +the quote and does not extend to material following the environment. -This example gives an environment like &latex;’s quotation except that -it will be set in smaller type. +This example gives an environment like &latex;’s quotation +except that it will be set in smaller type: \newenvironment{smallquote}{% \small\begin{quotation} @@ -4749,8 +5472,8 @@ it will be set in smaller type. \end{quotation} } -This shows the use of arguments; it gives a quotation environment that -cites the author. +This one shows the use of arguments; it gives a quotation environment +that cites the author: \newenvironment{citequote}[1][Shakespeare]{% \begin{quotation} @@ -4759,15 +5482,15 @@ cites the author. \end{quotation} } -The author’s name is optional, and defaults to Shakespeare. -In the document, use the environment as here: +The author’s name is optional, and defaults to ‘Shakespeare’. +In the document, use the environment like this: \begin{citequote}[Lincoln] - .. + ... \end{citequote} The final example shows how to save the value of an argument to use in -enddefn. +enddefn, in this case in a box (see \sbox): \newsavebox{\quoteauthor} \newenvironment{citequote}[1][Shakespeare]{% @@ -4789,36 +5512,36 @@ In the document, use the environment as here: theorem-like environment environment, theorem-like -Define a new theorem-like environment. Synopses: +Define a new theorem-like environment. Synopses: -\newtheorem{name}{title}[numbered_within] +\newtheorem{name}{title} +\newtheorem{name}{title}[numbered_within] \newtheorem{name}[numbered_like]{title} -Both create a theorem-like environment name. Using the first -form, +Using the first form, \newtheorem{name}{title} +creates an environment that will be labelled with title. See the +first example below. -\newtheorem{name}{title}[numbered_within] - -with the optional argument after the second required argument, +The second form +\newtheorem{name}{title}[numbered_within] creates an environment whose counter is subordinate to the existing -counter numbered_within: it will be reset when +counter numbered_within (its counter will be reset when numbered_within is reset). -Using the second form, - -\newtheorem{name}[numbered_like]{title} - -with the optional argument between the two required -arguments, will create an environment whose counter will share the -previously defined counter numbered_like. + +The third form +\newtheorem{name}[numbered_like]{title}, +with optional argument between the two required arguments, will create +an environment whose counter will share the previously defined counter +numbered_like. You can specify one of numbered_within and numbered_like, or neither, but not both. This command creates a counter named name. In addition, unless -the optional argument numbered_like is used, the current -\ref value will be that of \thenumbered_within -(see \ref). +the optional argument numbered_like is used, inside of the +theorem-like environment the current \ref value will be that of +\thenumbered_within (see \ref). This declaration is global. It is fragile (see \protect). @@ -4848,8 +5571,9 @@ new environment will be numbered in sequence with numbered_like Without any optional arguments the environments are numbered -sequentially. This example has a declaration in the preamble that -results in ‘Definition 1’ and ‘Definition 2’ in the output. +sequentially. The example below has a declaration in the preamble that +results in ‘Definition 1’ and ‘Definition 2’ in the +output. \newtheorem{defn}{Definition} \begin{document} @@ -4863,7 +5587,7 @@ results in ‘Definition 1’ and ‘ -Because this example specifies the optional argument +Because the next example specifies the optional argument numbered_within to \newtheorem as section, the example, with the same document body, gives ‘Definition 1.1’ and ‘Definition 2.1’. @@ -4880,8 +5604,8 @@ and ‘Definition 2.1’. Second def \end{defn} -In this example there are two declarations in the preamble, the second -of which calls for the new thm environment to use the same +In the next example there are two declarations in the preamble, the +second of which calls for the new thm environment to use the same counter as defn. It gives ‘Definition 1.1’, followed by ‘Theorem 2.1’ and ‘Definition 2.2’. @@ -4944,7 +5668,7 @@ size, which is a value defined in the .tfm file. characters in each: \newfont{\testfontat}{cmb10 at 11pt} -\newfont{\testfontscaled}{cmb10 scaled 11pt} +\newfont{\testfontscaled}{cmb10 scaled 1100} \testfontat abc \testfontscaled abc @@ -4956,23 +5680,25 @@ characters in each: \protect fragile commands robust commands -moving arguments 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 they must be preceded by the command \protect. +breaking one solution is to have them preceded by 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 there for use elsewhere in the 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 argument. A command is fragile if it can +referred to as a +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{..} -command (see figure), in the \thanks{..} command +moving arguments are those that appear in the \caption{...} +command (see figure), in the \thanks{...} command (see \maketitle), and in @-expressions in the tabular and array environments (see tabular). @@ -4985,12 +5711,12 @@ commands are robust and should not be preceded by a \protect command. Nor can a \protect command be used in the argument to \addtocounter or \setcounter command. -In this example the caption command gives a mysterious error +In this example the \caption command gives a mysterious error about an extra curly brace. Fix the problem by preceding each \raisebox command with \protect. \begin{figure} - .. + ... \caption{Company headquarters of A\raisebox{1pt}{B}\raisebox{-1pt}{C}} \end{figure} @@ -5001,9 +5727,9 @@ to \protect\(..\protect\). \begin{document} \tableofcontents - .. +... \section{Einstein's \( e=mc^2 \)} - .. +... @@ -5016,11 +5742,13 @@ to \protect\(..\protect\). 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 with no -backslash (\). Thus the \chapter command starts a -chapter and the chapter counter keeps track of the chapter -number. Below is a list of the counters used in &latex;’s standard -document classes to control numbering. +environment or command associated with the number, except that the +counter’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;’s standard document +classes to control numbering. part paragraph figure enumi chapter subparagraph table enumii @@ -5029,11 +5757,9 @@ subsection equation mpfootnote enumiv subsubsection The mpfootnote counter is used by the \footnote command -inside of a minipage (see minipage). - -The enumi through enumiv counters are used in the -enumerate environment, for up to four nested levels -(see enumerate). +inside of a minipage (see minipage). The counters enumi +through enumiv are used in the enumerate environment, for +up to four levels of nesting (see enumerate). New counters are created with \newcounter. See \newcounter. @@ -5045,36 +5771,48 @@ inside of a minipage (see minipage). counters, printing +Print the value of a counter, in a specified style. For instance, if +the counter counter has the value 1 then a +\alph{counter} in your source will result in a lower case +letter a appearing in the output. + All of these commands take a single counter as an argument, for instance, \alph{enumi}. Note that the counter name does not start with a backslash. -\alph\alph -prints counter using lowercase letters: ‘a’, ‘b’, ... +\alph{counter}\alph{counter} +Print the value of counter in lowercase letters: ‘a’, ‘b’, ... -\Alph\Alph -uses uppercase letters: ‘A’, ‘B’, ... +\Alph{counter}\Alph{counter} +Print in uppercase letters: ‘A’, ‘B’, ... -\arabic\arabic -uses Arabic numbers: ‘1’, ‘2’, ... +\arabic{counter}\arabic{counter} +Print in Arabic numbers: ‘1’, ‘2’, ... -\roman\roman -uses lowercase roman numerals: ‘i’, ‘ii’, ... +\roman{counter}\roman{counter} +Print in lowercase roman numerals: ‘i’, ‘ii’, ... -\Roman\Roman -uses uppercase roman numerals: ‘I’, ‘II’, ... +\Roman{counter}\Roman{counter} +Print in uppercase roman numerals: ‘I’, ‘II’, ... -\fnsymbol\fnsymbol -prints the value of counter in a specific sequence of nine +\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. -Here are the symbols (as Unicode code points in ASCII output): - -asterisk(*) dagger(‡) ddagger(‡) -section-sign(§) paragraph-sign(¶) parallel(∥) -double-asterisk(**) double-dagger(††) double-ddagger(‡‡) - +Here are the symbols: + +NameCommandEquivalent Unicode symbol and/or numeric code point +asterisk\ast* +dagger\dagger† +ddagger\ddagger‡ +section-sign\S§ +paragraph-sign\P¶ +double-vert\parallel‖ +double-asterisk\ast\ast** +double-dagger\dagger\dagger†† +double-ddagger\ddagger\ddagger‡‡ + @@ -5160,6 +5898,11 @@ Other counter is \arabic{other}. to the value argument. Note that the counter name does not start with a backslash. +In this example the section value appears as ‘V’. + +\setcounter{section}{5} +Here it is in Roman: \Roman{section}. + @@ -5170,6 +5913,12 @@ with a backslash. The \addtocounter command globally increments counter by the amount specified by the value argument, which may be negative. +In this example the section value appears as ‘VII’. + +\setcounter{section}{5} +\addtocounter{section}{2} +Here it is in Roman: \Roman{section}. + @@ -5338,27 +6087,37 @@ math symbols family. See Spacing in math m -<literal>\setlength{\<replaceable>len</replaceable>}{<replaceable>value</replaceable>}</literal> +<literal>\setlength</literal> \setlength lengths, setting -The \setlength sets the value of \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. +Synopsis: + +\setlength{\len}{amount} + +The \setlength sets the value of 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. -<literal>\addtolength{<replaceable>\len</replaceable>}{<replaceable>amount</replaceable>}</literal> +<literal>\addtolength</literal> \addtolength lengths, adding to -The \addtolength command increments a “length command” -\len by the amount specified in the amount argument, which -may be negative. +Synopsis: + +\addtolength{\len}{amount} + + +The \addtolength command increments a length command \len +by the amount specified in the amount argument, which may be +negative. @@ -5367,10 +6126,12 @@ may be negative. \settodepth -\settodepth{\gnat}{text} +Synopsis: -The \settodepth command sets the value of a length command -equal to the depth of the text argument. +\settodepth{\len}{text} + +The \settodepth command sets the value of a length command +\len equal to the depth of the text argument. @@ -5379,9 +6140,11 @@ equal to the depth of the text argument. \settoheight -\settoheight{\gnat}{text} +Synopsis: -The \settoheight command sets the value of a length command +\settoheight{\len}{text} + +The \settoheight command sets the value of a length command \len equal to the height of the text argument. @@ -5392,6 +6155,10 @@ equal to the height of the text argument. \settowidth +Synopsis: + +\settowidth{\len}{text} + The \settowidth command sets the value of the command \len to the width of the text argument. @@ -5417,12 +6184,12 @@ to the width of the text argument. These length parameters can be used in the arguments of the box-making commands (see Boxes). They specify the natural width, etc., of -the text in the box. \totalheight equals \height + -\depth. To make a box with the text stretched to double the +the text in the box. \totalheight equals \height + +\depth. To make a box with the text stretched to double the natural size, e.g., say -\makebox[2\width]{Get a stretcher} - +\makebox[2\width]{Get a stretcher} + @@ -5465,7 +6232,7 @@ mode, otherwise 15pt for 10pt documents, < When used at the beginning of the paragraph, this command suppresses any paragraph indentation, as in this example. -.. end of the prior paragraph. +... end of the prior paragraph. \noindent This paragraph is not indented. @@ -5554,9 +6321,12 @@ notes from falling off the bottom of the page. math formulas formulas, math math mode, entering -math environment -displaymath environment -equation environment +environment, math +math environment +environment, displaymath +displaymath environment +environment, equation +equation environment There are three environments that put &latex; in math mode: @@ -5615,7 +6385,7 @@ below summations. For example: ^ In math mode, use the caret character ^ to make the -exp appear as a superscript, ie. type ^{exp}. +exp appear as a superscript: ^{exp}. Similarly, in math mode, underscore _{exp} makes a subscript out of exp. @@ -5663,9 +6433,13 @@ the pi symbol π. Below is a list of commonly-available symbols. It is by no means an exhaustive list. Each symbol here is described with a short phrase, and its symbol class (which determines the spacing around it) is given in -parenthesis. The commands for these symbols can be used only in math -mode. +parenthesis. Unless said otherwise, the commands for these symbols can +be used only in math mode. +To redefine a command so that it can be used whatever the current mode, +see \ensuremath. + + @@ -5696,7 +6470,7 @@ five-pointed, and is sometimes used as a general binary operation, and sometimes reserved for cross-correlation. \asymp\asymp -≍ Asymptomatically equivalent (relation). +≍ Asymptotically equivalent (relation). \backslash\backslash \ Backslash (ordinary). Similar: set minus \setminus, and @@ -5748,16 +6522,15 @@ union \cup. ⋀ Variable-sized, or n-ary, logical-or (operator). \bot\bot -⊥ Up tack, bottom, least element of a poset, or a contradiction -(ordinary). See also \top. +⊥ Up tack, bottom, least element of a partially ordered +set, or a contradiction (ordinary). See also \top. \bowtie\bowtie ⋈ Natural join of two relations (relation). \Box\Box -□ Modal operator for necessity; square open box (ordinary). This -is not available in Plain &tex;. In &latex; you need to load the -amssymb package. +□ Modal operator for necessity; square open box +(ordinary). Not available in plain &tex;. In &latex; you need to load the amssymb package. \bullet\bullet @@ -5785,8 +6558,7 @@ variable-sized operator \bigcirc. \complement\complement ∁ Set complement, used as a superscript as in -$S^\complement$ (ordinary). This is not available in Plain -&tex;. In &latex; you should load the amssymb package. Also +$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 @@ -5816,8 +6588,7 @@ turnstile \vdash. δ Greek lower case delta (ordinary). \Diamond\Diamond -◇ Large diamond operator (ordinary). This is not available in -Plain &tex;. In &latex; you must load the amssymb package. +◇ Large diamond operator (ordinary). Not available in plain &tex;. In &latex; you need to load the amssymb package. \diamond\diamond @@ -5846,15 +6617,15 @@ arrow \downarrow. ℓ Lower-case cursive letter l (ordinary). \emptyset\emptyset -∅ Empty set symbol (ordinary). Similar: reversed empty -set \varnothing. +∅ Empty set symbol (ordinary). The variant form is +\varnothing. - + \epsilon\epsilon -ϵ Lower case Greek-text letter (ordinary). More widely used in -mathematics is the curly epsilon -\varepsilon ε. Related: the set membership relation -\in ∈. +ϵ Lower case lunate epsilon (ordinary). Similar to +Greek text letter. More widely used in mathematics is the script small +letter epsilon \varepsilon ε. Related: +the set membership relation \in ∈. @@ -5918,8 +6689,8 @@ with a \thickmuskip on either side. ℑ Imaginary part (ordinary). See: real part \Re. \in\in -∈ Set element (relation). See also: lower case Greek letter -epsilon \epsilonϵ and rounded small +∈ Set element (relation). See also: lower case lunate +epsilon \epsilonϵ and small letter script epsilon \varepsilon. \infty\infty @@ -5969,8 +6740,7 @@ shaved off (opening). Matches \rceil. for \leq. \leadsto\leadsto -⇝ Squiggly right arrow (relation). This is not available in -Plain &tex;. In &latex; you should load the amssymb package. +⇝ 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. @@ -6004,12 +6774,11 @@ double-line double headed arrow \Leftrightarrow. for \le. \lfloor\lfloor -⌊ Left floor bracket (opening). +⌊ Left floor bracket (opening). Matches: \floor. \lhd\lhd -◁ Arrowhead, that is, triangle, pointing left (binary). This is -not available in Plain &tex;. In &latex; you should load the -amssymb package. For the normal subgroup symbol you should load +◁ 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). @@ -6045,8 +6814,7 @@ Similar: longer version \longmapsto. \mho\mho ℧ Conductance, half-circle rotated capital omega (ordinary). -This is not available in Plain &tex;. In &latex; you should load the -amssymb package. +Not available in plain &tex;. In &latex; you need to load the amssymb package. \mid\mid ∣ Single-line vertical bar (relation). A typical use of @@ -6170,21 +6938,21 @@ ordinary. ± Plus or minus (binary). \prec\prec -≺ Preceeds (relation). Similar: less than <. +≺ Precedes (relation). Similar: less than <. \preceq\preceq -⪯ Preceeds or equals (relation). Similar: less than or +⪯ Precedes or equals (relation). Similar: less than or equals \leq. \prime\prime -′ Prime, or minute in a time expression (ordinary). Typically -used as a superscript $A^\prime$. Note that $f^\prime$ -and $f'$ produce the same result. An advantage of the second is -that $f'''$ produces the the desired symbol, that is, the same -result as $f^{\prime\prime\prime}$, but uses somewhat less -typing. Note that you can only use \prime in math mode but you -can type right single quote ' in text mode also, although it -resuts in a different look than in math mode. +′ 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 +is that $f'''$ produces the desired symbol, that is, the same +result as $f^{\prime\prime\prime}$, but uses rather less +typing. You can only use \prime in math mode. Using the right +single quote ' in text mode produces a different character +(apostrophe). \prod\prod ∏ Product (operator). @@ -6199,7 +6967,7 @@ resuts in a different look than in math mode. ψ Lower case Greek letter (ordinary). \rangle\rangle -➹ Right angle, or sequence, bracket (closing). Similar: greater +⟩ Right angle, or sequence, bracket (closing). Similar: greater than >. Matches:\langle. \rbrace\rbrace @@ -6220,18 +6988,20 @@ this, load the amsfonts package. \restriction\restriction ↾ Restriction of a function -(relation). Synonym: \upharpoonright. Not available in -Plain &tex;. In &latex; you should load the amssymb package. +(relation). Synonym: \upharpoonright. Not available in plain &tex;. In &latex; you need to load the amssymb package. + +\revemptyset\revemptyset +⦰ Reversed empty set symbol (ordinary). Related: +\varnothing. Not available in plain &tex;. In &latex; you need to load the stix package. \rfloor\rfloor ⌋ Right floor bracket, a right square bracket with the top cut off (closing). Matches \lfloor. \rhd\rhd -◁ Arrowhead, that is, triangle, pointing right (binary). This is -not available in Plain &tex;. In &latex; you should load the -amssymb package. For the normal subgroup symbol you should -instead load amssymb and use \vartriangleright (which +◁ 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 @@ -6283,7 +7053,7 @@ right single-line arrow \rightarrow. display (operator). \smile\smile -⌣ Upward curving arc (ordinary). +⌣ Upward curving arc, smile (ordinary). \spadesuit\spadesuit ♠ Spade card suit (ordinary). @@ -6299,8 +7069,7 @@ operator \bigsqcup. \sqsubset\sqsubset ⊏ Square subset symbol (relation). Similar: -subset \subset. This is not available in Plain &tex;. In -&latex; you should load the amssymb package. +subset \subset. Not available in plain &tex;. In &latex; you need to load the amssymb package. \sqsubseteq\sqsubseteq ⊑ Square subset or equal symbol (binary). Similar: subset or @@ -6308,8 +7077,7 @@ equal to \subseteq. \sqsupset\sqsupset ⊐ Square superset symbol (relation). Similar: -superset \supset. This is not available in Plain &tex;. In -&latex; you should load the amssymb package. +superset \supset. Not available in plain &tex;. In &latex; you need to load the amssymb package. \sqsupseteq\sqsupseteq ⊒ Square superset or equal symbol (binary). Similar: superset or @@ -6348,7 +7116,7 @@ sigma \Sigma. \surd\surd √ Radical symbol (ordinary). The &latex; command -\sqrt{..} typesets the square root of the argument, with a bar +\sqrt{...} typesets the square root of the argument, with a bar that extends to cover the argument. \swarrow\swarrow @@ -6370,8 +7138,8 @@ also \cdot. Synonym: \rightarrow. \top\top -⊤ Top, greatest element of a poset (ordinary). See -also \bot. +⊤ Top, greatest element of a partially ordered set +(ordinary). See also \bot. \triangle\triangle △ Triangle (ordinary). @@ -6383,36 +7151,39 @@ should load amssymb and use \vartriangleleft< is a relation and so gives better spacing). \triangleright\triangleright -▷ 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). +▷ 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 -⊴ Left-pointing not-filled arrowhead, that is, triangle, with a -line under (binary). This is not available in Plain &tex;. In &latex; -you should load the amssymb package. For the normal subgroup -symbol load amssymb and use \vartrianglelefteq (which -is a relation and so gives better spacing). +⊴ 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 -⊵ Right-pointing not-filled arrowhead, that is, triangle, with a -line under (binary). This is not available in Plain &tex;. In &latex; -you should load the amssymb package. For the normal subgroup -symbol load amssymb and use \vartrianglerighteq -(which is a relation and so gives better spacing). +⊵ 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 -⇑ Double-line upward-pointing arrow (relation). Similar: -single-line up-pointing arrow \uparrow. +⇑ Double-line upward-pointing arrow +(relation). Similar: single-line up-pointing +arrow \uparrow. \uparrow\uparrow -↑ Single-line upward-pointing arrow, diverges (relation). Similar: -double-line up-pointing arrow \Uparrow. +↑ Single-line upward-pointing arrow, diverges +(relation). Similar: double-line up-pointing +arrow \Uparrow. \Updownarrow\Updownarrow -⇕ Double-line upward-and-downward-pointing arrow (relation). Similar: -single-line upward-and-downward-pointing arrow \updownarrow. +⇕ Double-line upward-and-downward-pointing arrow +(relation). Similar: single-line upward-and-downward-pointing +arrow \updownarrow. \updownarrow\updownarrow ↕ Single-line upward-and-downward-pointing arrow (relation). Similar: @@ -6420,13 +7191,12 @@ double-line upward-and-downward-pointing arrow \Updownarrow \upharpoonright\upharpoonright ↾ Up harpoon, with barb on right side -(relation). Synonym: \restriction. Not available in Plain -&tex;. In &latex; you should load the amssymb package. +(relation). Synonym: \restriction. Not available in plain &tex;. In &latex; you need to load the amssymb package. \uplus\uplus -⊎ Multiset union, a union symbol with a plus symbol in the middle -(binary). Similar: union \cup. Related: variable-sized -operator \biguplus. +⊎ Multiset union, a union symbol with a plus symbol in +the middle (binary). Similar: union \cup. Related: +variable-sized operator \biguplus. \Upsilon\Upsilon Υ Upper case Greek letter (ordinary). @@ -6435,53 +7205,62 @@ operator \biguplus. υ Lower case Greek letter (ordinary). \varepsilon\varepsilon -ε Rounded small epsilon (ordinary). This is more widely used in -mathematics than the non-variant lower case Greek-text letter form -\epsilon ϵ. Related: set membership \in. +ε Small letter script epsilon (ordinary). This is +more widely used in mathematics than the non-variant lunate epsilon form +\epsilon ϵ. Related: set +membership \in. + +\vanothing\vanothing +∅ Empty set symbol. Similar: +\emptyset. Related: \revemptyset. Not available in plain &tex;. In &latex; you need to load the amssymb package. \varphi\varphi -φ Variant on the lower case Greek letter (ordinary). The -non-variant form is \phi ϕ. +φ Variant on the lower case Greek letter (ordinary). +The non-variant form is \phi ϕ. \varpi\varpi -ϖ Variant on the lower case Greek letter (ordinary). The -non-variant form is \pi π. +ϖ Variant on the lower case Greek letter (ordinary). +The non-variant form is \pi π. \varrho\varrho -ϱ Variant on the lower case Greek letter (ordinary). The -non-variant form is \rho ρ. +ϱ Variant on the lower case Greek letter (ordinary). +The non-variant form is \rho ρ. \varsigma\varsigma -ς Variant on the lower case Greek letter (ordinary). The -non-variant form is \sigma σ. +ς Variant on the lower case Greek letter +(ordinary). The non-variant form is +\sigma σ. \vartheta\vartheta -ϑ Variant on the lower case Greek letter (ordinary). The -non-variant form is \theta θ. +ϑ Variant on the lower case Greek letter +(ordinary). The non-variant form is +\theta θ. \vdash\vdash -⊢ Provable; turnstile, vertical and a dash (relation). Similar: -turnstile rotated a half-circle \dashv. +⊢ Provable; turnstile, vertical and a dash +(relation). Similar: turnstile rotated a +half-circle \dashv. \vee\vee -∨ Logical or; a downwards v shape (binary). Related: logical -and \wedge. Similar: variable-sized +∨ Logical or; a downwards v shape (binary). Related: +logical and \wedge. Similar: variable-sized operator \bigvee. \Vert\Vert ‖ Vertical double bar (ordinary). Similar: vertical single bar \vert. -For a norm you can use the mathtools package and add +For a norm symbol, you can use the mathtools package and add \DeclarePairedDelimiter\norm{\lVert}{\rVert} to your -preamble. This gives you three command variants for double-line vertical -bars that are correctly horizontally spaced: if in the document body you -write the starred version $\norm*{M^\perp}$ then the height of -the vertical bars will match the height of the argument, whereas with -\norm{M^\perp} the bars do not grow with the height of the -argument but instead are the default height, and \norm[size -command]{M^\perp} also gives bars that do not grow but are set to -the size given in the size command, e.g., \Bigg. +preamble. This gives you three command variants for double-line +vertical bars that are correctly horizontally spaced: if in the +document body you write the starred version $\norm*{M^\perp}$ +then the height of the vertical bars will match the height of the +argument, whereas with \norm{M^\perp} the bars do not grow +with the height of the argument but instead are the default height, +and \norm[size command]{M^\perp} also gives bars that +do not grow but are set to the size given in the size command, +e.g., \Bigg. \vert\vert | Single line vertical bar (ordinary). Similar: double-line @@ -6626,10 +7405,10 @@ spacing. \sinh \sup\sup -sup - - - +\sup + + + \tan\tan \tan @@ -6750,7 +7529,7 @@ math symbols family (see Units of length) \, \thinspace Normally 3mu. The longer name is \thinspace. This can -be used in both math mode and text mode. +be used in both math mode and text mode. See \thinspace. \! \! @@ -6784,8 +7563,29 @@ infinitesimal. \*\* discretionary multiplication multiplication symbol, discretionary line break -A “discretionary” multiplication symbol, at which a line break is -allowed. +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 × symbol is +printed immediately before the break. So + +\documentclass{article} +\begin{document} +Now \(A_3 = 0\), hence the product of all terms \(A_1\) +through \(A_4\), that is \(A_1\* A_2\* A_3 \* A_4\), is +equal to zero. +\end{document} + +will make that sort of output + (the ellipsis ‘[…]’ is here to show the line break at +the same place as in a &tex; output) +: + +Now A_3 = 0, +[…] +A_1 +through A_4, that is A_1 A_2 \times +A_3 A_4, is +equal to zero. \cdots\cdots A horizontal ellipsis with the dots raised to the center of the line. @@ -6793,47 +7593,64 @@ allowed. \ddots\ddots A diagonal ellipsis: \ddots. -\frac{num}{den}\frac{num}{den} +\frac{num}{den}\frac{num}{den} \frac -Produces the fraction num divided by den. +Produces the fraction num divided by den. \left delim1 ... \right delim2\left delim1 ... \right delim2 \right null delimiter -The two delimiters need not match; ‘.’ acts as a 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]. +in between. Example: \left( \sum_{i=1}^{10} a_i \right]. + +\mathdollar\mathdollar +Dollar sign in math mode: $. + +\mathellipsis\mathellipsis +Ellipsis (spaced for text) in math mode: …. + +\mathparagraph\mathparagraph +Paragraph sign (pilcrow) in math mode: ¶. + +\mathsection\mathsection +Section sign in math mode. + +\mathsterling\mathsterling +Sterling sign in math mode: £. -\overbrace{text}\overbrace{text} -Generates a brace over text. -For example, \overbrace{x+\cdots+x}^{k \rm\;times}. +\mathunderscore\mathunderscore +Underscore in math mode: _. +\overbrace{math}\overbrace{math} +Generates a brace over math. +For example, \overbrace{x+\cdots+x}^{k \;\textrm{times}}. + \overline{text}\overline{text} Generates a horizontal line over tex. -For example, \overline{x+y}. +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}$. +\sqrt[3]{x+y}. \stackrel{text}{relation}\stackrel{text}{relation} Puts text above relation. For example, \stackrel{f}{\longrightarrow}. -\underbrace{math}\underbrace{math} -Generates math with a brace underneath. +\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 -Produces a vertical ellipsis. +Produces a vertical ellipsis. @@ -6886,6 +7703,42 @@ be in “inner paragraph mode” (no page breaks). Its normal paragraph mode, which it starts out in, is called “outer paragraph mode”. + +<literal>\ensuremath</literal> + +Synopsis: + +\ensuremath{formula} + +The \ensuremath command ensures that formula is typeset in +math mode whatever the current mode in which the command is used. + +For instance: + +\documentclass{report} +\newcommand{\ab}{\ensuremath{(\delta, \varepsilon)}} +\begin{document} +Now, the \ab\ pair is equal to \(\ab = (\frac{1}{\pi}, 0)\), ... +\end{document} + +One can redefine commands that can be used only in math mode so that +they ca be used in any mode like in the following example given for +\leadsto: + + + + +\documentclass{report} +\usepackage{amssymb} +\newcommand{\originalMeaningOfLeadsTo}{} +\let\originalMeaningOfLeadsTo\leadsto +\renewcommand\leadsto{\ensuremath{\originalMeaningOfLeadsTo}} +\begin{document} +All roads \leadsto\ Rome. +\end{document} + + + Page styles @@ -7058,7 +7911,7 @@ space is like backspacing. Normally when &tex; breaks a paragraph into lines it discards white space (glues and kerns) that would come at the start of a line, so you get an inter-word space or a line break between words but not both. This -command’s starred version \hspace*{..} puts a non-discardable +command’s starred version \hspace*{...} puts a non-discardable invisible item in front of the space, so the space appears in the output. @@ -7106,7 +7959,7 @@ colon) more than the space between words 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 intersentence space +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 @@ -7115,60 +7968,44 @@ sentence, then follow that period with a backslash-space (\ ) a tie (~). Examples are Nat.\ Acad.\ Science, and Mr.~Bean, and (manure, etc.)\ for sale. -For other use of \ , see also \(SPACE) after CS. +For another use of \ , see \(SPACE) after control sequence. In the opposite situation, if you have a capital letter followed by a -period that ends the sentence, then put \@ on the left of that -period. For example, book by the MAA\@. will have intersentence +period that ends the sentence, then put \@ before that period. +For example, book by the MAA\@. will have inter-sentence spacing after the period. -In contrast, putting \@ on the right of 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). +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>\ </literal> after a control sequence + +<literal>\ </literal> after control sequence -The \ command is often used after control sequences to keep them -from gobbling the space that follows, as in \TeX\ is a nice -system. And, under normal circumstances \tab and -\newline are equivalent to \ . For other use of +The \ command is often used after control sequences to keep +them from gobbling the space that follows, as in ‘\TeX\ is nice’. +And, under normal circumstances, \tab and +\newline are equivalent to \ . For another use of \ , see also \(SPACE) and \@. Some people prefer to use {} for the same purpose, as in -\TeX{} is a nice system. This has the advantage that you can -always write it the same way, like \TeX{}, whether it is -followed by a space or by a punctuation mark. Please compare: +\TeX{} is nice. This has the advantage that you can always +write it the same way, namely \TeX{}, whether it is followed +by a space or by a punctuation mark. Compare: \TeX\ is a nice system. \TeX, a nice system. \TeX{} is a nice system. \TeX{}, a nice system. - -When you define user commands (see \newcommand & \renewcommand) you -can prevent the space gobbling after the command by using the package -xspace and inserting \xspace at the end of the definition -For instance: -\documentclass{minimal} -\usepackage{xspace} -\newcommand*{\Loup}{Grand Cric\xspace} -\begin{document} -Que le \Loup me croque ! -\end{document} - -A quick hack to use \xspace for existing command is as follows: -\documentclass{minimal} -\usepackage{xspace} -\newcommand*{\SansXspaceTeX}{} -\let\SansXspaceTeX\TeX -\renewcommand{\TeX}{\SansXspaceTeX\xspace} -\begin{document} -\TeX is a nice system. -\end{document} - +package, xspace +xspace package +Some individual commands, notably those defined with the xspace, +package do not follow the standard behavior. + @@ -7176,10 +8013,10 @@ Que le \Loup me croque ! \frenchspacing \nonfrenchspacing -spacing, intersentence +spacing, inter-sentence This declaration (from Plain &tex;) causes &latex; to treat -intersentence spacing in the same way as interword spacing. +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 @@ -7279,10 +8116,10 @@ then this command will not add more space than what is needed to make the natural length of the total vertical space equal to length. Use this command to adjust the vertical space above or below an -environment that starts a new paragraph. (For instance, a Theorem -environment is defined to begin and end in \addvspace{..} so -that two consecutive Theorem’s are separated by one vertical space, not -two.) +environment that starts a new paragraph. For instance, a Theorem +environment is defined to begin and end with \addvspace{...} +so that two consecutive Theorem’s are separated by one vertical space, +not two. This command is fragile (see \protect). @@ -7298,23 +8135,20 @@ change that is to precede this command with a \par command. These commands produce a given amount of space, specified by the document class. -\bigskip -\bigskip -\bigskipamount +\bigskip\bigskip +\bigskipamount The same as \vspace{\bigskipamount}, ordinarily about one line space, with stretch and shrink (the default for the book and article classes is 12pt plus 4pt minus 4pt). -\medskip -\medskip -\medskipamount +\medskip\medskip +\medskipamount The same as \vspace{\medskipamount}, ordinarily about half of a line space, with stretch and shrink (the default for the book and article classes is 6pt plus 2pt minus 2pt). -\smallskip -\smallskip -\smallskipamount +\smallskip\smallskip +\smallskipamount The same as \vspace{\smallskipamount}, ordinarily about a quarter of a line space, with stretch and shrink (the default for the book and article classes is 3pt plus 1pt minus @@ -7370,9 +8204,13 @@ Lost Dog! Add the vertical space length. This can be negative or positive, and is a rubber length (see Lengths). -&latex; removes the vertical space from \vfill at a page break, -that is, at the top or bottom of a page. The starred version -\vspace*{..} causes the space to stay. +&latex; removes the vertical space from \vspace at a page +break, that is, at the top or bottom of a page. The starred version +\vspace*{...} causes the space to stay. + +If \vspace is used in the middle of a paragraph (i.e., in +horizontal mode), the space is inserted after the line with +the \vspace command. A new paragraph is not started. In this example the two questions will be evenly spaced vertically on the page, with at least one inch of space below each. @@ -7445,12 +8283,16 @@ argument. lrbox -\begin{lrbox}{cmd} text \end{lrbox} +Synopsis: -This is the environment form of \sbox. +\begin{lrbox}{\cmd} + text +\end{lrbox} + +This is the environment form of \sbox. -The text inside the environment is saved in the box cmd, which -must have been declared with \newsavebox. +The text inside the environment is saved in the box \cmd, +which must have been declared with \newsavebox. @@ -7508,9 +8350,13 @@ containing a paragraph-making environment, you should use a text the text that goes inside the parbox. -The optional position argument allows you to align either the -top or bottom line in the parbox with the baseline of the surrounding -text (default is top). +By default &latex; will position vertically a parbox so its center +lines up with the center of the surrounding text line. When the +optional position argument is present and equal either to ‘t’ +or ‘b’, this allows you respectively to align either the top or +bottom line in the parbox with the baseline of the surrounding text. You +may also specify ‘m’ for position to get the default +behaviour. The optional height argument overrides the natural height of the box. @@ -7536,16 +8382,16 @@ for this to work. Synopsis: -\raisebox{distance}[height][depth]{text} +\raisebox{distance}[height][depth]{text} The \raisebox command raises or lowers text. The first mandatory argument specifies how high text is to be raised (or lowered if it is a negative amount). text itself is processed in LR mode. -The optional arguments height and depth are dimensions. -If they are specified, &latex; treats text as extending a -certain distance above the baseline (height) or below (depth), +The optional arguments height and depth are dimensions. If +they are specified, &latex; treats text as extending a certain +distance above the baseline (height) or below (depth), ignoring its natural height and depth. @@ -7614,11 +8460,13 @@ special meaning do not correspond to simple characters you can type. reserved characters characters, reserved - -The following characters play a special role in &latex; and are called -“reserved characters” or “special characters”. +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. -# $ % & ~ _ ^ \ { } +# $ % & { } _ ~ ^ \ \# \$ @@ -7627,39 +8475,53 @@ special meaning do not correspond to simple characters you can type. \_ \{ \} -Whenever you write one of these characters into your file, &latex; -will do something special. If you simply want the character to be -printed as itself, include a \ in front of the character. For -example, \$ will produce $ in your output. - -\backslash -One exception to this rule is \ itself, because \\ has -its own special (context-dependent) meaning. A roman \ is produced by -typing $\backslash$ in your file, and a typewriter \ is -produced by using ‘\’ in a verbatim command (see verbatim). +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. \~ \^ -Also, \~ and \^ place tilde and circumflex accents over -the following letter, as in õ and ô (see Accents); to get -a standalone ~ or ^, you can again use a verbatim -command. +\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. + + + + +Symbols by font position + \symbol accessing any character of a font +font symbols, by number -Finally, you can access any character of the current font once you -know its number by using 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 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 octal numbers with ' or hexadecimal numbers -with ", so the previous example could also be written as -\symbol{'40} or \symbol{"20}. +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 symbols text symbols @@ -7724,7 +8586,7 @@ and \dots also work in math mode. \textparagraph\textparagraph paragraph symbol pilcrow -Paragraph sign (pilcrow). +Paragraph sign (pilcrow): ¶. \pounds\pounds \textsterling\textsterling @@ -7746,8 +8608,9 @@ and \dots also work in math mode. Right (closing) quote: ’. \S\S -section symbol -Section symbol. +\itemx \textsection +section symbol +Section sign: §. \TeX\TeX &tex; logo @@ -7808,8 +8671,8 @@ and \dots also work in math mode. letter in a circle, as in ®. \textcompwordmark\textcompwordmark -\textcapitalwordmark\textcapitalwordmark -\textascenderwordmark\textascenderwordmark +\textcapitalcompwordmark\textcapitalcompwordmark +\textascendercompwordmark\textascendercompwordmark composite word mark, in text cap height ascender height @@ -7826,7 +8689,7 @@ has the ascender height. double dagger, in text Double dagger: \ddag. -\textdollar (or $)\textdollar (or $) +\textdollar (or \$)\textdollar (or \$) dollar sign currency, dollar Dollar sign: $. @@ -7872,7 +8735,7 @@ has the ascender height. \textperiodcentered\textperiodcentered period, centered, in text centered period, in text -Centered period: \cdot. +Centered period: ·. \textquestiondown (or ?`)\textquestiondown (or ?`) question mark, upside-down @@ -7883,7 +8746,7 @@ has the ascender height. double left quote Double left quote: “. -\textquotedblright (or ')\textquotedblright (or ') +\textquotedblright (or '')\textquotedblright (or '') right quote, double double right quote Double right quote: ”. @@ -7898,6 +8761,12 @@ has the ascender height. single right quote Single right quote: ’. +\textquotesingle\textquotesingle +quote, single straight +straight single quote +single quote, straight +Straight single quote. (From TS1 encoding.) + \textquotestraightbase\textquotestraightbase \textquotestraightdblbase\textquotestraightdblbase quote, straight base @@ -7922,7 +8791,7 @@ has the ascender height. \texttrademark\texttrademark trademark symbol -Trademark symbol: ^{\hbox{TM}}. +Trademark symbol: ™. \texttwelveudash\texttwelveudash two-thirds em-dash @@ -7940,13 +8809,14 @@ has the ascender height. - + Accents accents characters, accented letters, accented +package, babel babel package multilingual support &latex; has wide support for many of the world’s scripts and @@ -8105,16 +8975,19 @@ See also \b above. - -Non-English characters + +Additional Latin letters +Latin letters, additional +letters, additional Latin +extended Latin special characters non-English characters characters, non-English -letters, non-English -Here are the basic &latex; commands for inserting characters commonly -used in languages other than English. +Here are the basic &latex; commands for inserting letters (beyond +A–Z) extending the Latin alphabet, used primarily in languages other +than English. \aa \AA @@ -8136,13 +9009,17 @@ used in languages other than English. \DH (Ð) Icelandic eth eth, Icelandic letter -Icelandic letter eth: ð and Ð. +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 -Crossed d and D, a.k.a. capital and small letter d with stroke. +Crossed d and D, a.k.a. 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 @@ -8162,7 +9039,7 @@ used in languages other than English. \NG \ng \NG -Latin letter eng, also used in phonetics. +Lappish letter eng, also used in phonetics. \o \O @@ -8192,12 +9069,14 @@ used in languages other than English. \TH (Þ) Icelandic thorn thorn, Icelandic letter -Icelandic letter thorn: þ and Þ. +Icelandic letter thorn: þ and Þ. Not available with OT1 +encoding, you need the fontenc package to select an alternate +font encoding, such as T1. - + <literal>\rule</literal> \rule @@ -8220,18 +9099,30 @@ rectangles. The arguments are: - + <literal>\today</literal> \today date, today’s The \today command produces today’s date, in the format -‘month dd, yyyy’; for example, ‘July 4, 1976’. +‘month dd, yyyy’; for example, ‘July 4, 1976’. It uses the predefined counters \day, \month, and \year (see \day \month \year) to do this. It is not updated as the program runs. +Multilingual packages like babel or classes like lettre, +among others, will localize \today. For example, the following +will output ‘4 juillet 1976’: + +\year=1976 \month=7 \day=4 +\documentclass{minimal} +\usepackage[french]{babel} +\begin{document} +\today +\end{document} + +package, datetime datetime package The datetime package, among others, can produce a wide variety of other date formats. @@ -8248,7 +9139,10 @@ of other date formats. A large document requires a lot of input. Rather than putting the whole input in a single large file, it’s more efficient to split it into several smaller ones. Regardless of how many separate files you use, -there is one that is the root file; it is the one whose name you type +there is one that is the +root file +file, root +root file; it is the one whose name you type when you run &latex;. See filecontents, for an environment that allows bundling an @@ -8272,7 +9166,7 @@ command executes \clearpage to start a new page Given an \includeonly command, the \include actions are only run if file is listed as an argument to -\includeonly. See the next section. +\includeonly. See \includeonly. nested \include, not allowed The \include command may not appear in the preamble or in a file @@ -8291,9 +9185,9 @@ read by another \include command. The \includeonly command controls which files will be read by subsequent \include commands. The list of filenames is -comma-separated. Each file must exactly match a filename -specified in a \include command for the selection to be -effective. +comma-separated. Each element file1, file2, … must +exactly match a filename specified in a \include command for the +selection to be effective. This command can only appear in the preamble. @@ -8360,11 +9254,15 @@ as for the table of contents. <literal>\addcontentsline</literal> -\addcontentsline{ext}{unit}{text} +\addcontentsline table of contents entry, manually adding -The \addcontentsline{ext}{unit}{text} -command adds an entry to the specified list or table where: +Synopsis: + +\addcontentsline{ext}{unit}{text} + +The \addcontentsline command adds an entry to the specified list +or table where: ext The extension of the file on which information is to be written, @@ -8379,16 +9277,17 @@ following, matching the value of the ext argument: The name of the sectional unit: part, chapter, section, subsection, subsubsection. lof -For the list of figures. +For the list of figures: figure. lot -For the list of tables. +For the list of tables: table. -entry +text The text of the entry. \contentsline -What is written to the .ext file is the -command \contentsline{unit}{name}. +What is written to the .ext file is the command +\contentsline{unit}{text}{num}, where +num is the current value of counter unit. @@ -8450,7 +9349,7 @@ the preamble. \index .idx file The command \index{text} writes an index entry for -text to an auxiliary file with the .idx extension. +text to an auxiliary file named with the .idx extension. \indexentry Specifically, what gets written is the command @@ -8479,22 +9378,25 @@ multi-lingual) xindy (printindex +\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 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, @@ -8520,7 +9422,7 @@ preparing the index. letter body \closing{closing text} \end{letter} - ... more letters ... +... more letters ... \end{document} Produce one or more letters. @@ -8546,13 +9448,13 @@ backslash (\\). &latex; will put the sende under the closing, after a vertical space for the traditional hand-written signature; it also can contain multiple lines. -Each letter environment begins with a required \opening command +Each letter environment body begins with a required \opening command such as \opening{Dear Madam or Sir:}. The letter body -text is ordinary &latex; so it can contain everything from from +text is ordinary &latex; so it can contain everything from enumerated lists to displayed math, except that commands such as \chapter that make no sense in a letter are turned off. Each -letter environment typically ends with a \closing command such as -\closing{Yours,}. +letter environment body typically ends with a \closing +command such as \closing{Yours,}. \\ for letters Additional material may come after the \closing. You can say who @@ -8629,12 +9531,12 @@ formatted as a personal letter. Synopsis: \cc{first name \\ - .. } + ... } Produce a list of names to which copies of the letter were sent. This command is optional. If it appears then typically it comes after \closing. Separate multiple lines with a double -backslash \\. +backslash \\, as in: \cc{President \\ Vice President} @@ -8650,7 +9552,7 @@ backslash \\. Synopsis: -\closing{text} +\closing{text} Usually at the end of a letter, above the handwritten signature, there is a \closing (although this command is optional). For example, @@ -8668,7 +9570,7 @@ is a \closing (although this command is optional). For examp Synopsis: \encl{first enclosed object \\ - .. } + ... } Produce a list of things included with the letter. This command is optional; when it is used, it typically is put after \closing. @@ -8718,6 +9620,8 @@ address). The sender address is the val in the argument to the letter environment. By default \mlabel ignores the first argument, the sender address. + + <literal>\name</literal> @@ -8744,7 +9648,7 @@ return address. \opening{text} This command is required. It starts a letter, following the -\begin{letter}{..}. The mandatory argument text is the +\begin{letter}{...}. The mandatory argument text is the text that starts your letter. For instance: \opening{Dear John:} @@ -8763,7 +9667,7 @@ text that starts your letter. For instance: Add a postscript. This command is optional and usually is used after \closing. -\ps{P.S. After you have read this letter, burn it. Or eat it.} +\ps{P.S. After you have read this letter, burn it. Or eat it.} @@ -8773,7 +9677,7 @@ text that starts your letter. For instance: Synopsis: \signature{first line \\ - .. } + ... } \signature @@ -8853,13 +9757,13 @@ page. Synopsis: -\typein[\cmd]{msg} +\typein[\cmd]{msg} \typein prints msg on the terminal and causes &latex; to stop and wait for you to type a line of input, ending with return. If -the optional \cmd argument is omitted, the typed input is +the optional \cmd argument is omitted, the typed input is processed as if it had been included in the input file in place of the -\typein command. If the \cmd argument is present, it +\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. @@ -9002,6 +9906,7 @@ The end. http://tug.org/TUGboat. \documentclass{ltugboat} + \usepackage{graphicx} \usepackage{ifpdf} \ifpdf @@ -9010,6 +9915,8 @@ The end. \usepackage{url} \fi +%%% Start of metadata %%% + \title{Example \TUB\ article} % repeat info for each author. @@ -9018,51 +9925,56 @@ The end. \netaddress{user (at) example dot org} \personalURL{http://example.org/~user/} +%%% End of metadata %%% + \begin{document} \maketitle \begin{abstract} This is an example article for \TUB{}. +Please write an abstract. \end{abstract} \section{Introduction} -This is an example article for \TUB, from +This is an example article for \TUB, linked from \url{http://tug.org/TUGboat/location.html}. We recommend the \texttt{graphicx} package for image inclusions, and the -\texttt{hyperref} package for active urls in the \acro{PDF} output. -Nowadays \TUB\ is produced using \acro{PDF} files exclusively. - -The \texttt{ltugboat} class provides these abbreviations and many more: +\texttt{hyperref} package if active urls are desired (in the \acro{PDF} +output). Nowadays \TUB\ is produced using \acro{PDF} files exclusively. +The \texttt{ltugboat} class provides these abbreviations (and many more): % verbatim blocks are often better in \small \begin{verbatim}[\small] \AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW \BibTeX \CTAN \DTD \HTML \ISBN \ISSN \LaTeXe -\Mc \mf \MFB \mtex \PCTeX \pcTeX -\PiC \PiCTeX \plain \POBox \PS -\SC \SGML \SliTeX \TANGLE \TB \TP +\mf \MFB +\plain \POBox \PS +\SGML \TANGLE \TB \TP \TUB \TUG \tug -\UG \UNIX \VAX \XeT \WEB \WEAVE +\UNIX \XeT \WEB \WEAVE -\Dash \dash \vellipsis \bull \cents \Dag -\careof \thinskip +\, \bull \Dash \dash \hyph \acro{FRED} -> {\small[er] fred} % please use! \cs{fred} -> \fred -\env{fred} -> \begin{fred} \meta{fred} -> <fred> \nth{n} -> 1st, 2nd, ... \sfrac{3/4} -> 3/4 \booktitle{Book of Fred} \end{verbatim} -For more information, see the ltubguid document at: -\url{http://mirror.ctan.org/macros/latex/contrib/tugboat} -(we recommend using \verb|mirror.ctan.org| for \CTAN\ references). +For references to other \TUB\ issue, please use the format +\textsl{volno:issno}, e.g., ``\TUB\ 32:1'' for our \nth{100} issue. + +This file is just a template. The \TUB\ style documentation is the +\texttt{ltubguid} document at \url{http://ctan.org/pkg/tugboat}. (For +\CTAN\ references, where sensible we recommend that form of url, using +\texttt{/pkg/}; or, if you need to refer to a specific file location, +\texttt{http://mirror.ctan.org/\textsl{path}}.) Email \verb|tugboat@tug.org| if problems or questions. diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.html b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.html index 5606ddbb59b..e8a7e781622 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.html +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.html @@ -1,7 +1,7 @@ - + -LaTeX2e unofficial reference manual (October 2015) +LaTeX2e unofficial reference manual (August 2017) - - + + @@ -69,9 +69,8 @@ pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} +span.roman {font-family: initial; font-weight: normal} span.sansserif {font-family: sans-serif; font-weight: normal} ul.no-bullet {list-style: none} --> @@ -81,7 +80,7 @@ ul.no-bullet {list-style: none} -

LaTeX2e unofficial reference manual (October 2015)

+

LaTeX2e unofficial reference manual (August 2017)

@@ -100,7 +99,7 @@ ul.no-bullet {list-style: none}
  • 5 Layout
  • 6 Sectioning
  • 7 Cross references
  • -
  • 8 Environments
  • +
  • 8 Environments
  • 9 Line breaking
  • 10 Page breaking
  • 11 Footnotes
  • @@ -137,11 +136,25 @@ ul.no-bullet {list-style: none}
  • 2.1 Starting and ending
  • 2.2 Output files
  • 2.3 TeX engines
  • -
  • 2.4 LaTeX command syntax
  • +
  • 2.4 LaTeX command syntax +
  • 3 Document classes
  • 4 Fonts
  • -
  • 6 Sectioning
  • +
  • 6 Sectioning +
  • 7 Cross references
  • -
  • 8 Environments +
  • 8 Environments
  • 8.14 itemize
  • 8.15 letter environment: writing letters
  • -
  • 8.16 list
  • +
  • 8.16 list +
  • 8.17 math
  • 8.18 minipage
  • 8.19 picture @@ -242,10 +261,11 @@ ul.no-bullet {list-style: none}
  • 9.2 \obeycr & \restorecr
  • 9.3 \newline
  • 9.4 \- (discretionary hyphen)
  • -
  • 9.5 \fussy
  • -
  • 9.6 \sloppy
  • -
  • 9.7 \hyphenation
  • -
  • 9.8 \linebreak & \nolinebreak
  • +
  • 9.5 \discretionary (generalized hyphenation point)
  • +
  • 9.6 \fussy
  • +
  • 9.7 \sloppy
  • +
  • 9.8 \hyphenation
  • +
  • 9.9 \linebreak & \nolinebreak
  • 10 Page breaking
      @@ -292,8 +312,8 @@ ul.no-bullet {list-style: none}
    • 14 Lengths
    • -
    • 17 Modes
    • +
    • 17 Modes +
    • 18 Page styles
      • 18.1 \maketitle
      • @@ -328,7 +351,7 @@ ul.no-bullet {list-style: none}
      • 19.1 \hspace
      • 19.2 \hfill
      • 19.3 \(SPACE) and \@
      • -
      • 19.4 \ after a control sequence
      • +
      • 19.4 \ after control sequence
      • 19.5 \frenchspacing
      • 19.6 \thinspace: Insert 1/6em
      • 19.7 \/: Insert italic correction
      • @@ -353,16 +376,18 @@ ul.no-bullet {list-style: none}
      • 21 Special insertions
      • 22 Splitting the input
      • 23 Front/back matter @@ -408,6 +433,8 @@ ul.no-bullet {list-style: none} + +

        @@ -417,7 +444,7 @@ Next:

        , Up: LaTeX command syntax   [Contents][Index]

        -

        Environment

        + +

        2.4.1 Environments

        Synopsis:

        \begin{environment name}
        -  ..
        +  ...
         \end{environment name}
         
        @@ -891,11 +922,13 @@ behavior. For instance, for poetry in LaTeX put the lines between

        \begin{verse}
        -    There once was a man from Nantucket \\
        -     ..
        +  There once was a man from Nantucket \\
        +  ...
         \end{verse}
         
        +

        See Environments for a list of environments. +

        The environment name at the beginning must exactly match that at the end. This includes the case where environment name ends in a star (*); both the \begin and \end texts must @@ -908,7 +941,7 @@ required (it specifies the formatting of columns).

        \begin{tabular}[t]{r|l}
        -  .. rows of table ..
        +  ... rows of table ...
         \end{tabular}
         
        @@ -917,15 +950,164 @@ required (it specifies the formatting of columns). -

        Declaration

        + +

        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.

        +
        + +
        +

        +Previous: , Up: LaTeX command syntax   [Contents][Index]

        +
        + +

        2.4.3 \makeatletter and \makeatother

        + +

        Synopsis: +

        +
        +
        \makeatletter
        +  ... definition of commands with @ in their name ..
        +\makeatother
        +
        + +

        Used to redefine internal LaTeX commands. \makeatletter makes +the 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 short. For instance, the backslash \ is +assigned the catcode 0, for characters that start a command. These two +commands alter the catcode assigned to @. +

        +

        The alteration is needed because many of LaTeX’s commands use +@ in their name, to prevent users from accidentally defining a +command that replaces one of LaTeX’s own. Command names consist of a +category 0 character, ordinarily backslash, followed by letters, +category 11 characters (except that a command name can also consist +of a category 0 character followed by a single non-letter symbol). +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 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. +

        + + +

        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{\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 +(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 +LaTeX3 has the xparse package that allows this code. +

        +
        +
        \NewDocumentCommand\foo{s}{\IfBooleanTF#1
        +  {starred version}%
        +  {unstarred version}% 
        +  }
        +
        + +
        @@ -988,6 +1170,10 @@ such as technical reports or theses, which may contain several chapters. + + @@ -995,7 +1181,7 @@ such as technical reports or theses, which may contain several chapters.

        3.1 Document class options

        @@ -1036,28 +1222,33 @@ size (these show height by width):

        a4paper
        -

        210 by 297 mm (about 8.25 by 11.75 inches) +

        210 by 297mm (about 8.25 by 11.75 inches) +

        +
        +
        a5paper
        +

        148 by 210mm (about 5.8 by 8.3 inches)

        b5paper
        -

        176 by 250 mm (about 7 by 9.875 inches) +

        176 by 250mm (about 6.9 by 9.8 inches)

        executivepaper
        -

        7.25 by 10.5 inches +

        7.25 by 10.5 inches

        legalpaper
        -

        8.5 by 14 inches +

        8.5 by 14 inches

        letterpaper
        -

        8.5 by 11 inches (the default) +

        8.5 by 11 inches (the default)

        +

        When using one of the engines pdfLaTeX, LuaLaTeX, or XeLaTeX (see TeX engines), options other than letterpaper set @@ -1113,7 +1304,10 @@ black box in the margin; default is final.

        titlepage
        notitlepage
        -

        Specifies whether the title page is separate; default depends on the class. +

        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 +notitlepage.

        @@ -1157,27 +1351,566 @@ being 40% of the difference between \paperwidth and

        The slides class offers the option clock for printing the time at the bottom of each note.

        + +
        + + + +

        3.2 Additional packages

        + -

        Additional packages are loaded like this: +

        Load a package pkg, with the package options given in the comma-separated +list options, as here.

        -
        \usepackage[options]{pkg}
        +
        \usepackage[options]{pkg}.
         
        -

        To specify more than one package, you can separate them with a comma, +

        To specify more than one package you can separate them with a comma, as in \usepackage{pkg1,pkg2,...}, or use multiple \usepackage commands.

        Any options given in the \documentclass command that are unknown -by the selected document class are passed on to the packages loaded with +to the selected document class are passed on to the packages loaded with \usepackage.

        +
        + + + +

        3.3 Class and package construction

        + + + + + +

        You can create new document classes and new packages. For instance, if +your memos must satisfy some local requirements, such as a +standard header for each page, then you could create a new class +smcmemo.cls and begin your documents with +\documentclass{smcmemo}. +

        +

        What separates a package from a document class is that the commands in a +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. + + +

        +

        Inside of a class or package file you can use the at-sign @ as a +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. +

        + + + + + + + +
        + + + +

        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. +
        4. 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. +

        +
        +
        \NeedsTeXFormat{LaTeX2e}
        +\ProvidesClass{stub}[2017/07/06 stub to start building classes from]
        +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
        +\ProcessOptions\relax
        +\LoadClass{article}
        +
        + + +

        It identifies itself, handles the class options via the default of +passing them all to the article class, and then loads the +article class to provide the basis for this class’s code. +

        +

        For more, see the official guide for class and package writers, the +Class Guide, at +http://www.latex-project.org/help/documentation/clsguide.pdf (much +of the descriptions here derive from this document), or the tutorial +https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf. +

        +
        + + + +

        3.3.2 Class and package commands

        + + + +

        These are the commands designed to help writers of classes or packages. +

        +
        +
        \AtBeginDvi{specials}
        +
        +

        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}
        +
        + +

        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}
        +
        + + +

        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 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}
        +
        \PackageWarning{package name}{warning text}
        +
        \ClassWarningNoLine{class name}{warning text}
        +
        \PackageWarningNoLine{package name}{warning text}
        +
        \ClassInfo{class name}{info text}
        +
        \PackageInfo{package name}{info text}
        +
        \ClassInfoNoLine{class name}{info text}
        +
        \PackageInfoNoLine{package name}{info text}
        +
        + + + + + + + + + +

        Produce an error message, or warning or informational messages. +

        +

        For \ClassError and \PackageError the message is +error text, followed by TeX’s ? error prompt. If the +user then asks for help by typing h, they see the help +text. +

        +

        The four warning commands are similar except that they write +warning text on the screen with no error prompt. The four info +commands write info text only in the transcript file. The +NoLine versions do not show the number of the line generating the +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 when a space +character does not allow it, like after a command. Note that LaTeX +appends a period to the messages. +

        +
        +
        \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*{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 +first page with \documentclass[logo]{smcmemo}. The class file +must contain \DeclareOption{logo}{code} (and later, +\ProcessOptions). +

        +

        If you request an option that has not been declared, by default this +will produce a warning like Unused global option(s): [badoption]. +Change this behaviour with the starred version +\DeclareOption*{code}. For example, many classes extend +an existing class, using a declaration such as +\LoadClass{article}, and for passing extra options to the +underlying class use code such as this. +

        +
        +
        \DeclareOption*{%
        +\PassOptionsToClass{\CurrentOption}{article}%
        +}
        +
        + +

        Another example is that the class smcmemo may allow users to keep +lists of memo recipients in external files. Then the user could invoke +\documentclass[math]{smcmemo} and it will read the file +math.memo. This code handles the file if it exists and otherwise +passes the option to the article class. +

        +
        +
        \DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{%
        +    \PassOptionsToClass{\CurrentOption}{article}}}
        +
        + +
        +
        \DeclareRobustCommand{cmd}[num][default]{definition}
        +
        \DeclareRobustCommand*{cmd}[num][default]{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. +

        + + +

        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 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 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 +directory do something like \IfFileExists{./filename}{true +code}{false code}. If you ask for a filename without a +.tex extension then LaTeX will first look for the file by +appending the .tex; for more on how LaTeX handles file +extensions see \input. +

        +
        +
        \LoadClass[options list]{class name}[release date]
        +
        \LoadClassWithOptions{class name}[release date]
        +
        + +

        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 +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 passed +to it via \PassOptionsToClass. This is a convenience command +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}
        +
        +

        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 +\ProcessOptions. For example, if in a class file you want the +default to be 11pt fonts then you could specify +\ExecuteOptions{11pt}\ProcessOptions\relax. +

        +
        +
        \NeedsTeXFormat{format}[format date]
        +
        +

        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}. 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 +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.’ +

        +
        +
        \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{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. +

        +

        The reason for these commands is: you may load a package any number of +times with no options but if you want options then you may only supply +them when you first load the package. Loading a package with options +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 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 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.) +

        +

        These commands are useful for general users as well as class and package +writers. For instance, suppose a user wants to load the graphicx +package with the option draft and also wants to use a class +foo that loads the graphicx package, but without that +option. The user could start their LaTeX file with +\PassOptionsToPackage{draft}{graphicx}\documentclass{foo}. +

        +
        +
        \ProcessOptions
        +
        \ProcessOptions*\@options
        +
        + +

        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. 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 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. +
        + +

        When \ProcessOptions is called for a class it works in the same +way except that all options are local, and the default code for +\DeclareOption* is \OptionNotUsed rather than an error. +

        +

        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]
        +
        \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. +

        +

        When a user writes \documentclass{smcmemo} then LaTeX loads +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 +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 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 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]
        +
        +

        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 for file name equal to +‘test.config’ and additional information equal to +‘2017/10/12 config file for test.cls’. +

        +
        +
        \RequirePackage[option list]{package name}[release date]
        +
        \RequirePackageWithOptions{package name}[release date]
        +
        + +

        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 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, on input line 9, version `2017/07/03' of package jhtest, but +only version `2000/01/01' is available. +

        +

        The \RequirePackageWithOptions version uses the list of options +for the current class. This means it ignores any options passed to it +via \PassOptionsToClass. This is a convenience command to allow +easily building classes on existing ones without having to track which +options were passed. +

        +

        The difference between \usepackage and \RequirePackage is +small. The \usepackage command is intended for the document file +while \RequirePackage is intended for package and class files. +Thus, using \usepackage before the \documentclass command +causes LaTeX to give error like \usepackage before +\documentclass, but you can use \RequirePackage there. +

        +
        + +
        @@ -1448,6 +2181,7 @@ formulas. \mathversion{normal} restores the default. +

        Finally, the command \oldstylenums{numerals} will typeset so-called “old-style” numerals, which have differing heights and @@ -1661,6 +2395,7 @@ 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.

        +

        However, the best way to double-space a document is to use the @@ -1744,9 +2479,9 @@ Next: , Up: -

        The \onecolumn declaration starts a new page and produces -single-column output. If the document is given the class option -onecolumn then this is the default behavior (see Document class options). +

        Start a new page and produce single-column output. If the document is +given the class option onecolumn then this is the default +behavior (see Document class options).

        This command is fragile (see \protect).

        @@ -1764,15 +2499,16 @@ Next: , -

        Synopsis: +

        Synopses:

        -
        \twocolumn[prelim one column text]
        +
        \twocolumn
        +\twocolumn[prelim one column text]
         
        -

        The \twocolumn declaration starts a new page and produces -two-column output. If the document is given the class option -twocolumn then this is the default (see Document class options). +

        Start a new page and produce two-column output. If the document is given +the class option twocolumn then this is the default +(see Document class options).

        If the optional prelim one column text argument is present, it is typeset in one-column mode before the two-column @@ -1827,7 +2563,7 @@ The following parameters control float behavior of two-column output. occupied by two-column wide floats. The default is 0.7, meaning that the height of a table* or figure* environment must not exceed 0.7\textheight . If the height of your starred float -environment exceeeds this then you can take one of the following actions +environment exceeds this then you can take one of the following actions to prevent it from floating all the way to the back of the document:

          @@ -1881,25 +2617,25 @@ default is 2. -

          This example shows the use of the optional argument of \twocolumn -to create a title that spans the two-column article: +

          This example uses \twocolumn’s optional argument of to create a +title that spans the two-column article:

          \documentclass[twocolumn]{article}
           \newcommand{\authormark}[1]{\textsuperscript{#1}}
           \begin{document}
           \twocolumn[{% inside this optional argument goes one-column text
          - \centering
          - \LARGE The Title \\[1.5em]
          - \large Author One\authormark{1},
          -        Author Two\authormark{2},
          -        Author Three\authormark{1} \\[1em]
          - \normalsize
          - \begin{tabular}{p{.2\textwidth}@{\hspace{2em}}p{.2\textwidth}}
          -   \authormark{1}Department one  &\authormark{2}Department two \\ 
          -    School one                   &School two 
          - \end{tabular}\\[3em] % space below title part
          -}]
          +  \centering
          +  \LARGE The Title \\[1.5em]
          +  \large Author One\authormark{1},
          +         Author Two\authormark{2},
          +         Author Three\authormark{1} \\[1em]
          +  \normalsize
          +  \begin{tabular}{p{.2\textwidth}@{\hspace{2em}}p{.2\textwidth}}
          +    \authormark{1}Department one  &\authormark{2}Department two \\ 
          +     School one                   &School two 
          +  \end{tabular}\\[3em] % space below title part
          +  }]
           
           Two column text here.
           
          @@ -1916,22 +2652,23 @@ Next: -

          The \flushbottom command can go at any point in the document -body. It makes all later pages the same height, stretching the vertical -space where necessary to fill out the page. +

          Make all pages in the documents after this declaration have the same +height, by stretching the vertical space where necessary to fill out the +page. This is most often used when making two-sided documents since the +differences in facing pages can be glaring.

          If TeX cannot satisfactorily stretch the vertical space in a page then you get a message like ‘Underfull \vbox (badness 10000) has -occurred while \output is active’. You can change to -\raggedbottom (see below). Alternatively, you can try to adjust -the textheight to be compatible, or you can add some vertical -stretch glue between lines or between paragraphs, as in -\setlength{\parskip}{0ex plus0.1ex}. In a final editing -stage you can adjust the height of individual pages +occurred while \output is active’. If you get that, one option is to +change to \raggedbottom (see \raggedbottom). Alternatively, +you can adjust the textheight to make compatible pages, or you +can add some vertical stretch glue between lines or between paragraphs, +as in \setlength{\parskip}{0ex plus0.1ex}. Your last option +is to, in a final editing stage, adjust the height of individual pages (see \enlargethispage).

          -

          This is the default only if you select the twoside document class -option (see Document class options). +

          The \flushbottom state is the default only if you select the +twoside document class option (see Document class options).


          @@ -1946,11 +2683,10 @@ Next: -

          The \raggedbottom command can go at any point in the document -body. It makes all later pages the natural height of the material on -that page; no rubber lengths will be stretched. Thus, in a two-sided -document the facing pages may be different heights. See also -\flushbottom above. +

          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 +document the facing pages may be different heights. This command can go +at any point in the document body. See \flushbottom.

          This is the default unless you select the twoside document class option (see Document class options). @@ -2198,14 +2934,14 @@ while the first table appears in the source before the first figure, it appears in the output after it.

          The placement of floats is subject to parameters, given below, that -limit the number of floats that can appear at the top of a page, and the -bottom, etc. If so many floats are queued up that the limits prevent +limit the number of floats that can appear at the top of a page, and +the bottom, etc. If so many floats are queued that the limits prevent them all from fitting on a page then LaTeX places what it can and -defers the rest to the next page. In this way, floats may be typset far -from their place in the source. In particular, a float that is big can -migrate to the end of the document. But then because all floats in a -class must appear in sequential order, every subsequent float in that -class also appears at the end. +defers the rest to the next page. In this way, floats may end up +being typeset far from their place in the source. In particular, a +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.

          @@ -2234,6 +2970,7 @@ appears. However, h is not allowed by itself; t is automatically added.

          +

          To absolutely force a float to appear “here”, you can \usepackage{float} and use the H specifier which it @@ -2272,12 +3009,14 @@ use the afterpage package and issue \afterpage{\clearpage}. This will wait until the current page is finished and then flush all outstanding floats.

          + +

          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 paramater. 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 +(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[t], which causes floats for the top position on this page to moved to the next page. @@ -2390,10 +3129,11 @@ default 2.

          The principal TeX FAQ entry relating to floats http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats contains suggestions for relaxing LaTeX’s default parameters to reduce the -problem of floats being pushed to the end. A full explaination of the -float placement algorithm is Frank Mittelbach’s article “How to -infuence the position of float environments like figure and table in -LaTeX?” http://latex-project.org/papers/tb111mitt-float.pdf. +problem of floats being pushed to the end. A full explanation of the +float placement algorithm is in Frank Mittelbach’s article “How to +influence the position of float environments like figure and table in +LaTeX?” +(http://latex-project.org/papers/tb111mitt-float.pdf).


          @@ -2479,7 +3219,7 @@ command is something like -

          The secnumdepth counter controls printing of section numbers. +

          The secnumdepth counter controls printing of section numbers. The setting

          @@ -2489,6 +3229,211 @@ The setting

          suppresses heading numbers at any depth > level, where chapter is level zero. (See \setcounter.)

          + + + + + +
          + +
          +

          +Up: Sectioning   [Contents][Index]

          +
          + +

          6.1 \@startsection

          + + + + +

          Synopsis: +

          +
          +
          \@startsection{name}{level}{indent}{beforeskip}{afterskip}{style}
          +
          + +

          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, this command has the form: +

          +
          \@startsection{name}{level}{indent}{beforeskip}{afterskip}{style}
          +    *[toctitle]{title}
          +
          +

          so that issuing: +

          +
          \renewcommand{\section}{\@startsection{name}{level}{indent}%
          +     {beforeskip}{afterskip}{style}}
          +
          +

          redefine \section while keeping its standard calling form +\section*[toctitle]{title}. See Sectioning and +the examples below. +

          +
          +
          name
          +

          Name of the counter (which must be defined +separately) used to number for the sectioning header. Most commonly +either section, subsection, or paragraph. Although +in those three cases the name of the counter is also the name of the +sectioning command itself, using the same name is not required. +

          +

          Then \thename displays the title number and +\namemark is for the page headers. +

          +
          +
          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{History} will produce output +like History, 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 entrie 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 -1em 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. +

          +

          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 the page together. +

          +

          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. +

          +
          + +

          Here are examples. To use them, either put them in a package or class +file, or put them in the preamble of a LaTeX document 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. +

          +
          +
          \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
          +
          +
          @@ -2501,8 +3446,38 @@ Next: , Previou -

          One reason for numbering things like figures and equations is to refer -the reader to them, as in “See Figure 3 for more details.” +

          One reason for numbering things such as figures and equations is to +refer the reader to them, as in “See Figure~3 for more details.” +

          + +

          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 +like \label{eq:GreensThm} and refer to it with See +equation~\ref{eq:GreensThm}. +

          +

          LaTeX writes the information from the labels to a file with the same +name as the file containing the \label{...} but with an +.aux extension. (The information has the format +\newlabel{label}{{currentlabel}{pagenumber}} +where currentlabel is the current value of the macro +\@currentlabel that is usually updated whenever you call +\refstepcounter{counter}.) +

          + + +

          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 +example in the \pageref{...} description. LaTeX gets the +information for references from the .aux file. If this is the +first time you are compiling the document then you will get a message +LaTeX Warning: Label(s) may have changed. Rerun to get +cross references right. and in the output the reference will appear as +two question marks ‘??’, in boldface. Or, if you change some +things so the references change then you get the same warning and the +output contains the old reference information. The solution in either +case is just to compile the document a second time.

          - - - @@ -6971,55 +8162,67 @@ Next: , Up +

          Print the value of a counter, in a specified style. For instance, if +the counter counter has the value 1 then a +\alph{counter} in your source will result in a lower case +letter a appearing in the output. +

          All of these commands take a single counter as an argument, for instance, \alph{enumi}. Note that the counter name does not start with a backslash.

          -
          \alph - +
          \alph{counter} +
          -

          prints counter using lowercase letters: ‘a’, ‘b’, ... +

          Print the value of counter in lowercase letters: ‘a’, ‘b’, ...

          -
          \Alph - +
          \Alph{counter} +
          -

          uses uppercase letters: ‘A’, ‘B’, ... +

          Print in uppercase letters: ‘A’, ‘B’, ...

          -
          \arabic - +
          \arabic{counter} +
          -

          uses Arabic numbers: ‘1’, ‘2’, ... +

          Print in Arabic numbers: ‘1’, ‘2’, ...

          -
          \roman - +
          \roman{counter} +
          -

          uses lowercase roman numerals: ‘i’, ‘ii’, ... +

          Print in lowercase roman numerals: ‘i’, ‘ii’, ...

          -
          \Roman - +
          \Roman{counter} +
          -

          uses uppercase roman numerals: ‘I’, ‘II’, ... +

          Print in uppercase roman numerals: ‘I’, ‘II’, ...

          -
          \fnsymbol - +
          \fnsymbol{counter} +
          -

          prints the value of counter in a specific sequence of nine +

          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.

          -

          Here are the symbols (as Unicode code points in ASCII output): +

          Here are the symbols:

          -
          -
          asterisk(*) dagger(‡) ddagger(‡)
          -section-sign(§) paragraph-sign(¶) parallel(∥)
          -double-asterisk(**) double-dagger(††) double-ddagger(‡‡)
          -
          +
          + + + + + + + + + + +
          NameCommandEquivalent Unicode symbol and/or numeric code point
          asterisk\ast*
          dagger\dagger
          ddagger\ddagger
          section-sign\S§
          paragraph-sign\P
          double-vert\parallel
          double-asterisk\ast\ast**
          double-dagger\dagger\dagger††
          double-ddagger\ddagger\ddagger‡‡
          @@ -7135,6 +8338,13 @@ Next: to the value argument. Note that the counter name does not start with a backslash.

          +

          In this example the section value appears as ‘V’. +

          +
          +
          \setcounter{section}{5}
          +Here it is in Roman: \Roman{section}.
          +
          +
          @@ -7150,6 +8360,14 @@ Next: @@ -7374,16 +8592,23 @@ math symbols family. See Spacing in math mode Next: , Previous: , Up: Lengths   [Contents][Index]

          - -

          14.2 \setlength{\len}{value}

          + +

          14.2 \setlength

          -

          The \setlength sets the value of \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. +

          Synopsis: +

          +
          +
          \setlength{\len}{amount}
          +
          + +

          The \setlength sets the value of 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.


          @@ -7392,15 +8617,22 @@ understands, i.e., inches (in), millimeters (mm), poin

          Next: , Previous: , Up: Lengths   [Contents][Index]

        - -

        14.3 \addtolength{\len}{amount}

        + +

        14.3 \addtolength

        -

        The \addtolength command increments a “length command” -\len by the amount specified in the amount argument, which -may be negative. +

        Synopsis: +

        +
        +
        \addtolength{\len}{amount}
        +
        + + +

        The \addtolength command increments a length command \len +by the amount specified in the amount argument, which may be +negative.


        @@ -7414,10 +8646,14 @@ Next: , -

        \settodepth{\gnat}{text} +

        Synopsis:

        -

        The \settodepth command sets the value of a length command -equal to the depth of the text argument. +

        +
        \settodepth{\len}{text}
        +
        + +

        The \settodepth command sets the value of a length command +\len equal to the depth of the text argument.


        @@ -7431,9 +8667,13 @@ Next: , Pr -

        \settoheight{\gnat}{text} +

        Synopsis:

        -

        The \settoheight command sets the value of a length command +

        +
        \settoheight{\len}{text}
        +
        + +

        The \settoheight command sets the value of a length command \len equal to the height of the text argument.

        @@ -7449,6 +8689,12 @@ Next: +

        Synopsis: +

        +
        +
        \settowidth{\len}{text}
        +
        +

        The \settowidth command sets the value of the command \len to the width of the text argument.

        @@ -7479,12 +8725,14 @@ Previous:

        These length parameters can be used in the arguments of the box-making commands (see Boxes). They specify the natural width, etc., of -the text in the box. \totalheight equals \height + -\depth. To make a box with the text stretched to double the +the text in the box. \totalheight equals \height + +\depth. To make a box with the text stretched to double the natural size, e.g., say

        -

        \makebox[2\width]{Get a stretcher} -

        +
        +
        \makebox[2\width]{Get a stretcher}
        +
        +
        @@ -7553,7 +8801,7 @@ Next: , Previous paragraph indentation, as in this example.

        -
        .. end of the prior paragraph.
        +
        ... end of the prior paragraph.
         
         \noindent This paragraph is not indented.
         
        @@ -7669,8 +8917,11 @@ Next: , Previous: + + +

        There are three environments that put LaTeX in math mode: @@ -7759,7 +9010,7 @@ Next: , Up:

        In math mode, use the caret character ^ to make the -exp appear as a superscript, ie. type ^{exp}. +exp appear as a superscript: ^{exp}. Similarly, in math mode, underscore _{exp} makes a subscript out of exp.

        @@ -7815,10 +9066,14 @@ the pi symbol π.

        Below is a list of commonly-available symbols. It is by no means an exhaustive list. Each symbol here is described with a short phrase, and its symbol class (which determines the spacing around it) is given in -parenthesis. The commands for these symbols can be used only in math -mode. +parenthesis. Unless said otherwise, the commands for these symbols can +be used only in math mode. +

        +

        To redefine a command so that it can be used whatever the current mode, +see \ensuremath.

        +
        \| @@ -7870,7 +9125,7 @@ sometimes reserved for cross-correlation.
        \asymp
        -

        ≍ Asymptomatically equivalent (relation). +

        ≍ Asymptotically equivalent (relation).

        \backslash @@ -7966,8 +9221,8 @@ union \cup.
        \bot
        -

        ⊥ Up tack, bottom, least element of a poset, or a contradiction -(ordinary). See also \top. +

        ⊥ Up tack, bottom, least element of a partially ordered +set, or a contradiction (ordinary). See also \top.

        \bowtie @@ -7979,9 +9234,8 @@ union \cup.
        \Box
        -

        □ Modal operator for necessity; square open box (ordinary). This -is not available in Plain TeX. In LaTeX you need to load the -amssymb package. +

        □ Modal operator for necessity; square open box +(ordinary). Not available in plain TeX. In LaTeX you need to load the amssymb package.

        \bullet @@ -8029,8 +9283,7 @@ variable-sized operator \bigcirc.

        ∁ Set complement, used as a superscript as in -$S^\complement$ (ordinary). This is not available in Plain -TeX. In LaTeX you should load the amssymb package. Also +$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}$.

        @@ -8087,8 +9340,7 @@ turnstile \vdash.
        \Diamond
        -

        ◇ Large diamond operator (ordinary). This is not available in -Plain TeX. In LaTeX you must load the amssymb package. +

        ◇ Large diamond operator (ordinary). Not available in plain TeX. In LaTeX you need to load the amssymb package.

        \diamond @@ -8140,17 +9392,17 @@ arrow \downarrow.
        \emptyset
        -

        ∅ Empty set symbol (ordinary). Similar: reversed empty -set \varnothing. -

        +

        ∅ Empty set symbol (ordinary). The variant form is +\varnothing. +

        \epsilon
        -

        ϵ Lower case Greek-text letter (ordinary). More widely used in -mathematics is the curly epsilon -\varepsilon ε. Related: the set membership relation -\in ∈. +

        ϵ Lower case lunate epsilon (ordinary). Similar to +Greek text letter. More widely used in mathematics is the script small +letter epsilon \varepsilon ε. Related: +the set membership relation \in ∈.

        \equiv @@ -8269,8 +9521,8 @@ with a \thickmuskip on either side.
        \in
        -

        ∈ Set element (relation). See also: lower case Greek letter -epsilon \epsilonϵ and rounded small +

        ∈ Set element (relation). See also: lower case lunate +epsilon \epsilonϵ and small letter script epsilon \varepsilon.

        @@ -8362,8 +9614,7 @@ for \leq.
        \leadsto
        -

        ⇝ Squiggly right arrow (relation). This is not available in -Plain TeX. In LaTeX you should load the amssymb package. +

        ⇝ 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. @@ -8420,15 +9671,14 @@ for \le.

        \lfloor
        -

        ⌊ Left floor bracket (opening). +

        ⌊ Left floor bracket (opening). Matches: \floor.

        \lhd
        -

        ◁ Arrowhead, that is, triangle, pointing left (binary). This is -not available in Plain TeX. In LaTeX you should load the -amssymb package. For the normal subgroup symbol you should load +

        ◁ 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).

        @@ -8491,8 +9741,7 @@ Similar: longer version \longmapsto.

        ℧ Conductance, half-circle rotated capital omega (ordinary). -This is not available in Plain TeX. In LaTeX you should load the -amssymb package. +Not available in plain TeX. In LaTeX you need to load the amssymb package.

        \mid @@ -8711,27 +9960,27 @@ ordinary.
        \prec
        -

        ≺ Preceeds (relation). Similar: less than <. +

        ≺ Precedes (relation). Similar: less than <.

        \preceq
        -

        ⪯ Preceeds or equals (relation). Similar: less than or +

        ⪯ Precedes or equals (relation). Similar: less than or equals \leq.

        \prime
        -

        ′ Prime, or minute in a time expression (ordinary). Typically -used as a superscript $A^\prime$. Note that $f^\prime$ -and $f'$ produce the same result. An advantage of the second is -that $f'''$ produces the the desired symbol, that is, the same -result as $f^{\prime\prime\prime}$, but uses somewhat less -typing. Note that you can only use \prime in math mode but you -can type right single quote ' in text mode also, although it -resuts in a different look than in math mode. +

        ′ 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 +is that $f'''$ produces the desired symbol, that is, the same +result as $f^{\prime\prime\prime}$, but uses rather less +typing. You can only use \prime in math mode. Using the right +single quote ' in text mode produces a different character +(apostrophe).

        \prod @@ -8761,7 +10010,7 @@ resuts in a different look than in math mode.
        \rangle
        -

        ➹ Right angle, or sequence, bracket (closing). Similar: greater +

        ⟩ Right angle, or sequence, bracket (closing). Similar: greater than >. Matches:\langle.

        @@ -8797,8 +10046,14 @@ this, load the amsfonts package.

        ↾ Restriction of a function -(relation). Synonym: \upharpoonright. Not available in -Plain TeX. In LaTeX you should load the amssymb package. +(relation). Synonym: \upharpoonright. Not available in plain TeX. In LaTeX you need to load the amssymb package. +

        +
        +
        \revemptyset + +
        +

        ⦰ Reversed empty set symbol (ordinary). Related: +\varnothing. Not available in plain TeX. In LaTeX you need to load the stix package.

        \rfloor @@ -8811,10 +10066,9 @@ off (closing). Matches \lfloor.
        \rhd
        -

        ◁ Arrowhead, that is, triangle, pointing right (binary). This is -not available in Plain TeX. In LaTeX you should load the -amssymb package. For the normal subgroup symbol you should -instead load amssymb and use \vartriangleright (which +

        ◁ 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).

        @@ -8911,7 +10165,7 @@ display (operator).
        \smile
        -

        ⌣ Upward curving arc (ordinary). +

        ⌣ Upward curving arc, smile (ordinary).

        \spadesuit @@ -8939,8 +10193,7 @@ operator \bigsqcup.

        ⊏ Square subset symbol (relation). Similar: -subset \subset. This is not available in Plain TeX. In -LaTeX you should load the amssymb package. +subset \subset. Not available in plain TeX. In LaTeX you need to load the amssymb package.

        \sqsubseteq @@ -8954,8 +10207,7 @@ equal to \subseteq.

        ⊐ Square superset symbol (relation). Similar: -superset \supset. This is not available in Plain TeX. In -LaTeX you should load the amssymb package. +superset \supset. Not available in plain TeX. In LaTeX you need to load the amssymb package.

        \sqsupseteq @@ -9024,7 +10276,7 @@ sigma \Sigma.

        √ Radical symbol (ordinary). The LaTeX command -\sqrt{..} typesets the square root of the argument, with a bar +\sqrt{...} typesets the square root of the argument, with a bar that extends to cover the argument.

        @@ -9064,8 +10316,8 @@ Synonym: \rightarrow.
        \top
        -

        ⊤ Top, greatest element of a poset (ordinary). See -also \bot. +

        ⊤ Top, greatest element of a partially ordered set +(ordinary). See also \bot.

        \triangle @@ -9086,51 +10338,54 @@ is a relation and so gives better spacing).
        \triangleright
        -

        ▷ 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). +

        ▷ 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
        -

        ⊴ Left-pointing not-filled arrowhead, that is, triangle, with a -line under (binary). This is not available in Plain TeX. In LaTeX -you should load the amssymb package. For the normal subgroup -symbol load amssymb and use \vartrianglelefteq (which -is a relation and so gives better spacing). +

        ⊴ 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
        -

        ⊵ Right-pointing not-filled arrowhead, that is, triangle, with a -line under (binary). This is not available in Plain TeX. In LaTeX -you should load the amssymb package. For the normal subgroup -symbol load amssymb and use \vartrianglerighteq -(which is a relation and so gives better spacing). +

        ⊵ 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
        -

        ⇑ Double-line upward-pointing arrow (relation). Similar: -single-line up-pointing arrow \uparrow. +

        ⇑ Double-line upward-pointing arrow +(relation). Similar: single-line up-pointing +arrow \uparrow.

        \uparrow
        -

        ↑ Single-line upward-pointing arrow, diverges (relation). Similar: -double-line up-pointing arrow \Uparrow. +

        ↑ Single-line upward-pointing arrow, diverges +(relation). Similar: double-line up-pointing +arrow \Uparrow.

        \Updownarrow
        -

        ⇕ Double-line upward-and-downward-pointing arrow (relation). Similar: -single-line upward-and-downward-pointing arrow \updownarrow. +

        ⇕ Double-line upward-and-downward-pointing arrow +(relation). Similar: single-line upward-and-downward-pointing +arrow \updownarrow.

        \updownarrow @@ -9144,16 +10399,15 @@ double-line upward-and-downward-pointing arrow \Updownarrow.

        ↾ Up harpoon, with barb on right side -(relation). Synonym: \restriction. Not available in Plain -TeX. In LaTeX you should load the amssymb package. +(relation). Synonym: \restriction. Not available in plain TeX. In LaTeX you need to load the amssymb package.

        \uplus
        -

        ⊎ Multiset union, a union symbol with a plus symbol in the middle -(binary). Similar: union \cup. Related: variable-sized -operator \biguplus. +

        ⊎ Multiset union, a union symbol with a plus symbol in +the middle (binary). Similar: union \cup. Related: +variable-sized operator \biguplus.

        \Upsilon @@ -9171,58 +10425,69 @@ operator \biguplus.
        \varepsilon
        -

        ε Rounded small epsilon (ordinary). This is more widely used in -mathematics than the non-variant lower case Greek-text letter form -\epsilon ϵ. Related: set membership \in. +

        ε Small letter script epsilon (ordinary). This is +more widely used in mathematics than the non-variant lunate epsilon form +\epsilon ϵ. Related: set +membership \in. +

        +
        +
        \vanothing + +
        +

        ∅ Empty set symbol. Similar: +\emptyset. Related: \revemptyset. Not available in plain TeX. In LaTeX you need to load the amssymb package.

        \varphi
        -

        φ Variant on the lower case Greek letter (ordinary). The -non-variant form is \phi ϕ. +

        φ Variant on the lower case Greek letter (ordinary). +The non-variant form is \phi ϕ.

        \varpi
        -

        ϖ Variant on the lower case Greek letter (ordinary). The -non-variant form is \pi π. +

        ϖ Variant on the lower case Greek letter (ordinary). +The non-variant form is \pi π.

        \varrho
        -

        ϱ Variant on the lower case Greek letter (ordinary). The -non-variant form is \rho ρ. +

        ϱ Variant on the lower case Greek letter (ordinary). +The non-variant form is \rho ρ.

        \varsigma
        -

        ς Variant on the lower case Greek letter (ordinary). The -non-variant form is \sigma σ. +

        ς Variant on the lower case Greek letter +(ordinary). The non-variant form is +\sigma σ.

        \vartheta
        -

        ϑ Variant on the lower case Greek letter (ordinary). The -non-variant form is \theta θ. +

        ϑ Variant on the lower case Greek letter +(ordinary). The non-variant form is +\theta θ.

        \vdash
        -

        ⊢ Provable; turnstile, vertical and a dash (relation). Similar: -turnstile rotated a half-circle \dashv. +

        ⊢ Provable; turnstile, vertical and a dash +(relation). Similar: turnstile rotated a +half-circle \dashv.

        \vee
        -

        ∨ Logical or; a downwards v shape (binary). Related: logical -and \wedge. Similar: variable-sized +

        ∨ Logical or; a downwards v shape (binary). Related: +logical and \wedge. Similar: variable-sized operator \bigvee.

        @@ -9232,16 +10497,17 @@ operator \bigvee.

        ‖ Vertical double bar (ordinary). Similar: vertical single bar \vert.

        -

        For a norm you can use the mathtools package and add +

        For a norm symbol, you can use the mathtools package and add \DeclarePairedDelimiter\norm{\lVert}{\rVert} to your -preamble. This gives you three command variants for double-line vertical -bars that are correctly horizontally spaced: if in the document body you -write the starred version $\norm*{M^\perp}$ then the height of -the vertical bars will match the height of the argument, whereas with -\norm{M^\perp} the bars do not grow with the height of the -argument but instead are the default height, and \norm[size -command]{M^\perp} also gives bars that do not grow but are set to -the size given in the size command, e.g., \Bigg. +preamble. This gives you three command variants for double-line +vertical bars that are correctly horizontally spaced: if in the +document body you write the starred version $\norm*{M^\perp}$ +then the height of the vertical bars will match the height of the +argument, whereas with \norm{M^\perp} the bars do not grow +with the height of the argument but instead are the default height, +and \norm[size command]{M^\perp} also gives bars that +do not grow but are set to the size given in the size command, +e.g., \Bigg.

        \vert @@ -9510,7 +10776,7 @@ spacing.
        \sup
        -

        sup +

        \sup

        \tan @@ -9698,7 +10964,7 @@ LaTeX provides the following commands for use in math mode:

        Normally 3mu. The longer name is \thinspace. This can -be used in both math mode and text mode. +be used in both math mode and text mode. See \thinspace.

        \!
        @@ -9747,9 +11013,31 @@ Previous:
        -

        A “discretionary” multiplication symbol, at which a line break is -allowed. +

        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 × symbol is +printed immediately before the break. So

        +
        +
        \documentclass{article}
        +\begin{document}
        +Now \(A_3 = 0\), hence the product of all terms \(A_1\) 
        +through \(A_4\), that is \(A_1\* A_2\* A_3 \* A_4\), is 
        +equal to zero.
        +\end{document}
        +
        + +

        will make that sort of output (the ellipsis ‘[…]’ is here to show the line break at +the same place as in a TeX output): +

        +
        +

        Now A_3 = 0, +[…] +A_1 +through A_4, that is A_1 A_2 \times
        A_3 A_4, is +equal to zero. +

        +
        \cdots @@ -9763,11 +11051,11 @@ allowed.

        A diagonal ellipsis: \ddots.

        -
        \frac{num}{den} +
        \frac{num}{den}
        -

        Produces the fraction num divided by den. +

        Produces the fraction num divided by den.

        @@ -9776,32 +11064,68 @@ allowed.
        -

        The two delimiters need not match; ‘.’ acts as a 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]. +in between. Example: \left( \sum_{i=1}^{10} a_i \right].

        -
        \overbrace{text} - +
        \mathdollar +
        -

        Generates a brace over text. -For example, \overbrace{x+\cdots+x}^{k \rm\;times}. +

        Dollar sign in math mode: $.

        +
        \mathellipsis + +
        +

        Ellipsis (spaced for text) in math mode: …. +

        +
        +
        \mathparagraph + +
        +

        Paragraph sign (pilcrow) in math mode: ¶. +

        +
        +
        \mathsection + +
        +

        Section sign in math mode. +

        +
        +
        \mathsterling + +
        +

        Sterling sign in math mode: £. +

        +
        +
        \mathunderscore + +
        +

        Underscore in math mode: _. +

        +
        +
        \overbrace{math} + +
        +

        Generates a brace over math. +For example, \overbrace{x+\cdots+x}^{k \;\textrm{times}}. +

        +
        \overline{text}

        Generates a horizontal line over tex. -For example, \overline{x+y}. +For example, \overline{x+y}.

        -
        \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}$. +\sqrt[3]{x+y}.

        \stackrel{text}{relation} @@ -9811,13 +11135,13 @@ example, the cube root of x+y would be typed as \stackrel{f}{\longrightarrow}.

        -
        \underbrace{math} +
        \underbrace{math}
        -

        Generates math with a brace underneath. +

        Generates math with a brace underneath. For example, \underbrace{x+y+z}_{>\,0}

        -
        \underline{text} +
        \underline{text}

        Causes text, which may be either math mode or not, to be @@ -9828,8 +11152,7 @@ descenders.

        \vdots
        -
        -

        Produces a vertical ellipsis. +

        Produces a vertical ellipsis.

        @@ -9889,6 +11212,54 @@ When LaTeX is in paragraph mode while making a box, it is said to be in “inner paragraph mode” (no page breaks). Its normal paragraph mode, which it starts out in, is called “outer paragraph mode”.

        + + + + +
        + +
        +

        +Up: Modes   [Contents][Index]

        +
        + +

        17.1 \ensuremath

        + +

        Synopsis: +

        +
        +
        \ensuremath{formula}
        +
        + +

        The \ensuremath command ensures that formula is typeset in +math mode whatever the current mode in which the command is used. +

        +

        For instance: +

        +
        +
        \documentclass{report}
        +\newcommand{\ab}{\ensuremath{(\delta, \varepsilon)}}
        +\begin{document}
        +Now, the \ab\ pair is equal to \(\ab = (\frac{1}{\pi}, 0)\), ...
        +\end{document}
        +
        + +

        One can redefine commands that can be used only in math mode so that +they ca be used in any mode like in the following example given for +\leadsto: +

        +
        +
        \documentclass{report}
        +\usepackage{amssymb}
        +\newcommand{\originalMeaningOfLeadsTo}{}
        +\let\originalMeaningOfLeadsTo\leadsto
        +\renewcommand\leadsto{\ensuremath{\originalMeaningOfLeadsTo}}
        +\begin{document}
        +All roads \leadsto\ Rome.
        +\end{document}
        +
        +
        @@ -10127,17 +11498,18 @@ Next: , Previous: \(SPACE) and \@:  Space after a period. -• \(SPACE) after CS:  Controlling space gobbling after a control sequence. +• \(SPACE) after control sequence:  Space (gobbling) after a control sequence. -• \frenchspacing:  Make interword and intersentence space equal. +• \frenchspacing:  Equal interword and inter-sentence space. • \thinspace:  One-sixth of an em. -• \/:  Insert italic correction. +• \/:  Insert italic correction. • \hrulefill \dotfill:  Stretchable horizontal rule or dots. \addvspace:  Add arbitrary vertical space if needed. @@ -10178,7 +11550,7 @@ space is like backspacing.

        Normally when TeX breaks a paragraph into lines it discards white space (glues and kerns) that would come at the start of a line, so you get an inter-word space or a line break between words but not both. This -command’s starred version \hspace*{..} puts a non-discardable +command’s starred version \hspace*{...} puts a non-discardable invisible item in front of the space, so the space appears in the output.

        @@ -10217,7 +11589,7 @@ space that does not disappear at line breaks use

        -Next: , Previous: , Up: Spaces   [Contents][Index]

        +Next: , Previous: , Up: Spaces   [Contents][Index]

        19.3 \(SPACE) and \@

        @@ -10237,7 +11609,7 @@ colon) more than the space between words 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 intersentence space +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 @@ -10246,38 +11618,39 @@ 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 other use of \ , see also \(SPACE) after CS. +

        For another use of \ , see \(SPACE) after control sequence.

        In the opposite situation, if you have a capital letter followed by a -period that ends the sentence, then put \@ on the left of that -period. For example, book by the MAA\@. will have intersentence +period that ends the sentence, then put \@ before that period. +For example, book by the MAA\@. will have inter-sentence spacing after the period.

        -

        In contrast, putting \@ on the right of 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). +

        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).

        +
        - +

        Next: , Previous: , Up: Spaces   [Contents][Index]

        - -

        19.4 \ after a control sequence

        + +

        19.4 \ after control sequence

        -

        The \ command is often used after control sequences to keep them -from gobbling the space that follows, as in \TeX\ is a nice -system. And, under normal circumstances \tab and -\newline are equivalent to \ . For other use of +

        The \ command is often used after control sequences to keep +them from gobbling the space that follows, as in ‘\TeX\ is nice’. +And, under normal circumstances, \tab and +\newline are equivalent to \ . For another use of \ , see also \(SPACE) and \@.

        Some people prefer to use {} for the same purpose, as in -\TeX{} is a nice system. This has the advantage that you can -always write it the same way, like \TeX{}, whether it is -followed by a space or by a punctuation mark. Please compare: +\TeX{} is nice. This has the advantage that you can always +write it the same way, namely \TeX{}, whether it is followed +by a space or by a punctuation mark. Compare:

        \TeX\ is a nice system. \TeX, a nice system.
        @@ -10285,48 +11658,27 @@ followed by a space or by a punctuation mark. Please compare:
         \TeX{} is a nice system. \TeX{}, a nice system.
         
        - -

        When you define user commands (see \newcommand & \renewcommand) you -can prevent the space gobbling after the command by using the package -xspace and inserting \xspace at the end of the definition -For instance: -

        -
        \documentclass{minimal}
        -\usepackage{xspace}
        -\newcommand*{\Loup}{Grand Cric\xspace}
        -\begin{document}
        -Que le \Loup me croque !
        -\end{document}
        -
        - -

        A quick hack to use \xspace for existing command is as follows: -

        -
        \documentclass{minimal}
        -\usepackage{xspace}
        -\newcommand*{\SansXspaceTeX}{}
        -\let\SansXspaceTeX\TeX
        -\renewcommand{\TeX}{\SansXspaceTeX\xspace}
        -\begin{document}
        -\TeX is a nice system.
        -\end{document}
        -
        - + + +

        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 -intersentence spacing in the same way as interword spacing. +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 @@ -10446,10 +11798,10 @@ then this command will not add more space than what is needed to make the natural length of the total vertical space equal to length.

        Use this command to adjust the vertical space above or below an -environment that starts a new paragraph. (For instance, a Theorem -environment is defined to begin and end in \addvspace{..} so -that two consecutive Theorem’s are separated by one vertical space, not -two.) +environment that starts a new paragraph. For instance, a Theorem +environment is defined to begin and end with \addvspace{...} +so that two consecutive Theorem’s are separated by one vertical space, +not two.

        This command is fragile (see \protect).

        @@ -10471,25 +11823,28 @@ Next: , Previous:
        -
        \bigskip
        -
        - +
        \bigskip + +
        +

        The same as \vspace{\bigskipamount}, ordinarily about one line space, with stretch and shrink (the default for the book and article classes is 12pt plus 4pt minus 4pt).

        -
        \medskip
        -
        - +
        \medskip + +
        +

        The same as \vspace{\medskipamount}, ordinarily about half of a line space, with stretch and shrink (the default for the book and article classes is 6pt plus 2pt minus 2pt).

        -
        \smallskip
        -
        - +
        \smallskip + +
        +

        The same as \vspace{\smallskipamount}, ordinarily about a quarter of a line space, with stretch and shrink (the default for the book and article classes is 3pt plus 1pt minus @@ -10561,9 +11916,13 @@ Previous: , Up: Add the vertical space length. This can be negative or positive, and is a rubber length (see Lengths).

        -

        LaTeX removes the vertical space from \vfill at a page break, -that is, at the top or bottom of a page. The starred version -\vspace*{..} causes the space to stay. +

        LaTeX removes the vertical space from \vspace at a page +break, that is, at the top or bottom of a page. The starred version +\vspace*{...} causes the space to stay. +

        +

        If \vspace is used in the middle of a paragraph (i.e., in +horizontal mode), the space is inserted after the line with +the \vspace command. A new paragraph is not started.

        In this example the two questions will be evenly spaced vertically on the page, with at least one inch of space below each. @@ -10679,12 +12038,18 @@ Next: , Previous -

        \begin{lrbox}{cmd} text \end{lrbox} +

        Synopsis:

        -

        This is the environment form of \sbox. +

        +
        \begin{lrbox}{\cmd} 
        +  text 
        +\end{lrbox}
        +
        + +

        This is the environment form of \sbox.

        -

        The text inside the environment is saved in the box cmd, which -must have been declared with \newsavebox. +

        The text inside the environment is saved in the box \cmd, +which must have been declared with \newsavebox.


        @@ -10747,8 +12112,9 @@ Next: , Previo
        \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 +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 @@ -10766,9 +12132,13 @@ containing a paragraph-making environment, you should use a

        -

        The optional position argument allows you to align either the -top or bottom line in the parbox with the baseline of the surrounding -text (default is top). +

        By default LaTeX will position vertically a parbox so its center +lines up with the center of the surrounding text line. When the +optional position argument is present and equal either to ‘t’ +or ‘b’, this allows you respectively to align either the top or +bottom line in the parbox with the baseline of the surrounding text. You +may also specify ‘m’ for position to get the default +behaviour.

        The optional height argument overrides the natural height of the box.

        @@ -10806,7 +12176,7 @@ Next: , Previous

        Synopsis:

        -
        \raisebox{distance}[height][depth]{text}
        +
        \raisebox{distance}[height][depth]{text}
         

        The \raisebox command raises or lowers text. The first @@ -10814,9 +12184,9 @@ mandatory argument specifies how high text is to be raised (or lowered if it is a negative amount). text itself is processed in LR mode.

        -

        The optional arguments height and depth are dimensions. -If they are specified, LaTeX treats text as extending a -certain distance above the baseline (height) or below (depth), +

        The optional arguments height and depth are dimensions. If +they are specified, LaTeX treats text as extending a certain +distance above the baseline (height) or below (depth), ignoring its natural height and depth.

        @@ -10904,17 +12274,21 @@ Next:

        21.1 Reserved characters

        - -

        The following characters play a special role in LaTeX and are called -“reserved characters” or “special characters”. + + +

        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.

        -
        # $ % & ~ _ ^ \ { }
        +
        # $ % & { } _ ~ ^ \ 
         
        @@ -10945,45 +12321,123 @@ Next: , Up: -

        Whenever you write one of these characters into your file, LaTeX -will do something special. If you simply want the character to be -printed as itself, include a \ in front of the character. For -example, \$ will produce $ in your output. -

        - -

        One exception to this rule is \ itself, because \\ has -its own special (context-dependent) meaning. A roman \ is produced by -typing $\backslash$ in your file, and a typewriter \ is -produced by using ‘\’ in a verbatim command (see verbatim). +

        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.

        -

        Also, \~ and \^ place tilde and circumflex accents over -the following letter, as in õ and ô (see Accents); to get -a standalone ~ or ^, you can again use a verbatim -command. + +

        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.

        + +
        + + + +

        21.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 (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 character 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 command 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}}
        +
        + +

        To uppercase only the first letter of words use the package +mfirstuc. +

        + +
        + + + +

        21.3 Symbols by font position

        + + -

        Finally, you can access any character of the current font once you -know its number by using 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 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 octal numbers with ' or hexadecimal numbers -with ", so the previous example could also be written as -\symbol{'40} or \symbol{"20}. +

        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}.


        -

        21.2 Text symbols

        +

        21.4 Text symbols

        @@ -11088,7 +12542,7 @@ and \dots also work in math mode.
        -

        Paragraph sign (pilcrow). +

        Paragraph sign (pilcrow): ¶.

        \pounds @@ -11126,8 +12580,9 @@ and \dots also work in math mode.
        \S
        -
        -

        Section symbol. +

        \itemx \textsection + +Section sign: §.

        \TeX @@ -11163,7 +12618,7 @@ and \dots also work in math mode.

        \textbackslash - +

        Backslash: \. @@ -11227,11 +12682,11 @@ and \dots also work in math mode.

        \textcompwordmark
        -
        \textcapitalwordmark - +
        \textcapitalcompwordmark +
        -
        \textascenderwordmark - +
        \textascendercompwordmark +
        @@ -11256,8 +12711,8 @@ has the ascender height.

        Double dagger: \ddag.

        -
        \textdollar (or $) - +
        \textdollar (or \$) +
        @@ -11333,7 +12788,7 @@ has the ascender height.
        -

        Centered period: \cdot. +

        Centered period: ·.

        \textquestiondown (or ?`) @@ -11351,8 +12806,8 @@ has the ascender height.

        Double left quote: “.

        -
        \textquotedblright (or ') - +
        \textquotedblright (or '') +
        @@ -11375,6 +12830,15 @@ has the ascender height.

        Single right quote: ’.

        +
        \textquotesingle + +
        +
        + + +

        Straight single quote. (From TS1 encoding.) +

        +
        \textquotestraightbase
        @@ -11415,7 +12879,7 @@ has the ascender height.
        -

        Trademark symbol: ^{\hbox{TM}}. +

        Trademark symbol: ™.

        \texttwelveudash @@ -11447,15 +12911,16 @@ has the ascender height. -

        21.3 Accents

        +

        21.5 Accents

        +

        LaTeX has wide support for many of the world’s scripts and @@ -11635,21 +13100,24 @@ See also \b above.


        - +

        Next: , Previous: , Up: Special insertions   [Contents][Index]

        - -

        21.4 Non-English characters

        + +

        21.6 Additional Latin letters

        - + + + + - -

        Here are the basic LaTeX commands for inserting characters commonly -used in languages other than English. +

        Here are the basic LaTeX commands for inserting letters (beyond +A–Z) extending the Latin alphabet, used primarily in languages other +than English.

        \aa
        @@ -11674,14 +13142,18 @@ used in languages other than English. -

        Icelandic letter eth: ð and Ð. +

        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
        -

        Crossed d and D, a.k.a. capital and small letter d with stroke. +

        Crossed d and D, a.k.a. 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
        @@ -11704,7 +13176,7 @@ used in languages other than English.
        \NG
        -

        Latin letter eng, also used in phonetics. +

        Lappish letter eng, also used in phonetics.

        \o
        @@ -11738,7 +13210,9 @@ used in languages other than English. -

        Icelandic letter thorn: þ and Þ. +

        Icelandic letter thorn: þ and Þ. Not available with OT1 +encoding, you need the fontenc package to select an alternate +font encoding, such as T1.

        @@ -11748,10 +13222,10 @@ used in languages other than English. -

        21.5 \rule

        +

        21.7 \rule

        @@ -11786,17 +13260,31 @@ rectangles. The arguments are: Previous: , Up: Special insertions   [Contents][Index]

        -

        21.6 \today

        +

        21.8 \today

        The \today command produces today’s date, in the format -‘month dd, yyyy’; for example, ‘July 4, 1976’. +‘month dd, yyyy’; for example, ‘July 4, 1976’. It uses the predefined counters \day, \month, and \year (see \day \month \year) to do this. It is not updated as the program runs.

        +

        Multilingual packages like babel or classes like lettre, +among others, will localize \today. For example, the following +will output ‘4 juillet 1976’: +

        +
        +
        \year=1976 \month=7 \day=4
        +\documentclass{minimal}
        +\usepackage[french]{babel}
        +\begin{document}
        +\today
        +\end{document}
        +
        + +

        The datetime package, among others, can produce a wide variety of other date formats. @@ -11817,7 +13305,10 @@ Next:

        + +root file; it is the one whose name you type when you run LaTeX.

        See filecontents, for an environment that allows bundling an @@ -11857,7 +13348,7 @@ command executes \clearpage to start a new page

        Given an \includeonly command, the \include actions are only run if file is listed as an argument to -\includeonly. See the next section. +\includeonly. See \includeonly.

        The \include command may not appear in the preamble or in a file @@ -11871,7 +13362,7 @@ read by another \include command. Next: , Previous: , Up: Splitting the input   [Contents][Index]

        -

        22.2 \includeonly

        +

        22.2 \includeonly

        @@ -11883,9 +13374,9 @@ Next: , Previous: The \includeonly command controls which files will be read by subsequent \include commands. The list of filenames is -comma-separated. Each file must exactly match a filename -specified in a \include command for the selection to be -effective. +comma-separated. Each element file1, file2, … must +exactly match a filename specified in a \include command for the +selection to be effective.

        This command can only appear in the preamble.

        @@ -11989,15 +13480,21 @@ Next:

        23.1.1 \addcontentsline

        - + -

        The \addcontentsline{ext}{unit}{text} -command adds an entry to the specified list or table where: +

        Synopsis: +

        +
        +
        \addcontentsline{ext}{unit}{text}
        +
        + +

        The \addcontentsline command adds an entry to the specified list +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).

        @@ -12012,22 +13509,23 @@ following, matching the value of the ext argument: section, subsection, subsubsection.

        lof
        -

        For the list of figures. +

        For the list of figures: figure.

        lot
        -

        For the list of tables. +

        For the list of tables: table.

        -
        entry
        +
        text

        The text of the entry.

        -

        What is written to the .ext file is the -command \contentsline{unit}{name}. +

        What is written to the .ext file is the command +\contentsline{unit}{text}{num}, where +num is the current value of counter unit.

        @@ -12106,7 +13604,7 @@ the preamble.

        The command \index{text} writes an index entry for -text to an auxiliary file with the .idx extension. +text to an auxiliary file named with the .idx extension.

        Specifically, what gets written is the command @@ -12135,22 +13633,25 @@ multi-lingual) xindy (http:/ This results in a .ind file, which can then be read to typeset the index.

        - + +

        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.

        - +

        The rubber length \indexspace is inserted before each new letter in the printed index; its default value is ‘10pt plus5pt minus3pt’.

        +

        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.

        +

        The multind package supports multiple indexes. See also the TeX FAQ entry on this topic, @@ -12181,7 +13682,7 @@ Next:

        Additional material may come after the \closing. You can say who @@ -12335,13 +13836,13 @@ Next: , Previous

        \cc{first name \\ 
        -    .. }
        +     ... }
         

        Produce a list of names to which copies of the letter were sent. This command is optional. If it appears then typically it comes after \closing. Separate multiple lines with a double -backslash \\. +backslash \\, as in:

        \cc{President \\
        @@ -12365,7 +13866,7 @@ Next: , Previous: Synopsis:
         

        -
        \closing{text}
        +
        \closing{text}
         

        Usually at the end of a letter, above the handwritten signature, there @@ -12392,7 +13893,7 @@ Next: , Previo

        \encl{first enclosed object \\ 
        -      .. }
        +       ... }
         

        Produce a list of things included with the letter. This command is @@ -12459,6 +13960,7 @@ address). The sender address is the value returned by the macro in the argument to the letter environment. By default \mlabel ignores the first argument, the sender address.

        +
        @@ -12499,7 +14001,7 @@ Next: , Previous:

        This command is required. It starts a letter, following the -\begin{letter}{..}. The mandatory argument text is the +\begin{letter}{...}. The mandatory argument text is the text that starts your letter. For instance:

        @@ -12528,7 +14030,7 @@ Next: , Prev \closing.

        -
        \ps{P.S.  After you have read this letter, burn it. Or eat it.}
        +
        \ps{P.S. After you have read this letter, burn it. Or eat it.}
         
        @@ -12545,7 +14047,7 @@ Next: , Prev

        \signature{first line \\
        -            .. }
        +            ... }
         
        @@ -12637,14 +14139,14 @@ Next: , Up: Synopsis:

        -
        \typein[\cmd]{msg}
        +
        \typein[\cmd]{msg}
         

        \typein prints msg on the terminal and causes LaTeX to stop and wait for you to type a line of input, ending with return. If -the optional \cmd argument is omitted, the typed input is +the optional \cmd argument is omitted, the typed input is processed as if it had been included in the input file in place of the -\typein command. If the \cmd argument is present, it +\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.

        @@ -12829,6 +14331,7 @@ Previous:
        , U http://tug.org/TUGboat.

        \documentclass{ltugboat}
        +
         \usepackage{graphicx}
         \usepackage{ifpdf}
         \ifpdf
        @@ -12837,6 +14340,8 @@ Previous: , U
         \usepackage{url}
         \fi
         
        +%%% Start of metadata %%%
        +
         \title{Example \TUB\ article}
         
         % repeat info for each author.
        @@ -12845,51 +14350,56 @@ Previous: , U
         \netaddress{user (at) example dot org}
         \personalURL{http://example.org/~user/}
         
        +%%% End of metadata %%%
        +
         \begin{document}
         
         \maketitle
         
         \begin{abstract}
         This is an example article for \TUB{}.
        +Please write an abstract.
         \end{abstract}
         
         \section{Introduction}
         
        -This is an example article for \TUB, from
        +This is an example article for \TUB, linked from
         \url{http://tug.org/TUGboat/location.html}.
         
         We recommend the \texttt{graphicx} package for image inclusions, and the
        -\texttt{hyperref} package for active urls in the \acro{PDF} output.
        -Nowadays \TUB\ is produced using \acro{PDF} files exclusively.
        -
        -The \texttt{ltugboat} class provides these abbreviations and many more:
        +\texttt{hyperref} package if active urls are desired (in the \acro{PDF}
        +output).  Nowadays \TUB\ is produced using \acro{PDF} files exclusively.
         
        +The \texttt{ltugboat} class provides these abbreviations (and many more):
         % verbatim blocks are often better in \small
         \begin{verbatim}[\small]
         \AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW
         \BibTeX \CTAN \DTD \HTML
         \ISBN \ISSN \LaTeXe
        -\Mc \mf \MFB \mtex \PCTeX \pcTeX
        -\PiC \PiCTeX \plain \POBox \PS
        -\SC \SGML \SliTeX \TANGLE \TB \TP
        +\mf \MFB
        +\plain \POBox \PS
        +\SGML \TANGLE \TB \TP
         \TUB \TUG \tug
        -\UG \UNIX \VAX \XeT \WEB \WEAVE
        +\UNIX \XeT \WEB \WEAVE
         
        -\Dash \dash \vellipsis \bull \cents \Dag
        -\careof \thinskip
        +\, \bull \Dash \dash \hyph
         
         \acro{FRED} -> {\small[er] fred}  % please use!
         \cs{fred}   -> \fred
        -\env{fred}  -> \begin{fred}
         \meta{fred} -> <fred>
         \nth{n}     -> 1st, 2nd, ...
         \sfrac{3/4} -> 3/4
         \booktitle{Book of Fred}
         \end{verbatim}
         
        -For more information, see the ltubguid document at:
        -\url{http://mirror.ctan.org/macros/latex/contrib/tugboat}
        -(we recommend using \verb|mirror.ctan.org| for \CTAN\ references).
        +For references to other \TUB\ issue, please use the format
        +\textsl{volno:issno}, e.g., ``\TUB\ 32:1'' for our \nth{100} issue.
        +
        +This file is just a template.  The \TUB\ style documentation is the
        +\texttt{ltubguid} document at \url{http://ctan.org/pkg/tugboat}.  (For
        +\CTAN\ references, where sensible we recommend that form of url, using
        +\texttt{/pkg/}; or, if you need to refer to a specific file location,
        +\texttt{http://mirror.ctan.org/\textsl{path}}.)
         
         Email \verb|tugboat@tug.org| if problems or questions.
         
        @@ -12971,7 +14481,9 @@ Next: , Previ
          
        * *’ promptCommand line +*-form of environment commands\newenvironment & \renewenvironment *-form of sectioning commandsSectioning +*-form, defining new commands\newcommand & \renewcommand
        . .glo fileGlossaries @@ -12985,17 +14497,19 @@ Next: , Previ abstractsabstract accentsAccents accents, mathematicalMath accents -accessing any character of a fontReserved characters +accessing any character of a fontSymbols by font position acute accentAccents acute accent, mathMath accents -additional packages, loadingDocument class options -ae ligatureNon-English characters +additional packages, loadingAdditional packages +ae ligatureAdditional Latin letters align environment, from amsmatheqnarray aligning equationseqnarray alignment via tabbingtabbing +amsmath packagearray +amsmath packagedisplaymath amsmath package, replacing eqnarrayeqnarray appendix, creatingSectioning -aringNon-English characters +aringAdditional Latin letters arrays, matharray arrow, left, in textText symbols arrow, right, in textText symbols @@ -13008,7 +14522,7 @@ Next: , Previ auxiliary fileOutput files
        B -babel packageAccents +babel packageAccents backslash, in textText symbols bar, double vertical, in textText symbols bar, vertical, in textText symbols @@ -13045,6 +14559,8 @@ Next: , Previ calligraphic letters for mathFont styles cap heightText symbols caron accentAccents +catcode\makeatletter and \makeatother +category code, character\makeatletter and \makeatother cc list, in letters\cc cedilla accentAccents centered asterisk, in textText symbols @@ -13053,9 +14569,12 @@ Next: , Previ centering text, declaration for\centering centering text, environment forcenter CentimeterUnits of length +character category code\makeatletter and \makeatother characters, accentedAccents -characters, non-EnglishNon-English characters +characters, caseUpper and lower case +characters, non-EnglishAdditional Latin letters characters, reservedReserved characters +characters, specialReserved characters check accentAccents check accent, mathMath accents CiceroUnits of length @@ -13064,16 +14583,27 @@ Next: , Previ circumflex accentAccents circumflex accent, mathMath accents circumflex, ASCII, in textText symbols +citation key\bibitem +class and package commandsClass and package commands +class and package differenceClass and package construction +class and package structureClass and package structure +class file exampleClass and package structure +class file layoutClass and package structure class optionsDocument class options +class optionsClass and package structure +class optionsClass and package commands classes of documentsDocument classes closing letters\closing closing quoteText symbols code, typesettingverbatim command lineCommand line command syntaxLaTeX command syntax +commands, class and packageClass and package commands commands, defining new ones\newcommand & \renewcommand commands, defining new ones\providecommand +commands, document classClass and package construction commands, redefining\newcommand & \renewcommand +commands, star-variants\@ifstar composite word mark, in textText symbols computer programs, typesettingverbatim contents fileOutput files @@ -13099,7 +14629,7 @@ Next: , Previ dagger, in textText symbols date, for titlepage\maketitle date, today’s\today -datetime package\today +datetime package\today defining a new command\newcommand & \renewcommand defining a new command\providecommand defining new environments\newenvironment & \renewenvironment @@ -13110,9 +14640,12 @@ Next: , Previ design size, in font definitions\newfont Didot pointUnits of length dieresis accentAccents +difference between class and packageClass and package construction +discretionary hyphenation\discretionary discretionary multiplicationMath miscellany displaying quoted text with paragraph indentationquotation and quote displaying quoted text without paragraph indentationquotation and quote +document class commandsClass and package construction document class optionsDocument class options document class, definedStarting and ending document classesDocument classes @@ -13162,12 +14695,14 @@ Next: , Previ equations, aligningeqnarray equations, environment forequation equations, flush left vs. centeredDocument class options -es-zet German letterNon-English characters -eth, Icelandic letterNon-English characters +es-zet German letterAdditional Latin letters +eth, Icelandic letterAdditional Latin letters +etoolbox packageClass and package commands euro symbolText symbols exUnits of length exclamation point, upside-downText symbols exponentSubscripts & superscripts +extended LatinAdditional Latin letters external files, writingfilecontents
        F @@ -13176,8 +14711,10 @@ Next: , Previ figure number, cross referencing\ref figures, footnotes inminipage figures, insertingfigure +file, rootSplitting the input fixed-width fontFont styles -float packageFloats +flafter packageFloats +float packageFloats float pageFloats flush left equationsDocument class options flushing floats and starting a page\clearpage @@ -13186,28 +14723,32 @@ Next: , Previ font sizeLow-level font commands font sizesFont sizes font stylesFont styles +font symbols, by numberSymbols by font position fontsFonts fonts, new commands for\newfont footer style\pagestyle footer, parameters forPage layout parameters +footmisc packageFootnotes in section headings footnote number, cross referencing\ref footnote parametersFootnote parameters footnotes in figuresminipage footnotes, creatingFootnotes Footnotes, in a minipage\footnote Footnotes, in a tableFootnotes in a table +footnotes, in section headingsFootnotes in section headings footnotes, symbols instead of numbers\footnote formulas, environment forequation formulas, mathMath formulas +forward referenceCross references forward references, resolvingOutput files fragile commands\protect French quotation marksText symbols functions, mathMath functions
        G -geometry packageDocument class options +geometry packageDocument class options global optionsDocument class options -global optionsDocument class options +global optionsAdditional packages glossariesGlossaries glossary packageGlossaries glue register, plain TeX\newlength @@ -13216,6 +14757,7 @@ Next: , Previ grave accent, mathMath accents greater than symbol, in textText symbols greek lettersMath symbols +group, and environmentsEnvironments
        H háček accent, mathMath accents @@ -13228,13 +14770,14 @@ Next: , Previ here, putting floatsFloats hungarian umlaut accentAccents hyphenation, defining\hyphenation +hyphenation, discretionary\discretionary hyphenation, forcing\- (hyphenation) hyphenation, preventing\mbox
        I -Icelandic ethNon-English characters -Icelandic thornNon-English characters -ij letter, DutchNon-English characters +Icelandic ethAdditional Latin letters +Icelandic thornAdditional Latin letters +ij letter, DutchAdditional Latin letters implementations of TeXTeX engines in-line formulasmath indent, forcing\indent @@ -13259,6 +14802,7 @@ Next: , Previ Knuth, Donald E.Overview
        L +labelCross references labelled lists, creatingdescription Lamport TeXOverview Lamport, LeslieOverview @@ -13268,6 +14812,7 @@ Next: , Previ LaTeX Project teamAbout this document LaTeX vs. LaTeX2eAbout this document LaTeX2e logoText symbols +Latin letters, additionalAdditional Latin letters layout commandsLayout layout, page parameters forPage layout parameters left angle quotation marksText symbols @@ -13280,6 +14825,7 @@ Next: , Previ left-justifying text\raggedright left-justifying text, environment forflushleft left-to-right modeModes +length command\setlength lengths, adding to\addtolength lengths, allocating new\newlength lengths, defining and usingLengths @@ -13287,8 +14833,8 @@ Next: , Previ lengths, setting\setlength less than symbol, in textText symbols letters, accentedAccents +letters, additional LatinAdditional Latin letters letters, ending\closing -letters, non-EnglishNon-English characters letters, starting\opening letters, writingLetters line break, forcing\\ @@ -13305,13 +14851,15 @@ Next: , Previ lists of itemsitemize lists of items, genericlist lists of items, numberedenumerate -loading additional packagesDocument class options +loading additional packagesAdditional packages log fileOutput files logo, LaTeXText symbols logo, LaTeX2eText symbols logo, TeXText symbols +long commandClass and package commands low-9 quotation marks, single and doubleText symbols low-level font commandsLow-level font commands +Lower caseUpper and lower case LR modeModes ltugboat classtugboat template LuaTeXTeX engines @@ -13321,8 +14869,9 @@ Next: , Previ macro package, LaTeX asOverview macron accentAccents macron accent, mathMath accents +macros2e package\makeatletter and \makeatother Madsen, Larseqnarray -makeidx packageIndexes +makeidx packageIndexes makeindex programIndexes making a title pagetitlepage making paragraphsMaking paragraphs @@ -13346,18 +14895,21 @@ Next: , Previ mu, math unitUnits of length multicolumn text\twocolumn multilingual supportAccents -multind packageIndexes +multind packageIndexes multiplication symbol, discretionary line breakMath miscellany
        N nested \include, not allowed\include +new class commandsClass and package construction +new command, checkClass and package commands +new command, definitionClass and package commands new commands, defining\newcommand & \renewcommand new commands, defining\providecommand new line, output as input\obeycr & \restorecr new line, starting\\ new line, starting (paragraph mode)\newline new page, starting\newpage -non-English charactersNon-English characters +non-English charactersAdditional Latin letters notes in the marginMarginal notes null delimiterMath miscellany numbered items, specifying counter\usecounter @@ -13365,22 +14917,46 @@ Next: , Previ
        O oblique fontFont styles -oe ligatureNon-English characters +oe ligatureAdditional Latin letters ogonekAccents old-style numeralsFont styles one-column output\onecolumn opening quoteText symbols OpenType fontsTeX engines +options, classClass and package commands options, document classDocument class options -options, globalDocument class options +options, document classClass and package structure +options, globalAdditional packages +options, packageClass and package structure +options, packageClass and package commands ordinals, feminine and masculineText symbols -oslashNon-English characters +oslashAdditional Latin letters overbar accentAccents overdot accent, mathMath accents overview of LaTeXOverview
        P -packages, loading additionalDocument class options +package file layoutClass and package structure +package optionsClass and package structure +package optionsClass and package commands +package, amsmatharray +package, amsmathdisplaymath +package, babelAccents +package, datetime\today +package, etoolboxClass and package commands +package, flafterFloats +package, floatFloats +package, footmiscFootnotes in section headings +package, geometryDocument class options +package, macros2e\makeatletter and \makeatother +package, makeidxIndexes +package, multindIndexes +package, picturepicture +package, setspaceLow-level font commands +package, showidxIndexes +package, textcompFont styles +package, xspace\(SPACE) after control sequence +packages, loading additionalAdditional packages page break, forcing\pagebreak & \nopagebreak page break, preventing\pagebreak & \nopagebreak page breakingPage breaking @@ -13392,6 +14968,7 @@ Next: , Previ paragraph indentations in quoted textquotation and quote paragraph indentations in quoted text, omittingquotation and quote paragraph modeModes +paragraph mode\parbox paragraph symbolText symbols paragraphsMaking paragraphs parameters, for footnotesFootnote parameters @@ -13401,14 +14978,16 @@ Next: , Previ period, centered, in textText symbols picaUnits of length pict2e package\line +picture packagepicture pictures, creatingpicture pilcrowText symbols placement of floatsFloats poetry, an environment forverse PointUnits of length -polish lNon-English characters +polish lAdditional Latin letters portrait orientationDocument class options position, in picturepicture +positional parameter\newcommand & \renewcommand postscript, in letters\ps pounds symbolText symbols preamble, definedStarting and ending @@ -13420,6 +14999,7 @@ Next: , Previ quadSpacing in math mode question mark, upside-downText symbols quotation marks, FrenchText symbols +quote, single straightText symbols quote, straight baseText symbols quoted text with paragraph indentation, displayingquotation and quote quoted text without paragraph indentation, displayingquotation and quote @@ -13430,6 +15010,7 @@ Next: , Previ ragged right text\raggedright ragged right text, environment forflushleft redefining environments\newenvironment & \renewenvironment +reference, forwardCross references references, resolving forwardOutput files registered symbolText symbols remarks in the marginMarginal notes @@ -13448,6 +15029,7 @@ Next: , Previ ring accent, mathMath accents robust commands\protect roman fontFont styles +root fileSplitting the input rubber lengths, defining new\newlength running header and footerPage layout parameters running header and footer style\pagestyle @@ -13459,18 +15041,20 @@ Next: , Previ section number, cross referencing\ref section numbers, printingSectioning section symbolText symbols +section, redefining\@startsection sectioning commandsSectioning series, of fontsLow-level font commands -setspace packageLow-level font commands +setspace packageLow-level font commands setting counters\setcounter shapes, of fontsLow-level font commands -sharp S lettersNon-English characters -showidx packageIndexes +sharp S lettersAdditional Latin letters +showidx packageIndexes simulating typed textverbatim single angle quotation marksText symbols single guillemetsText symbols single left quoteText symbols single low-9 quotation markText symbols +single quote, straightText symbols single right quoteText symbols sizes of textFont sizes skip register, plain TeX\newlength @@ -13480,12 +15064,16 @@ Next: , Previ space, vertical\vspace spacesSpaces spacing within math modeSpacing in math mode -spacing, intersentence\frenchspacing +spacing, inter-sentence\frenchspacing Spanish ordinals, feminine and masculineText symbols -special charactersNon-English characters +special charactersReserved characters +special charactersAdditional Latin letters special insertionsSpecial insertions specifier, float placementFloats splitting the input fileSplitting the input +stable option to footmisc packageFootnotes in section headings +star-variants, commands\@ifstar +starred form, defining new commands\newcommand & \renewcommand starting a new page\newpage starting a new page and clearing floats\clearpage starting and endingStarting and ending @@ -13493,6 +15081,7 @@ Next: , Previ sterling symbolText symbols straight double quote, baseText symbols straight quote, baseText symbols +straight single quoteText symbols stretch, infinite horizontal\hfill stretch, infinite vertical\vfill stretch, omitting vertical\raggedbottom @@ -13507,6 +15096,7 @@ Next: , Previ tab stops, usingtabbing table of contents entry, manually adding\addcontentsline table of contents fileOutput files +table of contents, avoiding footnotesFootnotes in section headings table of contents, creatingTables of contents tables, creatingtable template, beamerbeamer template @@ -13516,12 +15106,12 @@ Next: , Previ terminal input/outputTerminal input/output TeX logoText symbols text symbolsText symbols -textcomp packageFont styles +textcomp packageFont styles thanks, for titlepage\maketitle theorem-like environment\newtheorem theorems, defining\newtheorem theorems, typesettingtheorem -thorn, Icelandic letterNon-English characters +thorn, Icelandic letterAdditional Latin letters three-quarters em-dashText symbols tie-after accentAccents tilde accentAccents @@ -13552,6 +15142,7 @@ Next: , Previ units, of lengthUnits of length unofficial nature of this manualAbout this document unordered listsitemize +Upper caseUpper and lower case using BibTeXUsing BibTeX UTF-8TeX engines
        @@ -13581,6 +15172,7 @@ Next: , Previ x-heightUnits of length XeTeXTeX engines xindy programIndexes +xspace package\(SPACE) after control sequence
        + + - - + + - + - - + + - - + + - + @@ -13812,12 +15406,14 @@ Previous: , U + + + - @@ -13877,10 +15473,17 @@ Previous: , U + + + + + + + @@ -13906,6 +15509,7 @@ Previous: , U + @@ -13922,21 +15526,25 @@ Previous: , U + + + + - - + + - - + + @@ -13961,6 +15569,7 @@ Previous: , U + @@ -13976,8 +15585,8 @@ Previous: , U - + @@ -13993,7 +15602,7 @@ Previous: , U - + @@ -14037,8 +15646,9 @@ Previous: , U - - + + + @@ -14047,18 +15657,19 @@ Previous: , U + + - - - + + @@ -14069,8 +15680,8 @@ Previous: , U - - + + @@ -14131,6 +15742,8 @@ Previous: , U + + @@ -14160,11 +15773,17 @@ Previous: , U + + + + + + @@ -14187,6 +15806,7 @@ Previous: , U + @@ -14200,8 +15820,8 @@ Previous: , U - - + + @@ -14219,15 +15839,15 @@ Previous: , U - - + + - - + + @@ -14236,13 +15856,19 @@ Previous: , U + - + + + + + + @@ -14262,6 +15888,8 @@ Previous: , U + + @@ -14277,10 +15905,16 @@ Previous: , U + + + + + + @@ -14303,8 +15937,11 @@ Previous: , U + + + @@ -14318,8 +15955,8 @@ Previous: , U - - + + @@ -14361,13 +15998,13 @@ Previous: , U - + - - + + @@ -14386,7 +16023,7 @@ Previous: , U - + @@ -14397,11 +16034,12 @@ Previous: , U - + - + + @@ -14409,13 +16047,13 @@ Previous: , U - + - + @@ -14439,9 +16077,10 @@ Previous: , U - + + @@ -14460,8 +16099,8 @@ Previous: , U - - + + @@ -14495,8 +16134,8 @@ Previous: , U - - + + @@ -14512,9 +16151,10 @@ Previous: , U - + + @@ -14523,7 +16163,6 @@ Previous: , U - @@ -14581,8 +16220,8 @@ Previous: , U - - + + @@ -14594,7 +16233,7 @@ Previous: , U - + @@ -14602,10 +16241,10 @@ Previous: , U - - - - + + + + @@ -14613,52 +16252,85 @@ Previous: , U - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - + + - + - - + - + - + - + - - - + + + @@ -14675,13 +16347,12 @@ Previous: , U - - + - - + + @@ -14692,13 +16363,13 @@ Previous: , U - - - + + + - - - + + + @@ -14712,8 +16383,8 @@ Previous: , U - - + + 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 ab2b1ee03c6..5755f7da379 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.texi b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.texi index d4c8da471e9..e1c96ee6755 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.texi +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.texi @@ -1,8 +1,9 @@ \input texinfo -@c $Id: latex2e.texi 459 2015-10-12 11:33:10Z jhefferon $ +@c $Id: latex2e.texi 578 2017-08-06 00:04:43Z jimhefferon $ @comment %**start of header (This is for running Texinfo on a region.) @setfilename latex2e.info -@set UPDATED October 2015 +@set UPDATED August 2017 +@include common.texi @settitle @LaTeX{}2e unofficial reference manual (@value{UPDATED}) @comment %**end of header (This is for running Texinfo on a region.) @@ -10,12 +11,15 @@ @c xx but latex2e stuff is missing. @c xx random list of a few of the missing items is at the end of this file @c +@c xx misc commands from clsguide.pdf: \ignorespacesafterend, +@c \normalsfcodes +@c xx color (include info from clsguide.pdf) @c xx ending a run with errors @c xx ctan, distributions, components of TeX @c xx classes and packages -- required, additional, useful; oberdiek; fonts @c -@c xx merge http://mirror.ctan.org/info/latex-info/ (alt-latex-info) -@c xx merge http://mirror.ctan.org/latex2e-reference.tar.gz +@c xx merge http://ctan.org/pkg/latex-info (CTAN package latex-info) +@c xx merge http://ctan.org/pkg/latex2e-reference @c xx merge permuted-index @c xx merge latex-manual from savannah @c xx merge display style math @@ -43,10 +47,11 @@ Group as @cite{@TeX{}niques} number 10), as reference material (no text was directly copied). Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, -2014, 2015 Karl Berry.@* +2014, 2015, 2016, 2017 Karl Berry.@* Copyright 1988, 1994, 2007 Stephen Gilmore.@* Copyright 1994, 1995, 1996 Torsten Martinsen. +@comment start of License Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. @@ -65,6 +70,7 @@ notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions. +@comment end of License @end copying @dircategory TeX @@ -79,7 +85,7 @@ into another language, under the above conditions for modified versions. @titlepage @title @LaTeX{}2e: An unofficial reference manual @subtitle @value{UPDATED} -@author @url{http://home.gna.org/latexrefman} +@author @url{@value{LTXREFMAN_HOME_PAGE}} @page @vskip 0pt plus 1filll @insertcopying @@ -96,6 +102,9 @@ into another language, under the above conditions for modified versions. @macro BESU {utf8,math} @code{@backslashchar{}\math\} @end macro +@macro iftexthenelse {then,else} +\then\@c +@end macro @end iftex @ifnottex @macro BES {utf8,math} @@ -104,7 +113,27 @@ into another language, under the above conditions for modified versions. @macro BESU {utf8,math} @U{\utf8\} @end macro +@macro iftexthenelse {then,else} +\else\@c +@end macro @end ifnottex +@macro EnvIndex {env} +@findex @r{environment}, @code{\env\} +@findex @code{\env\} @r{environment} +@end macro +@macro PkgIndex {pkg} +@cindex @r{package}, @code{\pkg\} +@cindex @code{\pkg\} @r{package} +@end macro + +@set NotInPlainTeX Not available in plain @TeX{}. +@set NeedsAMSSymb @value{NotInPlainTeX} In @LaTeX{} you need to load the @file{amssymb} package. +@set NeedsSTIX @value{NotInPlainTeX} In @LaTeX{} you need to load the @file{stix} package. + +@clear HAS-MATH +@iftex +@set HAS-MATH +@end iftex @node Top @top @LaTeX{}2e: An unofficial reference manual @@ -148,31 +177,31 @@ This document is an unofficial reference manual (version of @node About this document @chapter About this document -@cindex bug reporting -@cindex reporting bugs -@findex @url{http://home.gna.org/latexrefman} @r{home page} +@findex @url{@value{LTXREFMAN_HOME_PAGE}} @r{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 (@pxref{Overview}). This document's home page is -@url{http://home.gna.org/latexrefman}. That page has links to the +@url{@value{LTXREFMAN_HOME_PAGE}}. That page has links to the current output in various formats, sources, mailing list archives and subscriptions, and other infrastructure. @cindex @LaTeX{} vs.@: @LaTeX{}2e In this document, we will mostly just use `@LaTeX{}' rather than `@LaTeX{}2e', since the previous version of @LaTeX{}@tie{}(2.09) was -retired many years ago. +frozen decades ago. @cindex unofficial nature of this manual @cindex @LaTeX{} Project team -@findex @email{latexrefman-discuss@@gna.org} @r{email address} +@findex @email{@value{LTXREFMAN_BUGS}} @r{email address} @LaTeX{} is currently maintained by a group of volunteers (@url{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 -@email{latexrefman-discuss@@gna.org}. +maintainers. +@cindex bug reporting +@cindex reporting bugs +Do not send bug reports or anything else about this document to them. +Instead, please send all comments to @email{@value{LTXREFMAN_BUGS}}. This document is a reference. There is a vast array of other sources of information about @LaTeX{}, at all levels. Here are a few @@ -189,8 +218,9 @@ Writing your first document, with a bit of both text and math. @item http://ctan.org/pkg/usrguide @findex usrguide @r{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: @item http://ctan.org/pkg/lshort @findex lshort @r{document} @@ -307,7 +337,7 @@ it to a PostScript @code{.ps} file with @command{dvips} or to a Portable Document Format @code{.pdf} file with @command{dvipdfmx}. The contents of the file can be dumped in human-readable form with @command{dvitype}. A vast array of other DVI utility programs are -available (@url{http://mirror.ctan.org/tex-archive/dviware}). +available (@url{http://mirror.ctan.org/dviware}). @item .pdf @findex .pdf @r{file} @@ -478,16 +508,18 @@ commands it covers (barring unintentional omissions, a.k.a.@: bugs). @menu * Environment:: Area of the source with distinct behavior. * Declaration:: Change the value or meaning of a command. +* \makeatletter and \makeatother:: Change the status of the at-sign character. @end menu @node Environment +@subsection Environments Synopsis: @example \begin@{@var{environment name}@} - .. + ... \end@{@var{environment name}@} @end example @@ -497,11 +529,13 @@ behavior. For instance, for poetry in @LaTeX{} put the lines between @example \begin@{verse@} - There once was a man from Nantucket \\ - .. + There once was a man from Nantucket \\ + ... \end@{verse@} @end example +See@tie{}@ref{Environments} for a list of environments. + The @var{environment name} at the beginning must exactly match that at the end. This includes the case where @var{environment name} ends in a star@tie{}(@code{*}); both the @code{\begin} and @code{\end} texts must @@ -514,18 +548,153 @@ required (it specifies the formatting of columns). @example \begin@{tabular@}[t]@{r|l@} - .. rows of table .. + ... rows of table ... \end@{tabular@} @end example @node Declaration +@subsection Command declarations A command that changes the value, or changes the meaning, of some other command or parameter. For instance, the @code{\mainmatter} command changes the setting of page numbers from roman numerals to arabic. +@node \makeatletter and \makeatother +@subsection @code{\makeatletter} and @code{\makeatother} + +Synopsis: + +@example +\makeatletter + ... definition of commands with @@ in their name .. +\makeatother +@end example + +Used to redefine internal @LaTeX{} commands. @code{\makeatletter} makes +the at-sign character@tie{}@code{@@} have the category code of a letter, +11. @code{\makeatother} sets the category code of@tie{}@code{@@} to 12, +its original value. + +As each character is read by @TeX{} for @LaTeX{}, it is assigned a +character category code, or +@cindex catcode +@cindex character category code +@cindex category code, character +@dfn{catcode} for short. For instance, the backslash@tie{}@code{\} is +assigned the catcode 0, for characters that start a command. These two +commands alter the catcode assigned to @code{@@}. + +The alteration is needed because many of @LaTeX{}'s commands use +@code{@@} in their name, to prevent users from accidentally defining a +command that replaces one of @LaTeX{}'s own. Command names consist of a +category@tie{}0 character, ordinarily backslash, followed by letters, +category@tie{}11 characters (except that a command name can also consist +of a category@tie{}0 character followed by a single non-letter symbol). +So under the default category codes, user-defined commands cannot +contain an @code{@@}. But @code{\makeatletter} and @code{\makeatother} +allow users to define or redefine commands named with @code{@@}. + +Use these two commands inside a @file{.tex} file, in the preamble, when +defining or redefining a command with @code{@@} in its name. Don't use +them inside @file{.sty} or @file{.cls} files since the +@code{\usepackage} and @code{\documentclass} commands set the at sign to +have the character code of a letter. + +@PkgIndex{macros2e} +For a comprehensive list of macros with an at-sign +in their names see @url{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 +@code{\thesis@@universityname}. The user wants to change the +definition. These three lines should go in the preamble, before the +@code{\begin@{document@}}. + +@example +\makeatletter +\renewcommand@{\thesis@@universityname@}@{Saint Michael's College@} +\makeatother +@end example + +@menu +* \@@ifstar:: Define your own commands with *-variants. +@end menu + + +@node \@@ifstar +@subsubsection @code{\@@ifstar} + +@findex \@@ifstar +@cindex commands, star-variants +@cindex star-variants, commands + +Synopsis: + +@example +\newcommand@{\mycmd@}@{\@@ifstar@{\mycmd@@star@}@{\mycmd@@nostar@}@} +\newcommand@{\mycmd@@nostar@}[@var{non-starred command number of args}]@{@var{body of non-starred command}@} +\newcommand@{\mycmd@@star@}[@var{starred command number of args}]@{@var{body of starred command}@} +@end example + +Many standard @LaTeX{} environments or commands have a variant with the +same name but ending with a star character@tie{}@code{*}, an asterisk. +Examples are the @code{table} and @code{table*} environments and the +@code{\section} and @code{\section*} commands. + +When defining environments, following this pattern is straightforward +because @code{\newenvironment} and @code{\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 @code{\mycmd}, which peeks ahead to see if it is followed +by a star. For instance, @LaTeX{} does not really have a +@code{\section*} command; instead, the @code{\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 @code{\mycmd@@nostar} and @code{\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@tie{}@code{@@} +must be enclosed inside a @code{\makeatletter ... \makeatother} block +(@pxref{\makeatletter and \makeatother}). + +This example of @code{\@@ifstar} defines the command @code{\ciel} and a +variant @code{\ciel*}. Both have one required argument. A call to +@code{\ciel@{night@}} will return "starry night sky" while +@code{\ciel*@{blue@}} will return "starry not blue sky". + +@example +\newcommand*@{\ciel@@unstarred@}[1]@{starry #1 sky@} +\newcommand*@{\ciel@@starred@}[1]@{starry not #1 sky@} +\newcommand*@{\ciel@}@{\@@ifstar@{\ciel@@starred@}@{\ciel@@unstarred@}@} +@end example + +In the next example, the starred variant takes a different number of +arguments than does the unstarred one. With this definition, Agent +007's @code{``My name is \agentsecret*@{Bond@}, +\agentsecret@{James@}@{Bond@}.''} is equivalent to @code{``My name is +\textsc@{Bond@}, \textit@{James@} textsc@{Bond@}.''} + +@example +\newcommand*@{\agentsecret@@unstarred@}[2]@{\textit@{#1@} \textsc@{#2@}@} +\newcommand*@{\agentsecret@@starred@}[1]@{\textsc@{#1@}@} +\newcommand*@{\agentsecret@}@{\@@ifstar@{\agentsecret@@starred@}@{\agentsecret@@unstarred@}@} +@end example + +There are two sometimes more convenient ways to accomplish the work of +@code{\@@ifstar}. The @file{suffix} package allows the construct +@code{\newcommand\mycommand@{@var{unstarred version}@}} followed by +@code{\WithSuffix\newcommand\mycommand*@{@var{starred version}@}}. And +@LaTeX{}3 has the @file{xparse} package that allows this code. + +@example +\NewDocumentCommand\foo@{s@}@{\IfBooleanTF#1 + @{@var{starred version}@}% + @{@var{unstarred version}@}% + @} +@end example + + @node Document classes @chapter Document classes @@ -577,6 +746,8 @@ Standard @var{options} are described in the next section. @menu * Document class options:: Global options. +* Additional packages:: Bring in packages. +* Class and package construction:: Create new classes and packages. @end menu @@ -619,24 +790,27 @@ size (these show height by width): @table @code @item a4paper -210 by 297 mm (about 8.25 by 11.75 inches) +210 by 297@dmn{mm} (about 8.25 by 11.75@tie{}inches) + +@item a5paper +148 by 210@dmn{mm} (about 5.8 by 8.3@tie{}inches) @item b5paper -176 by 250 mm (about 7 by 9.875 inches) +176 by 250@dmn{mm} (about 6.9 by 9.8@tie{}inches) @item executivepaper -7.25 by 10.5 inches +7.25 by 10.5@tie{}inches @item legalpaper -8.5 by 14 inches +8.5 by 14@tie{}inches @item letterpaper -8.5 by 11 inches (the default) +8.5 by 11@tie{}inches (the default) @end table @findex \pdfpagewidth @findex \pdfpageheight -@cindex @code{geometry} package +@PkgIndex{geometry} When using one of the engines pdf@LaTeX{}, Lua@LaTeX{}, or Xe@LaTeX{} (@pxref{@TeX{} engines}), options other than @code{letterpaper} set the print area but you must also set the physical paper size. One way @@ -686,7 +860,10 @@ Use ``open'' bibliography format. @item titlepage @itemx notitlepage @cindex title page, separate or run-in -Specifies whether the title page is separate; default depends on the class. +Specifies whether there is a separate page for the title information and +for the abstract also, if there is one. The default for the +@code{report} class is @code{titlepage}, for the other classes it is +@code{notitlepage}. @end table The following options are not available with the @code{slides} class. @@ -726,27 +903,538 @@ Determines if a chapter should start on a right-hand page; default is The @code{slides} class offers the option @code{clock} for printing the time at the bottom of each note. + +@node Additional packages +@section Additional packages + @cindex loading additional packages @cindex packages, loading additional @cindex additional packages, loading @findex \usepackage -Additional packages are loaded like this: +Load a package @var{pkg}, with the package options given in the comma-separated +list @var{options}, as here. @example -\usepackage[@var{options}]@{@var{pkg}@} +\usepackage[@var{options}]@{@var{pkg}@}. @end example -To specify more than one package, you can separate them with a comma, +To specify more than one package you can separate them with a comma, as in @code{\usepackage@{@var{pkg1},@var{pkg2},...@}}, or use multiple @code{\usepackage} commands. @cindex global options @cindex options, global Any options given in the @code{\documentclass} command that are unknown -by the selected document class are passed on to the packages loaded with +to the selected document class are passed on to the packages loaded with @code{\usepackage}. +@node Class and package construction +@section Class and package construction + +@cindex document class commands +@cindex commands, document class +@cindex 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 +standard header for each page, then you could create a new class +@code{smcmemo.cls} and begin your documents with +@code{\documentclass@{smcmemo@}}. + +What separates a package from a document class is that the commands in a +package are useful across classes while those in a document class are +specific to that class. Thus, a command to set page headers is for a +package while a command to make the page headers say @code{Memo from the +SMC Math Department} is for a class. +@cindex class and package difference +@cindex difference between class and package + +Inside of a class or package file you can use the at-sign @code{@@} as a +character in command names without having to surround the code +containing that command with @code{\makeatletter} and +@code{\makeatother}. @xref{\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 @code{smcmemo} might have commands +@code{\smc@@tolist}, @code{\smc@@fromlist}, etc. + + +@menu +* Class and package structure:: Layout of the file. +* Class and package commands:: List of commands. +@end menu + + +@node Class and package structure +@subsection Class and package structure + +@cindex class and package structure +@cindex class file layout +@cindex package file layout +@cindex options, document class +@cindex options, package +@cindex class options +@cindex package options + +A class file or package file typically has four parts. +@enumerate +In the @dfn{identification part}, the file says that it is a @LaTeX{} +package or class and describes itself, using the @code{\NeedsTeXFormat} +and @code{\ProvidesClass} or @code{\ProvidesPackage} commands. +@item +The @dfn{preliminary declarations part} declares some commands and +can also load other files. Usually these commands will be those needed +for the code used in the next part. For example, an @code{smcmemo} +class might be called with an option to read in a file with a list of +people for the to-head, as @code{\documentclass[mathto]@{smcmemo@}}, and +therefore needs to define a command +@code{\newcommand@{\setto@}[1]@{\def\@@tolist@{#1@}@}} used in that +file. +@item +In the @dfn{handle options part} the class or package declares +and processes its options. Class options allow a user to start their +document as @code{\documentclass[@var{option list}]@{@var{class +name}@}}, to modify the behavior of the class. An example is when you +declare @code{\documentclass[11pt]@{article@}} to set the default +document font size. +@item +Finally, in the @dfn{more declarations part} the class or package usually does +most of its work: declaring new variables, commands and fonts, and +loading other files. +@end enumerate + + +Here is a starting class file, which should be saved as @file{stub.cls} +where @LaTeX{} can find it, for example in the same directory as the +@file{.tex} file. + +@example +\NeedsTeXFormat@{LaTeX2e@} +\ProvidesClass@{stub@}[2017/07/06 stub to start building classes from] +\DeclareOption*@{\PassOptionsToClass@{\CurrentOption@}@{article@}@} +\ProcessOptions\relax +\LoadClass@{article@} +@end example +@cindex class file example + +It identifies itself, handles the class options via the default of +passing them all to the @code{article} class, and then loads the +@code{article} class to provide the basis for this class's code. + +For more, see the official guide for class and package writers, the +Class Guide, at +@url{http://www.latex-project.org/help/documentation/clsguide.pdf} (much +of the descriptions here derive from this document), or the tutorial +@url{https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf}. + +@node Class and package commands +@subsection Class and package commands +@cindex class and package commands +@cindex commands, class and package + +These are the commands designed to help writers of classes or packages. + +@table @code +@item \AtBeginDvi@{specials@} +@findex \AtBeginDvi +Save in a box register things that are written to the @file{.dvi} file +at the beginning of the shipout of the first page of the document. + +@item \AtEndOfClass@{@var{code}@} +@item \AtEndOfPackage@{@var{code}@} +@findex \AtEndOfClass +@findex \AtEndOfPackage +Hook to insert @var{code} to be executed when @LaTeX{} finishes +processing the current class or package. You can use these hooks +multiple times; the @code{code} will be executed in the order that you +called it. See also @ref{\AtBeginDocument}. + +@item \CheckCommand@{@var{cmd}@}[@var{num}][@var{default}]@{@var{definition}@} +@item \CheckCommand*@{@var{cmd}@}[@var{num}][@var{default}]@{@var{definition}@} +@findex \CheckCommand +@findex \CheckCommand* +@cindex new command, check +Like @code{\newcommand} (@pxref{\newcommand & \renewcommand}) but does +not define @var{cmd}; instead it checks that the current definition of +@var{cmd} is exactly as given by @var{definition} and is or is not +@cindex long command +@dfn{long} as expected. A long command is a command that accepts +@code{\par} within an argument. The @var{cmd} command is expected to be +long with the unstarred version of @code{\CheckCommand}. Raises an +error when the check fails. This allows you to check before you start +redefining @code{cmd} yourself that no other package has already +redefined this command. + +@item \ClassError@{@var{class name}@}@{@var{error text}@}@{@var{help text}@} +@item \PackageError@{@var{package name}@}@{@var{error text}@}@{@var{help text}@} +@item \ClassWarning@{@var{class name}@}@{@var{warning text}@} +@item \PackageWarning@{@var{package name}@}@{@var{warning text}@} +@item \ClassWarningNoLine@{@var{class name}@}@{@var{warning text}@} +@item \PackageWarningNoLine@{@var{package name}@}@{@var{warning text}@} +@item \ClassInfo@{@var{class name}@}@{@var{info text}@} +@item \PackageInfo@{@var{package name}@}@{@var{info text}@} +@item \ClassInfoNoLine@{@var{class name}@}@{@var{info text}@} +@item \PackageInfoNoLine@{@var{package name}@}@{@var{info text}@} +@findex \ClassError +@findex \PackageError +@findex \ClassWarning +@findex \PackageWarning +@findex \ClassWarningNoLine +@findex \PackageWarningNoLine +@findex \ClassInfo +@findex \PackageInfo +@findex \ClassInfoNoLine +@findex \PackageInfoNoLine +Produce an error message, or warning or informational messages. + +For @code{\ClassError} and @code{\PackageError} the message is +@var{error text}, followed by @TeX{}'s @code{?} error prompt. If the +user then asks for help by typing @code{h}, they see the @var{help +text}. + +The four warning commands are similar except that they write +@var{warning text} on the screen with no error prompt. The four info +commands write @var{info text} only in the transcript file. The +@code{NoLine} versions do not show the number of the line generating the +message, while the other versions do show that number. + +To format the messages, including the @var{help text}: use +@code{\protect} to stop a command from expanding, get a line break with +@code{\MessageBreak}, and get a space with @code{\space} when a space +character does not allow it, like after a command. Note that @LaTeX{} +appends a period to the messages. + +@item \CurrentOption +@findex \CurrentOption +Expands to the name of the currently-being-processed option. Can only +be used within the @var{code} argument of either @code{\DeclareOption} +or @code{\DeclareOption*}. + +@item \DeclareOption@{@var{option}@}@{@var{code}@} +@item \DeclareOption*@{@var{code}@} +@findex \DeclareOption +@findex \DeclareOption* +@cindex class options +@cindex package options +@cindex options, class +@cindex options, package +Make an option available to a user, for invoking in their +@code{\documentclass} command. For example, the @code{smcmemo} class +could have an option allowing users to put the institutional logo on the +first page with @code{\documentclass[logo]@{smcmemo@}}. The class file +must contain @code{\DeclareOption@{logo@}@{@var{code}@}} (and later, +@code{\ProcessOptions}). + +If you request an option that has not been declared, by default this +will produce a warning like @code{Unused global option(s): [badoption].} +Change this behaviour with the starred version +@code{\DeclareOption*@{@var{code}@}}. For example, many classes extend +an existing class, using a declaration such as +@code{\LoadClass@{article@}}, and for passing extra options to the +underlying class use code such as this. + +@example +\DeclareOption*@{% +\PassOptionsToClass@{\CurrentOption@}@{article@}% +@} +@end example + +Another example is that the class @code{smcmemo} may allow users to keep +lists of memo recipients in external files. Then the user could invoke +@code{\documentclass[math]@{smcmemo@}} and it will read the file +@code{math.memo}. This code handles the file if it exists and otherwise +passes the option to the @code{article} class. + +@example +\DeclareOption*@{\InputIfFileExists@{\CurrentOption.memo@}@{@}@{% + \PassOptionsToClass@{\CurrentOption@}@{article@}@}@} +@end example + +@item \DeclareRobustCommand@{@var{cmd}@}[@var{num}][@var{default}]@{@var{definition}@} +@item \DeclareRobustCommand*@{@var{cmd}@}[@var{num}][@var{default}]@{@var{definition}@} +@findex \DeclareRobustCommand +@findex \DeclareRobustCommand* +@cindex new command, definition +Like @code{\newcommand} and @code{\newcommand*} (@pxref{\newcommand & +\renewcommand}) but these declare a robust command, even if some code +within the @var{definition} is fragile. (For a discussion of robust and +fragile commands @pxref{\protect}.) Use this command to define new +robust commands or to redefine existing commands and make them +robust. Unlike @code{\newcommand} these do not give an error if macro +@var{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 @code{\newcommand} so unless the command's data is fragile and the +command is used within a moving argument, use @code{\newcommand}. + +@PkgIndex{etoolbox} +The @code{etoolbox} package offers commands @code{\newrobustcmd}, +@code{\newrobustcmd*}, @code{\renewrobustcmd}, @code{\renewrobustcmd*}, +@code{\providerobustcmd}, and @code{\providerobustcmd*} which are similar +to @code{\newcommand}, @code{\newcommand*}, @code{\renewcommand}, +@code{\renewcommand*}, @code{\providecommand}, and +@code{\providecommand*}, but define a robust @var{cmd} with two advantages +as compared to @code{\DeclareRobustCommand}: +@enumerate +@item +They use the low-level e-@TeX{} protection mechanism rather than the +higher level @LaTeX{} @code{\protect} mechanism, so they do not incur +the slight loss of performance mentioned above, and +@item +They make the same distinction between @code{\new@dots{}}, +@code{\renew@dots{}}, and @code{\provide@dots{}}, as the standard +commands, so they do not just make a log message when you redefine +@var{cmd} that already exists, in that case you need to use either +@code{\renew@dots{}} or @code{\provide@dots{}} or you get an error. +@end enumerate + + +@item \IfFileExists@{@var{file name}@}@{@var{true code}@}@{@var{false code}@} +@item \InputIfFileExists@{@var{file name}@}@{@var{true code}@}@{@var{false code}@} +@findex \IfFileExists +@findex \InputIfFileExists +Execute @var{true code} if @LaTeX{} can find the file @file{@var{file +name}} and @var{false code} otherwise. In the second case it inputs the +file immediately after executing @var{true code}. Thus +@code{\IfFileExists@{img.pdf@}@{\includegraphics@{img.pdf@}@}@{\typeout@{WARNING: +img.pdf not found@}@}} will include the graphic @file{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 +directory do something like @code{\IfFileExists@{./filename@}@{@var{true +code}@}@{@var{false code}@}}. If you ask for a filename without a +@code{.tex} extension then @LaTeX{} will first look for the file by +appending the @code{.tex}; for more on how @LaTeX{} handles file +extensions see @ref{\input}. + +@item \LoadClass[@var{options list}]@{@var{class name}@}[@var{release date}] +@item \LoadClassWithOptions@{@var{class name}@}[@var{release date}] +@findex \LoadClass +@findex \LoadClassWithOptions +Load a class, as with @code{\documentclass[@var{options +list}]@{@var{class name}@}[@var{release info}]}. An example is +@code{\LoadClass[twoside]@{article@}}. + +The @var{options list}, if present, is a comma-separated list. The +@var{release date} is optional. If present it must have the form +@var{YYYY/MM/DD}. +@c BTW, there are at-macros documented in macros2e.pdf to check the version +@c and do some actions conditionnally on version later or not to some +@c date. + +If you request a @var{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 @code{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 @code{\LoadClassWithOptions} uses the list of +options for the current class. This means it ignores any options passed +to it via @code{\PassOptionsToClass}. This is a convenience command +that lets you build classes on existing ones, such as the standard +@code{article} class, without having to track which options were passed. + +@item \ExecuteOptions@{@var{options-list}@} +@findex \ExecuteOptions +For each option @var{option} in the @var{options-list}, in order, this command +executes the command @code{\ds@@@var{option}}. If this command is not +defined then that option is silently ignored. + +It can be used to provide a default option list before +@code{\ProcessOptions}. For example, if in a class file you want the +default to be 11pt fonts then you could specify +@code{\ExecuteOptions@{11pt@}\ProcessOptions\relax}. + +@item \NeedsTeXFormat@{@var{format}@}[@var{format date}] +@findex \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: +@code{\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 @var{format} string is case +sensitive). If it does not match then execution stops with an error +like @samp{This file needs format `LaTeX2e' but this is `xxx'.} + +To specify a version of the format that you know to have certain +features, include the optional @var{format date} on which those features +were implemented. If present it must be in the form @code{YYYY/MM/DD}. +If the format version installed on your system is earlier than +@var{format date} then you get a warning like @samp{You have requested +release `2038/01/20' of LaTeX, but only release `2016/02/01' is +available.} + +@item \OptionNotUsed +@findex \OptionNotUsed +Adds the current option to the list of unused options. Can only be used +within the @var{code} argument of either @code{\DeclareOption} or +@code{\DeclareOption*}. + +@c I cannot reproduce this behavior as it is documented in clsguide. +@c In the absence of a @code{\DeclareOption*} declaration, @LaTeX{} issues +@c on the console a warning like @code{LaTeX Warning: Unused global +@c option(s): [unusedoption].} with the list of not-used options when it +@c reaches @code{\begin@{document@}}. + +@item \PassOptionsToClass@{@var{option list}@}@{@var{class name}@} +@item \PassOptionsToPackage@{@var{option list}@}@{@var{package name}@} +@findex \PassOptionsToClass +@findex \PassOptionsToPackage +Adds the options in the comma-separated list @var{option list} to the +options used by any future @code{\RequirePackage} or @code{\usepackage} +command for package @var{package name} or the class @var{class name}. + +The reason for these commands is: you may load a package any number of +times with no options but if you want options then you may only supply +them when you first load the package. Loading a package with options +more than once will get you an error like @code{Option clash for package +foo.} (@LaTeX{} throws an error even if there is no conflict between the +options.) + +If your own code is bringing in a package twice then you can collapse +that to once, for example replacing the two +@code{\RequirePackage[landscape]@{geometry@}\RequirePackage[margins=1in]@{geometry@}} +with the single +@code{\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 this other package. For +instance, suppose the package @code{foo} loads the package +@code{geometry}. Instead of +@code{\RequirePackage@{foo@}\RequirePackage[draft]@{graphics@}} you must +write @code{\PassOptionsToPackage@{draft@}@{graphics@} +\RequirePackage@{foo@}}. (If @code{foo.sty} loads an option in conflict +with what you want then you may have to look into altering its source.) + +These commands are useful for general users as well as class and package +writers. For instance, suppose a user wants to load the @code{graphicx} +package with the option @code{draft} and also wants to use a class +@code{foo} that loads the @code{graphicx} package, but without that +option. The user could start their @LaTeX{} file with +@code{\PassOptionsToPackage@{draft@}@{graphicx@}\documentclass@{foo@}}. + +@item \ProcessOptions +@item \ProcessOptions*@var{\@@options} +@findex \ProcessOptions +@findex \ProcessOptions* +Execute the code for each option that the user has invoked. Include it +in the class file as @code{\ProcessOptions\relax} (because of the +existence of the starred command). + +Options come in two types. @dfn{Local options} have been specified for this +particular package in the @var{options} argument of +@code{\PassOptionsToPackage@{@var{options}@}}, +@code{\usepackage[@var{options}]}, or +@code{\RequirePackage[@var{options}]}. @dfn{Global options} are those given +by the class user in @code{\documentclass[@var{options}]} (If an option +is specified both locally and globally then it is local.) + +When @code{\ProcessOptions} is called for a package @file{pkg.sty}, the +following happens: +@enumerate +@item +For each option @var{option} so far declared +with @code{\DeclareOption}, it looks to see if that option is either a +global or a local option for @code{pkg}. If so then it executes the +declared code. This is done in the order in which these options were +given in @file{pkg.sty}. +@item +For each remaining local option, it executes the command +@code{\ds@@}@var{option} if it has been defined somewhere (other than by +a @code{\DeclareOption}); otherwise, it executes the default option code +given in @code{\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. +@end enumerate + +When @code{\ProcessOptions} is called for a class it works in the same +way except that all options are local, and the default @var{code} for +@code{\DeclareOption*} is @code{\OptionNotUsed} rather than an error. + +The starred version @code{\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. + + +@item \ProvidesClass@{@var{class name}@}[@var{release date} @var{brief additional information}] +@item \ProvidesClass@{@var{class name}@}[@var{release date}] +@item \ProvidesPackage@{@var{package name}@}[@var{release date} @var{brief additional information}] +@item \ProvidesPackage@{@var{package name}@}[@var{release date}] +@findex \ProvidesClass +@findex \ProvidesPackage +Identifies the class or package, printing a message to the screen and the log file. + +When a user writes @code{\documentclass@{smcmemo@}} then @LaTeX{} loads +the file @file{smcmemo.cls}. Similarly, a user writing +@code{\usepackage@{test@}} prompts @LaTeX{} to load the file +@code{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 +@code{\documentclass@{smcmemo@}}, and the file @file{smcmemo.cls} has +the statement @code{\ProvidesClass@{xxx@}} then you get a warning like +@code{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 argument, then you must include the date, before +the first space if any, and it must have the form @code{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 @file{smcmemo.cls} contains the line +@code{\ProvidesClass@{smcmemo@}[2008/06/01 v1.0 SMC memo class]} and your +document's first line is @code{\documentclass@{smcmemo@}} then you will +see @code{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 @var{release date}, by using the optional arguments +such as @code{\documentclass@{smcmemo@}[2018/10/12]} or +@code{\usepackage@{foo@}[[2017/07/07]]}. (Note that package users only +rarely include a date, and class users almost never do.) + +@item \ProvidesFile@{@var{file name}@}[@var{additional information}] +@findex \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 @code{File: test.config +2017/10/12 config file for test.cls} for @var{file name} equal to +@samp{test.config} and @var{additional information} equal to +@samp{2017/10/12 config file for test.cls}. + +@item \RequirePackage[@var{option list}]@{@var{package name}@}[@var{release date}] +@item \RequirePackageWithOptions@{@var{package name}@}[@var{release date}] +@findex \RequirePackage +@findex \RequirePackageWithOptions +Load a package, like the document author command @code{\usepackage}. +@xref{Additional packages}. An example is +@code{\RequirePackage[landscape,margin=1in]@{geometry@}}. Note that the +@LaTeX{} development team strongly recommends use of these commands over +Plain@tie{}@TeX{}'s @code{\input}; see the Class Guide. + +The @var{option list}, if present, is a comma-separated list. The +@var{release date}, if present, must have the form @var{YYYY/MM/DD}. If +the release date of the package as installed on your system is earlier +than @var{release date} then you get a warning like @code{You have +requested, on input line 9, version `2017/07/03' of package jhtest, but +only version `2000/01/01' is available}. + +The @code{\RequirePackageWithOptions} version uses the list of options +for the current class. This means it ignores any options passed to it +via @code{\PassOptionsToClass}. This is a convenience command to allow +easily building classes on existing ones without having to track which +options were passed. + +The difference between @code{\usepackage} and @code{\RequirePackage} is +small. The @code{\usepackage} command is intended for the document file +while @code{\RequirePackage} is intended for package and class files. +Thus, using @code{\usepackage} before the @code{\documentclass} command +causes @LaTeX{} to give error like @code{\usepackage before +\documentclass}, but you can use @code{\RequirePackage} there. +@end table + + @node Fonts @chapter Fonts @anchor{Typefaces}@c old name @@ -962,7 +1650,7 @@ formulas. @code{\mathversion@{normal@}} restores the default. @cindex numerals, old-style @cindex old-style numerals @cindex lining numerals -@cindex @code{textcomp} package +@PkgIndex{textcomp} Finally, the command @code{\oldstylenums@{@var{numerals}@}} will typeset so-called ``old-style'' numerals, which have differing heights and depths (and sometimes widths) from the standard ``lining'' numerals, @@ -1174,7 +1862,7 @@ takes effect when @code{\selectfont} (see below) is called. You can make line skip changes happen for the entire document by doing @code{\renewcommand@{\baselinestretch@}@{2.0@}} in the preamble. -@cindex @code{setspace} package +@PkgIndex{setspace} @cindex double spacing However, the best way to double-space a document is to use the @file{setspace} package. In addition to offering a number of spacing @@ -1235,10 +1923,9 @@ Commands for controlling the general page layout. @findex \onecolumn @cindex one-column output -The @code{\onecolumn} declaration starts a new page and produces -single-column output. If the document is given the class option -@code{onecolumn} then this is the default behavior (@pxref{Document -class options}). +Start a new page and produce single-column output. If the document is +given the class option @code{onecolumn} then this is the default +behavior (@pxref{Document class options}). This command is fragile (@pxref{\protect}). @@ -1250,16 +1937,16 @@ This command is fragile (@pxref{\protect}). @cindex multicolumn text @cindex two-column output -Synopsis: +Synopses: @example +\twocolumn \twocolumn[@var{prelim one column text}] @end example -The @code{\twocolumn} declaration starts a new page and produces -two-column output. If the document is given the class option -@code{twocolumn} then this is the default (@pxref{Document class -options}). +Start a new page and produce two-column output. If the document is given +the class option @code{twocolumn} then this is the default +(@pxref{Document class options}). If the optional @var{prelim one column text} argument is present, it is typeset in one-column mode before the two-column @@ -1303,7 +1990,7 @@ The maximum fraction at the top of a two-column page that may be occupied by two-column wide floats. The default is 0.7, meaning that the height of a @code{table*} or @code{figure*} environment must not exceed @code{0.7\textheight} . If the height of your starred float -environment exceeeds this then you can take one of the following actions +environment exceeds this then you can take one of the following actions to prevent it from floating all the way to the back of the document: @itemize @bullet @@ -1348,25 +2035,25 @@ default is @code{2}. @end ftable @c From egreg at http://tex.stackexchange.com/a/142232/339 -This example shows the use of the optional argument of @code{\twocolumn} -to create a title that spans the two-column article: +This example uses @code{\twocolumn}'s optional argument of to create a +title that spans the two-column article: @example \documentclass[twocolumn]@{article@} \newcommand@{\authormark@}[1]@{\textsuperscript@{#1@}@} \begin@{document@} \twocolumn[@{% inside this optional argument goes one-column text - \centering - \LARGE The Title \\[1.5em] - \large Author One\authormark@{1@}, - Author Two\authormark@{2@}, - Author Three\authormark@{1@} \\[1em] - \normalsize - \begin@{tabular@}@{p@{.2\textwidth@}@@@{\hspace@{2em@}@}p@{.2\textwidth@}@} - \authormark@{1@}Department one &\authormark@{2@}Department two \\ - School one &School two - \end@{tabular@}\\[3em] % space below title part -@}] + \centering + \LARGE The Title \\[1.5em] + \large Author One\authormark@{1@}, + Author Two\authormark@{2@}, + Author Three\authormark@{1@} \\[1em] + \normalsize + \begin@{tabular@}@{p@{.2\textwidth@}@@@{\hspace@{2em@}@}p@{.2\textwidth@}@} + \authormark@{1@}Department one &\authormark@{2@}Department two \\ + School one &School two + \end@{tabular@}\\[3em] % space below title part + @}] Two column text here. @end example @@ -1377,22 +2064,23 @@ Two column text here. @findex \flushbottom -The @code{\flushbottom} command can go at any point in the document -body. It makes all later pages the same height, stretching the vertical -space where necessary to fill out the page. +Make all pages in the documents after this declaration have the same +height, by stretching the vertical space where necessary to fill out the +page. This is most often used when making two-sided documents since the +differences in facing pages can be glaring. If @TeX{} cannot satisfactorily stretch the vertical space in a page then you get a message like @samp{Underfull \vbox (badness 10000) has -occurred while \output is active}. You can change to -@code{\raggedbottom} (see below). Alternatively, you can try to adjust -the @code{textheight} to be compatible, or you can add some vertical -stretch glue between lines or between paragraphs, as in -@code{\setlength@{\parskip@}@{0ex plus0.1ex@}}. In a final editing -stage you can adjust the height of individual pages +occurred while \output is active}. If you get that, one option is to +change to @code{\raggedbottom} (@pxref{\raggedbottom}). Alternatively, +you can adjust the @code{textheight} to make compatible pages, or you +can add some vertical stretch glue between lines or between paragraphs, +as in @code{\setlength@{\parskip@}@{0ex plus0.1ex@}}. Your last option +is to, in a final editing stage, adjust the height of individual pages (@pxref{\enlargethispage}). -This is the default only if you select the @code{twoside} document class -option (@pxref{Document class options}). +The @code{\flushbottom} state is the default only if you select the +@code{twoside} document class option (@pxref{Document class options}). @node \raggedbottom @@ -1401,11 +2089,10 @@ option (@pxref{Document class options}). @findex \raggedbottom @cindex stretch, omitting vertical -The @code{\raggedbottom} command can go at any point in the document -body. It makes all later pages the natural height of the material on -that page; no rubber lengths will be stretched. Thus, in a two-sided -document the facing pages may be different heights. See also -@code{\flushbottom} above. +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 +document the facing pages may be different heights. This command can go +at any point in the document body. See @ref{\flushbottom}. This is the default unless you select the @code{twoside} document class option (@pxref{Document class options}). @@ -1597,14 +2284,14 @@ while the first table appears in the source before the first figure, it appears in the output after it. The placement of floats is subject to parameters, given below, that -limit the number of floats that can appear at the top of a page, and the -bottom, etc. If so many floats are queued up that the limits prevent +limit the number of floats that can appear at the top of a page, and +the bottom, etc. If so many floats are queued that the limits prevent them all from fitting on a page then @LaTeX{} places what it can and -defers the rest to the next page. In this way, floats may be typset far -from their place in the source. In particular, a float that is big can -migrate to the end of the document. But then because all floats in a -class must appear in sequential order, every subsequent float in that -class also appears at the end. +defers the rest to the next page. In this way, floats may end up +being typeset far from their place in the source. In particular, a +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. @cindex placement of floats @cindex specifier, float placement @@ -1631,7 +2318,7 @@ appears. However, @code{h} is not allowed by itself; @code{t} is automatically added. @cindex here, putting floats -@cindex @code{float} package +@PkgIndex{float} To absolutely force a float to appear ``here'', you can @code{\usepackage@{float@}} and use the @code{H} specifier which it defines. For further discussion, see the FAQ entry at @@ -1666,12 +2353,13 @@ use the @file{afterpage} package and issue @code{\afterpage@{\clearpage@}}. This will wait until the current page is finished and then flush all outstanding floats. +@PkgIndex{flafter} @LaTeX{} can typeset a float before where it appears in the source -(although on the same output page) if there is a @code{t} specifier in the -@var{placement} paramater. If this is not desired, and deleting the -@code{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 -@file{flafter} package or using the command +(although on the same output page) if there is a @code{t} specifier in +the @var{placement} parameter. If this is not desired, and deleting +the @code{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 @file{flafter} package or using the command @findex \suppressfloats @code{\suppressfloats[t]}, which causes floats for the top position on this page to moved to the next page. @@ -1751,10 +2439,11 @@ Maximum number of floats that can appear on a text page; default 3. The principal @TeX{}@tie{}FAQ entry relating to floats @url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats} contains suggestions for relaxing @LaTeX{}'s default parameters to reduce the -problem of floats being pushed to the end. A full explaination of the -float placement algorithm is Frank Mittelbach's article ``How to -infuence the position of float environments like figure and table in -@LaTeX{}?'' @url{http://latex-project.org/papers/tb111mitt-float.pdf}. +problem of floats being pushed to the end. A full explanation of the +float placement algorithm is in Frank Mittelbach's article ``How to +influence the position of float environments like figure and table in +@LaTeX{}?'' +(@url{http://latex-project.org/papers/tb111mitt-float.pdf}). @node Sectioning @@ -1821,6 +2510,7 @@ command is something like @findex secnumdepth @r{counter} @cindex section numbers, printing +@anchor{Sectioning/secnumdepth} The @code{secnumdepth} counter controls printing of section numbers. The setting @@ -1832,14 +2522,240 @@ The setting suppresses heading numbers at any depth @math{> @var{level}}, where @code{chapter} is level zero. (@xref{\setcounter}.) +@menu +* \@@startsection:: Redefine layout of start of sections, subsections, etc. +@end menu + + +@node \@@startsection +@section @code{\@@startsection} + +@findex \@@startsection +@cindex section, redefining + +Synopsis: + +@example +\@@startsection@{@var{name}@}@{@var{level}@}@{@var{indent}@}@{@var{beforeskip}@}@{@var{afterskip}@}@{@var{style}@} +@end example + +Redefine the behavior of commands that start sectioning divisions such +as @code{\section} or @code{\subsection}. + +Note that the @file{titlesec} package makes manipulation of sectioning +easier. Further, while most requirements for sectioning commands can be +satisfied with @code{\@@startsection}, some cannot. For instance, in +the standard @LaTeX{} @code{book} and @code{report} classes the commands +@code{\chapter} and @code{\report} are not constructed in this way. To +make such a command you may want to use the @code{\secdef} command. +@c xx define, and make a cross reference to, secdef. + +Technically, this command has the form: +@example +\@@startsection@{@var{name}@}@{@var{level}@}@{@var{indent}@}@{@var{beforeskip}@}@{@var{afterskip}@}@{@var{style}@} + *[@var{toctitle}]@{@var{title}@} +@end example +@noindent so that issuing: +@example +\renewcommand@{\section@}@{\@@startsection@{@var{name}@}@{@var{level}@}@{@var{indent}@}% + @{@var{beforeskip}@}@{@var{afterskip}@}@{@var{style}@}@} +@end example +@noindent redefine @code{\section} while keeping its standard calling form +@code{\section*[@var{toctitle}]@{@var{title}@}}. @xref{Sectioning} and +the examples below. + +@table @var + +@item name +@anchor{\@@startsection/name} Name of the counter (which must be defined +separately) used to number for the sectioning header. Most commonly +either @code{section}, @code{subsection}, or @code{paragraph}. Although +in those three cases the name of the counter is also the name of the +sectioning command itself, using the same name is not required. + +Then @code{\the}@var{name} displays the title number and +@code{\}@var{name}@code{mark} is for the page headers. + +@item level +@anchor{\@@startsection/level} An integer giving the depth of the +sectioning command: 0 for @code{chapter} (only applies to the standard +@code{book} and @code{report} classes), 1 for @code{section}, 2 for +@code{subsection}, 3 for @code{subsubsection}, 4 for @code{paragraph}, +and 5 for @code{subparagraph}. In the @code{book} and @code{report} +classes @code{part} has level -1, while in the @code{article} class +@code{part} has level 0. + +If @var{level} is less than or equal to the value of @code{secnumdepth} +then the titles for this sectioning command will be numbered. For +instance, in an @code{article}, if @code{secnumdepth} is 1 then a +@code{\section@{Introduction@}} command will produce output like @code{1 +Introduction} while @code{\subsection@{History@}} will produce output +like @code{History}, without the number +prefix. @xref{Sectioning/secnumdepth}. + +If @var{level} is less than or equal to the value of @var{tocdepth} then +the table of contents will have an entrie for this sectioning unit. +For instance, in an @code{article}, if @var{tocdepth} is 1 then the table of +contents will list sections but not subsections. +@c xx add, and cross reference to, tocdepth + +@item indent +@anchor{\@@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 @code{0pt}. A negative indentation +such as @code{-1em} will move the title into the left margin. + +@item beforeskip +@anchor{\@@startsection/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 @code{1pt plus 2pt minus 3pt} is @code{-1pt plus -2pt minus +-3pt}.) + +For example, if @var{beforeskip} is @code{-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 +@code{plus} and @code{minus}, is good practice here since it gives +@LaTeX{} more flexibility in making up the page. + +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 @code{\parskip} of the text font, +the @code{\baselineskip} of the title font, and the absolute value of +the @var{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.) + +@item afterskip +@anchor{\@@startsection/afterskip} This is a length. If @var{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 @code{1pt plus 2pt minus 3pt} is +@code{-1pt plus -2pt minus -3pt}.) + +As with @var{beforeskip}, using a rubber length with @code{plus} and +@code{minus} components is good practice here since it gives @LaTeX{} +more flexibility in putting the page together. + +If @code{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 @code{\parskip} of the title font, the +@code{\baselineskip} of the text font, and the value of @var{after}. +That space is typically rubber so it may stretch or shrink. (Note that +because the sign of @code{afterskip} changes the sectioning unit +header's from standalone to run-in, you cannot use a negative +@code{afterskip} to cancel part of the @code{\parskip}.) + +@item style +@anchor{\@@startsection/style} Controls the styling of the title. See +the examples below. Typical commands to use here are @code{\centering}, +@code{\raggedright}, @code{\normalfont}, @code{\hrule}, or +@code{\newpage}. The last command in @var{style} may be one such as +@code{\MakeUppercase} or @code{\fbox} that takes one argument. The +section title will be supplied as the argument to this command. For +instance, setting @var{style} to @code{\bfseries\MakeUppercase} would +produce titles that are bold and upper case. +@end table + +Here are examples. To use them, either put them in a package or class +file, or put them in the preamble of a @LaTeX{} document between a +@code{\makeatletter} command and a @code{\makeatother}. (Probably the +error message @code{You can't use `\spacefactor' in vertical mode.} +means that you forgot this.) @xref{\makeatletter and \makeatother}. + +This will put section titles in large boldface type, centered. + +@example +\renewcommand\section@{% + \@@startsection@{section@}% @ref{\@@startsection/name,@var{name},@var{name}}. + @{1@}% @ref{\@@startsection/level,@var{level},@var{level}}. + @{0pt@}% @ref{\@@startsection/indent,@var{indent},@var{indent}}. + @{-3.5ex plus -1ex minus -.2ex@}% @ref{\@@startsection/beforeskip,@var{beforeskip},@var{beforeskip}}. + @{2.3ex plus.2ex@}% @ref{\@@startsection/afterskip,@var{afterskip},@var{afterskip}}. + @{\centering\normalfont\Large\bfseries@}% @ref{\@@startsection/style,@var{style},@var{style}}. + @} +@end example + +This will put @code{subsection} titles in small caps type, inline with the paragraph. + +@example +\renewcommand\subsection@{% + \@@startsection@{subsection@}% @ref{\@@startsection/name,@var{name},@var{name}}. + @{2@}% @ref{\@@startsection/level,@var{level},@var{level}}. + @{0em@}% @ref{\@@startsection/indent,@var{indent},@var{indent}}. + @{-1ex plus 0.1ex minus -0.05ex@}% @ref{\@@startsection/beforeskip,@var{beforeskip},@var{beforeskip}}. + @{-1em plus 0.2em@}% @ref{\@@startsection/afterskip,@var{afterskip},@var{afterskip}}. + @{\scshape@}% @ref{\@@startsection/style,@var{style},@var{style}}. + @} +@end example + +The prior examples redefined existing sectional unit title commands. This defines a new one, illustrating the needed counter and macros to display that counter. + +@c From https://groups.google.com/forum/#!searchin/comp.text.tex/startsection%7Csort:relevance/comp.text.tex/sB-nTS-oL08/ZZeKYdG0llMJ +@example +\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 +@end example + @node Cross references @chapter Cross references @cindex cross references -One reason for numbering things like figures and equations is to refer -the reader to them, as in ``See Figure 3 for more details.'' +One reason for numbering things such as figures and equations is to +refer the reader to them, as in ``See Figure~3 for more details.'' + +@cindex 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 @dfn{label} +like @code{\label@{eq:GreensThm@}} and refer to it with @code{See +equation~\ref@{eq:GreensThm@}}. + +@LaTeX{} writes the information from the labels to a file with the same +name as the file containing the @code{\label@{...@}} but with an +@file{.aux} extension. (The information has the format +@code{\newlabel@{@var{label}@}@{@{@var{currentlabel}@}@{@var{pagenumber}@}@}} +where @var{currentlabel} is the current value of the macro +@code{\@@currentlabel} that is usually updated whenever you call +@code{\refstepcounter@{@var{counter}@}}.) + +@cindex forward reference +@cindex reference, forward +The most common side effect of the prior paragraph happens when your +document has a @dfn{forward reference}, a @code{\ref@{@var{key}@}} that +appears earlier than the associated @code{\label@{@var{key}@}}; see the +example in the @code{\pageref@{...@}} description. @LaTeX{} gets the +information for references from the @file{.aux} file. If this is the +first time you are compiling the document then you will get a message +@code{LaTeX Warning: Label(s) may have changed. Rerun to get +cross references right.} and in the output the reference will appear as +two question marks@tie{}@samp{??}, in boldface. Or, if you change some +things so the references change then you get the same warning and the +output contains the old reference information. The solution in either +case is just to compile the document a second time. @menu * \label:: Assign a symbolic name to a piece of text. @@ -1859,37 +2775,22 @@ Synopsis: \label@{@var{key}@} @end example -A @code{\label} command appearing in ordinary text assigns to -@var{key} the number of the current sectional unit; one appearing -inside a numbered environment assigns that number to @var{key}. The -assigned number can be retrieved with the @code{\ref@{@var{key}@}} -command (@pxref{\ref}). - -Thus, in the example below the key @code{sec:test} holds the number of -the current section and the key @code{fig:test} that of the figure. -(Incidentally, labels must appear after captions in figures and -tables.) - -@example -\section@{section name@} -\label@{sec:test@} -This is Section~\ref@{sec:test@}. -\begin@{figure@} - ... - \caption@{caption text@} - \label@{fig:test@} -\end@{figure@} -See Figure~\ref@{fig:test@}. -@end example +Assign a reference number to @var{key}. In ordinary text +@code{\label@{@var{key}@}} assigns to @var{key} the number of the +current sectional unit. Inside an environment with numbering, such as a +@code{table} or @code{theorem} environment, @code{\label@{@var{key}@}} +assigns to @var{key} the number of that environment. Retrieve the +assigned number with the @code{\ref@{@var{key}@}} command +(@pxref{\ref}). A key name can consist of any sequence of letters, digits, or common punctuation characters. Upper and lowercase letters are distinguished, as usual. -Although the name can be more or less anything, a common convention is -to use labels consisting of a prefix and a suffix separated by a colon -or period. This helps to avoid accidentally creating two labels with -the same name. Some commonly-used prefixes: +A common convention is to use labels consisting of a prefix and a suffix +separated by a colon or period. This helps to avoid accidentally +creating two labels with the same name, and makes your source more +readable. Some commonly-used prefixes: @table @code @item ch @@ -1904,8 +2805,25 @@ for tables for equations @end table -Thus, a label for a figure would look like @code{fig:test} or -@code{fig.test}. +Thus, @code{\label@{fig:Euler@}} is a label for a figure with a portrait +of the great man. + +In this example below the key @code{sec:test} will get the number of the +current section and the key @code{fig:test} will get the number of the +figure. (Incidentally, put labels after captions in figures and +tables.) + +@example +\section@{section name@} +\label@{sec:test@} +This is Section~\ref@{sec:test@}. +\begin@{figure@} + ... + \caption@{caption text@} + \label@{fig:test@} +\end@{figure@} +See Figure~\ref@{fig:test@}. +@end example @node \pageref @@ -1921,10 +2839,22 @@ Synopsis: \pageref@{@var{key}@} @end example -The @code{\pageref}@{@var{key}@} command produces the page number of -the place in the text where the corresponding +Produce the page number of the place in the text where the corresponding @code{\label}@{@var{key}@} command appears. +In this example the @code{\label@{eq:main@}} is used both for the +formula number and for the page number. (Note that the two references +are forward references, so this document would need to be compiled twice +to resolve those.) + +@example +The main result is formula~\ref@{eq:main@} on page~\pageref@{eq:main@}. + ... +\begin@{equation@} \label@{eq:main@} + \mathbf@{P@}=\mathbf@{NP@} +\end@{equation@} +@end example + @node \ref @section @code{\ref@{@var{key}@}} @@ -1942,11 +2872,24 @@ Synopsis: \ref@{@var{key}@} @end example -The @code{\ref} command produces the number of the sectional unit, +Produces the number of the sectional unit, equation, footnote, figure, @dots{}, of the corresponding @code{\label} command (@pxref{\label}). It does not produce any text, such as the word `Section' or `Figure', just the bare number itself. +In this example, the @code{\ref@{popular@}} produces @samp{2}. Note +that it is a forward reference since it comes before +@code{\label@{popular@}}. + +@example +The most widely-used format is item number~\ref@{popular@}. +\begin@{enumerate@} +\item Plain \TeX +\item \label@{popular@} \LaTeX +\item Con\TeX t +\end@{enumerate@} +@end example + @node Environments @chapter Environments @@ -1955,15 +2898,25 @@ such as the word `Section' or `Figure', just the bare number itself. @findex \begin @findex \end -@LaTeX{} provides many environments for marking off certain text. -Each environment begins and ends in the same manner: +@LaTeX{} provides many environments for delimiting certain behavior. +An environment begins with @code{\begin} and ends with @code{\end}, +like this: @example -\begin@{@var{envname}@} -... -\end@{@var{envname}@} +\begin@{@var{environment-name}@} + ... +\end@{@var{environment-name}@} @end example +The @var{environment-name} at the beginning must exactly match that at +the end. For instance, the input +@code{\begin@{table*@}...\end@{table@}} will cause an error like: +@samp{! LaTeX Error: \begin@{table*@} on input line 5 ended by +\end@{table@}.} + +@cindex group, and environments +Environments are executed within a group. + @menu * abstract:: Produce an abstract. * array:: Math arrays. @@ -1999,7 +2952,7 @@ Each environment begins and ends in the same manner: @node abstract @section @code{abstract} -@findex abstract @r{environment} +@EnvIndex{abstract} @cindex abstracts Synopsis: @@ -2010,21 +2963,61 @@ Synopsis: \end@{abstract@} @end example -Environment for producing an abstract, possibly of multiple paragraphs. +Produce an abstract, possibly of multiple paragraphs. This environment +is only defined in the @code{article} and @code{report} document classes +(@pxref{Document classes}). + +Using the example below in the @code{article} class produces a displayed +paragraph. Document class option @code{titlepage} causes the abstract +to be on a separate page (@pxref{Document class options}); this is the +default only in the @code{report} class. + +@example +\begin@{abstract@} + We compare all known accounts of the proposal made by Porter Alexander + to Robert E Lee at the Appomattox Court House that the army continue + in a guerrilla war, which Lee refused. +\end@{abstract@} +@end example + +The next example produces a one column abstract in a two column document (for +a more flexible solution, use the package @file{abstract}). + +@c Adopted from http://www.tex.ac.uk/FAQ-onecolabs.html +@example +\documentclass[twocolumn]@{article@} + ... +\begin@{document@} +\title@{Babe Ruth as Cultural Progenitor: a Atavistic Approach@} +\author@{Smith \\ Jones \\ Robinson\thanks@{Railroad tracking grant.@}@} +\twocolumn[ + \begin@{@@twocolumnfalse@} + \maketitle + \begin@{abstract@} + Ruth was not just the Sultan of Swat, he was the entire swat + team. + \end@{abstract@} + \end@{@@twocolumnfalse@} + ] +@{ % by-hand insert a footnote at page bottom + \renewcommand@{\thefootnote@}@{\fnsymbol@{footnote@}@} + \footnotetext[1]@{Thanks for all the fish.@} +@} +@end example @node array @section @code{array} -@findex array @r{environment} +@EnvIndex{array} @cindex arrays, math Synopsis: @example \begin@{array@}@{@var{cols}@} -@var{column 1 entry} &@var{column 2 entry} ... &@var{column n entry} \\ -... + @var{column 1 entry} &@var{column 2 entry} ... &@var{column n entry} \\ + ... \end@{array@} @end example @@ -2032,8 +3025,8 @@ or @example \begin@{array@}[@var{pos}]@{@var{cols}@} -@var{column 1 entry} &@var{column 2 entry} ... &@var{column n entry} \\ -... + @var{column 1 entry} &@var{column 2 entry} ... &@var{column n entry} \\ + ... \end@{array@} @end example @@ -2041,7 +3034,7 @@ Produce a mathematical array. This environment can only be used in math mode, and normally appears within a displayed mathematics environment such as @code{equation} (@pxref{equation}). Column entries are separated by an ampersand@tie{}(@code{&}). Rows are terminated with -double-backslashes@tie{}(@code{\\}) (@pxref{\\}). +double-backslashes (@pxref{\\}). The required argument @var{cols} describes the number of columns, their alignment, and the formatting of the intercolumn regions. See @@ -2050,24 +3043,25 @@ other common features of the two environments, including the optional @var{pos} argument. There are two ways that @code{array} diverges from @code{tabular}. The -first is that @code{array} entries are typeset in mathematics mode, in +first is that @code{array} entries are typeset in math mode, in textstyle (except if the @var{cols} definition specifies the column with -@code{@@p@{..@}}, which causes the entry to be typeset in text mode). +@code{p@{...@}}, which causes the entry to be typeset in text mode). The second is that, instead of @code{tabular}'s parameter -@code{\tabcolsep}, @LaTeX{}'s intercolumn space in an array is governed +@code{\tabcolsep}, @LaTeX{}'s intercolumn space in an @code{array} is governed by @findex \arraycolsep -@code{\arraycolsep} which gives half the width between columns. The +@code{\arraycolsep}, which gives half the width between columns. The default for this is @samp{5pt}. +@PkgIndex{amsmath} To obtain arrays with braces the standard is to use the @file{amsmath} package. It comes with environments @code{pmatrix} for an array -surrounded by parentheses@tie{}@code{(..)}, @code{bmatrix} for an array -surrounded by square brackets@tie{}@code{[..]}, @code{Bmatrix} for an -array surrounded by curly braces@tie{}@code{@{..@}}, @code{vmatrix} for -an array surrounded by vertical bars@tie{}@code{|..|}, and +surrounded by parentheses@tie{}@code{(...)}, @code{bmatrix} for an array +surrounded by square brackets@tie{}@code{[...]}, @code{Bmatrix} for an +array surrounded by curly braces@tie{}@code{@{...@}}, @code{vmatrix} for +an array surrounded by vertical bars@tie{}@code{|...|}, and @code{Vmatrix} for an array surrounded by double vertical -bars@tie{}@code{||..||}, along with a number of other array constructs. +bars@tie{}@code{||...||}, along with a number of other array constructs. Here is an example of an array: @@ -2080,36 +3074,61 @@ Here is an example of an array: \end@{equation@} @end example +The next example works if @code{\usepackage@{amsmath@}} is in the +preamble: + +@example +\begin@{equation@} + \begin@{vmatrix@}@{cc@} + a &b \\ + c &d + \end@{vmatrix@}=ad-bc +\end@{equation@} +@end example + @node center @section @code{center} -@findex center @r{environment} +@EnvIndex{center} @cindex centering text, environment for Synopsis: @example \begin@{center@} - .. text .. + ... text ... \end@{center@} @end example -Environment to create a sequence of lines that are centered within the -left and right margins on the current page. If the text in the -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. To force a line break at a particular spot use -double-backslash@tie{}@code{\\} (@pxref{\\}). +Create a new paragraph consisting of a sequence of lines that are +centered within the left and right margins on the current page. Use +double-backslash to get a line break at a particular spot (@pxref{\\}). @findex \\ @r{(for @code{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. This environment inserts space above and below the text body. See @ref{\centering} to avoid such space, for example inside a @code{figure} environment. -In this example, depending on the line width, @LaTeX{} may choose a break -for the part before the double backslash, will center the line or two, -then will break at the double backslash, and will center the ending. +This example produces three centered lines. There is extra vertical +space between the last two lines. + +@example +\begin@{center@} + A Thesis Submitted in Partial Fufillment \\ + of the Requirements of \\[0.5ex] + the School of Environmental Engineering +\end@{center@} +@end example + +In this example, depending on the page's line width, @LaTeX{} may choose +a line break for the part before the double backslash. If so, it will +center each of the two lines and if not it will center the single line. +Then @LaTeX{} will break at the double backslash, and will center the +ending. @example \begin@{center@} @@ -2132,7 +3151,7 @@ A double backslash after the final line is optional. @findex \centering @cindex centering text, declaration for -Declaration that causes material in its scope to be centered. It is +A declaration that causes material in its scope to be centered. It is most often used inside an environment such as @code{figure}, or in a @code{parbox}. @@ -2168,7 +3187,7 @@ The scope of the @code{\centering} ends with the @code{\end@{figure@}}. @node description @section @code{description} -@findex description @r{environment} +@EnvIndex{description} @cindex labelled lists, creating @cindex description lists, creating @@ -2182,26 +3201,26 @@ Synopsis: \end@{description@} @end example -@findex \item Environment to make a labelled list of items. Each item's @var{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. @findex \item -The list consists of at least one item; see@tie{}@ref{\item} (having no -items causes the @LaTeX{} error @samp{Something's wrong--perhaps a -missing \item}). Each item is produced with an @code{\item} command. +The list consists of at least one item, created with the @code{\item} +command (@pxref{\item}). Having no items causes the @LaTeX{} error +@samp{Something's wrong--perhaps a missing \item}). @cindex bold typewriter, avoiding @cindex 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 @ref{Font styles}) then it will come -out bold. For instance, if the label text calls for typewriter with -@code{\item[\texttt@{label text@}]} then it will appear in bold -typewriter, if that is available. The simplest way to get non-bolded -typewriter is to use declaritive style @code{\item[@{\tt label text@}]}. -Similarly, get normal text use @code{\item[@{\rm label text@}]}. +change given in argument style (see @ref{Font styles}) then it will +come out bold. For instance, if the label text calls for typewriter +with @code{\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: @code{\item[@{\tt label +text@}]}. Similarly, to get the standard roman font, use +@code{\item[@{\rm label text@}]}. For other major @LaTeX{} labelled list environments, see @ref{itemize} and @ref{enumerate}. For information about customizing list layout, see @@ -2221,13 +3240,13 @@ This example shows the environment used for a sequence of definitions. @section @code{displaymath} @c http://tex.stackexchange.com/questions/40492/what-are-the-differences-between-align-equation-and-displaymath -@findex displaymath @r{environment} +@EnvIndex{displaymath} Synopsis: @example \begin@{displaymath@} - .. math text .. +@var{math text} \end@{displaymath@} @end example @@ -2235,29 +3254,29 @@ 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 @code{fleqn}; see @ref{Document class options}. -@LaTeX{} will not break the math text across lines. - In the @code{displaymath} environment no equation number is added to the math text. One way to get an equation number is to use the @code{equation} environment (@pxref{equation}). -Note that the @file{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 @var{math text} across lines. + +@PkgIndex{amsmath} +Note that the @file{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 @code{\[..math text..\]} is essentially a synonym for -@code{\begin@{displaymath@}..math text..\end@{displaymath@}} but the +The construct @code{\[@var{math text}\]} is essentially a synonym for +@code{\begin@{displaymath@}@var{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 -@code{displaymath} will likely be unique. (The construct @code{$$..math -text..$$} from Plain@tie{}@TeX{} is sometimes mistakenly used as a -synonym for @code{displaymath}. It is not a synonym, because the -@code{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 @code{displaymath} environment has different vertical -spacing, and because the @code{displaymath} environment honors the -@code{fleqn} option.) +@code{displaymath} will likely be unique. (The construct +@code{$$@var{math text}$$} from Plain@tie{}@TeX{} is sometimes +mistakenly used as a synonym for @code{displaymath}. It is not a +synonym, because the @code{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 @code{displaymath} environment has +different vertical spacing, and because the @code{displaymath} +environment honors the @code{fleqn} option.) The output from this example is centered and alone on its line. @example @@ -2272,7 +3291,7 @@ Also, the integral sign is larger than the inline version @node document @section @code{document} -@findex document @r{environment} +@EnvIndex{document} The @code{document} environment encloses the entire body of a document. It is required in every @LaTeX{} document. @xref{Starting and ending}. @@ -2329,7 +3348,7 @@ will be executed in the order that you gave them. @node enumerate @section @code{enumerate} -@findex enumerate @r{environment} +@EnvIndex{enumerate} @cindex lists of items, numbered Synopsis: @@ -2414,7 +3433,7 @@ For more on customizing the layout see @ref{list}. Also, the package @node eqnarray @section @code{eqnarray} -@findex eqnarray @r{environment} +@EnvIndex{eqnarray} @cindex equations, aligning @cindex aligning equations @@ -2488,7 +3507,7 @@ while the third line has not entry on the left side. @node equation @section @code{equation} -@findex equation @r{environment} +@EnvIndex{equation} @cindex equations, environment for @cindex formulas, environment for @@ -2513,7 +3532,7 @@ new documents. @node figure @section @code{figure} -@findex figure +@EnvIndex{figure} @cindex inserting figures @cindex figures, inserting @@ -2554,7 +3573,7 @@ in @ref{Floats}. The figure body is typeset in a @code{parbox} of width @code{\textwidth} and so it can contain text, commands, etc. -The label is optional; it is used for cross-references (@pxref{Cross +The label is optional; it is used for cross references (@pxref{Cross references}). @findex \caption The optional @code{\caption} command specifies caption text for the @@ -2579,7 +3598,8 @@ end of the document, on a page of floats. @node filecontents @section @code{filecontents}: Write an external file -@findex filecontents +@EnvIndex{filecontents} +@EnvIndex{filecontents*} @cindex external files, writing @cindex writing external files @@ -2643,7 +3663,7 @@ produces this file @file{JH.sty}. @node flushleft @section @code{flushleft} -@findex flushleft @r{environment} +@EnvIndex{flushleft} @cindex left-justifying text, environment for @cindex ragged right text, environment for @@ -2687,7 +3707,7 @@ command that ends the paragraph unit. @node flushright @section @code{flushright} -@findex flushright @r{environment} +@EnvIndex{flushright} @cindex ragged left text, environment for @cindex right-justifying text, environment for @@ -2731,7 +3751,7 @@ command that ends the paragraph unit. @node itemize @section @code{itemize} -@findex itemize @r{environment} +@EnvIndex{itemize} @findex \item @cindex lists of items @cindex unordered lists @@ -2748,7 +3768,7 @@ Synopsis: @end example The @code{itemize} environment produces an ``unordered'', ``bulleted'' -list. Itemizations can be nested within one another, up to four +list. Itemized lists can be nested within one another, up to four levels deep. They can also be nested within other paragraph-making environments, such as @code{enumerate} (@pxref{enumerate}). @@ -2876,7 +3896,7 @@ within a single item (@code{\parskip} is not list-specific, @node letter @section @code{letter} environment: writing letters -@findex letter @r{environment} +@EnvIndex{letter} This environment is used for creating letters. @xref{Letters}. @@ -2884,7 +3904,7 @@ This environment is used for creating letters. @xref{Letters}. @node list @section @code{list} -@findex list +@EnvIndex{list} @cindex lists of items, generic The @code{list} environment is a generic environment which is used for @@ -2917,6 +3937,7 @@ The width used for typesetting the list items is specified by @node \item +@subsection @code{\item}: An entry in a list. Synopsis: @@ -2960,7 +3981,7 @@ not get a @samp{3.}). @node math @section @code{math} -@findex math @r{environment} +@EnvIndex{math} @cindex in-line formulas Synopsis: @@ -2979,7 +4000,7 @@ running text. @code{\(...\)} and @code{$...$} are synonyms. @node minipage @section @code{minipage} -@findex minipage @r{environment} +@EnvIndex{minipage} @cindex minipage, creating a @example @@ -3019,7 +4040,7 @@ footnotes; they may wind up at the bottom of the wrong minipage. @node picture @section @code{picture} -@findex picture +@EnvIndex{picture} @cindex creating pictures @cindex pictures, creating @@ -3044,6 +4065,13 @@ You should only change the value of @code{\unitlength}, using the @code{\setlength} command, outside of a @code{picture} environment. The default value is @code{1pt}. +@PkgIndex{picture} +The @code{picture} package redefine the @code{picture} environment so +that everywhere a number is used in a @var{picture commands} to specify +a coordinate, one can use alternatively a length. Be aware however that +this will prevent scaling those lengths by changing @code{\unitlength}. + + @cindex position, in picture A @dfn{position} is a pair of coordinates, such as @code{(2.4,-5)}, specifying the point with x-coordinate @code{2.4} and y-coordinate @code{-5}. @@ -3400,11 +4428,11 @@ values must lie between @minus{}4 and +4, inclusive. @node quotation and quote @section @code{quotation} and @code{quote} -@findex quotation +@EnvIndex{quotation} @cindex quoted text with paragraph indentation, displaying @cindex displaying quoted text with paragraph indentation @cindex paragraph indentations in quoted text -@findex quote +@EnvIndex{quote} @cindex quoted text without paragraph indentation, displaying @cindex displaying quoted text without paragraph indentation @cindex paragraph indentations in quoted text, omitting @@ -3444,7 +4472,7 @@ quotations. @example \begin@{quotation@} \it Four score and seven years ago - .. shall not perish from the earth. + ... shall not perish from the earth. \hspace@{1em plus 1fill@}---Abraham Lincoln \end@{quotation@} @end example @@ -3453,7 +4481,7 @@ quotations. @node tabbing @section @code{tabbing} -@findex tabbing @r{environment} +@EnvIndex{tabbing} @cindex tab stops, using @cindex lining text up using tab stops @cindex alignment via tabbing @@ -3563,7 +4591,7 @@ function \= fact(n : integer) : integer;\\ @node table @section @code{table} -@findex table +@EnvIndex{table} @cindex tables, creating @cindex creating tables @@ -3588,7 +4616,7 @@ float placement algorithm, see @ref{Floats}. The table body is typeset in a @code{parbox} of width @code{\textwidth} and so it can contain text, commands, etc. -The label is optional; it is used for cross-references (@pxref{Cross +The label is optional; it is used for cross references (@pxref{Cross references}). @findex \caption The optional @code{\caption} command specifies caption text for the @@ -3616,7 +4644,7 @@ unless it is pushed to a float page at the end. @node tabular @section @code{tabular} -@findex tabular @r{environment} +@EnvIndex{tabular} @cindex lines in tables @cindex lining text up in tables @@ -3671,7 +4699,7 @@ the width of the @code{tabular*} environment. The space between columns should be rubber, as with @code{@@@{\extracolsep@{\fill@}@}}, to allow the table to stretch or shrink to make the specified width, or else you are likely to get the @code{Underfull \hbox (badness 10000) in alignment -..} warning. +...} warning. @item pos Optional. Specifies the table's vertical position. The default is to @@ -3707,14 +4735,14 @@ This inserts @var{text or space} at this location in every row. The @var{text or space} material is typeset in LR mode. This text is fragile (@pxref{\protect}). -This specifier is optional: unless you put in your own @@-expression -then @LaTeX{}'s book, article, and report classes will put on either -side of each column a space of length @code{\tabcolsep}, which by -default is @samp{6pt}. That is, by default adjacent columns are +This specifier is optional: with no @@-expression, @LaTeX{}'s +@code{book}, @code{article}, and @code{report} classes will put on +either side of each column a space of length @code{\tabcolsep}, which +by default is @samp{6pt}. That is, by default adjacent columns are separated by 12pt (so @code{\tabcolsep} is misleadingly-named since it -is not the separation between tabular columns). Also by default a space -of 6pt comes before the first column as well as after the final column, -unless you put a @code{@@@{..@}} or @code{|} there. +is not the separation between tabular columns). By implication, a +space of 6pt also comes before the first column and after the final +column, unless you put a @code{@@@{...@}} or @code{|} there. If you override the default and use an @@-expression then you must insert any desired space yourself, as in @code{@@@{\hspace@{1em@}@}}. @@ -3726,7 +4754,7 @@ lines need to lie on the left margin. @example \begin@{flushleft@} \begin@{tabular@}@{@@@{@}l@} - .. + ... \end@{tabular@} \end@{flushleft@} @end example @@ -3782,7 +4810,7 @@ Equivalent to @var{num} copies of @var{cols}, where @var{num} is a positive integer and @var{cols} is a list of specifiers. Thus @code{\begin@{tabular@}@{|*@{3@}@{l|r@}|@}} is equivalent to @code{\begin@{tabular@}@{|l|rl|rl|r|@}}. Note that @var{cols} may -contain another @code{*-expression}. +contain another @code{*}-expression. @end table @end table @@ -3849,7 +4877,7 @@ spanned by the single heading @samp{Name}. \begin@{tabular@}@{lccl@} \textit@{ID@} &\multicolumn@{2@}@{c@}@{\textit@{Name@}@} &\textit@{Age@} \\ \hline % row one 978-0-393-03701-2 &O'Brian &Patrick &55 \\ % row two - .. + ... \end@{tabular@} @end example @@ -3863,7 +4891,7 @@ and@tie{}@code{p@{1.5in@}|}. The @var{cols} argument overrides the @code{array} or @code{tabular} environment's intercolumn area default adjoining this multicolumn entry. To affect that area, this argument can contain vertical bars -@code{|} indicating the placement of vertical rules, and @code{@@@{..@}} +@code{|} indicating the placement of vertical rules, and @code{@@@{...@}} expressions. Thus if @var{cols} is @samp{|c|} then this multicolumn entry will be centered and a vertical rule will come in the intercolumn area before it and after it. This table details the exact behavior. @@ -3876,6 +4904,7 @@ area before it and after it. This table details the exact behavior. &z % entry four \end@{tabular@} @end example + Before the first entry the output will not have a vertical rule because the @code{\multicolumn} has the @var{cols} specifier @samp{r} with no initial vertical bar. Between entry one and entry two there will be a @@ -3923,13 +4952,13 @@ vertical bar in the @var{cols} of either of the first row's @subsection @code{\vline} @findex \vline - Draw a vertical line in a @code{tabular} or @code{array} environment -extending the full height and depth of an entry's row. Can also be used -in an @@-expression, although its synonym vertical bar@tie{}@code{|} is -more common. This command is rarely used; typically a table's vertical -lines are specified in @code{tabular}'s @var{cols} argument and -overriden as needed with @code{\multicolumn}. +extending the full height and depth of an entry's row. Can also be +used in an @@-expression, although its synonym vertical +bar@tie{}@code{|} is more common. This command is rarely used in the +body of a table; typically a table's vertical lines are specified in +@code{tabular}'s @var{cols} argument and overridden as needed with +@code{\multicolumn}. This example illustrates some pitfalls. In the first line's second entry the @code{\hfill} moves the @code{\vline} to the left edge of the @@ -4006,7 +5035,7 @@ is required. @node thebibliography @section @code{thebibliography} -@findex thebibliography @r{environment} +@EnvIndex{thebibliography} @cindex bibliography, creating (manually) Synopsis: @@ -4055,18 +5084,19 @@ Synopsis: \bibitem[@var{label}]@{@var{cite_key}@} @end example -The @code{\bibitem} command generates an entry labelled by -@var{label}. If the @var{label} argument is missing, a number is -automatically generated using the @code{enumi} counter. The -@var{cite_key} is any sequence of letters, numbers, and punctuation -symbols not containing a comma. +The @code{\bibitem} command generates an entry labelled by @var{label}. +If the @var{label} argument is missing, a number is automatically +generated using the @code{enumi} counter. The @var{cite_key} is a +@cindex citation key +@dfn{citation key} consisting in any sequence of +letters, numbers, and punctuation symbols not containing a comma. This command writes an entry to the @file{.aux} file containing the -item's @var{cite_key} and label. When the @file{.aux} file is read by -the @code{\begin@{document@}} command, the item's @code{label} is +item's @var{cite_key} and @var{label}. When the @file{.aux} file is +read by the @code{\begin@{document@}} command, the item's @var{label} is associated with @code{cite_key}, causing references to @var{cite_key} -with a @code{\cite} command (see next section) to produce the -associated label. +with a @code{\cite} command (@pxref{\cite}) to produce the associated +@var{label}. @node \cite @@ -4080,14 +5110,14 @@ Synopsis: \cite[@var{subcite}]@{@var{keys}@} @end example -The @var{keys} argument is a list of one or more citation keys, -separated by commas. This command generates an in-text citation to -the references associated with @var{keys} by entries in the -@file{.aux} file. +The @var{keys} argument is a list of one or more citation keys +(@pxref{\bibitem}), separated by commas. This command generates an +in-text citation to the references associated with @var{keys} by entries +in the @file{.aux} file. The text of the optional @var{subcite} argument appears after the citation. For example, @code{\cite[p.~314]@{knuth@}} might produce -`[Knuth, p.@tie{}314]'. +@samp{[Knuth, p.@tie{}314]}. @node \nocite @@ -4095,7 +5125,11 @@ citation. For example, @code{\cite[p.~314]@{knuth@}} might produce @findex \nocite +Synopsis: + +@example @code{\nocite@{@var{keys}@}} +@end example The @code{\nocite} command produces no text, but writes @var{keys}, which is a list of one or more citation keys, to the @file{.aux} file. @@ -4125,7 +5159,7 @@ The @code{\bibliographystyle} command does not produce any output of its own. Rather, it defines the style in which the bibliography will be produced: @var{bibstyle} refers to a file @var{bibstyle}@file{.bst}, which defines how your citations will look. -The standard @var{style} names distributed with Bib@TeX{} are: +The standard @var{bibstyle} names distributed with Bib@TeX{} are: @table @code @item alpha @@ -4145,7 +5179,8 @@ the demands of various publications. See The @code{\bibliography} command is what actually produces the bibliography. The argument to @code{\bibliography} refers to files -named @file{@var{bibfile}.bib}, which should contain your database in +named @file{@var{bibfile1}.bib}, @file{@var{bibfile2}.bib}, @dots{}, +which should contain your database in Bib@TeX{} format. Only the entries referred to via @code{\cite} and @code{\nocite} will be listed in the bibliography. @@ -4153,7 +5188,7 @@ Bib@TeX{} format. Only the entries referred to via @code{\cite} and @node theorem @section @code{theorem} -@findex theorem @r{environment} +@EnvIndex{theorem} @cindex theorems, typesetting Synopsis: @@ -4173,7 +5208,7 @@ possibilities for @var{n} are described under @code{\newtheorem} @node titlepage @section @code{titlepage} -@findex titlepage @r{environment} +@EnvIndex{titlepage} @cindex making a title page @cindex title pages, creating @@ -4181,24 +5216,47 @@ Synopsis: @example \begin@{titlepage@} -@var{text} + ... text and spacing ... \end@{titlepage@} @end example -The @code{titlepage} environment creates a title page, i.e., a page -with no printed page number or heading. It also causes the following -page to be numbered page one. Formatting the title page is left to -you. The @code{\today} command may be useful on title pages -(@pxref{\today}). +Create a title page, a page with no printed page number or heading. The +following page will be numbered page one. -You can use the @code{\maketitle} command (@pxref{\maketitle}) to -produce a standard title page without a @code{titlepage} environment. +To instead produce a standard title page without a @code{titlepage} +environment you can use @code{\maketitle} (@pxref{\maketitle}). + +Notice in this example that all formatting, including vertical spacing, +is left to the author. + +@example +\begin@{titlepage@} +\vspace*@{\stretch@{1@}@} +\begin@{center@} + @{\huge\bfseries Thesis \\[1ex] + title@} \\[6.5ex] + @{\large\bfseries Author name@} \\ + \vspace@{4ex@} + Thesis submitted to \\[5pt] + \textit@{University name@} \\[2cm] + in partial fulfilment for the award of the degree of \\[2cm] + \textsc@{\Large Doctor of Philosophy@} \\[2ex] + \textsc@{\large Mathematics@} \\[12ex] + \vfill + Department of Mathematics \\ + Address \\ + \vfill + \today +\end@{center@} +\vspace@{\stretch@{2@}@} +\end@{titlepage@} +@end example @node verbatim @section @code{verbatim} -@findex verbatim @r{environment} +@EnvIndex{verbatim} @cindex verbatim text @cindex simulating typed text @cindex typed text, simulating @@ -4255,7 +5313,7 @@ The @code{*}-form differs only in that spaces are printed with a @node verse @section @code{verse} -@findex verse @r{environment} +@EnvIndex{verse} @cindex poetry, an environment for Synopsis: @@ -4297,6 +5355,7 @@ you but in some environments you manually force line breaks. * \obeycr & \restorecr:: Make each input line start a new output line. * \newline:: Break the line * \- (hyphenation):: Insert explicit hyphenation. +* \discretionary:: Insert explicit hyphenation with control of hyphen character. * \fussy:: Be fussy about line breaking. * \sloppy:: Be sloppy about line breaking. * \hyphenation:: Tell @LaTeX{} how to hyphenate a word. @@ -4333,7 +5392,7 @@ particular, to start a new paragraph instead leave a blank line. This command is mostly used outside of the main flow of text such as in a @code{tabular} or @code{array} environment. -Under ordinary circumstances (e.g., outside of a @code{p@{..@}} column +Under ordinary circumstances (e.g., outside of a @code{p@{...@}} column in a @code{tabular} environment) the @code{\newline} command is a synonym for @code{\\} (@pxref{\newline}). @@ -4372,7 +5431,7 @@ In ordinary text this is equivalent to double-backslash (@pxref{\\}); it breaks a line, with no stretching of the text before it. Inside a @code{tabular} or @code{array} environment, in a column with a -specifier producing a paragraph box, like typically @code{p@{..@}}, +specifier producing a paragraph box, like typically @code{p@{...@}}, @code{\newline} will insert a line break inside of the column, that is, it does not break the entire row. To break the entire row use @code{\\} or its equivalent @code{\tabularnewline}. @@ -4405,6 +5464,18 @@ When you insert @code{\-} commands in a word, the word will only be hyphenated at those points and not at any of the hyphenation points that @LaTeX{} might otherwise have chosen. +@node \discretionary +@section @code{\discretionary} (generalized hyphenation point) +@cindex hyphenation, discretionary +@cindex discretionary hyphenation + +Synopsis: + +@example +\discretionary@{@var{pre-break-text}@}@{@var{post-break-text}@}@{@var{no-break-text}@} +@end example + +@c xxx TODO, complete this node, see LaTeX-fr @node \fussy @section @code{\fussy} @@ -4416,7 +5487,7 @@ picky about line breaking. This usually avoids too much space between words, at the cost of an occasional overfull box. This command cancels the effect of a previous @code{\sloppy} command -(@pxref{\sloppy}. +(@pxref{\sloppy}). @node \sloppy @@ -4744,7 +5815,8 @@ but nothing is set at the bottom of the page. \textit@{HMS Sophie@} &Master and Commander \\ \textit@{HMS Polychrest@} &Post Captain \\ \textit@{HMS Lively@} &Post Captain \\ - \textit@{HMS Surprise@} &A number of books\footnote@{Starting with HMS Surprise.@} + \textit@{HMS Surprise@} &A number of books\footnote@{Starting with + HMS Surprise.@} \end@{tabular@} \end@{center@} @end example @@ -4755,7 +5827,7 @@ The solution is to surround the @code{tabular} environment with a @example \begin@{center@} \begin@{minipage@}@{.5\textwidth@} - .. tabular material .. + ... tabular material ... \end@{minipage@} \end@{center@} @end example @@ -4784,26 +5856,32 @@ sequence with other footnotes. @node Footnotes in section headings @section Footnotes in section headings -Putting a footnote in a section heading +@cindex footnotes, in section headings +@cindex table of contents, avoiding footnotes +Putting a footnote in a section heading, as in: @example -\section@{Full sets\protect\footnote@{This material is due to R~Jones.@}@} +\section@{Full sets\protect\footnote@{This material due to ...@}@} @end example -causes the footnote to appear both at the bottom of the page where the -section starts and at the bottom of the table of contents page. To have -it not appear on the table of contents use the package @file{footmisc} -with the @code{stable} option. +@PkgIndex{footmisc} +@cindex @code{stable} option to @code{footmisc} package +@noindent +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 +contents, where it is not likely to be desired. To have it not appear +on the table of contents use the package @file{footmisc} with the +@code{stable} option. @example \usepackage[stable]@{footmisc@} - .. +... \begin@{document@} - .. -\section@{Full sets\footnote@{This material is due to R~Jones.@}@} +... +\section@{Full sets\footnote@{This material due to ...@}@} @end example -Note that the @code{\protect} is gone; putting it in causes the +Note that the @code{\protect} is gone; including it would cause the footnote to reappear on the table of contents. @@ -4819,12 +5897,12 @@ ways, including allow these two, as in this example. \usepackage@{bigfoot@} \DeclareNewFootnote@{Default@} \DeclareNewFootnote@{from@}[alph] % create class \footnotefrom@{@} - .. + ... \begin@{document@} - .. +... The third theorem is a partial converse of the second.\footnotefrom@{First noted in Wilson.\footnote@{Second edition only.@}@} - .. +... @end example @@ -4838,13 +5916,13 @@ uses the package @file{cleverref}. @example \usepackage@{cleveref@}[2012/02/15] % this version of package or later \crefformat@{footnote@}@{#2\footnotemark[#1]#3@} - .. +... \begin@{document@} - .. +... The theorem is from Evers.\footnote@{\label@{fn:TE@}Tinker and Evers, 1994.@} The corollary is from Chance.\footnote@{Evers and Chance, 1990.@} But the key lemma is from Tinker.\cref@{fn:TE@} - .. +... @end example This solution will work with the package @file{hyperref}. @@ -4883,6 +5961,7 @@ footnotes. This is @samp{6.65pt} for @samp{10pt}, @samp{7.7pt} for @LaTeX{} has support for making new commands of many different kinds. @c xx everything in this chapter needs examples. +@c xx Add DeclareRobustCommand (see clsguide.pdf) @menu * \newcommand & \renewcommand:: (Re)define a new command. @@ -4910,80 +5989,85 @@ footnotes. This is @samp{6.65pt} for @samp{10pt}, @samp{7.7pt} for command, respectively. Synopses: @example - \newcommand@{@var{cmd}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@} - \newcommand*@{@var{cmd}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@} -\renewcommand@{@var{cmd}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@} -\renewcommand*@{@var{cmd}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@} + \newcommand@{\@var{cmd}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@} + \newcommand*@{\@var{cmd}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@} +\renewcommand@{\@var{cmd}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@} +\renewcommand*@{\@var{cmd}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@} @end example -The @code{*}-form of these two commands requires that the arguments -not contain multiple paragraphs of text (not @code{\long}, in plain -@TeX{} terms). +@cindex starred form, defining new commands +@cindex *-form, defining new commands +The starred form of these two commands requires that the arguments not +contain multiple paragraphs of text (not @code{\long}, in plain @TeX{} +terms). @table @var @item cmd -Required; the command name. It must begin with @code{\}. For -@code{\newcommand}, it must not be already defined and must not begin -with @code{\end}. For @code{\renewcommand}, it must already be -defined. +Required; @code{\@var{cmd}} is the command name. For @code{\newcommand}, it +must not be already defined and must not begin with @code{\end}. For +@code{\renewcommand}, it must already be defined. @item nargs Optional; an integer from 0 to 9, specifying the number of arguments -that the command will take. If this argument is not present, the -default is for the command to have no arguments. When redefining a -command, the new version can have a different number of arguments than -the old version. +that the command can take, including any optional argument. If this +argument is not present, the default is for the command to have no +arguments. When redefining a command, the new version can have a +different number of arguments than the old version. @item optargdefault Optional; if this argument is present then the first argument of defined -command @var{\cmd} is optional, with default value @var{optargdefault} +command @code{\@var{cmd}} is optional, with default value @var{optargdefault} (which may be the empty string). If this argument is not present then -@var{\cmd} does not take an optional argument. - -That is, if @var{\cmd} is used with square brackets following, as in -@code{\@var{cmd}[@var{myval}]}, then within @var{defn} @code{#1} expands -@var{myval}. While if @var{\cmd} is called without square brackets -following, then within @var{defn} the @code{#1} expands to the default -@var{optargdefault}. In either case, any required arguments will be -referred to starting with @code{#2}. - -Omitting @code{[@var{myval}]} in the call is different from having the +@code{\@var{cmd}} does not take an optional argument. + +@cindex positional parameter +That is, if @code{\@var{cmd}} is used with square brackets following, +as in @code{\@var{cmd}[@var{myval}]}, then within @var{defn} the first +@dfn{positional parameter} @code{#1} expands @var{myval}. On the +other hand, if @code{\@var{cmd}} is called without square brackets +following, then within @var{defn} the positional parameter @code{#1} +expands to the default @var{optargdefault}. In either case, any +required arguments will be referred to starting with @code{#2}. + +Omitting @code{[@var{myval}]} in a call is different from having the square brackets with no contents, as in @code{[]}. The former results in @code{#1} expanding to @var{optargdefault}; the latter results in @code{#1} expanding to the empty string. @item defn -The text to be substituted for every occurrence of @code{cmd}; a -construct of the form @code{#@var{n}} in @var{defn} is replaced by the -text of the @var{n}th argument. +The text to be substituted for every occurrence of @code{\@var{cmd}}; the +positional parameter @code{#@var{n}} in @var{defn} is replaced by +the text of the @var{n}th argument. @end table -A command with no arguments that is followed in the source by a space -will swallow that space. The solution is to type @code{@{@}} after the -command and before the space. +@TeX{} ignores spaces in the source following an alphabetic control +sequence, as in @samp{\cmd }. If you actually want a space there, one +solution is to type @code{@{@}} after the command (@samp{\cmd@{@} }; +another solution is to use an explicit control space (@samp{\cmd\ }). A simple example of defining a new command: -@code{\newcommand@{\JH@}@{Jim Hef@{@}feron@}} causes the abbreviation -@code{\JH} to be replaced by the longer text. +@code{\newcommand@{\RS@}@{Robin Smith@}} results in +@code{\RS} being replaced by the longer text. -Redefining a command is basically the same: +Redefining an existing command is similar: @code{\renewcommand@{\qedsymbol@}@{@{\small QED@}@}}. -Here's a command definition that uses arguments: +Here's a command definition with one required argument: @example -\newcommand@{\defreference@}[1]@{Definition~\ref@{#1@}@} +\newcommand@{\defref@}[1]@{Definition~\ref@{#1@}@} @end example -@noindent Then, @code{\defreference@{def:basis@}} will expand to +@noindent Then, @code{\defref@{def:basis@}} expands to +@code{Definition~\ref@{def:basis@}}, which will ultimately expand to something like @samp{Definition~3.14}. -An example with two arguments: -@code{\newcommand@{\nbym@}[2]@{#1\!\times\!#2@}} is invoked as +An example with two required arguments: +@code{\newcommand@{\nbym@}[2]@{$#1 \times #2$@}} is invoked as @code{\nbym@{2@}@{k@}}. -An example with optional arguments: +An example with an optional argument: @example \newcommand@{\salutation@}[1][Sir or Madam]@{Dear #1:@} @@ -4993,17 +6077,19 @@ An example with optional arguments: @code{\salutation[John]} gives @samp{Dear John:}. And @code{\salutation[]} gives @samp{Dear :}. -The braces around @var{defn} do not delimit the scope of the result of -expanding @var{defn}. So @code{\newcommand@{\shipname@}[1]@{\it #1@}} -is wrong since in the sentence +The braces around @var{defn} do not define a group, that is, they do +not delimit the scope of the result of expanding @var{defn}. So +@code{\newcommand@{\shipname@}[1]@{\it #1@}} is problematic; in this +sentence, @example -The \shipname@{Monitor@} met the \shipname@{Virginia@}. +The \shipname@{Monitor@} met the \shipname@{Merrimac@}. @end example -@noindent the words @samp{met the} will incorrectly be in italics. An -extra pair of braces @code{\newcommand@{\shipname@}[1]@{@{\it #1@}@}} -fixes it. +@noindent the words @samp{met the} would incorrectly be in italics. Another +pair of braces in the definition is needed, like this: +@code{\newcommand@{\shipname@}[1]@{@{\it #1@}@}}. Those braces are +part of the definition and thus do define a group. @node \providecommand @@ -5035,21 +6121,24 @@ loaded more than once. @findex \newcounter @cindex counters, defining new -Synopsis: +Synopsis, one of: @example +\newcounter@{@var{countername}@} \newcounter@{@var{countername}@}[@var{supercounter}] @end example -The @code{\newcounter} command globally defines a new counter named -@var{countername}. The name consists of letters only and does not begin -with a backslash (@samp{\}). The name must not already be used by -another counter. The new counter is initialized to zero. +Globally defines a new counter named @var{countername} and initialize +the new counter to zero. + +The name @var{countername} must consists of letters only, and does not +begin with a backslash. This name must not already be in use by another +counter. -If the optional argument @code{[@var{supercounter}]} appears, then +When you use the optional argument @code{[@var{supercounter}]} then @var{countername} will be numbered within, or subsidiary to, the existing counter @var{supercounter}. For example, ordinarily -@code{subsection} is numbered within @code{section}. Any time +@code{subsection} is numbered within @code{section} so that any time @var{supercounter} is incremented with @code{\stepcounter} (@pxref{\stepcounter}) or @code{\refstepcounter} (@pxref{\refstepcounter}) then @var{countername} is reset to zero. @@ -5114,22 +6203,24 @@ The allocation of a box is global. This command is fragile @cindex redefining environments These commands define or redefine an environment @var{env}, that is, -@code{\begin@{@var{env}@} @dots{} \end@{@var{env}@}}. Synopses: +@code{\begin@{@var{env}@} @var{body} \end@{@var{env}@}}. Synopses: @example - \newenvironment@{@var{env}@}[@var{nargs}][@var{optargdefault}]@{@var{begdefn}@}@{@var{enddefn}@} + \newenvironment@{@var{env}@}[@var{nargs}][@var{optargdefault}]@{@var{begdefn}@}@{@var{enddefn}@} \newenvironment*@{@var{env}@}[@var{nargs}][@var{optargdefault}]@{@var{begdefn}@}@{@var{enddefn}@} -\renewenvironment@{@var{env}@}[@var{nargs}][@var{optargdefault}]@{@var{begdefn}@}@{@var{enddefn}@} + \renewenvironment@{@var{env}@}[@var{nargs}][@var{optargdefault}]@{@var{begdefn}@}@{@var{enddefn}@} \renewenvironment*@{@var{env}@}[@var{nargs}][@var{optargdefault}]@{@var{begdefn}@}@{@var{enddefn}@} @end example -Unlike @code{\newcommand} and @code{\renewcommand}, the @code{*}-forms -@code{\newenvironment*} and @code{\renewcommand*} have the same effect -as the forms with no @code{*}. +@cindex @code{*}-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. @table @var @item env -Required; the environment name. It does not begin with backslash +Required; the environment name. It consists only of letters or the +@code{*} character, and thus does not begin with backslash (@code{\}). It must not begin with the string @code{end}. For @code{\newenvironment}, the name @var{env} must not be the name of an already existing environment, and also the command @code{\@var{env}} @@ -5138,8 +6229,8 @@ name of an existing environment. @item nargs Optional; an integer from 0 to 9 denoting the number of arguments of -that the environment will take. These arguments appear after the -@code{\begin}, as in +that the environment will take. When the environment is used these +arguments appear after the @code{\begin}, as in @code{\begin@{@var{env}@}@{@var{arg1}@}@dots{}@{@var{argn}@}}. If this argument is not present then the default is for the environment to have no arguments. When redefining an environment, the new version can have @@ -5151,15 +6242,15 @@ defined environment is optional, with default value @var{optargdefault} (which may be the empty string). If this argument is not present then the environment does not take an optional argument. -That is, when @code{[@var{optargdefault}]} is present in the environment -definition, if @code{\begin@{@var{env}@}} is used with square brackets -following, as in @code{\begin@{@var{env}@}[@var{myval}]}, then within -the environment @code{#1} expands @var{myval}. If -@code{\begin@{@var{env}@}} is called without square brackets following, -then within the environment the @code{#1} expands to the default -@var{optargdefault}. In either case, any required arguments will be -referred to starting with @code{#2}. - +That is, when @code{[@var{optargdefault}]} is present in the +environment definition, if @code{\begin@{@var{env}@}} is used with +square brackets following, as in +@code{\begin@{@var{env}@}[@var{myval}]}, then, within @var{begdefn}, +the positional parameter @code{#1} expands to @var{myval}. If +@code{\begin@{@var{env}@}} is called without square brackets +following, then, within within @var{begdefn}, the positional parameter +@code{#1} expands to the default @var{optargdefault}. In either case, +any required arguments will be referred to starting with @code{#2}. Omitting @code{[@var{myval}]} in the call is different from having the square brackets with no contents, as in @code{[]}. The former results @@ -5168,23 +6259,25 @@ in @code{#1} expanding to @var{optargdefault}; the latter results in @item begdefn Required; the text expanded at every occurrence of -@code{\begin@{@var{env}@}}; a construct of the form @code{#@var{n}} in -@var{begdef} is replaced by the text of the @var{n}th argument. +@code{\begin@{@var{env}@}}. Within @var{begdef}, the @var{n}th +positional parameter (i.e., @code{#@var{n}}) is replaced by the text +of the @var{n}th argument. @item enddefn Required; the text expanded at every occurrence of -@code{\end@{@var{env}@}}. Note that it may not contain any argument -parameters, so @code{#@var{n}} cannot be used here. +@code{\end@{@var{env}@}}. This may not contain any positional +parameters, so @code{#@var{n}} cannot be used here (but see the final +example below). @end table -The environment @var{env} delimits the scope of the result of expanding -@var{begdefn} and @var{enddefn}. Thus, in the first example below, the -effect of the @code{\small} is limited to the quote and does not extend -to material following the environment. +All environments, that is to say the @var{begdefn} code, the environment +body and the @var{enddefn} code, are processed within a group. Thus, in +the first example below, the effect of the @code{\small} is limited to +the quote and does not extend to material following the environment. -This example gives an environment like @LaTeX{}'s @code{quotation} except that -it will be set in smaller type. +This example gives an environment like @LaTeX{}'s @code{quotation} +except that it will be set in smaller type: @example \newenvironment@{smallquote@}@{% @@ -5194,8 +6287,8 @@ it will be set in smaller type. @} @end example -This shows the use of arguments; it gives a quotation environment that -cites the author. +This one shows the use of arguments; it gives a quotation environment +that cites the author: @example \newenvironment@{citequote@}[1][Shakespeare]@{% @@ -5206,17 +6299,17 @@ cites the author. @} @end example -@noindent The author's name is optional, and defaults to Shakespeare. -In the document, use the environment as here: +@noindent The author's name is optional, and defaults to @samp{Shakespeare}. +In the document, use the environment like this: @example \begin@{citequote@}[Lincoln] - .. + ... \end@{citequote@} @end example The final example shows how to save the value of an argument to use in -@var{enddefn}. +@var{enddefn}, in this case in a box (@pxref{\sbox}): @example \newsavebox@{\quoteauthor@} @@ -5239,42 +6332,38 @@ The final example shows how to save the value of an argument to use in @cindex theorem-like environment @cindex environment, theorem-like -Define a new @dfn{theorem-like environment}. Synopses: +Define a new theorem-like environment. Synopses: @example +\newtheorem@{@var{name}@}@{@var{title}@} \newtheorem@{@var{name}@}@{@var{title}@}[@var{numbered_within}] \newtheorem@{@var{name}@}[@var{numbered_like}]@{@var{title}@} @end example -Both create a theorem-like environment @var{name}. Using the first -form, - -@example -\newtheorem@{@var{name}@}@{@var{title}@}[@var{numbered_within}] -@end example +Using the first form, @code{\newtheorem@{@var{name}@}@{@var{title}@}} +creates an environment that will be labelled with @var{title}. See the +first example below. -@noindent with the optional argument after the second required argument, +The second form +@code{\newtheorem@{@var{name}@}@{@var{title}@}[@var{numbered_within}]} creates an environment whose counter is subordinate to the existing -counter @var{numbered_within}: it will be reset when +counter @var{numbered_within} (its counter will be reset when @var{numbered_within} is reset). -Using the second form, -@example -\newtheorem@{@var{name}@}[@var{numbered_like}]@{@var{title}@} -@end example - -@noindent with the optional argument between the two required -arguments, will create an environment whose counter will share the -previously defined counter @var{numbered_like}. +The third form +@code{\newtheorem@{@var{name}@}[@var{numbered_like}]@{@var{title}@}}, +with optional argument between the two required arguments, will create +an environment whose counter will share the previously defined counter +@var{numbered_like}. You can specify one of @var{numbered_within} and @var{numbered_like}, or neither, but not both. This command creates a counter named @var{name}. In addition, unless -the optional argument @var{numbered_like} is used, the current -@code{\ref} value will be that of @code{\the@var{numbered_within}} -(@pxref{\ref}). +the optional argument @var{numbered_like} is used, inside of the +theorem-like environment the current @code{\ref} value will be that of +@code{\the@var{numbered_within}} (@pxref{\ref}). This declaration is global. It is fragile (@pxref{\protect}). @@ -5306,8 +6395,9 @@ new environment will be numbered in sequence with @var{numbered_like}. @end table Without any optional arguments the environments are numbered -sequentially. This example has a declaration in the preamble that -results in @samp{Definition@tie{}1} and @samp{Definition@tie{}2} in the output. +sequentially. The example below has a declaration in the preamble that +results in @samp{Definition@tie{}1} and @samp{Definition@tie{}2} in the +output. @example \newtheorem@{defn@}@{Definition@} @@ -5323,7 +6413,7 @@ results in @samp{Definition@tie{}1} and @samp{Definition@tie{}2} in the output. \end@{defn@} @end example -Because this example specifies the optional argument +Because the next example specifies the optional argument @var{numbered_within} to @code{\newtheorem} as @code{section}, the example, with the same document body, gives @samp{Definition@tie{}1.1} and @samp{Definition@tie{}2.1}. @@ -5342,8 +6432,8 @@ and @samp{Definition@tie{}2.1}. \end@{defn@} @end example -In this example there are two declarations in the preamble, the second -of which calls for the new @code{thm} environment to use the same +In the next example there are two declarations in the preamble, the +second of which calls for the new @code{thm} environment to use the same counter as @code{defn}. It gives @samp{Definition@tie{}1.1}, followed by @samp{Theorem@tie{}2.1} and @samp{Definition@tie{}2.2}. @@ -5410,7 +6500,7 @@ characters in each: @example \newfont@{\testfontat@}@{cmb10 at 11pt@} -\newfont@{\testfontscaled@}@{cmb10 scaled 11pt@} +\newfont@{\testfontscaled@}@{cmb10 scaled 1100@} \testfontat abc \testfontscaled abc @end example @@ -5422,23 +6512,28 @@ characters in each: @findex \protect @cindex fragile commands @cindex robust commands -@cindex moving arguments -All @LaTeX{} commands are either @dfn{fragile} or @dfn{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 they must be preceded by the command @code{\protect}. +All @LaTeX{} commands are either @dfn{fragile} or @dfn{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 +@code{\protect}. For example, when @LaTeX{} runs the @code{\section@{@var{section name}@}} command it writes the @var{section name} text to the @file{.aux} auxiliary file, moving it there for use elsewhere in the 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 @dfn{moving argument}. A command is fragile if it can +referred to as a +@cindex moving arguments +@dfn{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 @code{\caption@{..@}} -command (@pxref{figure}), in the @code{\thanks@{..@}} command +moving arguments are those that appear in the @code{\caption@{...@}} +command (@pxref{figure}), in the @code{\thanks@{...@}} command (@pxref{\maketitle}), and in @@-expressions in the @code{tabular} and @code{array} environments (@pxref{tabular}). @@ -5451,13 +6546,13 @@ commands are robust and should not be preceded by a @code{\protect} command. Nor can a @code{\protect} command be used in the argument to @code{\addtocounter} or @code{\setcounter} command. -In this example the @code{caption} command gives a mysterious error +In this example the @code{\caption} command gives a mysterious error about an extra curly brace. Fix the problem by preceding each @code{\raisebox} command with @code{\protect}. @example \begin@{figure@} - .. + ... \caption@{Company headquarters of A\raisebox@{1pt@}@{B@}\raisebox@{-1pt@}@{C@}@} \end@{figure@} @end example @@ -5470,9 +6565,9 @@ to @code{\protect\(..\protect\)}. @example \begin@{document@} \tableofcontents - .. +... \section@{Einstein's \( e=mc^2 \)@} - .. +... @end example @@ -5484,11 +6579,13 @@ to @code{\protect\(..\protect\)}. 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 with no -backslash (@code{\}). Thus the @code{\chapter} command starts a -chapter and the @code{chapter} counter keeps track of the chapter -number. Below is a list of the counters used in @LaTeX{}'s standard -document classes to control numbering. +environment or command associated with the number, except that the +counter's name has no backslash@tie{}@code{\}. Thus, associated with +the @code{\chapter} command is the @code{chapter} counter that keeps +track of the chapter number. + +Below is a list of the counters used in @LaTeX{}'s standard document +classes to control numbering. @example part paragraph figure enumi @@ -5499,24 +6596,22 @@ subsubsection @end example The @code{mpfootnote} counter is used by the @code{\footnote} command -inside of a minipage (@pxref{minipage}). - -The @code{enumi} through @code{enumiv} counters are used in the -@code{enumerate} environment, for up to four nested levels -(@pxref{enumerate}). +inside of a minipage (@pxref{minipage}). The counters @code{enumi} +through @code{enumiv} are used in the @code{enumerate} environment, for +up to four levels of nesting (@pxref{enumerate}). New counters are created with @code{\newcounter}. @xref{\newcounter}. @menu -* \alph \Alph \arabic \roman \Roman \fnsymbol:: Print value of a counter. -* \usecounter:: Use a specified counter in a list environment. -* \value:: Use the value of a counter in an expression. -* \setcounter:: Set the value of a counter. -* \addtocounter:: Add a quantity to a counter. -* \refstepcounter:: Add to counter, resetting subsidiary counters. -* \stepcounter:: Add to counter, resetting subsidiary counters. -* \day \month \year:: Numeric date values. +* \alph \Alph \arabic \roman \Roman \fnsymbol:: Print value of a counter. +* \usecounter:: Use a specified counter in a list environment. +* \value:: Use the value of a counter in an expression. +* \setcounter:: Set the value of a counter. +* \addtocounter:: Add a quantity to a counter. +* \refstepcounter:: Add to a counter. +* \stepcounter:: Add to a counter, resetting subsidiary counters. +* \day \month \year:: Numeric date values. @end menu @@ -5525,38 +6620,59 @@ New counters are created with @code{\newcounter}. @xref{\newcounter}. @cindex counters, printing +Print the value of a counter, in a specified style. For instance, if +the counter @var{counter} has the value 1 then a +@code{\alph@{@var{counter}@}} in your source will result in a lower case +letter@tie{}a appearing in the output. + All of these commands take a single counter as an argument, for instance, @code{\alph@{enumi@}}. Note that the counter name does not start with a backslash. @ftable @code -@item \alph -prints @var{counter} using lowercase letters: `a', `b', @enddots{} +@item \alph@{@var{counter}@} +Print the value of @var{counter} in lowercase letters: `a', `b', @enddots{} -@item \Alph -uses uppercase letters: `A', `B', @enddots{} +@item \Alph@{@var{counter}@} +Print in uppercase letters: `A', `B', @enddots{} -@item \arabic -uses Arabic numbers: `1', `2', @enddots{} +@item \arabic@{@var{counter}@} +Print in Arabic numbers: `1', `2', @enddots{} -@item \roman -uses lowercase roman numerals: `i', `ii', @enddots{} +@item \roman@{@var{counter}@} +Print in lowercase roman numerals: `i', `ii', @enddots{} -@item \Roman -uses uppercase roman numerals: `I', `II', @enddots{} +@item \Roman@{@var{counter}@} +Print in uppercase roman numerals: `I', `II', @enddots{} -@item \fnsymbol -prints the value of @var{counter} in a specific sequence of nine +@item \fnsymbol@{@var{counter}@} +Prints the value of @var{counter} in a specific sequence of nine symbols (conventionally used for labeling footnotes). The value of @var{counter} must be between@tie{}1 and@tie{}9, inclusive. -Here are the symbols (as Unicode code points in ASCII output): +Here are the symbols: -@display -asterisk(*) dagger(@U{2021}) ddagger(@U{2021}) -section-sign(@U{00A7}) paragraph-sign(@U{00B6}) parallel(@U{2225}) -double-asterisk(**) double-dagger(@U{2020}@U{2020}) double-ddagger(@U{2021}@U{2021}) -@end display +@multitable @columnfractions .33 .33 .33 +@headitem Name@tab Command@tab@iftexthenelse{Symbol,Equivalent Unicode symbol and/or numeric code point} +@item +asterisk@tab@code{\ast}@tab@iftexthenelse{@math{@ast},*} +@item +dagger@tab@code{\dagger}@tab@BES{2020,\dagger} +@item +ddagger@tab@code{\ddagger}@tab@BES{2021,\ddagger} +@item +section-sign@tab@code{\S}@tab@BES{00A7,\S} +@item +paragraph-sign@tab@code{\P}@tab@BES{00B6,\P} +@item +double-vert@tab@code{\parallel}@tab@BES{2016,\parallel} +@item +double-asterisk@tab@code{\ast\ast}@tab@iftexthenelse{@math{@ast@ast},**} +@item +double-dagger@tab@code{\dagger\dagger}@tab@BES{2020,\dagger}@BES{2020,\dagger} +@item +double-ddagger@tab@code{\ddagger\ddagger}@tab@BES{2021,\ddagger}@BES{2021,\ddagger} +@end multitable @end ftable @@ -5653,6 +6769,13 @@ The @code{\setcounter} command globally sets the value of @var{counter} to the @var{value} argument. Note that the counter name does not start with a backslash. +In this example the section value appears as @samp{V}. + +@example +\setcounter@{section@}@{5@} +Here it is in Roman: \Roman@{section@}. +@end example + @node \addtocounter @section @code{\addtocounter@{@var{counter}@}@{@var{value}@}} @@ -5662,6 +6785,14 @@ with a backslash. The @code{\addtocounter} command globally increments @var{counter} by the amount specified by the @var{value} argument, which may be negative. +In this example the section value appears as @samp{VII}. + +@example +\setcounter@{section@}@{5@} +\addtocounter@{section@}@{2@} +Here it is in Roman: \Roman@{section@}. +@end example + @node \refstepcounter @section @code{\refstepcounter@{@var{counter}@}} @@ -5835,26 +6966,40 @@ math symbols family. @xref{Spacing in math mode}. @node \setlength -@section @code{\setlength@{\@var{len}@}@{@var{value}@}} +@section @code{\setlength} @findex \setlength @cindex lengths, setting -The @code{\setlength} sets the value of @var{\len} to the @var{value} -argument, which can be expressed in any units that @LaTeX{} -understands, i.e., inches (@code{in}), millimeters (@code{mm}), points -(@code{pt}), big points (@code{bp}, etc. +Synopsis: + +@example +\setlength@{@var{\len}@}@{@var{amount}@} +@end example + +The @code{\setlength} sets the value of @dfn{length command} +@cindex length command +@code{\@var{len}} to the @var{value} argument which can be expressed in any +units that @LaTeX{} understands, i.e., inches (@code{in}), millimeters +(@code{mm}), points (@code{pt}), big points (@code{bp}), etc. @node \addtolength -@section @code{\addtolength@{@var{\len}@}@{@var{amount}@}} +@section @code{\addtolength} @findex \addtolength @cindex lengths, adding to -The @code{\addtolength} command increments a ``length command'' -@var{\len} by the amount specified in the @var{amount} argument, which -may be negative. +Synopsis: + +@example +\addtolength@{@var{\len}@}@{@var{amount}@} +@end example + + +The @code{\addtolength} command increments a length command @code{\@var{len}} +by the amount specified in the @var{amount} argument, which may be +negative. @node \settodepth @@ -5862,10 +7007,14 @@ may be negative. @findex \settodepth -@code{\settodepth@{\gnat@}@{text@}} +Synopsis: + +@example +\settodepth@{\@var{len}@}@{@var{text}@} +@end example -The @code{\settodepth} command sets the value of a @code{length} command -equal to the depth of the @code{text} argument. +The @code{\settodepth} command sets the value of a length command +@code{\@var{len}} equal to the depth of the @var{text} argument. @node \settoheight @@ -5873,9 +7022,13 @@ equal to the depth of the @code{text} argument. @findex \settoheight -@code{\settoheight@{\gnat@}@{text@}} +Synopsis: + +@example +\settoheight@{\@var{len}@}@{text@} +@end example -The @code{\settoheight} command sets the value of a @code{length} command +The @code{\settoheight} command sets the value of a length command @code{\@var{len}} equal to the height of the @code{text} argument. @@ -5885,6 +7038,12 @@ equal to the height of the @code{text} argument. @findex \settowidth +Synopsis: + +@example +\settowidth@{\@var{len}@}@{@var{text}@} +@end example + The @code{\settowidth} command sets the value of the command @var{\len} to the width of the @var{text} argument. @@ -5909,11 +7068,13 @@ to the width of the @var{text} argument. These length parameters can be used in the arguments of the box-making commands (@pxref{Boxes}). They specify the natural width, etc., of -the text in the box. @code{\totalheight} equals @code{\height} + -@code{\depth}. To make a box with the text stretched to double the +the text in the box. @code{\totalheight} equals @math{@code{@backslashchar{}height} + +@code{@backslashchar{}depth}}. To make a box with the text stretched to double the natural size, e.g., say -@code{\makebox[2\width]@{Get a stretcher@}} +@example +\makebox[2\width]@{Get a stretcher@} +@end example @node Making paragraphs @@ -5961,7 +7122,7 @@ When used at the beginning of the paragraph, this command suppresses any paragraph indentation, as in this example. @example -.. end of the prior paragraph. +... end of the prior paragraph. \noindent This paragraph is not indented. @end example @@ -6056,9 +7217,9 @@ notes from falling off the bottom of the page. @cindex math formulas @cindex formulas, math @cindex math mode, entering -@findex math @r{environment} -@findex displaymath @r{environment} -@findex equation @r{environment} +@EnvIndex{math} +@EnvIndex{displaymath} +@EnvIndex{equation} There are three environments that put @LaTeX{} in math mode: @@ -6133,7 +7294,7 @@ $\displaystyle \sum_@{n=0@}^\infty x_n $ @findex ^ In math mode, use the caret character@tie{}@code{^} to make the -@var{exp} appear as a superscript, ie.@: type @code{^@{@var{exp}@}}. +@var{exp} appear as a superscript: @code{^@{@var{exp}@}}. Similarly, in math mode, underscore@tie{}@code{_@{@var{exp}@}} makes a subscript out of @var{exp}. @@ -6184,8 +7345,12 @@ the pi symbol @BES{03C0,\pi}. Below is a list of commonly-available symbols. It is by no means an exhaustive list. Each symbol here is described with a short phrase, and its symbol class (which determines the spacing around it) is given in -parenthesis. The commands for these symbols can be used only in math -mode. +parenthesis. Unless said otherwise, the commands for these symbols can +be used only in math mode. + +To redefine a command so that it can be used whatever the current mode, +see @ref{\ensuremath}. + @c xx Add Negation: @code{} for negations of relevant symbols @c Useful: http://www.w3.org/TR/WD-math-970515/section6.html @@ -6218,7 +7383,7 @@ five-pointed, and is sometimes used as a general binary operation, and sometimes reserved for cross-correlation. @item \asymp -@BES{224D,\asymp} Asymptomatically equivalent (relation). +@BES{224D,\asymp} Asymptotically equivalent (relation). @item \backslash \ Backslash (ordinary). Similar: set minus@tie{}@code{\setminus}, and @@ -6270,16 +7435,15 @@ union@tie{}@code{\cup}. @BES{22C0,\bigwedge} Variable-sized, or n-ary, logical-or (operator). @item \bot -@BESU{22A5,bot} Up tack, bottom, least element of a poset, or a contradiction -(ordinary). See also@tie{}@code{\top}. +@BESU{22A5,bot} Up tack, bottom, least element of a partially ordered +set, or a contradiction (ordinary). See also@tie{}@code{\top}. @item \bowtie @BES{22C8,\bowtie} Natural join of two relations (relation). @item \Box -@BESU{25A1,Box} Modal operator for necessity; square open box (ordinary). This -is not available in Plain @TeX{}. In @LaTeX{} you need to load the -@file{amssymb} package. +@BESU{25A1,Box} Modal operator for necessity; square open box +(ordinary). @value{NeedsAMSSymb} @c bb Best Unicode equivalent? @item \bullet @@ -6307,8 +7471,7 @@ variable-sized operator@tie{}@code{\bigcirc}. @item \complement @BESU{2201,complement} Set complement, used as a superscript as in -@code{$S^\complement$} (ordinary). This is not available in Plain -@TeX{}. In @LaTeX{} you should load the @file{amssymb} package. Also +@code{$S^\complement$} (ordinary). @value{NeedsAMSSymb} Also used: @code{$S^@{\mathsf@{c@}@}$} or@tie{}@code{$\bar@{S@}$}. @item \cong @@ -6338,8 +7501,7 @@ turnstile@tie{}@code{\vdash}. @BES{03B4,\delta} Greek lower case delta (ordinary). @item \Diamond -@BESU{25C7,Diamond} Large diamond operator (ordinary). This is not available in -Plain @TeX{}. In @LaTeX{} you must load the @file{amssymb} package. +@BESU{25C7,Diamond} Large diamond operator (ordinary). @value{NeedsAMSSymb} @c bb Best Unicode equivalent? @item \diamond @@ -6368,15 +7530,15 @@ arrow@tie{}@code{\downarrow}. @BES{2113,\ell} Lower-case cursive letter l (ordinary). @item \emptyset -@BES{2205,\emptyset} Empty set symbol (ordinary). Similar: reversed empty -set@tie{}@code{\varnothing}. +@BES{2205,\emptyset} Empty set symbol (ordinary). The variant form is +@code{\varnothing}. @c bb Why Unicode has \revemptyset but no \emptyset? - + @item \epsilon -@BES{03F5,\epsilon} Lower case Greek-text letter (ordinary). More widely used in -mathematics is the curly epsilon -@code{\varepsilon}@tie{}@BES{03B5,\varepsilon}. Related: the set membership relation -@code{\in}@tie{}@BES{2208,\in}. +@BES{03F5,\epsilon} Lower case lunate epsilon (ordinary). Similar to +Greek text letter. More widely used in mathematics is the script small +letter epsilon @code{\varepsilon}@tie{}@BES{03B5,\varepsilon}. Related: +the set membership relation @code{\in}@tie{}@BES{2208,\in}. @c src: David Carlisle http://tex.stackexchange.com/a/98018/339 and @c Unicode referenced there asserts varepsilon is much more widely used. @@ -6440,8 +7602,8 @@ with a @code{\thickmuskip} on either side. @BES{2111,\Im} Imaginary part (ordinary). See: real part@tie{}@code{\Re}. @item \in -@BES{2208,\in} Set element (relation). See also: lower case Greek letter -epsilon@tie{}@code{\epsilon}@BES{03F5,\epsilon} and rounded small +@BES{2208,\in} Set element (relation). See also: lower case lunate +epsilon@tie{}@code{\epsilon}@BES{03F5,\epsilon} and small letter script epsilon@tie{}@code{\varepsilon}. @item \infty @@ -6491,8 +7653,7 @@ shaved off (opening). Matches@tie{}@code{\rceil}. for@tie{}@code{\leq}. @item \leadsto -@BESU{21DD,leadsto} Squiggly right arrow (relation). This is not available in -Plain @TeX{}. In @LaTeX{} you should load the @file{amssymb} package. +@BESU{21DD,leadsto} Squiggly right arrow (relation). @value{NeedsAMSSymb} To get this symbol outside of math mode you can put @code{\newcommand*@{\Leadsto@}@{\ensuremath@{\leadsto@}@}} in the preamble and then use @code{\Leadsto} instead. @@ -6526,12 +7687,11 @@ double-line double headed arrow@tie{}@code{\Leftrightarrow}. for@tie{}@code{\le}. @item \lfloor -@BES{230A,\lfloor} Left floor bracket (opening). +@BES{230A,\lfloor} Left floor bracket (opening). Matches:@tie{}@code{\floor}. @item \lhd -@BESU{25C1,lhd} Arrowhead, that is, triangle, pointing left (binary). This is -not available in Plain @TeX{}. In @LaTeX{} you should load the -@file{amssymb} package. For the normal subgroup symbol you should load +@BESU{25C1,lhd} Arrowhead, that is, triangle, pointing left (binary). +@value{NeedsAMSSymb} For the normal subgroup symbol you should load @file{amssymb} and use@tie{}@code{\vartriangleleft} (which is a relation and so gives better spacing). @@ -6567,8 +7727,7 @@ Similar: longer version@tie{}@code{\longmapsto}. @item \mho @BESU{2127,mho} Conductance, half-circle rotated capital omega (ordinary). -This is not available in Plain @TeX{}. In @LaTeX{} you should load the -@file{amssymb} package. +@value{NeedsAMSSymb} @item \mid @BES{2223,\mid} Single-line vertical bar (relation). A typical use of @@ -6692,21 +7851,21 @@ ordinary. @BES{00B1,\pm} Plus or minus (binary). @item \prec -@BES{227A,\prec} Preceeds (relation). Similar: less than@tie{}@code{<}. +@BES{227A,\prec} Precedes (relation). Similar: less than@tie{}@code{<}. @item \preceq -@BES{2AAF,\preceq} Preceeds or equals (relation). Similar: less than or +@BES{2AAF,\preceq} Precedes or equals (relation). Similar: less than or equals@tie{}@code{\leq}. @item \prime -@BES{2032,\prime} Prime, or minute in a time expression (ordinary). Typically -used as a superscript @code{$A^\prime$}. Note that @code{$f^\prime$} -and @code{$f'$} produce the same result. An advantage of the second is -that @code{$f'''$} produces the the desired symbol, that is, the same -result as @code{$f^@{\prime\prime\prime@}$}, but uses somewhat less -typing. Note that you can only use @code{\prime} in math mode but you -can type right single quote@tie{}@code{'} in text mode also, although it -resuts in a different look than in math mode. +@BES{2032,\prime} Prime, or minute in a time expression (ordinary). +Typically used as a superscript: @code{$f^\prime$}; @code{$f^\prime$} +and @code{$f'$} produce the same result. An advantage of the second +is that @code{$f'''$} produces the desired symbol, that is, the same +result as @code{$f^@{\prime\prime\prime@}$}, but uses rather less +typing. You can only use @code{\prime} in math mode. Using the right +single quote@tie{}@code{'} in text mode produces a different character +(apostrophe). @item \prod @BES{220F,\prod} Product (operator). @@ -6721,7 +7880,7 @@ resuts in a different look than in math mode. @BES{03C8,\psi} Lower case Greek letter (ordinary). @item \rangle -@BES{27B9,\rangle} Right angle, or sequence, bracket (closing). Similar: greater +@BES{27E9,\rangle} Right angle, or sequence, bracket (closing). Similar: greater than@tie{}@code{>}. Matches:@code{\langle}. @item \rbrace @@ -6742,18 +7901,20 @@ this, load the @file{amsfonts} package. @item \restriction @BESU{21BE,restriction} Restriction of a function -(relation). Synonym:@tie{}@code{\upharpoonright}. Not available in -Plain @TeX{}. In @LaTeX{} you should load the @file{amssymb} package. +(relation). Synonym:@tie{}@code{\upharpoonright}. @value{NeedsAMSSymb} + +@item \revemptyset +@BESU{29B0,revemptyset} Reversed empty set symbol (ordinary). Related: +@code{\varnothing}. @value{NeedsSTIX} @item \rfloor @BES{230B,\rfloor} Right floor bracket, a right square bracket with the top cut off (closing). Matches@tie{}@code{\lfloor}. @item \rhd -@BESU{25C1,rhd} Arrowhead, that is, triangle, pointing right (binary). This is -not available in Plain @TeX{}. In @LaTeX{} you should load the -@file{amssymb} package. For the normal subgroup symbol you should -instead load @file{amssymb} and use@tie{}@code{\vartriangleright} (which +@BESU{25C1,rhd} Arrowhead, that is, triangle, pointing right (binary). +@value{NeedsAMSSymb} For the normal subgroup symbol you should instead +load @file{amssymb} and use@tie{}@code{\vartriangleright} (which is a relation and so gives better spacing). @item \rho @@ -6805,7 +7966,7 @@ right single-line arrow@tie{}@code{\rightarrow}. display (operator). @item \smile -@BES{2323,\smile} Upward curving arc (ordinary). +@BES{2323,\smile} Upward curving arc, smile (ordinary). @item \spadesuit @BES{2660,\spadesuit} Spade card suit (ordinary). @@ -6821,8 +7982,7 @@ operator@tie{}@code{\bigsqcup}. @item \sqsubset @BESU{228F,sqsubset} Square subset symbol (relation). Similar: -subset@tie{}@code{\subset}. This is not available in Plain @TeX{}. In -@LaTeX{} you should load the @file{amssymb} package. +subset@tie{}@code{\subset}. @value{NeedsAMSSymb} @item \sqsubseteq @BES{2291,\sqsubseteq} Square subset or equal symbol (binary). Similar: subset or @@ -6830,8 +7990,7 @@ equal to@tie{}@code{\subseteq}. @item \sqsupset @BESU{2290,sqsupset} Square superset symbol (relation). Similar: -superset@tie{}@code{\supset}. This is not available in Plain @TeX{}. In -@LaTeX{} you should load the @file{amssymb} package. +superset@tie{}@code{\supset}. @value{NeedsAMSSymb} @item \sqsupseteq @BES{2292,\sqsupseteq} Square superset or equal symbol (binary). Similar: superset or @@ -6870,7 +8029,7 @@ sigma@tie{}@code{\Sigma}. @item \surd @BES{221A,\surd} Radical symbol (ordinary). The @LaTeX{} command -@code{\sqrt@{..@}} typesets the square root of the argument, with a bar +@code{\sqrt@{...@}} typesets the square root of the argument, with a bar that extends to cover the argument. @item \swarrow @@ -6892,8 +8051,8 @@ also@tie{}@code{\cdot}. Synonym:@tie{}@code{\rightarrow}. @item \top -@BESU{22A4,top} Top, greatest element of a poset (ordinary). See -also@tie{}@code{\bot}. +@BESU{22A4,top} Top, greatest element of a partially ordered set +(ordinary). See also@tie{}@code{\bot}. @item \triangle @BES{25B3,\triangle} Triangle (ordinary). @@ -6905,36 +8064,39 @@ should load @file{amssymb} and use@tie{}@code{\vartriangleleft} (which is a relation and so gives better spacing). @item \triangleright -@BES{25B7,\triangleright} Not-filled triangle pointing right (binary). For the normal -subgroup symbol you should instead load @file{amssymb} and -use@tie{}@code{\vartriangleright} (which is a relation and so gives -better spacing). +@BES{25B7,\triangleright} Not-filled triangle pointing right +(binary). For the normal subgroup symbol you should instead load +@file{amssymb} and use@tie{}@code{\vartriangleright} (which is a +relation and so gives better spacing). @item \unlhd -@BESU{22B4,unlhd} Left-pointing not-filled arrowhead, that is, triangle, with a -line under (binary). This is not available in Plain @TeX{}. In @LaTeX{} -you should load the @file{amssymb} package. For the normal subgroup -symbol load @file{amssymb} and use@tie{}@code{\vartrianglelefteq} (which -is a relation and so gives better spacing). +@BESU{22B4,unlhd} Left-pointing not-filled underlined arrowhead, that +is, triangle, with a line under (binary). @value{NeedsAMSSymb} For +the normal subgroup symbol load @file{amssymb} and +use@tie{}@code{\vartrianglelefteq} (which is a relation and so gives +better spacing). @item \unrhd -@BESU{22B5,unrhd} Right-pointing not-filled arrowhead, that is, triangle, with a -line under (binary). This is not available in Plain @TeX{}. In @LaTeX{} -you should load the @file{amssymb} package. For the normal subgroup -symbol load @file{amssymb} and use@tie{}@code{\vartrianglerighteq} -(which is a relation and so gives better spacing). +@BESU{22B5,unrhd} Right-pointing not-filled underlined arrowhead, that +is, triangle, with a line under (binary). @value{NeedsAMSSymb} For +the normal subgroup symbol load @file{amssymb} and +use@tie{}@code{\vartrianglerighteq} (which is a relation and so gives +better spacing). @item \Uparrow -@BES{21D1,\Uparrow} Double-line upward-pointing arrow (relation). Similar: -single-line up-pointing arrow@tie{}@code{\uparrow}. +@BES{21D1,\Uparrow} Double-line upward-pointing arrow +(relation). Similar: single-line up-pointing +arrow@tie{}@code{\uparrow}. @item \uparrow -@BES{2191,\uparrow} Single-line upward-pointing arrow, diverges (relation). Similar: -double-line up-pointing arrow@tie{}@code{\Uparrow}. +@BES{2191,\uparrow} Single-line upward-pointing arrow, diverges +(relation). Similar: double-line up-pointing +arrow@tie{}@code{\Uparrow}. @item \Updownarrow -@BES{21D5,\Updownarrow} Double-line upward-and-downward-pointing arrow (relation). Similar: -single-line upward-and-downward-pointing arrow@tie{}@code{\updownarrow}. +@BES{21D5,\Updownarrow} Double-line upward-and-downward-pointing arrow +(relation). Similar: single-line upward-and-downward-pointing +arrow@tie{}@code{\updownarrow}. @item \updownarrow @BES{2195,\updownarrow} Single-line upward-and-downward-pointing arrow (relation). Similar: @@ -6942,13 +8104,12 @@ double-line upward-and-downward-pointing arrow@tie{}@code{\Updownarrow}. @item \upharpoonright @BESU{21BE,upharpoonright} Up harpoon, with barb on right side -(relation). Synonym:@tie{}@code{@backslashchar{}restriction}. Not available in Plain -@TeX{}. In @LaTeX{} you should load the @file{amssymb} package. +(relation). Synonym:@tie{}@code{@backslashchar{}restriction}. @value{NeedsAMSSymb} @item \uplus -@BES{228E,\uplus} Multiset union, a union symbol with a plus symbol in the middle -(binary). Similar: union@tie{}@code{\cup}. Related: variable-sized -operator@tie{}@code{\biguplus}. +@BES{228E,\uplus} Multiset union, a union symbol with a plus symbol in +the middle (binary). Similar: union@tie{}@code{\cup}. Related: +variable-sized operator@tie{}@code{\biguplus}. @item \Upsilon @BES{03A5,\Upsilon} Upper case Greek letter (ordinary). @@ -6957,53 +8118,62 @@ operator@tie{}@code{\biguplus}. @BES{03C5,\upsilon} Lower case Greek letter (ordinary). @item \varepsilon -@BES{03B5,\varepsilon} Rounded small epsilon (ordinary). This is more widely used in -mathematics than the non-variant lower case Greek-text letter form -@code{\epsilon}@tie{}@BES{03F5,\epsilon}. Related: set membership@tie{}@code{\in}. +@BES{03B5,\varepsilon} Small letter script epsilon (ordinary). This is +more widely used in mathematics than the non-variant lunate epsilon form +@code{\epsilon}@tie{}@BES{03F5,\epsilon}. Related: set +membership@tie{}@code{\in}. + +@item \vanothing +@BESU{2205,varnothing} Empty set symbol. Similar: +@code{\emptyset}. Related: @code{\revemptyset}. @value{NeedsAMSSymb} @item \varphi -@BES{03C6,\varphi} Variant on the lower case Greek letter (ordinary). The -non-variant form is @code{\phi}@tie{}@BES{03D5,\phi}. +@BES{03C6,\varphi} Variant on the lower case Greek letter (ordinary). +The non-variant form is @code{\phi}@tie{}@BES{03D5,\phi}. @item \varpi -@BES{03D6,\varpi} Variant on the lower case Greek letter (ordinary). The -non-variant form is @code{\pi}@tie{}@BES{03C0,\pi}. +@BES{03D6,\varpi} Variant on the lower case Greek letter (ordinary). +The non-variant form is @code{\pi}@tie{}@BES{03C0,\pi}. @item \varrho -@BES{03F1,\varrho} Variant on the lower case Greek letter (ordinary). The -non-variant form is @code{\rho}@tie{}@BES{03C1,\rho}. +@BES{03F1,\varrho} Variant on the lower case Greek letter (ordinary). +The non-variant form is @code{\rho}@tie{}@BES{03C1,\rho}. @item \varsigma -@BES{03C2,\varsigma} Variant on the lower case Greek letter (ordinary). The -non-variant form is @code{\sigma}@tie{}@BES{03C3,\sigma}. +@BES{03C2,\varsigma} Variant on the lower case Greek letter +(ordinary). The non-variant form is +@code{\sigma}@tie{}@BES{03C3,\sigma}. @item \vartheta -@BES{03D1,\vartheta} Variant on the lower case Greek letter (ordinary). The -non-variant form is @code{\theta}@tie{}@BES{03B8,\theta}. +@BES{03D1,\vartheta} Variant on the lower case Greek letter +(ordinary). The non-variant form is +@code{\theta}@tie{}@BES{03B8,\theta}. @item \vdash -@BES{22A2,\vdash} Provable; turnstile, vertical and a dash (relation). Similar: -turnstile rotated a half-circle@tie{}@code{\dashv}. +@BES{22A2,\vdash} Provable; turnstile, vertical and a dash +(relation). Similar: turnstile rotated a +half-circle@tie{}@code{\dashv}. @item \vee -@BES{2228,\vee} Logical or; a downwards v shape (binary). Related: logical -and@tie{}@code{\wedge}. Similar: variable-sized +@BES{2228,\vee} Logical or; a downwards v shape (binary). Related: +logical and@tie{}@code{\wedge}. Similar: variable-sized operator@tie{}@code{\bigvee}. @item \Vert @BES{2016,\Vert} Vertical double bar (ordinary). Similar: vertical single bar@tie{}@code{\vert}. -For a norm you can use the @file{mathtools} package and add +For a norm symbol, you can use the @file{mathtools} package and add @code{\DeclarePairedDelimiter\norm@{\lVert@}@{\rVert@}} to your -preamble. This gives you three command variants for double-line vertical -bars that are correctly horizontally spaced: if in the document body you -write the starred version @code{$\norm*@{M^\perp@}$} then the height of -the vertical bars will match the height of the argument, whereas with -@code{\norm@{M^\perp@}} the bars do not grow with the height of the -argument but instead are the default height, and @code{\norm[@var{size -command}]@{M^\perp@}} also gives bars that do not grow but are set to -the size given in the @var{size command}, e.g., @code{\Bigg}. +preamble. This gives you three command variants for double-line +vertical bars that are correctly horizontally spaced: if in the +document body you write the starred version @code{$\norm*@{M^\perp@}$} +then the height of the vertical bars will match the height of the +argument, whereas with @code{\norm@{M^\perp@}} the bars do not grow +with the height of the argument but instead are the default height, +and @code{\norm[@var{size command}]@{M^\perp@}} also gives bars that +do not grow but are set to the size given in the @var{size command}, +e.g., @code{\Bigg}. @item \vert @BES{007C,\vert} Single line vertical bar (ordinary). Similar: double-line @@ -7149,10 +8319,15 @@ parenthesized modulus, as in (@math{\pmod 2^n - 1}) @math{\sinh} @item \sup -sup -@c don't try to use \sup since that turned into a Texinfo command -@c and it's not worth hassling with different versions when it's -@c just three roman letters anyway. +@iftex +@math{\mathop {\rm sup}} +@end iftex +@ifnottex +@math{\sup} +@end ifnottex +@c don't try to use \sup with dvi/pdf output since that turned into a +@c Texinfo command and it's not worth hassling with different versions +@c when it's just three roman letters anyway. @item \tan @math{\tan} @@ -7275,7 +8450,7 @@ Normally @code{4.0mu plus 2.0mu minus 4.0mu}. The longer name is @findex \, @findex \thinspace Normally @code{3mu}. The longer name is @code{\thinspace}. This can -be used in both math mode and text mode. +be used in both math mode and text mode. @xref{\thinspace}. @item \! @findex \! @@ -7312,8 +8487,39 @@ infinitesimal. @item \* @cindex discretionary multiplication @cindex multiplication symbol, discretionary line break -A ``discretionary'' multiplication symbol, at which a line break is -allowed. +A @dfn{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 @BES{00D7,\times} symbol is +printed immediately before the break. So + +@example +\documentclass@{article@} +\begin@{document@} +Now \(A_3 = 0\), hence the product of all terms \(A_1\) +through \(A_4\), that is \(A_1\* A_2\* A_3 \* A_4\), is +equal to zero. +\end@{document@} +@end example + +will make that sort of output@c +@ifnottex +@w{ }(the ellipsis @samp{[@dots{}]} is here to show the line break at +the same place as in a @TeX{} output)@c +@end ifnottex +: + +@indentedblock +Now @math{A_3 = 0}, +@iftex +hence the product of all terms +@end iftex +@ifnottex +[@dots{}] +@end ifnottex +@math{A_1} +through @math{A_4}, that is @math{A_1 A_2 \times}@*@math{A_3 A_4}, is +equal to zero. +@end indentedblock @item \cdots A horizontal ellipsis with the dots raised to the center of the line. @@ -7324,73 +8530,88 @@ As in: `$\cdots$'. @item \ddots A diagonal ellipsis: @math{\ddots}. -@item \frac@{num@}@{den@} +@item \frac@{@var{num}@}@{@var{den}@} @findex \frac -Produces the fraction @code{num} divided by @code{den}. +Produces the fraction @var{num} divided by @var{den}. -@iftex -eg. -@tex -${1}\over{4}$ -@end tex -@end iftex +@ifset HAS-MATH +eg. @math{{1}\over{4}} +@end ifset @item \left @var{delim1} ... \right @var{delim2} @findex \right @cindex null delimiter -The two delimiters need not match; @samp{.} acts as a null delimiter, +The two delimiters need not match; @samp{.} acts as a @dfn{null delimiter}, producing no output. The delimiters are sized according to the math -in between. Example: @code{\left( \sum_i=1^10 a_i \right]}. +in between. Example: @code{\left( \sum_@{i=1@}^@{10@} a_i \right]}. -@item \overbrace@{@var{text}@} -Generates a brace over @var{text}. -For example, @math{\overbrace{x+\cdots+x}^{k \rm\;times}}. +@item \mathdollar +Dollar sign in math mode: $. +@item \mathellipsis +Ellipsis (spaced for text) in math mode: @dots{}. + +@item \mathparagraph +Paragraph sign (pilcrow) in math mode: @BES{00B6,\P}. + +@item \mathsection +Section sign in math mode. + +@item \mathsterling +Sterling sign in math mode: @pounds{}. + +@item \mathunderscore +Underscore in math mode: _. + +@item \overbrace@{@var{math}@} +Generates a brace over @var{math}. +For example, @code{\overbrace@{x+\cdots+x@}^@{k \;\textrm@{times@}@}}. +@ifset HAS-MATH +The result looks like: @math{\overbrace{x+\cdots+x}^{k \rm\;times}} +@end ifset + @item \overline@{@var{text}@} Generates a horizontal line over @var{tex}. -For example, @math{\overline{x+y}}. +For example, @code{\overline@{x+y@}}. +@ifset HAS-MATH +The result looks like: @math{\overline{x+y}}. +@end ifset -@item \sqrt[@var{root}]@{arg@} +@item \sqrt[@var{root}]@{@var{arg}@} Produces the representation of the square root of @var{arg}. The optional argument @var{root} determines what root to produce. For example, the cube root of @code{x+y} would be typed as -@code{$\sqrt[3]@{x+y@}$}. -@tex -In @TeX{}, the result looks like this: -$\root 3 \of x+y$. -@end tex +@code{\sqrt[3]@{x+y@}}. +@ifset HAS-MATH +The result looks like this: @math{\root 3 \of {x+y}}. +@end ifset @item \stackrel@{@var{text}@}@{@var{relation}@} Puts @var{text} above @var{relation}. For example, @code{\stackrel@{f@}@{\longrightarrow@}}. -@tex -In @TeX{}, the result looks like this: -$\buildrel f \over \longrightarrow$. -@end tex +@ifset HAS-MATH + The result looks like this: @math{\buildrel f \over \longrightarrow}. +@end ifset -@item \underbrace@{math@} -Generates @var{math} with a brace underneath. -@tex -In @TeX{}, the result looks like this: -$\underbrace{x+y+z}_{>\,0}$. -@end tex +@item \underbrace@{@var{math}@} +Generates @var{math} with a brace underneath. For example, @code{\underbrace@{x+y+z@}_@{>\,0@}} +@ifset HAS-MATH +The result looks like this: @math{\underbrace{x+y+z}_{>\,0}}. +@end ifset -@item \underline@{text@} +@item \underline@{@var{text}@} Causes @var{text}, which may be either math mode or not, to be underlined. The line is always below the text, taking account of descenders. -@tex -In @TeX{}, the result looks like this: -$\underline{xyz}$ -@end tex +@ifset HAS-MATH +The result looks like this: @math{\underline{xyz}} +@end ifset @item \vdots -@findex \vdots Produces a vertical ellipsis. -@tex -In @TeX{}, the result looks like this: -$\vdots$. -@end tex +@ifset HAS-MATH +The result looks like this: @math{\vdots}. +@end ifset @end ftable @@ -7446,6 +8667,50 @@ When @LaTeX{} is in paragraph mode while making a box, it is said to be in ``inner paragraph mode'' (no page breaks). Its normal paragraph mode, which it starts out in, is called ``outer paragraph mode''. +@menu +* \ensuremath:: Ensure that math mode is active +@end menu + +@node \ensuremath +@section @code{\ensuremath} + +Synopsis: + +@example +\ensuremath@{@var{formula}@} +@end example + +The @code{\ensuremath} command ensures that @var{formula} is typeset in +math mode whatever the current mode in which the command is used. + +For instance: + +@example +\documentclass@{report@} +\newcommand@{\ab@}@{\ensuremath@{(\delta, \varepsilon)@}@} +\begin@{document@} +Now, the \ab\ pair is equal to \(\ab = (\frac@{1@}@{\pi@}, 0)\), ... +\end@{document@} +@end example + +One can redefine commands that can be used only in math mode so that +they ca be used in any mode like in the following example given for +@code{\leadsto}: + +@c Vincent 2 Karl : "Tous les chemins mènent à Rome" is a French saying +@c meaning that there are many different ways to get the same result. I +@c am not sure whether in English the given example is also funny. +@example +\documentclass@{report@} +\usepackage@{amssymb@} +\newcommand@{\originalMeaningOfLeadsTo@}@{@} +\let\originalMeaningOfLeadsTo\leadsto +\renewcommand\leadsto@{\ensuremath@{\originalMeaningOfLeadsTo@}@} +\begin@{document@} +All roads \leadsto\ Rome. +\end@{document@} +@end example + @node Page styles @chapter Page styles @@ -7613,11 +8878,11 @@ changes to @var{style} for the current page only. Horizontal space * \hspace:: Fixed horizontal space. * \hfill:: Stretchable horizontal space. -* \(SPACE) and \@@:: Space after a period. -* \(SPACE) after CS:: Controlling space gobbling after a control sequence. -* \frenchspacing:: Make interword and intersentence space equal. +* \(SPACE) and \@@:: Space after a period. +* \(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. +* \/:: Insert italic correction. * \hrulefill \dotfill:: Stretchable horizontal rule or dots. Vertical space @@ -7650,7 +8915,7 @@ space is like backspacing. Normally when @TeX{} breaks a paragraph into lines it discards white space (glues and kerns) that would come at the start of a line, so you get an inter-word space or a line break between words but not both. This -command's starred version @code{\hspace*@{..@}} puts a non-discardable +command's starred version @code{\hspace*@{...@}} puts a non-discardable invisible item in front of the space, so the space appears in the output. @@ -7698,7 +8963,7 @@ colon) more than the space between words 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 intersentence space +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 @@ -7707,63 +8972,42 @@ sentence, then follow that period with a backslash-space (@code{\ }) or a tie (@code{~}). Examples are @code{Nat.\ Acad.\ Science}, and @code{Mr.~Bean}, and @code{(manure, etc.)\ for sale}. -For other use of @code{\ }, see also @ref{\(SPACE) after CS}. +For another use of @code{\ }, @pxref{\(SPACE) after control sequence}. In the opposite situation, if you have a capital letter followed by a -period that ends the sentence, then put @code{\@@} on the left of that -period. For example, @code{book by the MAA\@@.} will have intersentence +period that ends the sentence, then put @code{\@@} before that period. +For example, @code{book by the MAA\@@.} will have inter-sentence spacing after the period. -In contrast, putting @code{\@@} on the right of a period tells @TeX{} -that the period does not end the sentence. In the example -@code{reserved words (if, then, etc.\@@) are different}, @TeX{} will put -interword space after the closing parenthesis (note that @code{\@@} is -before the parenthesis). +In contrast, putting @code{\@@} after a period tells @TeX{} that the +period does not end the sentence. In the example @code{reserved words +(if, then, etc.\@@) are different}, @TeX{} will put interword space +after the closing parenthesis (note that @code{\@@} is before the +parenthesis). + -@node \(SPACE) after CS -@section @code{\ } after a control sequence +@node \(SPACE) after control sequence +@section @code{\ } after control sequence -The @code{\ } command is often used after control sequences to keep them -from gobbling the space that follows, as in @code{\TeX\ is a nice -system.} And, under normal circumstances @code{\}@key{tab} and -@code{\}@key{newline} are equivalent to @code{\ }. For other use of +The @code{\ } command is often used after control sequences to keep +them from gobbling the space that follows, as in @samp{\TeX\ is nice}. +And, under normal circumstances, @code{\}@key{tab} and +@code{\}@key{newline} are equivalent to @code{\ }. For another use of @code{\ }, see also @ref{\(SPACE) and \@@}. Some people prefer to use @code{@{@}} for the same purpose, as in -@code{\TeX@{@} is a nice system.} This has the advantage that you can -always write it the same way, like @code{\TeX@{@}}, whether it is -followed by a space or by a punctuation mark. Please compare: +@code{\TeX@{@} is nice}. This has the advantage that you can always +write it the same way, namely @code{\TeX@{@}}, whether it is followed +by a space or by a punctuation mark. Compare: @example \TeX\ is a nice system. \TeX, a nice system.@* \TeX@{@} is a nice system. \TeX@{@}, a nice system. @end example - -When you define user commands (@pxref{\newcommand & \renewcommand}) you -can prevent the space gobbling after the command by using the package -@code{xspace} and inserting @code{\xspace} at the end of the definition -For instance: -@example -\documentclass@{minimal@} -\usepackage@{xspace@} -\newcommand*@{\Loup@}@{Grand Cric\xspace@} -\begin@{document@} -Que le \Loup me croque ! -\end@{document@} -@end example - -A quick hack to use @code{\xspace} for existing command is as follows: -@example -\documentclass@{minimal@} -\usepackage@{xspace@} -\newcommand*@{\SansXspaceTeX@}@{@} -\let\SansXspaceTeX\TeX -\renewcommand@{\TeX@}@{\SansXspaceTeX\xspace@} -\begin@{document@} -\TeX is a nice system. -\end@{document@} -@end example +@PkgIndex{xspace} +Some individual commands, notably those defined with the @code{xspace}, +package do not follow the standard behavior. @node \frenchspacing @@ -7771,10 +9015,10 @@ A quick hack to use @code{\xspace} for existing command is as follows: @findex \frenchspacing @findex \nonfrenchspacing -@cindex spacing, intersentence +@cindex spacing, inter-sentence This declaration (from Plain @TeX{}) causes @LaTeX{} to treat -intersentence spacing in the same way as interword spacing. +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 @@ -7882,10 +9126,10 @@ then this command will not add more space than what is needed to make the natural length of the total vertical space equal to @var{length}. Use this command to adjust the vertical space above or below an -environment that starts a new paragraph. (For instance, a Theorem -environment is defined to begin and end in @code{\addvspace@{..@}} so -that two consecutive Theorem's are separated by one vertical space, not -two.) +environment that starts a new paragraph. For instance, a Theorem +environment is defined to begin and end with @code{\addvspace@{...@}} +so that two consecutive Theorem's are separated by one vertical space, +not two. This command is fragile (@pxref{\protect}). @@ -7900,30 +9144,27 @@ change that is to precede this command with a @code{\par} command. These commands produce a given amount of space, specified by the document class. -@table @code +@ftable @code @item \bigskip -@findex \bigskip @findex \bigskipamount The same as @code{\vspace@{\bigskipamount@}}, ordinarily about one line space, with stretch and shrink (the default for the @code{book} and @code{article} classes is @code{12pt plus 4pt minus 4pt}). @item \medskip -@findex \medskip @findex \medskipamount The same as @code{\vspace@{\medskipamount@}}, ordinarily about half of a line space, with stretch and shrink (the default for the @code{book} and @code{article} classes is @code{6pt plus 2pt minus 2pt}). @item \smallskip -@findex \smallskip @findex \smallskipamount The same as @code{\vspace@{\smallskipamount@}}, ordinarily about a quarter of a line space, with stretch and shrink (the default for the @code{book} and @code{article} classes is @code{3pt plus 1pt minus 1pt}). -@end table +@end ftable @node \vfill @@ -7976,9 +9217,13 @@ Synopsis, one of these two: Add the vertical space @var{length}. This can be negative or positive, and is a rubber length (@pxref{Lengths}). -@LaTeX{} removes the vertical space from @code{\vfill} at a page break, -that is, at the top or bottom of a page. The starred version -@code{\vspace*@{..@}} causes the space to stay. +@LaTeX{} removes the vertical space from @code{\vspace} at a page +break, that is, at the top or bottom of a page. The starred version +@code{\vspace*@{...@}} causes the space to stay. + +If @code{\vspace} is used in the middle of a paragraph (i.e., in +horizontal mode), the space is inserted @emph{after} the line with +the @code{\vspace} command. A new paragraph is not started. In this example the two questions will be evenly spaced vertically on the page, with at least one inch of space below each. @@ -8062,12 +9307,18 @@ Both commands produce a rule of thickness @code{\fboxrule} (default @findex lrbox -@code{\begin@{lrbox@}@{cmd@} text \end@{lrbox@}} +Synopsis: -This is the environment form of @code{\sbox}. +@example +\begin@{lrbox@}@{\@var{cmd}@} + @var{text } +\end@{lrbox@} +@end example -The text inside the environment is saved in the box @code{cmd}, which -must have been declared with @code{\newsavebox}. +This is the environment form of @ref{\sbox,@code{\sbox}}. + +The @var{text} inside the environment is saved in the box @code{\@var{cmd}}, +which must have been declared with @code{\newsavebox}. @node \makebox @@ -8114,8 +9365,9 @@ Synopsis: \parbox[@var{position}][@var{height}][@var{inner-pos}]@{@var{width}@}@{@var{text}@} @end example +@cindex paragraph mode The @code{\parbox} command produces a box whose contents are created -in @code{paragraph} mode. It should be used to make a box small +in @dfn{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 @code{\parbox} argument. For larger pieces of text, including ones @@ -8131,9 +9383,13 @@ the width of the parbox; the text that goes inside the parbox. @end table -The optional @var{position} argument allows you to align either the -top or bottom line in the parbox with the baseline of the surrounding -text (default is top). +By default @LaTeX{} will position vertically a parbox so its center +lines up with the center of the surrounding text line. When the +optional @var{position} argument is present and equal either to @samp{t} +or @samp{b}, this allows you respectively to align either the top or +bottom line in the parbox with the baseline of the surrounding text. You +may also specify @samp{m} for @var{position} to get the default +behaviour. The optional @var{height} argument overrides the natural height of the box. @@ -8161,7 +9417,7 @@ for this to work. Synopsis: @example -\raisebox@{distance@}[@var{height}][@var{depth}]@{text@} +\raisebox@{@var{distance}@}[@var{height}][@var{depth}]@{@var{text}@} @end example The @code{\raisebox} command raises or lowers @var{text}. The first @@ -8169,9 +9425,9 @@ mandatory argument specifies how high @var{text} is to be raised (or lowered if it is a negative amount). @var{text} itself is processed in LR mode. -The optional arguments @var{height} and @var{depth} are dimensions. -If they are specified, @LaTeX{} treats @var{text} as extending a -certain distance above the baseline (height) or below (depth), +The optional arguments @var{height} and @var{depth} are dimensions. If +they are specified, @LaTeX{} treats @var{text} as extending a certain +distance above the baseline (@var{height}) or below (@var{depth}), ignoring its natural height and depth. @@ -8235,12 +9491,14 @@ Synopsis: special meaning do not correspond to simple characters you can type. @menu -* Reserved characters:: Inserting @samp{# $ % & ~ _ ^ \ @{ @}} -* Text symbols:: Inserting other non-letter symbols in text. -* Accents:: Inserting accents. -* Non-English characters:: Inserting other non-English characters. -* \rule:: Inserting lines and rectangles. -* \today:: Inserting today's date. +* Reserved characters:: Inserting @samp{# $ % & @{ @} _ ~ ^ \} +* 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's date. @end menu @@ -8249,12 +9507,14 @@ special meaning do not correspond to simple characters you can type. @cindex reserved characters @cindex characters, reserved - -The following characters play a special role in @LaTeX{} and are called -``reserved characters'' or ``special characters''. +@cindex special characters +@cindex characters, special +@LaTeX{} sets aside the following characters for special purposes (for +example, the percent sign@tie{}@code{%} is for comments) so they are +called @dfn{reserved characters} or @dfn{special characters}. @example -# $ % & ~ _ ^ \ @{ @} +# $ % & @{ @} _ ~ ^ \ @end example @findex \# @@ -8264,35 +9524,101 @@ The following characters play a special role in @LaTeX{} and are called @findex \_ @findex \@{ @findex \@} -Whenever you write one of these characters into your file, @LaTeX{} -will do something special. If you simply want the character to be -printed as itself, include a @code{\} in front of the character. For -example, @code{\$} will produce @code{$} in your output. - -@findex \backslash -One exception to this rule is @code{\} itself, because @code{\\} has -its own special (context-dependent) meaning. A roman \ is produced by -typing @code{$\backslash$} in your file, and a typewriter @code{\} is -produced by using @samp{\} in a verbatim command (@pxref{verbatim}). +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@tie{}@code{\} in front of the character. Thus, +@code{\$1.23} will produce@tie{}@code{$1.23} in your output. @findex \~ -@findex \^ -Also, @code{\~} and @code{\^} place tilde and circumflex accents over -the following letter, as in @~{o} and @^{o} (@pxref{Accents}); to get -a standalone @code{~} or @code{^}, you can again use a verbatim -command. +@findex \^ +@findex \textbackslash +As to the last three characters, to get a tilde in the text body font +use @code{\~@{@}} (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 @code{\^@{@}}. A text body font backslash +results from @code{\textbackslash@{@}}. + +To produce the reserved characters in a typewriter font use +@code{\verb!!}, as below. + +@example +\begin@{center@} + \# \$ \% \& \@{ \@} \_ \~@{@} \^@{@} \textbackslash \\ + \verb!# $ % & @{ @} _ ~ ^ \! +\end@{center@} +@end example + +In that example the double backslash@tie{}@code{\\} is only there to +split the lines. + + +@node Upper and lower case +@section Upper and lower case + +@cindex Upper case +@cindex Lower case +@cindex characters, case + +Synopsis: + +@example +\uppercase@{@var{text}@} +\lowercase@{@var{text}@} +\MakeUppercase@{@var{text}@} +\MakeLowercase@{@var{text}@} +@end example + +Change the case of characters. The @TeX{} primitives commands +@code{\uppercase} and @code{\lowercase} only work for American +characters. The @LaTeX{} commands @code{\MakeUppercase} and +@code{\MakeLowercase} commands also change characters accessed by +commands such as @code{\ae} or @code{\aa}. The commands +@code{\MakeUppercase} and @code{\MakeLowercase} are robust but they have +moving arguments (@pxref{\protect}). + +These commands do not change the case of letters used in the name of a +command within @var{text}. But they do change the case of every other +latin character inside the argument @var{text}. Thus, +@code{\MakeUppercase@{Let $y=f(x)$}@} produces ``LET Y=F(X)''. Another +example is that the name of an environment will be changed, so that +@code{\MakeUppercase@{\begin@{tabular@} ... \end@{tabular@}} will +produce an error because the first half is changed to +@code{\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 command inside @var{text} +you need to do expansion. Here the @code{\Schoolname} produces +``COLLEGE OF MATHEMATICS''. + +@example +\newcommand@{\schoolname@}@{College of Mathematics@} +\newcommand@{\Schoolname@}@{\expandafter\MakeUppercase\expandafter@{\schoolname@}@} +@end example + +To uppercase only the first letter of words use the package +@file{mfirstuc}. + + +@node Symbols by font position +@section Symbols by font position @findex \symbol @cindex accessing any character of a font +@cindex font symbols, by number -Finally, you can access any character of the current font once you -know its number by using the @code{\symbol} command. For example, the -visible space character used in the @code{\verb*} command has the code -decimal 32, so it can be typed as @code{\symbol@{32@}}. +You can access any character of the current font using its number with +the @code{\symbol} command. For example, the visible space character +used in the @code{\verb*} command has the code decimal 32, so it can be +typed as @code{\symbol@{32@}}. -You can also specify octal numbers with @code{'} or hexadecimal numbers -with @code{"}, so the previous example could also be written as -@code{\symbol@{'40@}} or @code{\symbol@{"20@}}. +You can also specify numbers in octal (base 8) by using a @code{'} +prefix, or hexadecimal (base 16) with a @code{"} prefix, so the previous +example could also be written as @code{\symbol@{'40@}} or +@code{\symbol@{"20@}}. @node Text symbols @@ -8361,7 +9687,7 @@ Left (opening) quote: `. @itemx \textparagraph @cindex paragraph symbol @cindex pilcrow -Paragraph sign (pilcrow). +Paragraph sign (pilcrow): @BES{00B6,\P}. @item \pounds @itemx \textsterling @@ -8383,8 +9709,9 @@ Double and single quotation marks on the baseline: Right (closing) quote: '. @item \S +\itemx \textsection @cindex section symbol -Section symbol. +Section sign: @BES{00A7,\S}. @item \TeX @cindex @TeX{} logo @@ -8445,8 +9772,8 @@ Bullet: @bullet{}. @var{letter} in a circle, as in @registeredsymbol{}. @item \textcompwordmark -@itemx \textcapitalwordmark -@itemx \textascenderwordmark +@itemx \textcapitalcompwordmark +@itemx \textascendercompwordmark @cindex composite word mark, in text @cindex cap height @cindex ascender height @@ -8463,7 +9790,7 @@ Dagger: @math{\dag}. @cindex double dagger, in text Double dagger: @math{\ddag}. -@item \textdollar @r{(or @code{$})} +@item \textdollar @r{(or @code{\$})} @cindex dollar sign @cindex currency, dollar Dollar sign: $. @@ -8509,7 +9836,7 @@ Feminine and masculine ordinal symbols: @ordf{}, @ordm{}. @item \textperiodcentered @cindex period, centered, in text @cindex centered period, in text -Centered period: @math{\cdot}. +Centered period: @BES{00B7,\cdot}. @item \textquestiondown @r{(or @code{?`})} @cindex question mark, upside-down @@ -8520,7 +9847,7 @@ Upside down question mark: @questiondown{}. @cindex double left quote Double left quote: ``. -@item \textquotedblright @r{(or @code{'})} +@item \textquotedblright @r{(or @code{''})} @cindex right quote, double @cindex double right quote Double right quote: ''. @@ -8535,6 +9862,12 @@ Single left quote: `. @cindex single right quote Single right quote: '. +@item \textquotesingle +@cindex quote, single straight +@cindex straight single quote +@cindex single quote, straight +Straight single quote. (From TS1 encoding.) + @item \textquotestraightbase @itemx \textquotestraightdblbase @cindex quote, straight base @@ -8559,7 +9892,7 @@ Right arrow. @item \texttrademark @cindex trademark symbol -Trademark symbol: @math{^{\hbox{TM}}}. +Trademark symbol: @BES{2122,^{\hbox{TM}}}. @item \texttwelveudash @cindex two-thirds em-dash @@ -8584,7 +9917,7 @@ Visible space symbol. @cindex characters, accented @cindex letters, accented -@cindex @code{babel} package +@PkgIndex{babel} @cindex multilingual support @LaTeX{} has wide support for many of the world's scripts and languages, through the @code{babel} package and related support. This @@ -8743,16 +10076,20 @@ Produces a h@'a@v{c}ek (check, caron) accent, as in `@v{o}'. @end table -@node Non-English characters -@section Non-English characters +@node Additional Latin letters +@section Additional Latin letters +@anchor{Non-English characters} +@cindex Latin letters, additional +@cindex letters, additional Latin +@cindex extended Latin @cindex special characters @cindex non-English characters @cindex characters, non-English -@cindex letters, non-English -Here are the basic @LaTeX{} commands for inserting characters commonly -used in languages other than English. +Here are the basic @LaTeX{} commands for inserting letters (beyond +A--Z) extending the Latin alphabet, used primarily in languages other +than English. @table @code @item \aa @@ -8775,13 +10112,17 @@ used in languages other than English. @findex \DH (@DH{}) @cindex Icelandic eth @cindex eth, Icelandic letter -Icelandic letter eth: @dh{} and @DH{}. +Icelandic letter eth: @dh{} and @DH{}. Not available with @sc{OT1} +encoding, you need the @file{fontenc} package to select an alternate +font encoding, such as @sc{T1}. @item \dj @itemx \DJ @findex \dj @findex \DJ -Crossed d and D, a.k.a.@: capital and small letter d with stroke. +Crossed d and D, a.k.a.@: capital and small letter d with stroke. Not +available with @sc{OT1} encoding, you need the @file{fontenc} package to +select an alternate font encoding, such as @sc{T1}. @item \ij @itemx \IJ @@ -8801,7 +10142,7 @@ ij and IJ (except somewhat closer together than appears here). @itemx \NG @findex \ng @findex \NG -Latin letter eng, also used in phonetics. +Lappish letter eng, also used in phonetics. @item \o @itemx \O @@ -8831,7 +10172,9 @@ Latin letter eng, also used in phonetics. @findex \TH (@TH{}) @cindex Icelandic thorn @cindex thorn, Icelandic letter -Icelandic letter thorn: @th{} and @TH{}. +Icelandic letter thorn: @th{} and @TH{}. Not available with @sc{OT1} +encoding, you need the @file{fontenc} package to select an alternate +font encoding, such as @sc{T1}. @end table @@ -8869,12 +10212,25 @@ The thickness of the rule (mandatory). @cindex date, today's The @code{\today} command produces today's date, in the format -@samp{@var{month} @var{dd}, @var{yyyy}}; for example, `July 4, 1976'. +@samp{@var{month} @var{dd}, @var{yyyy}}; for example, @samp{July 4, 1976}. It uses the predefined counters @code{\day}, @code{\month}, and @code{\year} (@pxref{\day \month \year}) to do this. It is not updated as the program runs. -@cindex @code{datetime} package +Multilingual packages like @file{babel} or classes like @file{lettre}, +among others, will localize @code{\today}. For example, the following +will output @samp{4 juillet 1976}: + +@example +\year=1976 \month=7 \day=4 +\documentclass@{minimal@} +\usepackage[french]@{babel@} +\begin@{document@} +\today +\end@{document@} +@end example + +@PkgIndex{datetime} The @code{datetime} package, among others, can produce a wide variety of other date formats. @@ -8888,7 +10244,10 @@ of other date formats. A large document requires a lot of input. Rather than putting the whole input in a single large file, it's more efficient to split it into several smaller ones. Regardless of how many separate files you use, -there is one that is the root file; it is the one whose name you type +there is one that is the +@cindex root file +@cindex file, root +@dfn{root file}; it is the one whose name you type when you run @LaTeX{}. @xref{filecontents}, for an environment that allows bundling an @@ -8919,7 +10278,7 @@ command executes @code{\clearpage} to start a new page Given an @code{\includeonly} command, the @code{\include} actions are only run if @var{file} is listed as an argument to -@code{\includeonly}. See the next section. +@code{\includeonly}. See @ref{\includeonly}. @cindex nested @code{\include}, not allowed The @code{\include} command may not appear in the preamble or in a file @@ -8927,7 +10286,7 @@ read by another @code{\include} command. @node \includeonly -@section \@code{includeonly} +@section @code{\includeonly} @findex \includeonly @@ -8939,9 +10298,9 @@ Synopsis: The @code{\includeonly} command controls which files will be read by subsequent @code{\include} commands. The list of filenames is -comma-separated. Each @var{file} must exactly match a filename -specified in a @code{\include} command for the selection to be -effective. +comma-separated. Each element @var{file1}, @var{file2}, @dots{} must +exactly match a filename specified in a @code{\include} command for the +selection to be effective. This command can only appear in the preamble. @@ -9016,15 +10375,21 @@ The command @code{\nofiles} overrides these commands, and @node \addcontentsline @subsection @code{\addcontentsline} -@findex \addcontentsline@{@var{ext}@}@{@var{unit}@}@{@var{text}@} +@findex \addcontentsline @cindex table of contents entry, manually adding -The @code{\addcontentsline}@{@var{ext}@}@{@var{unit}@}@{@var{text}@} -command adds an entry to the specified list or table where: +Synopsis: + +@example +\addcontentsline@{@var{ext}@}@{@var{unit}@}@{@var{text}@} +@end example + +The @code{\addcontentsline} command adds an entry to the specified list +or table where: @table @var @item 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: @code{toc} (table of contents), @code{lof} (list of figures), or @code{lot} (list of tables). @@ -9037,18 +10402,19 @@ following, matching the value of the @var{ext} argument: The name of the sectional unit: @code{part}, @code{chapter}, @code{section}, @code{subsection}, @code{subsubsection}. @item lof -For the list of figures. +For the list of figures: @code{figure}. @item lot -For the list of tables. +For the list of tables: @code{table}. @end table -@item entry +@item text The text of the entry. @end table @findex \contentsline -What is written to the @file{.@var{ext}} file is the -command @code{\contentsline@{@var{unit}@}@{@var{name}@}}. +What is written to the @file{.@var{ext}} file is the command +@code{\contentsline@{@var{unit}@}@{@var{text}@}@{@var{num}@}}, where +@code{@var{num}} is the current value of counter @code{@var{unit}}. @c xx how hardwired are these values? other unit names? @@ -9108,7 +10474,7 @@ the preamble. @findex \index @cindex @file{.idx} file The command @code{\index@{@var{text}@}} writes an index entry for -@var{text} to an auxiliary file with the @file{.idx} extension. +@var{text} to an auxiliary file named with the @file{.idx} extension. @findex \indexentry Specifically, what gets written is the command @@ -9137,23 +10503,23 @@ multi-lingual) @command{xindy} (@url{http://xindy.sourceforge.net}). This results in a @file{.ind} file, which can then be read to typeset the index. -@findex printindex -@cindex @code{makeidx} package +@findex \printindex +@PkgIndex{makeidx} The index is usually generated with the @code{\printindex} command. This is defined in the @code{makeidx} package, so @code{\usepackage@{makeidx@}} needs to be in the preamble. -@findex indexspace +@findex \indexspace The rubber length @code{\indexspace} is inserted before each new letter in the printed index; its default value is @samp{10pt plus5pt minus3pt}. -@cindex @code{showidx} package +@PkgIndex{showidx} The @code{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. -@cindex @code{multind} package +@PkgIndex{multind} The @code{multind} package supports multiple indexes. See also the @TeX{} FAQ entry on this topic, @url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind}. @@ -9177,7 +10543,7 @@ Synopsis: @var{letter body} \closing@{@var{closing text}@} \end@{letter@} - ... more letters ... +... more letters ... \end@{document@} @end example @@ -9206,13 +10572,13 @@ backslash@tie{}(@code{\\}). @LaTeX{} will put the @var{sender name} under the closing, after a vertical space for the traditional hand-written signature; it also can contain multiple lines. -Each letter environment begins with a required @code{\opening} command +Each @code{letter} environment body begins with a required @code{\opening} command such as @code{\opening@{Dear Madam or Sir:@}}. The @var{letter body} -text is ordinary @LaTeX{} so it can contain everything from from +text is ordinary @LaTeX{} so it can contain everything from enumerated lists to displayed math, except that commands such as @code{\chapter} that make no sense in a letter are turned off. Each -letter environment typically ends with a @code{\closing} command such as -@code{\closing@{Yours,@}}. +@code{letter} environment body typically ends with a @code{\closing} +command such as @code{\closing@{Yours,@}}. @findex \\ @r{for letters} Additional material may come after the @code{\closing}. You can say who @@ -9309,13 +10675,13 @@ Synopsis: @example \cc@{@var{first name} \\ - .. @} + ... @} @end example Produce a list of names to which copies of the letter were sent. This command is optional. If it appears then typically it comes after @code{\closing}. Separate multiple lines with a double -backslash@tie{}@code{\\}. +backslash@tie{}@code{\\}, as in: @example \cc@{President \\ @@ -9333,7 +10699,7 @@ backslash@tie{}@code{\\}. Synopsis: @example -\closing@{text@} +\closing@{@var{text}@} @end example Usually at the end of a letter, above the handwritten signature, there @@ -9354,7 +10720,7 @@ Synopsis: @example \encl@{@var{first enclosed object} \\ - .. @} + ... @} @end example Produce a list of things included with the letter. This command is @@ -9409,6 +10775,8 @@ address}). The @var{sender address} is the value returned by the macro in the argument to the @code{letter} environment. By default @code{\mlabel} ignores the first argument, the @var{sender address}. +@c xxx TODO, align on latex2e-fr.texi, see https://mail.gna.org/public/latexrefman-discuss/2015-10/msg00000.html + @node \name @section @code{\name} @@ -9437,7 +10805,7 @@ Synopsis: @end example This command is required. It starts a letter, following the -@code{\begin@{letter@}@{..@}}. The mandatory argument @var{text} is the +@code{\begin@{letter@}@{...@}}. The mandatory argument @var{text} is the text that starts your letter. For instance: @example @@ -9460,7 +10828,7 @@ Add a postscript. This command is optional and usually is used after @code{\closing}. @example -\ps@{P.S. After you have read this letter, burn it. Or eat it.@} +\ps@{P.S. After you have read this letter, burn it. Or eat it.@} @end example @@ -9471,7 +10839,7 @@ Synopsis: @example \signature@{@var{first line} \\ - .. @} + ... @} @end example @findex \signature @@ -9558,14 +10926,14 @@ page. Synopsis: @example -\typein[@var{\cmd}]@{@var{msg}@} +\typein[\@var{cmd}]@{@var{msg}@} @end example @code{\typein} prints @var{msg} on the terminal and causes @LaTeX{} to stop and wait for you to type a line of input, ending with return. If -the optional @var{\cmd} argument is omitted, the typed input is +the optional @code{\@var{cmd}} argument is omitted, the typed input is processed as if it had been included in the input file in place of the -@code{\typein} command. If the @var{\cmd} argument is present, it +@code{\typein} command. If the @code{\@var{cmd}} argument is present, it must be a command name. This command name is then defined or redefined to be the typed input. @@ -9716,6 +11084,7 @@ The end. @verbatim \documentclass{ltugboat} + \usepackage{graphicx} \usepackage{ifpdf} \ifpdf @@ -9724,6 +11093,8 @@ The end. \usepackage{url} \fi +%%% Start of metadata %%% + \title{Example \TUB\ article} % repeat info for each author. @@ -9732,51 +11103,56 @@ The end. \netaddress{user (at) example dot org} \personalURL{http://example.org/~user/} +%%% End of metadata %%% + \begin{document} \maketitle \begin{abstract} This is an example article for \TUB{}. +Please write an abstract. \end{abstract} \section{Introduction} -This is an example article for \TUB, from +This is an example article for \TUB, linked from \url{http://tug.org/TUGboat/location.html}. We recommend the \texttt{graphicx} package for image inclusions, and the -\texttt{hyperref} package for active urls in the \acro{PDF} output. -Nowadays \TUB\ is produced using \acro{PDF} files exclusively. - -The \texttt{ltugboat} class provides these abbreviations and many more: +\texttt{hyperref} package if active urls are desired (in the \acro{PDF} +output). Nowadays \TUB\ is produced using \acro{PDF} files exclusively. +The \texttt{ltugboat} class provides these abbreviations (and many more): % verbatim blocks are often better in \small \begin{verbatim}[\small] \AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW \BibTeX \CTAN \DTD \HTML \ISBN \ISSN \LaTeXe -\Mc \mf \MFB \mtex \PCTeX \pcTeX -\PiC \PiCTeX \plain \POBox \PS -\SC \SGML \SliTeX \TANGLE \TB \TP +\mf \MFB +\plain \POBox \PS +\SGML \TANGLE \TB \TP \TUB \TUG \tug -\UG \UNIX \VAX \XeT \WEB \WEAVE +\UNIX \XeT \WEB \WEAVE -\Dash \dash \vellipsis \bull \cents \Dag -\careof \thinskip +\, \bull \Dash \dash \hyph \acro{FRED} -> {\small[er] fred} % please use! \cs{fred} -> \fred -\env{fred} -> \begin{fred} \meta{fred} -> \nth{n} -> 1st, 2nd, ... \sfrac{3/4} -> 3/4 \booktitle{Book of Fred} \end{verbatim} -For more information, see the ltubguid document at: -\url{http://mirror.ctan.org/macros/latex/contrib/tugboat} -(we recommend using \verb|mirror.ctan.org| for \CTAN\ references). +For references to other \TUB\ issue, please use the format +\textsl{volno:issno}, e.g., ``\TUB\ 32:1'' for our \nth{100} issue. + +This file is just a template. The \TUB\ style documentation is the +\texttt{ltubguid} document at \url{http://ctan.org/pkg/tugboat}. (For +\CTAN\ references, where sensible we recommend that form of url, using +\texttt{/pkg/}; or, if you need to refer to a specific file location, +\texttt{http://mirror.ctan.org/\textsl{path}}.) Email \verb|tugboat@tug.org| if problems or questions. 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 a2966568b6d..9a70ebbf698 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.txt +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.txt @@ -37,6 +37,10 @@ LaTeX2e: An unofficial reference manual 2.4 LaTeX command syntax 3 Document classes 3.1 Document class options + 3.2 Additional packages + 3.3 Class and package construction + 3.3.1 Class and package structure + 3.3.2 Class and package commands 4 Fonts 4.1 Font styles 4.2 Font sizes @@ -73,6 +77,7 @@ 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.17 'math' 8.18 'minipage' 8.19 'picture' @@ -113,10 +118,11 @@ LaTeX2e: An unofficial reference manual 9.2 '\obeycr' & '\restorecr' 9.3 '\newline' 9.4 '\-' (discretionary hyphen) - 9.5 '\fussy' - 9.6 '\sloppy' - 9.7 '\hyphenation' - 9.8 '\linebreak' & '\nolinebreak' + 9.5 '\discretionary' (generalized hyphenation point) + 9.6 '\fussy' + 9.7 '\sloppy' + 9.8 '\hyphenation' + 9.9 '\linebreak' & '\nolinebreak' 10 Page breaking 10.1 '\cleardoublepage' 10.2 '\clearpage' @@ -153,8 +159,8 @@ LaTeX2e: An unofficial reference manual 13.8 '\day \month \year': Predefined counters 14 Lengths 14.1 Units of length - 14.2 '\setlength{\LEN}{VALUE}' - 14.3 '\addtolength{\LEN}{AMOUNT}' + 14.2 '\setlength' + 14.3 '\addtolength' 14.4 '\settodepth' 14.5 '\settoheight' 14.6 '\settowidth{\LEN}{TEXT}' @@ -172,6 +178,7 @@ LaTeX2e: An unofficial reference manual 16.5 Spacing in math mode 16.6 Math miscellany 17 Modes + 17.1 '\ensuremath' 18 Page styles 18.1 '\maketitle' 18.2 '\pagenumbering' @@ -181,7 +188,7 @@ LaTeX2e: An unofficial reference manual 19.1 '\hspace' 19.2 '\hfill' 19.3 '\(SPACE)' and \@ - 19.4 '\ ' after a control sequence + 19.4 '\ ' after control sequence 19.5 '\frenchspacing' 19.6 '\thinspace': Insert 1/6em 19.7 '\/': Insert italic correction @@ -202,11 +209,12 @@ LaTeX2e: An unofficial reference manual 20.9 '\usebox{\BOXCMD}' 21 Special insertions 21.1 Reserved characters - 21.2 Text symbols - 21.3 Accents - 21.4 Non-English characters - 21.5 '\rule' - 21.6 '\today' + 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' @@ -242,8 +250,8 @@ Command Index LaTeX2e: An unofficial reference manual *************************************** -This document is an unofficial reference manual (version of October -2015) for LaTeX2e, a document preparation system. +This document is an unofficial reference manual (version of November +2016) for LaTeX2e, a document preparation system. 1 About this document ********************* @@ -355,7 +363,7 @@ main output file's name ends in either '.dvi' or '.pdf'. '.pdf' file with 'dvipdfmx'. The contents of the file can be dumped in human-readable form with 'dvitype'. A vast array of other DVI utility programs are available - (). + (). '.pdf' If LaTeX is invoked via the system command 'pdflatex', among other @@ -473,7 +481,7 @@ commands it covers (barring unintentional omissions, a.k.a. bugs). Synopsis: \begin{ENVIRONMENT NAME} - .. + ... \end{ENVIRONMENT NAME} An area of LaTeX source, inside of which there is a distinct @@ -481,10 +489,12 @@ behavior. For instance, for poetry in LaTeX put the lines between '\begin{verse}' and '\end{verse}'. \begin{verse} - There once was a man from Nantucket \\ - .. + There once was a man from Nantucket \\ + ... \end{verse} + See *note Environments:: for a list of environments. + The ENVIRONMENT NAME at the beginning must exactly match that at the end. This includes the case where ENVIRONMENT NAME ends in a star ('*'); both the '\begin' and '\end' texts must include the star. @@ -495,13 +505,61 @@ the table to be aligned on its top row) while the second argument is required (it specifies the formatting of columns). \begin{tabular}[t]{r|l} - .. rows of table .. + ... rows of table ... \end{tabular} 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. +Synopsis: + + \makeatletter + ... definition of commands with @ in their name .. + \makeatother + + Used to redefine internal LaTeX commands. '\makeatletter' makes the +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 +backslash '\' is assigned the catcode 0, for characters that start a +command. These two commands alter the catcode assigned to '@'. + + The alteration is needed because many of LaTeX's commands use '@' in +their name, to prevent users from accidentally defining a command that +replaces one of LaTeX's own. Command names consist of a category 0 +character, ordinarily backslash, followed by letters, category 11 +characters (except that a command name can also consist of a category 0 +character followed by a single non-letter symbol). 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. + + 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. + + 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. + + \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 + \makeatother + 3 Document classes ****************** @@ -556,10 +614,13 @@ options for selecting the typeface size (default is '10pt'): paper size (these show height by width): 'a4paper' - 210 by 297 mm (about 8.25 by 11.75 inches) + 210 by 297mm (about 8.25 by 11.75 inches) + +'a5paper' + 148 by 210mm (about 5.8 by 8.3 inches) 'b5paper' - 176 by 250 mm (about 7 by 9.875 inches) + 176 by 250mm (about 6.9 by 9.8 inches) 'executivepaper' 7.25 by 10.5 inches @@ -599,8 +660,10 @@ setting the print area and physical page size. 'titlepage' 'notitlepage' - Specifies whether the title page is separate; default depends on - the class. + 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 'notitlepage'. The following options are not available with the 'slides' class. @@ -628,18 +691,370 @@ setting the print area and physical page size. The 'slides' class offers the option 'clock' for printing the time at the bottom of each note. - Additional packages are loaded like this: +3.2 Additional packages +======================= + +Load a package PKG, with the package options given in the +comma-separated list OPTIONS, as here. - \usepackage[OPTIONS]{PKG} + \usepackage[OPTIONS]{PKG}. - To specify more than one package, you can separate them with a comma, + To specify more than one package you can separate them with a comma, as in '\usepackage{PKG1,PKG2,...}', or use multiple '\usepackage' commands. - Any options given in the '\documentclass' command that are unknown by + Any options given in the '\documentclass' command that are unknown to the selected document class are passed on to the packages loaded with '\usepackage'. +3.3 Class and package construction +================================== + +You can create new document classes and new packages. For instance, if +your memos must satisfy some local requirements, such as a standard +header for each page, then you could create a new class 'smcmemo.cls' +and begin your documents with '\documentclass{smcmemo}'. + + What separates a package from a document class is that the commands +in a 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. + + 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. + +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. + + 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. + + \NeedsTeXFormat{LaTeX2e} + \ProvidesClass{stub}[2017/07/06 stub to start building classes from] + \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} + \ProcessOptions\relax + \LoadClass{article} + + It identifies itself, handles the class options via the default of +passing them all to the 'article' class, and then loads the 'article' +class to provide the basis for this class's code. + + For more, see the official guide for class and package writers, the +Class Guide, at + (much of +the descriptions here derive from this document), or the tutorial +. + +3.3.2 Class and package commands +-------------------------------- + +These are the commands designed to help writers of classes or packages. + +'\AtBeginDvi{specials}' + 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}' + 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 *note \AtBeginDocument::. + +'\ClassError{CLASS NAME}{ERROR TEXT}{HELP TEXT}' +'\PackageError{PACKAGE NAME}{ERROR TEXT}{HELP TEXT}' +'\ClassWarning{CLASS NAME}{WARNING TEXT}' +'\PackageWarning{PACKAGE NAME}{WARNING TEXT}' +'\ClassWarningNoLine{CLASS NAME}{WARNING TEXT}' +'\PackageWarningNoLine{PACKAGE NAME}{WARNING TEXT}' +'\ClassInfo{CLASS NAME}{INFO TEXT}' +'\PackageInfo{PACKAGE NAME}{INFO TEXT}' +'\ClassInfoNoLine{CLASS NAME}{INFO TEXT}' +'\PackageInfoNoLine{PACKAGE NAME}{INFO TEXT}' + Produce an error message, or warning or informational messages. + + For '\ClassError' and '\PackageError' the message is ERROR TEXT, + followed by TeX's '?' error prompt. If the user then asks for help + by typing 'h', they see the HELP TEXT. + + The four warning commands are similar except that they write + WARNING TEXT on the screen with no error prompt. The four info + commands write INFO TEXT only in the transcript file. The 'NoLine' + versions do not show the number of the line generating the 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. + +'\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}' + 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 + first page with '\documentclass[logo]{smcmemo}'. The class file + must contain '\DeclareOption{logo}{CODE}' (and later, + '\ProcessOptions'). + + If you request an option that has not been declared, by default + this will produce a warning like 'Unused global option(s): + [badoption].' Change this behaviour with the starred version + '\DeclareOption*{CODE}'. For example, many classes extend an + existing class, using a declaration such as '\LoadClass{article}', + and for passing extra options to the underlying class use code such + as this. + + \DeclareOption*{% + \PassOptionsToClass{\CurrentOption}{article}% + } + + Another example is that the class 'smcmemo' may allow users to keep + lists of memo recipients in external files. Then the user could + invoke '\documentclass[math]{smcmemo}' and it will read the file + 'math.memo'. This code handles the file if it exists and otherwise + passes the option to the 'article' class. + + \DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{% + \PassOptionsToClass{\CurrentOption}{article}}} + +'\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 + '\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. + + 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 directory do something like '\IfFileExists{./filename}{TRUE + CODE}{FALSE CODE}'. If you ask for a filename without a '.tex' + extension then LaTeX will first look for the file by appending the + '.tex'; for more on how LaTeX handles file extensions see *note + \input::. + +'\LoadClass[OPTIONS LIST]{CLASS NAME}[RELEASE DATE]' +'\LoadClassWithOptions{CLASS NAME}[RELEASE DATE]' + 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 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 + passed to it via '\PassOptionsToClass'. This is a convenience + command 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}' + For each 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 + '\ProcessOptions'. For example, if in a class file you want the + default to be 11pt fonts then you could specify + '\ExecuteOptions{11pt}\ProcessOptions\relax'. + +'\NeedsTeXFormat{FORMAT}[FORMAT DATE]' + Specifies the format that this class should 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'.' + + To specify a version of the format that you know to have certain + features, include the optional FORMAT DATE on which those features + 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.) + +'\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}' + 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. + + The reason for these commands is: you may load a package any number + of times with no options but if you want options then you may only + supply them when you first load the package. Loading a package + with options 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 + '\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} + \RequirePackage{foo}'. (If 'foo.sty' loads an option in conflict + with what you want then you may have to look into altering its + source.) + + These commands are useful for general users as well as class and + package writers. For instance, suppose a user wants to load the + 'graphicx' package with the option 'draft' and also wants to use a + class 'foo' that loads the 'graphicx' package, but without that + option. The user could start their LaTeX file with + '\PassOptionsToPackage{draft}{graphicx}\documentclass{foo}'. + +'\ProcessOptions' +'\ProcessOptions*\@OPTIONS' + 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. '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 + 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. + + When '\ProcessOptions' is called for a class it works in the same + way except that all options are local, and the default value 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. + +'\ProvidesClass{CLASS NAME}[ ]' +'\ProvidesPackage{PACKAGE NAME}[ ]' + 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 '\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 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 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 + 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 + '\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]' + 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'. + +'\RequirePackage[OPTIONS LIST]{PACKAGE NAME}[RELEASE DATE]' +'\RequirePackageWithOptions{PACKAGE NAME}[RELEASE DATE]' + Load a package, like the 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 + 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, + on input line 9, version `2017/07/03' of package jhtest, but only + version `2000/01/01' is available'. + + The '\RequirePackageWithOptions' version uses the list of options + for the current class. This means it ignores any options passed to + it via '\PassOptionsToClass'. This is a convenience command to + allow easily building classes on existing ones without having to + track which options were passed. + + The difference between '\usepackage' and '\RequirePackage' is + small. The '\usepackage' command is intended for the document file + while '\RequirePackage' is intended for package and class files. + Thus, using '\usepackage' before the '\documentclass' command + causes LaTeX to give error like '\usepackage before + \documentclass', but you can use '\RequirePackage' there. + 4 Fonts ******* @@ -960,23 +1375,23 @@ Commands for controlling the general page layout. 5.1 '\onecolumn' ================ -The '\onecolumn' declaration starts a new page and produces -single-column output. If the document is given the class option -'onecolumn' then this is the default behavior (*note Document class -options::). +Start a new page and produce single-column output. If the document is +given the class option 'onecolumn' then this is the default behavior +(*note Document class options::). This command is fragile (*note \protect::). 5.2 '\twocolumn' ================ -Synopsis: +Synopses: + \twocolumn \twocolumn[PRELIM ONE COLUMN TEXT] - The '\twocolumn' declaration starts a new page and produces -two-column output. If the document is given the class option -'twocolumn' then this is the default (*note Document class options::). + Start a new page and produce two-column output. If the document is +given the class option 'twocolumn' then this is the default (*note +Document class options::). If the optional PRELIM ONE COLUMN TEXT argument is present, it is typeset in one-column mode before the two-column typesetting starts. @@ -1015,7 +1430,7 @@ following parameters control float behavior of two-column output. occupied by two-column wide floats. The default is 0.7, meaning that the height of a 'table*' or 'figure*' environment must not exceed '0.7\textheight' . If the height of your starred float - environment exceeeds this then you can take one of the following + environment exceeds this then you can take one of the following actions to prevent it from floating all the way to the back of the document: @@ -1055,54 +1470,55 @@ following parameters control float behavior of two-column output. maximum number of floats allowed at the top of the page. The LaTeX default is '2'. - This example shows the use of the optional argument of '\twocolumn' -to create a title that spans the two-column article: + This example uses '\twocolumn''s optional argument of to create a +title that spans the two-column article: \documentclass[twocolumn]{article} \newcommand{\authormark}[1]{\textsuperscript{#1}} \begin{document} \twocolumn[{% inside this optional argument goes one-column text - \centering - \LARGE The Title \\[1.5em] - \large Author One\authormark{1}, - Author Two\authormark{2}, - Author Three\authormark{1} \\[1em] - \normalsize - \begin{tabular}{p{.2\textwidth}@{\hspace{2em}}p{.2\textwidth}} - \authormark{1}Department one &\authormark{2}Department two \\ - School one &School two - \end{tabular}\\[3em] % space below title part - }] + \centering + \LARGE The Title \\[1.5em] + \large Author One\authormark{1}, + Author Two\authormark{2}, + Author Three\authormark{1} \\[1em] + \normalsize + \begin{tabular}{p{.2\textwidth}@{\hspace{2em}}p{.2\textwidth}} + \authormark{1}Department one &\authormark{2}Department two \\ + School one &School two + \end{tabular}\\[3em] % space below title part + }] Two column text here. 5.3 '\flushbottom' ================== -The '\flushbottom' command can go at any point in the document body. It -makes all later pages the same height, stretching the vertical space -where necessary to fill out the page. +Make all pages in the documents after this declaration have the same +height, by stretching the vertical space where necessary to fill out the +page. This is most often used when making two-sided documents since the +differences in facing pages can be glaring. If TeX cannot satisfactorily stretch the vertical space in a page then you get a message like 'Underfull \vbox (badness 10000) has -occurred while \output is active'. You can change to '\raggedbottom' -(see below). Alternatively, you can try to adjust the 'textheight' to -be compatible, or you can add some vertical stretch glue between lines -or between paragraphs, as in '\setlength{\parskip}{0ex plus0.1ex}'. In -a final editing stage you can adjust the height of individual pages -(*note \enlargethispage::). - - This is the default only if you select the 'twoside' document class -option (*note Document class options::). +occurred while \output is active'. If you get that, one option is to +change to '\raggedbottom' (*note \raggedbottom::). Alternatively, you +can adjust the 'textheight' to make compatible pages, or you can add +some vertical stretch glue between lines or between paragraphs, as in +'\setlength{\parskip}{0ex plus0.1ex}'. Your last option is to, in a +final editing stage, adjust the height of individual pages (*note +\enlargethispage::). + + The '\flushbottom' state is the default only if you select the +'twoside' document class option (*note Document class options::). 5.4 '\raggedbottom' =================== -The '\raggedbottom' command can go at any point in the document body. -It makes all later pages the natural height of the material on that -page; no rubber lengths will be stretched. Thus, in a two-sided -document the facing pages may be different heights. See also -'\flushbottom' above. +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 +document the facing pages may be different heights. This command can go +at any point in the document body. See *note \flushbottom::. This is the default unless you select the 'twoside' document class option (*note Document class options::). @@ -1259,13 +1675,13 @@ appears in the output after it. The placement of floats is subject to parameters, given below, that limit the number of floats that can appear at the top of a page, and the -bottom, etc. If so many floats are queued up that the limits prevent -them all from fitting on a page then LaTeX places what it can and defers -the rest to the next page. In this way, floats may be typset far from -their place in the source. In particular, a float that is big can -migrate to the end of the document. But then because all floats in a -class must appear in sequential order, every subsequent float in that -class also appears at the end. +bottom, etc. If so many floats are queued that the limits prevent them +all from fitting on a page then LaTeX places what it can and defers the +rest to the next page. In this way, floats may end up being typeset far +from their place in the source. In particular, a 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. In addition to changing the parameters, for each float you can tweak where the float placement algorithm tries to place it by using its @@ -1320,7 +1736,7 @@ outstanding floats. 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 paramater. If this is not desired, and deleting the 't' is +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[t]', which causes floats for the @@ -1384,10 +1800,10 @@ BETWEEN 0 AND 1}'): The principal TeX FAQ entry relating to floats contains suggestions for relaxing LaTeX's default parameters to reduce the -problem of floats being pushed to the end. A full explaination of the -float placement algorithm is Frank Mittelbach's article "How to infuence -the position of float environments like figure and table in LaTeX?" -. +problem of floats being pushed to the end. A full explanation of the +float placement algorithm is in Frank Mittelbach's article "How to +influence the position of float environments like figure and table in +LaTeX?" (). 6 Sectioning ************ @@ -1444,8 +1860,33 @@ level zero. (*Note \setcounter::.) 7 Cross references ****************** -One reason for numbering things like figures and equations is to refer -the reader to them, as in "See Figure 3 for more details." +One reason for numbering things such as figures and equations is to +refer the reader to them, as in "See Figure~3 for more details." + + 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" +like '\label{eq:GreensThm}' and refer to it with 'See +equation~\ref{eq:GreensThm}'. + + LaTeX writes the information from the labels to a file with the same +name as the file containing the '\label{...}' but with an '.aux' +extension. (The information has the format +'\newlabel{LABEL}{{CURRENTLABEL}{PAGENUMBER}}' where CURRENTLABEL is the +current value of the macro '\@currentlabel' that is usually updated +whenever you call '\refstepcounter{COUNTER}'.) + + 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 example in the +'\pageref{...}' description. LaTeX gets the information for references +from the '.aux' file. If this is the first time you are compiling the +document then you will get a message 'LaTeX Warning: Label(s) may have +changed. Rerun to get cross references right.' and in the output the +reference will appear as two question marks '??', in boldface. Or, if +you change some things so the references change then you get the same +warning and the output contains the old reference information. The +solution in either case is just to compile the document a second time. 7.1 '\label' ============ @@ -1454,33 +1895,20 @@ Synopsis: \label{KEY} - A '\label' command appearing in ordinary text assigns to KEY the -number of the current sectional unit; one appearing inside a numbered -environment assigns that number to KEY. The assigned number can be -retrieved with the '\ref{KEY}' command (*note \ref::). - - Thus, in the example below the key 'sec:test' holds the number of the -current section and the key 'fig:test' that of the figure. -(Incidentally, labels must appear after captions in figures and tables.) - - \section{section name} - \label{sec:test} - This is Section~\ref{sec:test}. - \begin{figure} - ... - \caption{caption text} - \label{fig:test} - \end{figure} - See Figure~\ref{fig:test}. + Assign a reference number to KEY. In ordinary text '\label{KEY}' +assigns to KEY the number of the current sectional unit. Inside an +environment with numbering, such as a 'table' or 'theorem' environment, +'\label{KEY}' assigns to KEY the number of that environment. Retrieve +the assigned number with the '\ref{KEY}' command (*note \ref::). A key name can consist of any sequence of letters, digits, or common punctuation characters. Upper and lowercase letters are distinguished, as usual. - Although the name can be more or less anything, a common convention -is to use labels consisting of a prefix and a suffix separated by a -colon or period. This helps to avoid accidentally creating two labels -with the same name. Some commonly-used prefixes: + A common convention is to use labels consisting of a prefix and a +suffix separated by a colon or period. This helps to avoid accidentally +creating two labels with the same name, and makes your source more +readable. Some commonly-used prefixes: 'ch' for chapters @@ -1493,7 +1921,23 @@ with the same name. Some commonly-used prefixes: 'eq' for equations - Thus, a label for a figure would look like 'fig:test' or 'fig.test'. + Thus, '\label{fig:Euler}' is a label for a figure with a portrait of +the great man. + + In this example below the key 'sec:test' will get the number of the +current section and the key 'fig:test' will get the number of the +figure. (Incidentally, put labels after captions in figures and +tables.) + + \section{section name} + \label{sec:test} + This is Section~\ref{sec:test}. + \begin{figure} + ... + \caption{caption text} + \label{fig:test} + \end{figure} + See Figure~\ref{fig:test}. 7.2 '\pageref{KEY}' =================== @@ -1502,8 +1946,19 @@ Synopsis: \pageref{KEY} - The '\pageref'{KEY} command produces the page number of the place in -the text where the corresponding '\label'{KEY} command appears. + Produce the page number of the place in the text where the +corresponding '\label'{KEY} command appears. + + In this example the '\label{eq:main}' is used both for the formula +number and for the page number. (Note that the two references are +forward references, so this document would need to be compiled twice to +resolve those.) + + The main result is formula~\ref{eq:main} on page~\pageref{eq:main}. + ... + \begin{equation} \label{eq:main} + \mathbf{P}=\mathbf{NP} + \end{equation} 7.3 '\ref{KEY}' =============== @@ -1512,20 +1967,37 @@ Synopsis: \ref{KEY} - The '\ref' command produces the number of the sectional unit, -equation, footnote, figure, ..., of the corresponding '\label' command -(*note \label::). It does not produce any text, such as the word -'Section' or 'Figure', just the bare number itself. + Produces the number of the sectional unit, equation, footnote, +figure, ..., of the corresponding '\label' command (*note \label::). It +does not produce any text, such as the word 'Section' or 'Figure', just +the bare number itself. + + In this example, the '\ref{popular}' produces '2'. Note that it is a +forward reference since it comes before '\label{popular}'. + + The most widely-used format is item number~\ref{popular}. + \begin{enumerate} + \item Plain \TeX + \item \label{popular} \LaTeX + \item Con\TeX t + \end{enumerate} 8 Environments ************** -LaTeX provides many environments for marking off certain text. Each -environment begins and ends in the same manner: +LaTeX provides many environments for delimiting certain behavior. An +environment begins with '\begin' and ends with '\end', like this: - \begin{ENVNAME} - ... - \end{ENVNAME} + \begin{ENVIRONMENT-NAME} + ... + \end{ENVIRONMENT-NAME} + + The ENVIRONMENT-NAME at the beginning must exactly match that at the +end. For instance, the input '\begin{table*}...\end{table}' will cause +an error like: '! LaTeX Error: \begin{table*} on input line 5 ended by +\end{table}.' + + Environments are executed within a group. 8.1 'abstract' ============== @@ -1536,8 +2008,42 @@ Synopsis: ... \end{abstract} - Environment for producing an abstract, possibly of multiple -paragraphs. + Produce an abstract, possibly of multiple paragraphs. This +environment is only defined in the 'article' and 'report' document +classes (*note Document classes::). + + Using the example below in the 'article' class produces a displayed +paragraph. Document class option 'titlepage' causes the abstract to be +on a separate page (*note Document class options::); this is the default +only in the 'report' class. + + \begin{abstract} + We compare all known accounts of the proposal made by Porter Alexander + to Robert E Lee at the Appomattox Court House that the army continue + in a guerrilla war, which Lee refused. + \end{abstract} + + The next example produces a one column abstract in a two column +document (for a more flexible solution, use the package 'abstract'). + + \documentclass[twocolumn]{article} + ... + \begin{document} + \title{Babe Ruth as Cultural Progenitor: a Atavistic Approach} + \author{Smith \\ Jones \\ Robinson\thanks{Railroad tracking grant.}} + \twocolumn[ + \begin{@twocolumnfalse} + \maketitle + \begin{abstract} + Ruth was not just the Sultan of Swat, he was the entire swat + team. + \end{abstract} + \end{@twocolumnfalse} + ] + { % by-hand insert a footnote at page bottom + \renewcommand{\thefootnote}{\fnsymbol{footnote}} + \footnotetext[1]{Thanks for all the fish.} + } 8.2 'array' =========== @@ -1545,22 +2051,22 @@ paragraphs. Synopsis: \begin{array}{COLS} - COLUMN 1 ENTRY &COLUMN 2 ENTRY ... &COLUMN N ENTRY \\ - ... + COLUMN 1 ENTRY &COLUMN 2 ENTRY ... &COLUMN N ENTRY \\ + ... \end{array} or \begin{array}[POS]{COLS} - COLUMN 1 ENTRY &COLUMN 2 ENTRY ... &COLUMN N ENTRY \\ - ... + COLUMN 1 ENTRY &COLUMN 2 ENTRY ... &COLUMN N ENTRY \\ + ... \end{array} Produce a mathematical array. This environment can only be used in math mode, and normally appears within a displayed mathematics environment such as 'equation' (*note equation::). Column entries are separated by an ampersand ('&'). Rows are terminated with -double-backslashes ('\\') (*note \\::). +double-backslashes (*note \\::). The required argument COLS describes the number of columns, their alignment, and the formatting of the intercolumn regions. See *note @@ -1568,20 +2074,20 @@ tabular:: for the complete description of COLS, and of the other common features of the two environments, including the optional POS argument. There are two ways that 'array' diverges from 'tabular'. The first -is that 'array' entries are typeset in mathematics mode, in textstyle -(except if the COLS definition specifies the column with '@p{..}', which -causes the entry to be typeset in text mode). The second is that, -instead of 'tabular''s parameter '\tabcolsep', LaTeX's intercolumn space -in an array is governed by '\arraycolsep' which gives half the width +is that 'array' entries are typeset in math mode, in textstyle (except +if the COLS definition specifies the column with 'p{...}', which causes +the entry to be typeset in text mode). The second is that, instead of +'tabular''s parameter '\tabcolsep', LaTeX's intercolumn space in an +'array' is governed by '\arraycolsep', which gives half the width between columns. The default for this is '5pt'. 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 surrounded by square -brackets '[..]', 'Bmatrix' for an array surrounded by curly -braces '{..}', 'vmatrix' for an array surrounded by vertical -bars '|..|', and 'Vmatrix' for an array surrounded by double vertical -bars '||..||', along with a number of other array constructs. +by parentheses '(...)', 'bmatrix' for an array surrounded by square +brackets '[...]', 'Bmatrix' for an array surrounded by curly +braces '{...}', 'vmatrix' for an array surrounded by vertical +bars '|...|', and 'Vmatrix' for an array surrounded by double vertical +bars '||...||', along with a number of other array constructs. Here is an example of an array: @@ -1592,29 +2098,48 @@ bars '||..||', along with a number of other array constructs. \end{array} \end{equation} + The next example works if '\usepackage{amsmath}' is in the preamble: + + \begin{equation} + \begin{vmatrix}{cc} + a &b \\ + c &d + \end{vmatrix}=ad-bc + \end{equation} + 8.3 'center' ============ Synopsis: \begin{center} - .. text .. + ... text ... \end{center} - Environment to create a sequence of lines that are centered within -the left and right margins on the current page. If the text in the -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. To force a line break at a particular spot use -double-backslash '\\' (*note \\::). + 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 (*note \\::). +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. This environment inserts space above and below the text body. See *note \centering:: to avoid such space, for example inside a 'figure' environment. - In this example, depending on the line width, LaTeX may choose a -break for the part before the double backslash, will center the line or -two, then will break at the double backslash, and will center the + This example produces three centered lines. There is extra vertical +space between the last two lines. + + \begin{center} + A Thesis Submitted in Partial Fufillment \\ + of the Requirements of \\[0.5ex] + the School of Environmental Engineering + \end{center} + + In this example, depending on the page's line width, LaTeX may choose +a line break for the part before the double backslash. If so, it will +center each of the two lines and if not it will center the single line. +Then LaTeX will break at the double backslash, and will center the ending. \begin{center} @@ -1628,7 +2153,7 @@ ending. 8.3.1 '\centering' ------------------ -Declaration that causes material in its scope to be centered. It is +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 'parbox'. @@ -1673,17 +2198,18 @@ 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. - The list consists of at least one item; see *note \item:: (having no -items causes the LaTeX error 'Something's wrong--perhaps a missing -\item'). Each item is produced with an '\item' command. + 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'). 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 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-bolded -typewriter is to use declaritive style '\item[{\tt label text}]'. -Similarly, get normal text use '\item[{\rm label text}]'. +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}]'. For other major LaTeX labelled list environments, see *note itemize:: and *note enumerate::. For information about customizing list layout, @@ -1703,7 +2229,7 @@ definitions. Synopsis: \begin{displaymath} - .. math text .. + ... math text ... \end{displaymath} Environment to typeset the math text on its own line, in display @@ -1942,7 +2468,7 @@ Floats::. The figure body is typeset in a 'parbox' of width '\textwidth' and so it can contain text, commands, etc. - The label is optional; it is used for cross-references (*note Cross + The label is optional; it is used for cross references (*note Cross references::). 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 (*note Tables of @@ -2074,7 +2600,7 @@ Synopsis: \end{itemize} The 'itemize' environment produces an "unordered", "bulleted" list. -Itemizations can be nested within one another, up to four levels deep. +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::). @@ -2194,6 +2720,9 @@ empty, i.e., '{}', which leaves the default spacing. The width used for typesetting the list items is specified by '\linewidth' (*note Page layout parameters::). +8.16.1 '\item': An entry in a list. +----------------------------------- + Synopsis: \item text of item @@ -2285,6 +2814,11 @@ a length of 2.54 centimeters. '\setlength' command, outside of a 'picture' environment. The default value is '1pt'. + 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'. + A "position" is a pair of coordinates, such as '(2.4,-5)', specifying the point with x-coordinate '2.4' and y-coordinate '-5'. Coordinates are specified in the usual way with respect to an origin, which is @@ -2564,7 +3098,7 @@ short quotation or a sequence of short quotations. \begin{quotation} \it Four score and seven years ago - .. shall not perish from the earth. + ... shall not perish from the earth. \hspace{1em plus 1fill}---Abraham Lincoln \end{quotation} @@ -2681,7 +3215,7 @@ placement algorithm, see *note Floats::. The table body is typeset in a 'parbox' of width '\textwidth' and so it can contain text, commands, etc. - The label is optional; it is used for cross-references (*note Cross + The label is optional; it is used for cross references (*note Cross references::). 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 (*note Tables of @@ -2744,7 +3278,7 @@ WIDTH should be rubber, as with '@{\extracolsep{\fill}}', to allow the table to stretch or shrink to make the specified width, or else you are likely to get the 'Underfull \hbox (badness 10000) in alignment - ..' warning. + ...' warning. POS Optional. Specifies the table's vertical position. The default is @@ -2779,15 +3313,15 @@ COLS TEXT OR SPACE material is typeset in LR mode. This text is fragile (*note \protect::). - This specifier is optional: unless you put in your own - @-expression then LaTeX's book, article, and report classes - will put on either side of each column a space of length - '\tabcolsep', which by default is '6pt'. That is, by default - adjacent columns are separated by 12pt (so '\tabcolsep' is - misleadingly-named since it is not the separation between - tabular columns). Also by default a space of 6pt comes before - the first column as well as after the final column, unless you - put a '@{..}' or '|' there. + This specifier is optional: with no @-expression, LaTeX's + 'book', 'article', and 'report' classes will put on either + side of each column a space of length '\tabcolsep', which by + default is '6pt'. That is, by default adjacent columns are + separated by 12pt (so '\tabcolsep' is misleadingly-named since + it is not the separation between tabular columns). By + implication, a space of 6pt also comes before the first column + and after the final column, unless you put a '@{...}' or '|' + there. If you override the default and use an @-expression then you must insert any desired space yourself, as in @@ -2799,7 +3333,7 @@ COLS \begin{flushleft} \begin{tabular}{@{}l} - .. + ... \end{tabular} \end{flushleft} @@ -2849,7 +3383,7 @@ COLS integer and COLS is a list of specifiers. Thus '\begin{tabular}{|*{3}{l|r}|}' is equivalent to '\begin{tabular}{|l|rl|rl|r|}'. Note that COLS may contain - another '*-expression'. + another '*'-expression. Parameters that control formatting: @@ -2895,7 +3429,7 @@ spanned by the single heading 'Name'. \begin{tabular}{lccl} \textit{ID} &\multicolumn{2}{c}{\textit{Name}} &\textit{Age} \\ \hline % row one 978-0-393-03701-2 &O'Brian &Patrick &55 \\ % row two - .. + ... \end{tabular} What counts as a column is: the column format specifier for the @@ -2907,7 +3441,7 @@ and 'p{1.5in}|'. The COLS argument overrides the 'array' or 'tabular' environment's intercolumn area default adjoining this multicolumn entry. To affect that area, this argument can contain vertical bars '|' indicating the -placement of vertical rules, and '@{..}' expressions. Thus if COLS is +placement of vertical rules, and '@{...}' expressions. Thus if COLS is '|c|' then this multicolumn entry will be centered and a vertical rule will come in the intercolumn area before it and after it. This table details the exact behavior. @@ -2918,6 +3452,7 @@ details the exact behavior. &\multicolumn{1}{|r}{y} % entry three &z % entry four \end{tabular} + Before the first entry the output will not have a vertical rule because the '\multicolumn' has the COLS specifier 'r' with no initial vertical bar. Between entry one and entry two there will be a vertical @@ -2962,9 +3497,9 @@ commands, no rule appears in the first row. Draw a vertical line in a 'tabular' or 'array' environment extending the full height and depth of an entry's row. Can also be used in an @-expression, although its synonym vertical bar '|' is more common. -This command is rarely used; typically a table's vertical lines are -specified in 'tabular''s COLS argument and overriden as needed with -'\multicolumn'. +This command is rarely used in the body of a table; typically a table's +vertical lines are specified in 'tabular''s COLS argument and overridden +as needed with '\multicolumn'. This example illustrates some pitfalls. In the first line's second entry the '\hfill' moves the '\vline' to the left edge of the cell. But @@ -3055,14 +3590,15 @@ Synopsis: 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 any sequence of letters, numbers, and -punctuation symbols not containing a comma. +'enumi' counter. The CITE_KEY is a "citation key" consisting in any +sequence of letters, numbers, and punctuation symbols not containing a +comma. This command writes an entry to the '.aux' file containing the item's -CITE_KEY and label. When the '.aux' file is read by the -'\begin{document}' command, the item's 'label' is associated with -'cite_key', causing references to CITE_KEY with a '\cite' command (see -next section) to produce the associated label. +CITE_KEY and LABEL. When the '.aux' file is read by the +'\begin{document}' command, the item's LABEL is associated with +'cite_key', causing references to CITE_KEY with a '\cite' command (*note +\cite::) to produce the associated LABEL. 8.24.2 '\cite' -------------- @@ -3071,9 +3607,10 @@ Synopsis: \cite[SUBCITE]{KEYS} - The KEYS argument is a list of one or more citation keys, separated -by commas. This command generates an in-text citation to the references -associated with KEYS by entries in the '.aux' file. + The KEYS argument is a list of one or more citation keys (*note +\bibitem::), separated by commas. This command generates an in-text +citation to the references associated with KEYS by entries in the '.aux' +file. The text of the optional SUBCITE argument appears after the citation. For example, '\cite[p.~314]{knuth}' might produce '[Knuth, p. 314]'. @@ -3081,7 +3618,9 @@ For example, '\cite[p.~314]{knuth}' might produce '[Knuth, p. 314]'. 8.24.3 '\nocite' ---------------- -'\nocite{KEYS}' +Synopsis: + + \nocite{KEYS} The '\nocite' command produces no text, but writes KEYS, which is a list of one or more citation keys, to the '.aux' file. @@ -3100,7 +3639,7 @@ your bibliography, you don't use the 'thebibliography' environment The '\bibliographystyle' command does not produce any output of its own. Rather, it defines the style in which the bibliography will be produced: BIBSTYLE refers to a file BIBSTYLE'.bst', which defines how -your citations will look. The standard STYLE names distributed with +your citations will look. The standard BIBSTYLE names distributed with BibTeX are: 'alpha' @@ -3119,9 +3658,9 @@ demands of various publications. See The '\bibliography' command is what actually produces the bibliography. The argument to '\bibliography' refers to files named -'BIBFILE.bib', which should contain your database in BibTeX format. -Only the entries referred to via '\cite' and '\nocite' will be listed in -the bibliography. +'BIBFILE1.bib', 'BIBFILE2.bib', ..., which should contain your database +in BibTeX format. Only the entries referred to via '\cite' and +'\nocite' will be listed in the bibliography. 8.25 'theorem' ============== @@ -3142,16 +3681,38 @@ under '\newtheorem' (*note \newtheorem::). Synopsis: \begin{titlepage} - TEXT + ... text and spacing ... \end{titlepage} - The 'titlepage' environment creates a title page, i.e., a page with -no printed page number or heading. It also causes the following page to -be numbered page one. Formatting the title page is left to you. The -'\today' command may be useful on title pages (*note \today::). + Create a title page, a page with no printed page number or heading. +The following page will be numbered page one. - You can use the '\maketitle' command (*note \maketitle::) to produce -a standard title page without a 'titlepage' environment. + To instead produce a standard title page without a 'titlepage' +environment you can use '\maketitle' (*note \maketitle::). + + Notice in this example that all formatting, including vertical +spacing, is left to the author. + + \begin{titlepage} + \vspace*{\stretch{1}} + \begin{center} + {\huge\bfseries Thesis \\[1ex] + title} \\[6.5ex] + {\large\bfseries Author name} \\ + \vspace{4ex} + Thesis submitted to \\[5pt] + \textit{University name} \\[2cm] + in partial fulfilment for the award of the degree of \\[2cm] + \textsc{\Large Doctor of Philosophy} \\[2ex] + \textsc{\large Mathematics} \\[12ex] + \vfill + Department of Mathematics \\ + Address \\ + \vfill + \today + \end{center} + \vspace{\stretch{2}} + \end{titlepage} 8.27 'verbatim' =============== @@ -3238,7 +3799,7 @@ particular, to start a new paragraph instead leave a blank line. This command is mostly used outside of the main flow of text such as in a 'tabular' or 'array' environment. - Under ordinary circumstances (e.g., outside of a 'p{..}' column in a + Under ordinary circumstances (e.g., outside of a 'p{...}' column in a 'tabular' environment) the '\newline' command is a synonym for '\\' (*note \newline::). @@ -3265,7 +3826,7 @@ In ordinary text this is equivalent to double-backslash (*note \\::); it breaks a line, with no stretching of the text before it. Inside a 'tabular' or 'array' environment, in a column with a -specifier producing a paragraph box, like typically 'p{..}', '\newline' +specifier producing a paragraph box, like typically 'p{...}', '\newline' will insert a line break inside of the column, that is, it does not break the entire row. To break the entire row use '\\' or its equivalent '\tabularnewline'. @@ -3291,7 +3852,14 @@ one. The '\-' command is used for the exceptional cases. hyphenated at those points and not at any of the hyphenation points that LaTeX might otherwise have chosen. -9.5 '\fussy' +9.5 '\discretionary' (generalized hyphenation point) +==================================================== + +Synopsis: + + \discretionary{PRE-BREAK-TEXT}{POST-BREAK-TEXT}{NO-BREAK-TEXT} + +9.6 '\fussy' ============ The declaration '\fussy' (which is the default) makes TeX picky about @@ -3299,9 +3867,9 @@ line breaking. This usually avoids too much space between words, at the cost of an occasional overfull box. This command cancels the effect of a previous '\sloppy' command -(*note \sloppy::. +(*note \sloppy::). -9.6 '\sloppy' +9.7 '\sloppy' ============= The declaration '\sloppy' makes TeX less fussy about line breaking. @@ -3309,7 +3877,7 @@ This will avoid overfull boxes, at the cost of loose interword spacing. Lasts until a '\fussy' command is issued (*note \fussy::). -9.7 '\hyphenation' +9.8 '\hyphenation' ================== Synopsis: @@ -3325,7 +3893,7 @@ words): \hyphenation{ap-pen-dix col-umns data-base data-bases} -9.8 '\linebreak' & '\nolinebreak' +9.9 '\linebreak' & '\nolinebreak' ================================= Synopses: @@ -3518,7 +4086,8 @@ set at the bottom of the page. \textit{HMS Sophie} &Master and Commander \\ \textit{HMS Polychrest} &Post Captain \\ \textit{HMS Lively} &Post Captain \\ - \textit{HMS Surprise} &A number of books\footnote{Starting with HMS Surprise.} + \textit{HMS Surprise} &A number of books\footnote{Starting with + HMS Surprise.} \end{tabular} \end{center} @@ -3527,7 +4096,7 @@ set at the bottom of the page. \begin{center} \begin{minipage}{.5\textwidth} - .. tabular material .. + ... tabular material ... \end{minipage} \end{center} @@ -3552,23 +4121,24 @@ other footnotes. 11.5 Footnotes in section headings ================================== -Putting a footnote in a section heading +Putting a footnote in a section heading, as in: - \section{Full sets\protect\footnote{This material is due to R~Jones.}} + \section{Full sets\protect\footnote{This material due to ...}} - causes the footnote to appear both at the bottom of the page where -the section starts and at the bottom of the table of contents page. To -have it not appear on the table of contents use the package 'footmisc' -with the 'stable' option. +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 +contents, where it is not likely to be desired. To have it not appear +on the table of contents use the package 'footmisc' with the 'stable' +option. \usepackage[stable]{footmisc} - .. + ... \begin{document} - .. - \section{Full sets\footnote{This material is due to R~Jones.}} + ... + \section{Full sets\footnote{This material due to ...}} - Note that the '\protect' is gone; putting it in causes the footnote -to reappear on the table of contents. + Note that the '\protect' is gone; including it would cause the +footnote to reappear on the table of contents. 11.6 Footnotes of footnotes =========================== @@ -3581,12 +4151,12 @@ including allow these two, as in this example. \usepackage{bigfoot} \DeclareNewFootnote{Default} \DeclareNewFootnote{from}[alph] % create class \footnotefrom{} - .. + ... \begin{document} - .. + ... The third theorem is a partial converse of the second.\footnotefrom{First noted in Wilson.\footnote{Second edition only.}} - .. + ... 11.7 Multiple references to footnotes ===================================== @@ -3596,13 +4166,13 @@ the package 'cleverref'. \usepackage{cleveref}[2012/02/15] % this version of package or later \crefformat{footnote}{#2\footnotemark[#1]#3} - .. + ... \begin{document} - .. + ... The theorem is from Evers.\footnote{\label{fn:TE}Tinker and Evers, 1994.} The corollary is from Chance.\footnote{Evers and Chance, 1990.} But the key lemma is from Tinker.\cref{fn:TE} - .. + ... This solution will work with the package 'hyperref'. See *note \footnotemark:: for a simpler solution in the common case of multiple @@ -3635,84 +4205,90 @@ LaTeX has support for making new commands of many different kinds. '\newcommand' and '\renewcommand' define and redefine a command, respectively. Synopses: - \newcommand{CMD}[NARGS][OPTARGDEFAULT]{DEFN} - \newcommand*{CMD}[NARGS][OPTARGDEFAULT]{DEFN} - \renewcommand{CMD}[NARGS][OPTARGDEFAULT]{DEFN} - \renewcommand*{CMD}[NARGS][OPTARGDEFAULT]{DEFN} + \newcommand{\CMD}[NARGS][OPTARGDEFAULT]{DEFN} + \newcommand*{\CMD}[NARGS][OPTARGDEFAULT]{DEFN} + \renewcommand{\CMD}[NARGS][OPTARGDEFAULT]{DEFN} + \renewcommand*{\CMD}[NARGS][OPTARGDEFAULT]{DEFN} - The '*'-form of these two commands requires that the arguments not -contain multiple paragraphs of text (not '\long', in plain TeX terms). + The starred form of these two commands requires that the arguments +not contain multiple paragraphs of text (not '\long', in plain TeX +terms). CMD - Required; the command name. It must begin with '\'. For - '\newcommand', it must not be already defined and must not begin - with '\end'. For '\renewcommand', it must already be defined. + Required; '\CMD' is the command name. For '\newcommand', it must + not be already defined and must not begin with '\end'. For + '\renewcommand', it must already be defined. NARGS Optional; an integer from 0 to 9, specifying the number of - arguments that the command will take. If this argument is not - present, the default is for the command to have no arguments. When - redefining a command, the new version can have a different number - of arguments than the old version. + arguments that the command can take, including any optional + argument. If this argument is not present, the default is for the + command to have no arguments. When redefining a command, the new + version can have a different number of arguments than the old + version. OPTARGDEFAULT Optional; if this argument is present then the first argument of - defined command \CMD is optional, with default value OPTARGDEFAULT - (which may be the empty string). If this argument is not present - then \CMD does not take an optional argument. + defined command '\CMD' is optional, with default value + OPTARGDEFAULT (which may be the empty string). If this argument is + not present then '\CMD' does not take an optional argument. - That is, if \CMD is used with square brackets following, as in - '\CMD[MYVAL]', then within DEFN '#1' expands MYVAL. While if \CMD - is called without square brackets following, then within DEFN the - '#1' expands to the default OPTARGDEFAULT. In either case, any - required arguments will be referred to starting with '#2'. + 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 other hand, if '\CMD' is called without + square brackets following, then within DEFN the positional + parameter '#1' expands to the default OPTARGDEFAULT. In either + case, any required arguments will be referred to starting with + '#2'. - Omitting '[MYVAL]' in the call is different from having the square + Omitting '[MYVAL]' in a call is different from having the square brackets with no contents, as in '[]'. The former results in '#1' expanding to OPTARGDEFAULT; the latter results in '#1' expanding to the empty string. DEFN - The text to be substituted for every occurrence of 'cmd'; a - construct of the form '#N' in DEFN is replaced by the text of the + The text to be substituted for every occurrence of '\CMD'; the + positional parameter '#N' in DEFN is replaced by the text of the Nth argument. - A command with no arguments that is followed in the source by a space -will swallow that space. The solution is to type '{}' after the command -and before the space. + TeX ignores spaces in the source following an alphabetic control +sequence, as in '\cmd '. If you actually want a space there, one +solution is to type '{}' after the command ('\cmd{} '; another solution +is to use an explicit control space ('\cmd\ '). - A simple example of defining a new command: '\newcommand{\JH}{Jim -Hef{}feron}' causes the abbreviation '\JH' to be replaced by the longer -text. + A simple example of defining a new command: '\newcommand{\RS}{Robin +Smith}' results in '\RS' being replaced by the longer text. - Redefining a command is basically the same: + Redefining an existing command is similar: '\renewcommand{\qedsymbol}{{\small QED}}'. - Here's a command definition that uses arguments: + Here's a command definition with one required argument: - \newcommand{\defreference}[1]{Definition~\ref{#1}} + \newcommand{\defref}[1]{Definition~\ref{#1}} -Then, '\defreference{def:basis}' will expand to something like -'Definition~3.14'. +Then, '\defref{def:basis}' expands to 'Definition~\ref{def:basis}', +which will ultimately expand to something like 'Definition~3.14'. - An example with two arguments: -'\newcommand{\nbym}[2]{#1\!\times\!#2}' is invoked as '\nbym{2}{k}'. + An example with two required arguments: '\newcommand{\nbym}[2]{$#1 +\times #2$}' is invoked as '\nbym{2}{k}'. - An example with optional arguments: + An example with an optional argument: \newcommand{\salutation}[1][Sir or Madam]{Dear #1:} Then, '\salutation' gives 'Dear Sir or Madam:' while '\salutation[John]' gives 'Dear John:'. And '\salutation[]' gives 'Dear :'. - The braces around DEFN do not delimit the scope of the result of -expanding DEFN. So '\newcommand{\shipname}[1]{\it #1}' is wrong since -in the sentence + The braces around DEFN do not define a group, that is, they do not +delimit the scope of the result of expanding DEFN. So +'\newcommand{\shipname}[1]{\it #1}' is problematic; in this sentence, - The \shipname{Monitor} met the \shipname{Virginia}. + The \shipname{Monitor} met the \shipname{Merrimac}. -the words 'met the' will incorrectly be in italics. An extra pair of -braces '\newcommand{\shipname}[1]{{\it #1}}' fixes it. +the words 'met the' would incorrectly be in italics. Another pair of +braces in the definition is needed, like this: +'\newcommand{\shipname}[1]{{\it #1}}'. Those braces are part of the +definition and thus do define a group. 12.2 '\providecommand' ====================== @@ -3732,21 +4308,24 @@ loaded more than once. 12.3 '\newcounter': Allocating a counter ======================================== -Synopsis: +Synopsis, one of: + \newcounter{COUNTERNAME} \newcounter{COUNTERNAME}[SUPERCOUNTER] - The '\newcounter' command globally defines a new counter named -COUNTERNAME. The name consists of letters only and does not begin with -a backslash ('\'). The name must not already be used by another -counter. The new counter is initialized to zero. + Globally defines a new counter named COUNTERNAME and initialize the +new counter to zero. - If the optional argument '[SUPERCOUNTER]' appears, then COUNTERNAME + The name COUNTERNAME must consists of letters only, and does not +begin with a backslash. This name must not already be in use by another +counter. + + When you use the optional argument '[SUPERCOUNTER]' then COUNTERNAME will be numbered within, or subsidiary to, the existing counter SUPERCOUNTER. For example, ordinarily 'subsection' is numbered within -'section'. Any time SUPERCOUNTER is incremented with '\stepcounter' -(*note \stepcounter::) or '\refstepcounter' (*note \refstepcounter::) -then COUNTERNAME is reset to zero. +'section' so that any time SUPERCOUNTER is incremented with +'\stepcounter' (*note \stepcounter::) or '\refstepcounter' (*note +\refstepcounter::) then COUNTERNAME is reset to zero. *Note Counters::, for more information about counters. @@ -3784,32 +4363,34 @@ backslash ('\'), and must not be already defined. ============================================ These commands define or redefine an environment ENV, that is, -'\begin{ENV} ... \end{ENV}'. Synopses: +'\begin{ENV} BODY \end{ENV}'. Synopses: - \newenvironment{ENV}[NARGS][OPTARGDEFAULT]{BEGDEFN}{ENDDEFN} + \newenvironment{ENV}[NARGS][OPTARGDEFAULT]{BEGDEFN}{ENDDEFN} \newenvironment*{ENV}[NARGS][OPTARGDEFAULT]{BEGDEFN}{ENDDEFN} - \renewenvironment{ENV}[NARGS][OPTARGDEFAULT]{BEGDEFN}{ENDDEFN} + \renewenvironment{ENV}[NARGS][OPTARGDEFAULT]{BEGDEFN}{ENDDEFN} \renewenvironment*{ENV}[NARGS][OPTARGDEFAULT]{BEGDEFN}{ENDDEFN} - Unlike '\newcommand' and '\renewcommand', the '*'-forms -'\newenvironment*' and '\renewcommand*' have the same effect as the -forms with no '*'. + 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. ENV - Required; the environment name. It does not begin with backslash - ('\'). It must not begin with the string 'end'. For - '\newenvironment', the name ENV must not be the name of an already - existing environment, and also the command '\ENV' must be - undefined. For '\renewenvironment', ENV must be the name of an - existing environment. + Required; the environment name. It consists only of letters or the + '*' character, and thus does not begin with backslash ('\'). It + must not begin with the string 'end'. For '\newenvironment', the + name ENV must not be the name of an already existing environment, + and also the command '\ENV' must be undefined. For + '\renewenvironment', ENV must be the name of an existing + environment. NARGS Optional; an integer from 0 to 9 denoting the number of arguments - of that the environment will take. These arguments appear after - the '\begin', as in '\begin{ENV}{ARG1}...{ARGN}'. If this argument - is not present then the default is for the environment to have no - arguments. When redefining an environment, the new version can - have a different number of arguments than the old version. + of that the environment will take. When the environment is used + these arguments appear after the '\begin', as in + '\begin{ENV}{ARG1}...{ARGN}'. If this argument is not present then + the default is for the environment to have no arguments. When + redefining an environment, the new version can have a different + number of arguments than the old version. OPTARGDEFAULT Optional; if this argument is present then the first argument of @@ -3820,11 +4401,12 @@ OPTARGDEFAULT That is, when '[OPTARGDEFAULT]' is present in the environment definition, if '\begin{ENV}' is used with square brackets - following, as in '\begin{ENV}[MYVAL]', then within the environment - '#1' expands MYVAL. If '\begin{ENV}' is called without square - brackets following, then within the environment the '#1' expands to - the default OPTARGDEFAULT. In either case, any required arguments - will be referred to starting with '#2'. + following, as in '\begin{ENV}[MYVAL]', then, within BEGDEFN, the + positional parameter '#1' expands to MYVAL. If '\begin{ENV}' is + called without square brackets following, then, within within + BEGDEFN, the positional parameter '#1' expands to the default + OPTARGDEFAULT. In either case, any required arguments will be + referred to starting with '#2'. Omitting '[MYVAL]' in the call is different from having the square brackets with no contents, as in '[]'. The former results in '#1' @@ -3832,22 +4414,22 @@ OPTARGDEFAULT the empty string. BEGDEFN - Required; the text expanded at every occurrence of '\begin{ENV}'; a - construct of the form '#N' in BEGDEF is replaced by the text of the - Nth argument. + Required; the text expanded at every occurrence of '\begin{ENV}'. + Within BEGDEF, the Nth positional parameter (i.e., '#N') is + replaced by the text of the Nth argument. ENDDEFN Required; the text expanded at every occurrence of '\end{ENV}'. - Note that it may not contain any argument parameters, so '#N' - cannot be used here. + This may not contain any positional parameters, so '#N' cannot be + used here (but see the final example below). - The environment ENV delimits the scope of the result of expanding -BEGDEFN and ENDDEFN. Thus, in the first example below, the effect of -the '\small' is limited to the quote and does not extend to material -following the environment. + All environments, that is to say the BEGDEFN code, the environment +body and the ENDDEFN code, are processed within a group. Thus, in the +first example below, the effect of the '\small' is limited to the quote +and does not extend to material following the environment. This example gives an environment like LaTeX's 'quotation' except -that it will be set in smaller type. +that it will be set in smaller type: \newenvironment{smallquote}{% \small\begin{quotation} @@ -3855,8 +4437,8 @@ that it will be set in smaller type. \end{quotation} } - This shows the use of arguments; it gives a quotation environment -that cites the author. + This one shows the use of arguments; it gives a quotation environment +that cites the author: \newenvironment{citequote}[1][Shakespeare]{% \begin{quotation} @@ -3865,15 +4447,15 @@ that cites the author. \end{quotation} } -The author's name is optional, and defaults to Shakespeare. In the -document, use the environment as here: +The author's name is optional, and defaults to 'Shakespeare'. In the +document, use the environment like this: \begin{citequote}[Lincoln] - .. + ... \end{citequote} The final example shows how to save the value of an argument to use -in ENDDEFN. +in ENDDEFN, in this case in a box (*note \sbox::): \newsavebox{\quoteauthor} \newenvironment{citequote}[1][Shakespeare]{% @@ -3887,33 +4469,33 @@ in ENDDEFN. 12.7 '\newtheorem' ================== -Define a new "theorem-like environment". Synopses: +Define a new theorem-like environment. Synopses: + \newtheorem{NAME}{TITLE} \newtheorem{NAME}{TITLE}[NUMBERED_WITHIN] \newtheorem{NAME}[NUMBERED_LIKE]{TITLE} - Both create a theorem-like environment NAME. Using the first form, - - \newtheorem{NAME}{TITLE}[NUMBERED_WITHIN] + Using the first form, '\newtheorem{NAME}{TITLE}' creates an +environment that will be labelled with TITLE. See the first example +below. -with the optional argument after the second required argument, creates + The second form '\newtheorem{NAME}{TITLE}[NUMBERED_WITHIN]' creates an environment whose counter is subordinate to the existing counter -NUMBERED_WITHIN: it will be reset when NUMBERED_WITHIN is reset). - - Using the second form, - - \newtheorem{NAME}[NUMBERED_LIKE]{TITLE} +NUMBERED_WITHIN (its counter will be reset when NUMBERED_WITHIN is +reset). -with the optional argument between the two required arguments, will -create an environment whose counter will share the previously defined -counter NUMBERED_LIKE. + The third form '\newtheorem{NAME}[NUMBERED_LIKE]{TITLE}', with +optional argument between the two required arguments, will create an +environment whose counter will share the previously defined counter +NUMBERED_LIKE. You can specify one of NUMBERED_WITHIN and NUMBERED_LIKE, or neither, but not both. This command creates a counter named NAME. In addition, unless the -optional argument NUMBERED_LIKE is used, the current '\ref' value will -be that of '\theNUMBERED_WITHIN' (*note \ref::). +optional argument NUMBERED_LIKE is used, inside of the theorem-like +environment the current '\ref' value will be that of +'\theNUMBERED_WITHIN' (*note \ref::). This declaration is global. It is fragile (*note \protect::). @@ -3943,7 +4525,7 @@ NUMBERED_LIKE NUMBERED_LIKE. Without any optional arguments the environments are numbered -sequentially. This example has a declaration in the preamble that +sequentially. The example below has a declaration in the preamble that results in 'Definition 1' and 'Definition 2' in the output. \newtheorem{defn}{Definition} @@ -3958,9 +4540,9 @@ results in 'Definition 1' and 'Definition 2' in the output. Second def \end{defn} - Because this example specifies the optional argument NUMBERED_WITHIN -to '\newtheorem' as 'section', the example, with the same document body, -gives 'Definition 1.1' and 'Definition 2.1'. + Because the next example specifies the optional argument +NUMBERED_WITHIN to '\newtheorem' as 'section', the example, with the +same document body, gives 'Definition 1.1' and 'Definition 2.1'. \newtheorem{defn}{Definition}[section] \begin{document} @@ -3974,7 +4556,7 @@ gives 'Definition 1.1' and 'Definition 2.1'. Second def \end{defn} - In this example there are two declarations in the preamble, the + In the next example there are two declarations in the preamble, the second of which calls for the new 'thm' environment to use the same counter as 'defn'. It gives 'Definition 1.1', followed by 'Theorem 2.1' and 'Definition 2.2'. @@ -4027,7 +4609,7 @@ design size, which is a value defined in the '.tfm' file. characters in each: \newfont{\testfontat}{cmb10 at 11pt} - \newfont{\testfontscaled}{cmb10 scaled 11pt} + \newfont{\testfontscaled}{cmb10 scaled 1100} \testfontat abc \testfontscaled abc @@ -4037,8 +4619,8 @@ characters in each: 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 they must be -preceded by the command '\protect'. +certain commands. To prevent such commands from breaking one solution +is to have them preceded by 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 @@ -4047,7 +4629,7 @@ contents. Any argument that is internally expanded by LaTeX without typesetting it directly is referred to as a "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{..}' command (*note figure::), in the '\thanks{..}' command +'\caption{...}' command (*note figure::), in the '\thanks{...}' command (*note \maketitle::), and in @-expressions in the 'tabular' and 'array' environments (*note tabular::). @@ -4060,12 +4642,12 @@ are robust and should not be preceded by a '\protect' command. Nor can a '\protect' command be used in the argument to '\addtocounter' or '\setcounter' command. - In this example the 'caption' command gives a mysterious error about + In this example the '\caption' command gives a mysterious error about an extra curly brace. Fix the problem by preceding each '\raisebox' command with '\protect'. \begin{figure} - .. + ... \caption{Company headquarters of A\raisebox{1pt}{B}\raisebox{-1pt}{C}} \end{figure} @@ -4076,19 +4658,21 @@ because the '\(..\)' in the section title expands to illegal TeX in the \begin{document} \tableofcontents - .. + ... \section{Einstein's \( e=mc^2 \)} - .. + ... 13 Counters *********** 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 with no backslash ('\'). -Thus the '\chapter' command starts a chapter and the 'chapter' counter -keeps track of the chapter number. Below is a list of the counters used -in LaTeX's standard document classes to control numbering. +command associated with the number, except that the counter'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's standard document +classes to control numbering. part paragraph figure enumi chapter subparagraph table enumii @@ -4097,45 +4681,58 @@ in LaTeX's standard document classes to control numbering. subsubsection The 'mpfootnote' counter is used by the '\footnote' command inside of -a minipage (*note minipage::). - - The 'enumi' through 'enumiv' counters are used in the 'enumerate' -environment, for up to four nested levels (*note enumerate::). +a minipage (*note minipage::). The counters 'enumi' through 'enumiv' +are used in the 'enumerate' environment, for up to four levels of +nesting (*note enumerate::). New counters are created with '\newcounter'. *Note \newcounter::. 13.1 '\alph \Alph \arabic \roman \Roman \fnsymbol': Printing counters ===================================================================== -All of these commands take a single counter as an argument, for +Print the value of a counter, in a specified style. For instance, if +the counter COUNTER has the value 1 then a '\alph{COUNTER}' in your +source will result in a lower case letter a appearing in the output. + + All of these commands take a single counter as an argument, for instance, '\alph{enumi}'. Note that the counter name does not start with a backslash. -'\alph' - prints COUNTER using lowercase letters: 'a', 'b', ... +'\alph{COUNTER}' + Print the value of COUNTER in lowercase letters: 'a', 'b', ... -'\Alph' - uses uppercase letters: 'A', 'B', ... +'\Alph{COUNTER}' + Print in uppercase letters: 'A', 'B', ... -'\arabic' - uses Arabic numbers: '1', '2', ... +'\arabic{COUNTER}' + Print in Arabic numbers: '1', '2', ... -'\roman' - uses lowercase roman numerals: 'i', 'ii', ... +'\roman{COUNTER}' + Print in lowercase roman numerals: 'i', 'ii', ... -'\Roman' - uses uppercase roman numerals: 'I', 'II', ... +'\Roman{COUNTER}' + Print in uppercase roman numerals: 'I', 'II', ... -'\fnsymbol' - prints the value of COUNTER in a specific sequence of nine symbols +'\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. - Here are the symbols (as Unicode code points in ASCII output): - - asterisk(*) dagger(U+2021) ddagger(U+2021) - section-sign(U+00A7) paragraph-sign(U+00B6) parallel(U+2225) - double-asterisk(**) double-dagger(U+2020U+2020) double-ddagger(U+2021U+2021) + Here are the symbols: + + Name Command Equivalent Unicode + symbol and/or numeric + code point + --------------------------------------------------------------------------- + asterisk '\ast' * + dagger '\dagger' U+2020 + ddagger '\ddagger' U+2021 + section-sign '\S' U+00A7 + paragraph-sign '\P' U+00B6 + double-vert '\parallel' U+2016 + double-asterisk '\ast\ast' ** + double-dagger '\dagger\dagger' U+2020U+2020 + double-ddagger '\ddagger\ddagger' U+2021U+2021 13.2 '\usecounter{COUNTER}' =========================== @@ -4203,12 +4800,23 @@ Synopsis: VALUE argument. Note that the counter name does not start with a backslash. + In this example the section value appears as 'V'. + + \setcounter{section}{5} + Here it is in Roman: \Roman{section}. + 13.5 '\addtocounter{COUNTER}{VALUE}' ==================================== The '\addtocounter' command globally increments COUNTER by the amount specified by the VALUE argument, which may be negative. + In this example the section value appears as 'VII'. + + \setcounter{section}{5} + \addtocounter{section}{2} + Here it is in Roman: \Roman{section}. + 13.6 '\refstepcounter{COUNTER}' =============================== @@ -4318,39 +4926,56 @@ definition given in points. unit "mu" given by 1 em = 18 mu, where the em is taken from the current math symbols family. *Note Spacing in math mode::. -14.2 '\setlength{\LEN}{VALUE}' -============================== +14.2 '\setlength' +================= + +Synopsis: -The '\setlength' sets the value of \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. + \setlength{\LEN}{AMOUNT} -14.3 '\addtolength{\LEN}{AMOUNT}' -================================= + The '\setlength' sets the value of "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. + +14.3 '\addtolength' +=================== + +Synopsis: + + \addtolength{\LEN}{AMOUNT} -The '\addtolength' command increments a "length command" \LEN by the + The '\addtolength' command increments a length command '\LEN' by the amount specified in the AMOUNT argument, which may be negative. 14.4 '\settodepth' ================== -'\settodepth{\gnat}{text}' +Synopsis: + + \settodepth{\LEN}{TEXT} - The '\settodepth' command sets the value of a 'length' command equal -to the depth of the 'text' argument. + The '\settodepth' command sets the value of a length command '\LEN' +equal to the depth of the TEXT argument. 14.5 '\settoheight' =================== -'\settoheight{\gnat}{text}' +Synopsis: + + \settoheight{\LEN}{text} - The '\settoheight' command sets the value of a 'length' command equal -to the height of the 'text' argument. + The '\settoheight' command sets the value of a length command '\LEN' +equal to the height of the 'text' argument. 14.6 '\settowidth{\LEN}{TEXT}' ============================== -The '\settowidth' command sets the value of the command \LEN to the +Synopsis: + + \settowidth{\LEN}{TEXT} + + The '\settowidth' command sets the value of the command \LEN to the width of the TEXT argument. 14.7 Predefined lengths @@ -4370,7 +4995,7 @@ etc., of the text in the box. '\totalheight' equals '\height' + '\depth'. To make a box with the text stretched to double the natural size, e.g., say - '\makebox[2\width]{Get a stretcher}' + \makebox[2\width]{Get a stretcher} 15 Making paragraphs ******************** @@ -4397,7 +5022,7 @@ for '12pt'. When used at the beginning of the paragraph, this command suppresses any paragraph indentation, as in this example. - .. end of the prior paragraph. + ... end of the prior paragraph. \noindent This paragraph is not indented. @@ -4503,8 +5128,8 @@ summations. For example: ============================== In math mode, use the caret character '^' to make the EXP appear as a -superscript, ie. type '^{EXP}'. Similarly, in math mode, -underscore '_{EXP}' makes a subscript out of EXP. +superscript: '^{EXP}'. Similarly, in math mode, underscore '_{EXP}' +makes a subscript out of EXP. In this example the '0' and '1' appear as subscripts while the '2' is a superscript. @@ -4542,8 +5167,11 @@ symbol U+03C0. Below is a list of commonly-available symbols. It is by no means an exhaustive list. Each symbol here is described with a short phrase, and its symbol class (which determines the spacing around it) is given in -parenthesis. The commands for these symbols can be used only in math -mode. +parenthesis. Unless said otherwise, the commands for these symbols can +be used only in math mode. + + To redefine a command so that it can be used whatever the current +mode, see *note \ensuremath::. '\|' U+2225 Parallel (relation). Synonym: '\parallel'. @@ -4572,7 +5200,7 @@ mode. reserved for cross-correlation. '\asymp' - U+224D Asymptomatically equivalent (relation). + U+224D Asymptotically equivalent (relation). '\backslash' \ Backslash (ordinary). Similar: set minus '\setminus', and @@ -4624,15 +5252,15 @@ mode. U+22C0 Variable-sized, or n-ary, logical-or (operator). '\bot' - U+22A5 Up tack, bottom, least element of a poset, or a - contradiction (ordinary). See also '\top'. + U+22A5 Up tack, bottom, least element of a partially ordered set, + or a contradiction (ordinary). See also '\top'. '\bowtie' U+22C8 Natural join of two relations (relation). '\Box' U+25A1 Modal operator for necessity; square open box (ordinary). - This is not available in Plain TeX. In LaTeX you need to load the + Not available in plain TeX. In LaTeX you need to load the 'amssymb' package. '\bullet' @@ -4657,8 +5285,8 @@ mode. '\complement' U+2201 Set complement, used as a superscript as in - '$S^\complement$' (ordinary). This is not available in Plain TeX. - In LaTeX you should load the 'amssymb' package. Also used: + '$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' @@ -4688,8 +5316,8 @@ mode. U+03B4 Greek lower case delta (ordinary). '\Diamond' - U+25C7 Large diamond operator (ordinary). This is not available in - Plain TeX. In LaTeX you must load the 'amssymb' package. + U+25C7 Large diamond operator (ordinary). Not available in plain + TeX. In LaTeX you need to load the 'amssymb' package. '\diamond' U+22C4 Diamond operator, or diamond bullet (binary). Similar: @@ -4717,13 +5345,14 @@ mode. U+2113 Lower-case cursive letter l (ordinary). '\emptyset' - U+2205 Empty set symbol (ordinary). Similar: reversed empty - set '\varnothing'. + U+2205 Empty set symbol (ordinary). The variant form is + '\varnothing'. '\epsilon' - U+03F5 Lower case Greek-text letter (ordinary). More widely used - in mathematics is the curly epsilon '\varepsilon' U+03B5. Related: - the set membership relation '\in' U+2208. + U+03F5 Lower case lunate epsilon (ordinary). Similar to Greek text + letter. More widely used in mathematics is the script small letter + epsilon '\varepsilon' U+03B5. Related: the set membership relation + '\in' U+2208. '\equiv' U+2261 Equivalence (relation). @@ -4784,8 +5413,9 @@ mode. U+2111 Imaginary part (ordinary). See: real part '\Re'. '\in' - U+2208 Set element (relation). See also: lower case Greek letter - epsilon '\epsilon'U+03F5 and rounded small epsilon '\varepsilon'. + U+2208 Set element (relation). See also: lower case lunate + epsilon '\epsilon'U+03F5 and small letter script + epsilon '\varepsilon'. '\infty' U+221E Infinity (ordinary). @@ -4834,9 +5464,9 @@ mode. for '\leq'. '\leadsto' - U+21DD Squiggly right arrow (relation). This is not available in - Plain TeX. In LaTeX you should load the 'amssymb' package. To get - this symbol outside of math mode you can put + U+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. @@ -4867,14 +5497,14 @@ mode. for '\le'. '\lfloor' - U+230A Left floor bracket (opening). + U+230A Left floor bracket (opening). Matches: '\floor'. '\lhd' - U+25C1 Arrowhead, that is, triangle, pointing left (binary). This - is not available in Plain TeX. In LaTeX you should 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). + U+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' U+226A Much less than (relation). Similar: much greater @@ -4908,7 +5538,7 @@ mode. '\mho' U+2127 Conductance, half-circle rotated capital omega (ordinary). - This is not available in Plain TeX. In LaTeX you should load the + Not available in plain TeX. In LaTeX you need to load the 'amssymb' package. '\mid' @@ -5030,21 +5660,20 @@ mode. U+00B1 Plus or minus (binary). '\prec' - U+227A Preceeds (relation). Similar: less than '<'. + U+227A Precedes (relation). Similar: less than '<'. '\preceq' - U+2AAF Preceeds or equals (relation). Similar: less than or + U+2AAF Precedes or equals (relation). Similar: less than or equals '\leq'. '\prime' U+2032 Prime, or minute in a time expression (ordinary). Typically - used as a superscript '$A^\prime$'. Note that '$f^\prime$' and - '$f'$' produce the same result. An advantage of the second is that - '$f'''$' produces the the desired symbol, that is, the same result - as '$f^{\prime\prime\prime}$', but uses somewhat less typing. Note - that you can only use '\prime' in math mode but you can type right - single quote ''' in text mode also, although it resuts in a - different look than in math mode. + used as a superscript: '$f^\prime$'; '$f^\prime$' and '$f'$' + produce the same result. An advantage of the second is that + '$f'''$' produces the desired symbol, that is, the same result as + '$f^{\prime\prime\prime}$', but uses rather less typing. You can + only use '\prime' in math mode. Using the right single quote ''' + in text mode produces a different character (apostrophe). '\prod' U+220F Product (operator). @@ -5059,7 +5688,7 @@ mode. U+03C8 Lower case Greek letter (ordinary). '\rangle' - U+27B9 Right angle, or sequence, bracket (closing). Similar: + U+27E9 Right angle, or sequence, bracket (closing). Similar: greater than '>'. Matches:'\langle'. '\rbrace' @@ -5080,19 +5709,24 @@ mode. '\restriction' U+21BE Restriction of a function (relation). - Synonym: '\upharpoonright'. Not available in Plain TeX. In LaTeX - you should load the 'amssymb' package. + Synonym: '\upharpoonright'. Not available in plain TeX. In LaTeX + you need to load the 'amssymb' package. + +'\revemptyset' + U+29B0 Reversed empty set symbol (ordinary). Related: + '\varnothing'. Not available in plain TeX. In LaTeX you need to + load the 'stix' package. '\rfloor' U+230B Right floor bracket, a right square bracket with the top cut off (closing). Matches '\lfloor'. '\rhd' - U+25C1 Arrowhead, that is, triangle, pointing right (binary). This - is not available in Plain TeX. In LaTeX you should 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). + U+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' U+03C1 Lower case Greek letter (ordinary). The variant form is @@ -5144,7 +5778,7 @@ mode. display (operator). '\smile' - U+2323 Upward curving arc (ordinary). + U+2323 Upward curving arc, smile (ordinary). '\spadesuit' U+2660 Spade card suit (ordinary). @@ -5159,7 +5793,7 @@ mode. '\sqsubset' U+228F Square subset symbol (relation). Similar: subset '\subset'. - This is not available in Plain TeX. In LaTeX you should load the + Not available in plain TeX. In LaTeX you need to load the 'amssymb' package. '\sqsubseteq' @@ -5168,8 +5802,8 @@ mode. '\sqsupset' U+2290 Square superset symbol (relation). Similar: - superset '\supset'. This is not available in Plain TeX. In LaTeX - you should load the 'amssymb' package. + superset '\supset'. Not available in plain TeX. In LaTeX you need + to load the 'amssymb' package. '\sqsupseteq' U+2292 Square superset or equal symbol (binary). Similar: superset @@ -5207,7 +5841,7 @@ mode. U+2287 Superset or equal to (relation). '\surd' - U+221A Radical symbol (ordinary). The LaTeX command '\sqrt{..}' + U+221A Radical symbol (ordinary). The LaTeX command '\sqrt{...}' typesets the square root of the argument, with a bar that extends to cover the argument. @@ -5230,8 +5864,8 @@ mode. Synonym: '\rightarrow'. '\top' - U+22A4 Top, greatest element of a poset (ordinary). See - also '\bot'. + U+22A4 Top, greatest element of a partially ordered set (ordinary). + See also '\bot'. '\triangle' U+25B3 Triangle (ordinary). @@ -5249,16 +5883,16 @@ mode. spacing). '\unlhd' - U+22B4 Left-pointing not-filled arrowhead, that is, triangle, with - a line under (binary). This is not available in Plain TeX. In - LaTeX you should load the 'amssymb' package. For the normal + U+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' - U+22B5 Right-pointing not-filled arrowhead, that is, triangle, with - a line under (binary). This is not available in Plain TeX. In - LaTeX you should load the 'amssymb' package. For the normal + U+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). @@ -5282,8 +5916,8 @@ mode. '\upharpoonright' U+21BE Up harpoon, with barb on right side (relation). - Synonym: '\restriction'. Not available in Plain TeX. In LaTeX you - should load the 'amssymb' package. + Synonym: '\restriction'. Not available in plain TeX. In LaTeX you + need to load the 'amssymb' package. '\uplus' U+228E Multiset union, a union symbol with a plus symbol in the @@ -5297,9 +5931,14 @@ mode. U+03C5 Lower case Greek letter (ordinary). '\varepsilon' - U+03B5 Rounded small epsilon (ordinary). This is more widely used - in mathematics than the non-variant lower case Greek-text letter - form '\epsilon' U+03F5. Related: set membership '\in'. + U+03B5 Small letter script epsilon (ordinary). This is more widely + used in mathematics than the non-variant lunate epsilon form + '\epsilon' U+03F5. Related: set membership '\in'. + +'\vanothing' + U+2205 Empty set symbol. Similar: '\emptyset'. Related: + '\revemptyset'. Not available in plain TeX. In LaTeX you need to + load the 'amssymb' package. '\varphi' U+03C6 Variant on the lower case Greek letter (ordinary). The @@ -5333,7 +5972,7 @@ mode. U+2016 Vertical double bar (ordinary). Similar: vertical single bar '\vert'. - For a norm you can use the 'mathtools' package and add + For a norm symbol, you can use the 'mathtools' package and add '\DeclarePairedDelimiter\norm{\lVert}{\rVert}' to your preamble. This gives you three command variants for double-line vertical bars that are correctly horizontally spaced: if in the document body you @@ -5479,7 +6118,7 @@ spacing. \sinh '\sup' - sup + \sup '\tan' \tan @@ -5562,7 +6201,7 @@ following commands for use in math mode: '\,' Normally '3mu'. The longer name is '\thinspace'. This can be used - in both math mode and text mode. + in both math mode and text mode. *Note \thinspace::. '\!' A negative thin space. Normally '-3mu'. Math mode only. @@ -5587,7 +6226,22 @@ infinitesimal. '\*' A "discretionary" multiplication symbol, at which a line break is - allowed. + allowed. Without the break multiplication is implicitly indicated + by a space, while in the case of a break a U+00D7 symbol is printed + immediately before the break. So + + \documentclass{article} + \begin{document} + Now \(A_3 = 0\), hence the product of all terms \(A_1\) + through \(A_4\), that is \(A_1\* A_2\* A_3 \* A_4\), is + equal to zero. + \end{document} + + will make that sort of output (the ellipsis '[...]' is here to show + the line break at the same place as in a TeX output): + + Now A_3 = 0, [...] A_1 through A_4, that is A_1 A_2 \times + A_3 A_4, is equal to zero. '\cdots' A horizontal ellipsis with the dots raised to the center of the @@ -5596,35 +6250,54 @@ infinitesimal. '\ddots' A diagonal ellipsis: \ddots. -'\frac{num}{den}' - Produces the fraction 'num' divided by 'den'. +'\frac{NUM}{DEN}' + Produces the fraction NUM divided by DEN. '\left DELIM1 ... \right DELIM2' - The two delimiters need not match; '.' acts as a 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]'. + math in between. Example: '\left( \sum_{i=1}^{10} a_i \right]'. + +'\mathdollar' + Dollar sign in math mode: $. + +'\mathellipsis' + Ellipsis (spaced for text) in math mode: .... + +'\mathparagraph' + Paragraph sign (pilcrow) in math mode: U+00B6. -'\overbrace{TEXT}' - Generates a brace over TEXT. For example, - \overbrace{x+\cdots+x}^{k \rm\;times}. +'\mathsection' + Section sign in math mode. + +'\mathsterling' + Sterling sign in math mode: #. + +'\mathunderscore' + Underscore in math mode: _. + +'\overbrace{MATH}' + Generates a brace over MATH. For example, + '\overbrace{x+\cdots+x}^{k \;\textrm{times}}'. '\overline{TEXT}' - Generates a horizontal line over TEX. For example, \overline{x+y}. + Generates a horizontal line over TEX. For example, + '\overline{x+y}'. -'\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}$'. + example, the cube root of 'x+y' would be typed as '\sqrt[3]{x+y}'. '\stackrel{TEXT}{RELATION}' Puts TEXT above RELATION. For example, '\stackrel{f}{\longrightarrow}'. -'\underbrace{math}' - Generates MATH with a brace underneath. +'\underbrace{MATH}' + Generates MATH with a brace underneath. For example, + '\underbrace{x+y+z}_{>\,0}' -'\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. @@ -5671,6 +6344,37 @@ in paragraph mode while making a box, it is said to be in "inner paragraph mode" (no page breaks). Its normal paragraph mode, which it starts out in, is called "outer paragraph mode". +17.1 '\ensuremath' +================== + +Synopsis: + + \ensuremath{FORMULA} + + The '\ensuremath' command ensures that FORMULA is typeset in math +mode whatever the current mode in which the command is used. + + For instance: + + \documentclass{report} + \newcommand{\ab}{\ensuremath{(\delta, \varepsilon)}} + \begin{document} + Now, the \ab\ pair is equal to \(\ab = (\frac{1}{\pi}, 0)\), ... + \end{document} + + One can redefine commands that can be used only in math mode so that +they ca be used in any mode like in the following example given for +'\leadsto': + + \documentclass{report} + \usepackage{amssymb} + \newcommand{\originalMeaningOfLeadsTo}{} + \let\originalMeaningOfLeadsTo\leadsto + \renewcommand\leadsto{\ensuremath{\originalMeaningOfLeadsTo}} + \begin{document} + All roads \leadsto\ Rome. + \end{document} + 18 Page styles ************** @@ -5794,7 +6498,7 @@ negative space is like backspacing. Normally when TeX breaks a paragraph into lines it discards white space (glues and kerns) that would come at the start of a line, so you get an inter-word space or a line break between words but not both. -This command's starred version '\hspace*{..}' puts a non-discardable +This command's starred version '\hspace*{...}' puts a non-discardable invisible item in front of the space, so the space appears in the output. @@ -5826,7 +6530,7 @@ 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 intersentence space follows that parenthesis or quote. +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 @@ -5834,60 +6538,42 @@ 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 other use of '\ ', see also *note \(SPACE) after CS::. + For another use of '\ ', *note \(SPACE) after control sequence::. In the opposite situation, if you have a capital letter followed by a -period that ends the sentence, then put '\@' on the left of that period. -For example, 'book by the MAA\@.' will have intersentence spacing after -the period. +period that ends the sentence, then put '\@' before that period. For +example, 'book by the MAA\@.' will have inter-sentence spacing after the +period. - In contrast, putting '\@' on the right of 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). + 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). -19.4 '\ ' after a control sequence -================================== +19.4 '\ ' after control sequence +================================ The '\ ' command is often used after control sequences to keep them from -gobbling the space that follows, as in '\TeX\ is a nice system.' And, -under normal circumstances '\' and '\' are equivalent to -'\ '. For other use of '\ ', see also *note \(SPACE) and \@::. +gobbling the space that follows, as in '\TeX\ is nice'. And, under +normal circumstances, '\' and '\' are equivalent to '\ '. +For another use of '\ ', see also *note \(SPACE) and \@::. Some people prefer to use '{}' for the same purpose, as in '\TeX{} is -a nice system.' This has the advantage that you can always write it the -same way, like '\TeX{}', whether it is followed by a space or by a -punctuation mark. Please compare: +nice'. This has the advantage that you can always write it the same +way, namely '\TeX{}', whether it is followed by a space or by a +punctuation mark. Compare: \TeX\ is a nice system. \TeX, a nice system. \TeX{} is a nice system. \TeX{}, a nice system. - When you define user commands (*note \newcommand & \renewcommand::) -you can prevent the space gobbling after the command by using the -package 'xspace' and inserting '\xspace' at the end of the definition -For instance: - \documentclass{minimal} - \usepackage{xspace} - \newcommand*{\Loup}{Grand Cric\xspace} - \begin{document} - Que le \Loup me croque ! - \end{document} - - A quick hack to use '\xspace' for existing command is as follows: - \documentclass{minimal} - \usepackage{xspace} - \newcommand*{\SansXspaceTeX}{} - \let\SansXspaceTeX\TeX - \renewcommand{\TeX}{\SansXspaceTeX\xspace} - \begin{document} - \TeX is a nice system. - \end{document} + 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 intersentence +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, @@ -5964,9 +6650,9 @@ this command will not add more space than what is needed to make the natural length of the total vertical space equal to LENGTH. Use this command to adjust the vertical space above or below an -environment that starts a new paragraph. (For instance, a Theorem -environment is defined to begin and end in '\addvspace{..}' so that two -consecutive Theorem's are separated by one vertical space, not two.) +environment that starts a new paragraph. For instance, a Theorem +environment is defined to begin and end with '\addvspace{...}' so that +two consecutive Theorem's are separated by one vertical space, not two. This command is fragile (*note \protect::). @@ -6031,10 +6717,14 @@ Synopsis, one of these two: Add the vertical space LENGTH. This can be negative or positive, and is a rubber length (*note Lengths::). - LaTeX removes the vertical space from '\vfill' at a page break, that -is, at the top or bottom of a page. The starred version '\vspace*{..}' + LaTeX removes the vertical space from '\vspace' at a page break, that +is, at the top or bottom of a page. The starred version '\vspace*{...}' causes the space to stay. + If '\vspace' is used in the middle of a paragraph (i.e., in +horizontal mode), the space is inserted _after_ the line with the +'\vspace' command. A new paragraph is not started. + In this example the two questions will be evenly spaced vertically on the page, with at least one inch of space below each. @@ -6084,12 +6774,16 @@ rule and the contents of the box. 20.3 'lrbox' ============ -'\begin{lrbox}{cmd} text \end{lrbox}' +Synopsis: + + \begin{lrbox}{\CMD} + TEXT + \end{lrbox} - This is the environment form of '\sbox'. + This is the environment form of *note '\sbox': \sbox. - The text inside the environment is saved in the box 'cmd', which must -have been declared with '\newsavebox'. + The TEXT inside the environment is saved in the box '\CMD', which +must have been declared with '\newsavebox'. 20.4 '\makebox' =============== @@ -6137,9 +6831,12 @@ WIDTH TEXT the text that goes inside the parbox. - The optional POSITION argument allows you to align either the top or -bottom line in the parbox with the baseline of the surrounding text -(default is top). + By default LaTeX will position vertically a parbox so its center +lines up with the center of the surrounding text line. When the +optional POSITION argument is present and equal either to 't' or 'b', +this allows you respectively to align either the top or bottom line in +the parbox with the baseline of the surrounding text. You may also +specify 'm' for POSITION to get the default behaviour. The optional HEIGHT argument overrides the natural height of the box. @@ -6161,7 +6858,7 @@ box, as follows; if it is not specified, POSITION is used. Synopsis: - \raisebox{distance}[HEIGHT][DEPTH]{text} + \raisebox{DISTANCE}[HEIGHT][DEPTH]{TEXT} The '\raisebox' command raises or lowers TEXT. The first mandatory argument specifies how high TEXT is to be raised (or lowered if it is a @@ -6169,7 +6866,7 @@ negative amount). TEXT itself is processed in LR mode. The optional arguments HEIGHT and DEPTH are dimensions. If they are specified, LaTeX treats TEXT as extending a certain distance above the -baseline (height) or below (depth), ignoring its natural height and +baseline (HEIGHT) or below (DEPTH), ignoring its natural height and depth. 20.7 '\savebox' @@ -6215,35 +6912,47 @@ meaning do not correspond to simple characters you can type. 21.1 Reserved characters ======================== -The following characters play a special role in LaTeX and are called +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. - Whenever you write one of these characters into your file, LaTeX will -do something special. If you simply want the character to be printed as -itself, include a '\' in front of the character. For example, '\$' will -produce '$' in your output. + 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{}'. - One exception to this rule is '\' itself, because '\\' has its own -special (context-dependent) meaning. A roman \ is produced by typing -'$\backslash$' in your file, and a typewriter '\' is produced by using -'\' in a verbatim command (*note verbatim::). + To produce the reserved characters in a typewriter font use +'\verb!!', as below. - Also, '\~' and '\^' place tilde and circumflex accents over the -following letter, as in o~ and o^ (*note Accents::); to get a standalone -'~' or '^', you can again use a verbatim command. + \begin{center} + \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \\ + \verb!# $ % & { } _ ~ ^ \! + \end{center} - Finally, you can access any character of the current font once you -know its number by using 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}'. + In that example the double backslash '\\' is only there to split the +lines. - You can also specify octal numbers with ''' or hexadecimal numbers -with '"', so the previous example could also be written as -'\symbol{'40}' or '\symbol{"20}'. +21.2 Symbols by font position +============================= -21.2 Text symbols +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}'. + +21.3 Text symbols ================= LaTeX provides commands to generate a number of non-letter symbols in @@ -6284,7 +6993,7 @@ available in OT1; you may need to load the 'textcomp' package. '\P' '\textparagraph' - Paragraph sign (pilcrow). + Paragraph sign (pilcrow): U+00B6. '\pounds' '\textsterling' @@ -6298,7 +7007,7 @@ available in OT1; you may need to load the 'textcomp' package. Right (closing) quote: '. '\S' - Section symbol. + \itemx \textsection Section sign: U+00A7. '\TeX' The TeX logo. @@ -6337,8 +7046,8 @@ available in OT1; you may need to load the 'textcomp' package. LETTER in a circle, as in (R). '\textcompwordmark' -'\textcapitalwordmark' -'\textascenderwordmark' +'\textcapitalcompwordmark' +'\textascendercompwordmark' Composite word mark (invisible). The '\textcapital...' form has the cap height of the font, while the '\textascender...' form has the ascender height. @@ -6349,7 +7058,7 @@ available in OT1; you may need to load the 'textcomp' package. '\textdaggerdbl' Double dagger: \ddag. -'\textdollar (or '$')' +'\textdollar (or '\$')' Dollar sign: $. '\textemdash (or '---')' @@ -6378,7 +7087,7 @@ available in OT1; you may need to load the 'textcomp' package. Feminine and masculine ordinal symbols: a, o. '\textperiodcentered' - Centered period: \cdot. + Centered period: U+00B7. '\textquestiondown (or '?`')' Upside down question mark: ?. @@ -6386,7 +7095,7 @@ available in OT1; you may need to load the 'textcomp' package. '\textquotedblleft (or '``')' Double left quote: ". -'\textquotedblright (or ''')' +'\textquotedblright (or '''')' Double right quote: ". '\textquoteleft (or '`')' @@ -6395,6 +7104,9 @@ available in OT1; you may need to load the 'textcomp' package. '\textquoteright (or ''')' Single right quote: '. +'\textquotesingle' + Straight single quote. (From TS1 encoding.) + '\textquotestraightbase' '\textquotestraightdblbase' Single and double straight quotes on the baseline. @@ -6409,7 +7121,7 @@ available in OT1; you may need to load the 'textcomp' package. "Three-quarters" em-dash, between en-dash and em-dash. '\texttrademark' - Trademark symbol: ^{\hbox{TM}}. + Trademark symbol: U+2122. '\texttwelveudash' "Two-thirds" em-dash, between en-dash and em-dash. @@ -6420,7 +7132,7 @@ available in OT1; you may need to load the 'textcomp' package. '\textvisiblespace' Visible space symbol. -21.3 Accents +21.4 Accents ============ LaTeX has wide support for many of the world's scripts and languages, @@ -6516,11 +7228,12 @@ capital letters. These are not available with OT1. '\capitalcaron' Produces a ha'c. \documentclass{ltugboat} + \usepackage{graphicx} \usepackage{ifpdf} \ifpdf @@ -7160,6 +7898,8 @@ A.3 'tugboat' template \usepackage{url} \fi +%%% Start of metadata %%% + \title{Example \TUB\ article} % repeat info for each author. @@ -7168,51 +7908,56 @@ A.3 'tugboat' template \netaddress{user (at) example dot org} \personalURL{http://example.org/~user/} +%%% End of metadata %%% + \begin{document} \maketitle \begin{abstract} This is an example article for \TUB{}. +Please write an abstract. \end{abstract} \section{Introduction} -This is an example article for \TUB, from +This is an example article for \TUB, linked from \url{http://tug.org/TUGboat/location.html}. We recommend the \texttt{graphicx} package for image inclusions, and the -\texttt{hyperref} package for active urls in the \acro{PDF} output. -Nowadays \TUB\ is produced using \acro{PDF} files exclusively. - -The \texttt{ltugboat} class provides these abbreviations and many more: +\texttt{hyperref} package if active urls are desired (in the \acro{PDF} +output). Nowadays \TUB\ is produced using \acro{PDF} files exclusively. +The \texttt{ltugboat} class provides these abbreviations (and many more): % verbatim blocks are often better in \small \begin{verbatim}[\small] \AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW \BibTeX \CTAN \DTD \HTML \ISBN \ISSN \LaTeXe -\Mc \mf \MFB \mtex \PCTeX \pcTeX -\PiC \PiCTeX \plain \POBox \PS -\SC \SGML \SliTeX \TANGLE \TB \TP +\mf \MFB +\plain \POBox \PS +\SGML \TANGLE \TB \TP \TUB \TUG \tug -\UG \UNIX \VAX \XeT \WEB \WEAVE +\UNIX \XeT \WEB \WEAVE -\Dash \dash \vellipsis \bull \cents \Dag -\careof \thinskip +\, \bull \Dash \dash \hyph \acro{FRED} -> {\small[er] fred} % please use! \cs{fred} -> \fred -\env{fred} -> \begin{fred} \meta{fred} -> \nth{n} -> 1st, 2nd, ... \sfrac{3/4} -> 3/4 \booktitle{Book of Fred} \end{verbatim} -For more information, see the ltubguid document at: -\url{http://mirror.ctan.org/macros/latex/contrib/tugboat} -(we recommend using \verb|mirror.ctan.org| for \CTAN\ references). +For references to other \TUB\ issue, please use the format +\textsl{volno:issno}, e.g., ``\TUB\ 32:1'' for our \nth{100} issue. + +This file is just a template. The \TUB\ style documentation is the +\texttt{ltubguid} document at \url{http://ctan.org/pkg/tugboat}. (For +\CTAN\ references, where sensible we recommend that form of url, using +\texttt{/pkg/}; or, if you need to refer to a specific file location, +\texttt{http://mirror.ctan.org/\textsl{path}}.) Email \verb|tugboat@tug.org| if problems or questions. @@ -7228,1783 +7973,1998 @@ Concept Index * Menu: -* '*' prompt: Command line. (line 7136) -* '*'-form of sectioning commands: Sectioning. (line 1422) -* '.glo' file: Glossaries. (line 6780) -* '.idx' file: Indexes. (line 6796) -* '.ind' file: Indexes. (line 6810) -* 'see' and 'see also' index entries: Indexes. (line 6803) -* abstracts: abstract. (line 1535) -* accents: Accents. (line 6475) -* accents, mathematical: Math accents. (line 5541) -* accessing any character of a font: Reserved characters. - (line 6286) -* acute accent: Accents. (line 6489) -* acute accent, math: Math accents. (line 5546) -* additional packages, loading: Document class options. - (line 633) -* ae ligature: Non-English characters. - (line 6580) -* align environment, from 'amsmath': eqnarray. (line 1848) -* aligning equations: eqnarray. (line 1848) -* alignment via tabbing: tabbing. (line 2585) -* amsmath package, replacing 'eqnarray': eqnarray. (line 1848) -* appendix, creating: Sectioning. (line 1428) -* aring: Non-English characters. - (line 6576) -* arrays, math: array. (line 1547) -* arrow, left, in text: Text symbols. (line 6423) -* arrow, right, in text: Text symbols. (line 6455) -* ascender height: Text symbols. (line 6391) -* ASCII circumflex, in text: Text symbols. (line 6356) -* ASCII tilde, in text: Text symbols. (line 6359) -* asterisk, centered, in text: Text symbols. (line 6362) -* at clause, in font definitions: \newfont. (line 4033) -* author, for titlepage: \maketitle. (line 5737) -* auxiliary file: Output files. (line 374) -* 'babel' package: Accents. (line 6475) -* backslash, in text: Text symbols. (line 6365) -* bar, double vertical, in text: Text symbols. (line 6371) -* bar, vertical, in text: Text symbols. (line 6368) -* bar-over accent: Accents. (line 6498) -* bar-over accent, math: Math accents. (line 5549) -* bar-under accent: Accents. (line 6515) -* basics of LaTeX: Overview. (line 293) -* 'beamer' template and class: beamer template. (line 7152) -* beginning of document hook: \AtBeginDocument. (line 1757) +* * prompt: Command line. (line 7880) +* *-form of environment commands: \newenvironment & \renewenvironment. + (line 4388) +* *-form of sectioning commands: Sectioning. (line 1842) +* *-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) +* accessing any character of a font: Symbols by font position. + (line 7002) +* acute accent: Accents. (line 7208) +* acute accent, math: Math accents. (line 6189) +* additional packages, loading: Additional packages. + (line 701) +* 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) +* 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) * bibliography format, open: Document class options. - (line 600) -* bibliography, creating (automatically): Using BibTeX. (line 3105) -* bibliography, creating (manually): thebibliography. (line 3040) -* bibTeX, using: Using BibTeX. (line 3105) -* big circle symbols, in text: Text symbols. (line 6374) -* Big point: Units of length. (line 4304) + (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) * black boxes, omitting: Document class options. - (line 586) -* bold font: Font styles. (line 719) -* bold math: Font styles. (line 778) -* bold typewriter, avoiding: description. (line 1688) -* box, allocating new: \newsavebox. (line 3785) -* boxes: Boxes. (line 6101) -* brace, left, in text: Text symbols. (line 6377) -* brace, right, in text: Text symbols. (line 6380) -* breaking lines: Line breaking. (line 3225) -* breaking pages: Page breaking. (line 3361) -* breve accent: Accents. (line 6555) -* breve accent, math: Math accents. (line 5552) + (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) * bug reporting: About this document. - (line 250) -* bullet symbol: Math symbols. (line 4658) -* bullet, in text: Text symbols. (line 6383) -* bulleted lists: itemize. (line 2078) -* calligraphic letters for math: Font styles. (line 722) -* cap height: Text symbols. (line 6391) -* caron accent: Accents. (line 6566) -* cc list, in letters: \cc. (line 6940) -* cedilla accent: Accents. (line 6520) -* centered asterisk, in text: Text symbols. (line 6362) + (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) +* catcode: \makeatletter and \makeatother. + (line 529) +* 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) * centered equations: Document class options. - (line 590) -* centered period, in text: Text symbols. (line 6430) -* centering text, declaration for: \centering. (line 1639) -* centering text, environment for: center. (line 1605) -* Centimeter: Units of length. (line 4308) -* characters, accented: Accents. (line 6475) -* characters, non-English: Non-English characters. - (line 6571) + (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) +* character category code: \makeatletter and \makeatother. + (line 529) +* characters, accented: Accents. (line 7194) +* characters, non-English: Additional Latin letters. + (line 7290) * characters, reserved: Reserved characters. - (line 6267) -* check accent: Accents. (line 6566) -* check accent, math: Math accents. (line 5555) -* Cicero: Units of length. (line 4317) -* circle symbol, big, in text: Text symbols. (line 6374) -* circled letter, in text: Text symbols. (line 6386) -* circumflex accent: Accents. (line 6502) -* circumflex accent, math: Math accents. (line 5567) -* circumflex, ASCII, in text: Text symbols. (line 6356) + (line 6968) +* 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) +* class and package commands: Class and package commands. + (line 784) +* class and package difference: Class and package construction. + (line 726) +* class and package structure: Class and package structure. + (line 740) +* class file example: Class and package structure. + (line 770) +* class file layout: Class and package structure. + (line 740) * class options: Document class options. - (line 544) -* classes of documents: Document classes. (line 510) -* closing letters: \closing. (line 6955) -* closing quote: Text symbols. (line 6347) -* code, typesetting: verbatim. (line 3172) -* command line: Command line. (line 7124) + (line 604) +* class options <1>: Class and package structure. + (line 740) +* 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) * command syntax: LaTeX command syntax. - (line 444) + (line 452) +* commands, class and package: Class and package commands. + (line 784) * commands, defining new ones: \newcommand & \renewcommand. - (line 3649) -* commands, defining new ones <1>: \providecommand. (line 3734) + (line 4220) +* commands, defining new ones <1>: \providecommand. (line 4311) +* commands, document class: Class and package construction. + (line 717) * commands, redefining: \newcommand & \renewcommand. - (line 3649) -* composite word mark, in text: Text symbols. (line 6391) -* computer programs, typesetting: verbatim. (line 3172) -* contents file: Output files. (line 384) -* copyright symbol: Text symbols. (line 6304) -* counters, a list of: Counters. (line 4100) -* counters, defining new: \newcounter. (line 3749) -* counters, getting value of: \value. (line 4184) + (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) * counters, printing: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4124) -* counters, setting: \setcounter. (line 4213) -* creating pictures: picture. (line 2282) -* creating tables: table. (line 2676) -* credit footnote: \maketitle. (line 5747) -* cross references: Cross references. (line 1449) -* cross references, resolving: Output files. (line 374) -* cross referencing with page number: \pageref. (line 1503) -* cross referencing, symbolic: \ref. (line 1513) -* currency, dollar: Text symbols. (line 6402) -* currency, euro: Text symbols. (line 6411) -* dagger, double, in text: Text symbols. (line 6399) -* dagger, in text: Text symbols. (line 6307) -* dagger, in text <1>: Text symbols. (line 6396) -* date, for titlepage: \maketitle. (line 5743) -* date, today's: \today. (line 6640) -* 'datetime' package: \today. (line 6645) + (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) * defining a new command: \newcommand & \renewcommand. - (line 3649) -* defining a new command <1>: \providecommand. (line 3734) + (line 4220) +* defining a new command <1>: \providecommand. (line 4311) * defining new environments: \newenvironment & \renewenvironment. - (line 3800) -* defining new fonts: \newfont. (line 4016) -* defining new theorems: \newtheorem. (line 3904) -* definitions: Definitions. (line 3644) -* description lists, creating: description. (line 1671) -* design size, in font definitions: \newfont. (line 4033) -* Didot point: Units of length. (line 4314) -* dieresis accent: Accents. (line 6485) -* discretionary multiplication: Math miscellany. (line 5637) + (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) +* difference between class and package: Class and package construction. + (line 726) +* discretionary hyphenation: \discretionary. (line 3872) +* discretionary multiplication: Math miscellany. (line 6280) * displaying quoted text with paragraph indentation: quotation and quote. - (line 2549) + (line 3085) * displaying quoted text without paragraph indentation: quotation and quote. - (line 2549) + (line 3085) +* document class commands: Class and package construction. + (line 717) * document class options: Document class options. - (line 544) + (line 604) * document class, defined: Starting and ending. - (line 327) -* document classes: Document classes. (line 510) -* document templates: Document templates. (line 7145) -* dollar sign: Text symbols. (line 6402) -* dot accent: Accents. (line 6494) -* dot over accent, math: Math accents. (line 5561) -* dot-over accent: Accents. (line 6494) -* dot-under accent: Accents. (line 6524) -* dotless i: Accents. (line 6532) -* dotless i, math: Math accents. (line 5570) -* dotless j: Accents. (line 6535) -* dotless j, math: Math accents. (line 5573) -* double angle quotation marks: Text symbols. (line 6322) -* double dagger, in text: Text symbols. (line 6310) -* double dagger, in text <1>: Text symbols. (line 6399) -* double dot accent, math: Math accents. (line 5558) -* double guillemets: Text symbols. (line 6322) -* double left quote: Text symbols. (line 6436) -* double low-9 quotation mark: Text symbols. (line 6344) -* double quote, straight base: Text symbols. (line 6449) -* double right quote: Text symbols. (line 6439) + (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) * double spacing: Low-level font commands. - (line 930) -* double vertical bar, in text: Text symbols. (line 6371) -* e-dash: Text symbols. (line 6408) -* e-TeX: TeX engines. (line 399) -* ellipsis: Text symbols. (line 6328) -* em: Units of length. (line 4322) -* em-dash: Text symbols. (line 6405) -* em-dash, three-quarters: Text symbols. (line 6458) -* em-dash, two-thirds: Text symbols. (line 6464) -* emphasis: Font styles. (line 707) -* enclosure list: \encl. (line 6967) -* end of document hook: \AtEndDocument. (line 1770) + (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) * ending and starting: Starting and ending. - (line 319) -* engines, TeX: TeX engines. (line 393) -* enlarge current page: \enlargethispage. (line 3390) + (line 327) +* engines, TeX: TeX engines. (line 401) +* enlarge current page: \enlargethispage. (line 3959) * environment: Starting and ending. - (line 335) -* environment, theorem-like: \newtheorem. (line 3904) -* environments: Environments. (line 1525) + (line 343) +* environment, theorem-like: \newtheorem. (line 4487) +* environments: Environments. (line 1994) * environments, defining: \newenvironment & \renewenvironment. - (line 3800) -* equation number, cross referencing: \ref. (line 1513) + (line 4380) +* equation number, cross referencing: \ref. (line 1972) * equation numbers, left vs. right: Document class options. - (line 596) -* equation numbers, omitting: eqnarray. (line 1883) -* equations, aligning: eqnarray. (line 1848) -* equations, environment for: equation. (line 1904) + (line 659) +* equation numbers, omitting: eqnarray. (line 2411) +* equations, aligning: eqnarray. (line 2376) +* equations, environment for: equation. (line 2432) * equations, flush left vs. centered: Document class options. - (line 590) -* es-zet German letter: Non-English characters. - (line 6612) -* eth, Icelandic letter: Non-English characters. - (line 6584) -* euro symbol: Text symbols. (line 6411) -* ex: Units of length. (line 4322) -* exclamation point, upside-down: Text symbols. (line 6414) + (line 653) +* es-zet German letter: Additional Latin letters. + (line 7336) +* 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) * exponent: Subscripts & superscripts. - (line 4521) -* external files, writing: filecontents. (line 1975) + (line 5148) +* extended Latin: Additional Latin letters. + (line 7290) +* external files, writing: filecontents. (line 2503) * families, of fonts: Low-level font commands. - (line 836) -* feminine ordinal symbol: Text symbols. (line 6427) -* figure number, cross referencing: \ref. (line 1513) -* figures, footnotes in: minipage. (line 2269) -* figures, inserting: figure. (line 1922) -* fixed-width font: Font styles. (line 740) -* 'float' package: Floats. (line 1293) -* float page: Floats. (line 1299) + (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) +* file, root: Splitting the input. + (line 7391) +* fixed-width font: Font styles. (line 1159) +* float package: Floats. (line 1713) +* float page: Floats. (line 1719) * flush left equations: Document class options. - (line 590) -* flushing floats and starting a page: \clearpage. (line 3377) + (line 653) +* flushing floats and starting a page: \clearpage. (line 3946) * font catalogue: Low-level font commands. - (line 836) + (line 1255) * font commands, low-level: Low-level font commands. - (line 822) + (line 1241) * font size: Low-level font commands. - (line 914) -* font sizes: Font sizes. (line 796) -* font styles: Font styles. (line 654) -* fonts: Fonts. (line 648) -* fonts, new commands for: \newfont. (line 4016) -* footer style: \pagestyle. (line 5782) + (line 1333) +* font sizes: Font sizes. (line 1215) +* font styles: Font styles. (line 1073) +* 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) * footer, parameters for: Page layout parameters. - (line 1115) -* footnote number, cross referencing: \ref. (line 1513) + (line 1535) +* footmisc package: Footnotes in section headings. + (line 4143) +* footnote number, cross referencing: \ref. (line 1972) * footnote parameters: Footnote parameters. - (line 3628) -* footnotes in figures: minipage. (line 2269) -* footnotes, creating: Footnotes. (line 3423) -* Footnotes, in a minipage: \footnote. (line 3470) + (line 4199) +* footnotes in figures: minipage. (line 2800) +* footnotes, creating: Footnotes. (line 3992) +* Footnotes, in a minipage: \footnote. (line 4039) * Footnotes, in a table: Footnotes in a table. - (line 3524) -* footnotes, symbols instead of numbers: \footnote. (line 3458) -* formulas, environment for: equation. (line 1904) -* formulas, math: Math formulas. (line 4484) -* forward references, resolving: Output files. (line 374) -* fragile commands: \protect. (line 4051) -* French quotation marks: Text symbols. (line 6322) -* functions, math: Math functions. (line 5433) -* 'geometry' package: Document class options. - (line 575) + (line 4093) +* 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) +* geometry package: Document class options. + (line 638) * global options: Document class options. - (line 544) -* global options <1>: Document class options. - (line 641) -* glossaries: Glossaries. (line 6778) -* glossary package: Glossaries. (line 6787) -* glue register, plain TeX: \newlength. (line 3770) -* graphics packages: \line. (line 2440) -* grave accent: Accents. (line 6506) -* grave accent, math: Math accents. (line 5564) -* greater than symbol, in text: Text symbols. (line 6417) -* greek letters: Math symbols. (line 4554) -* ha'c: 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: \providecommand. (line 3734) + (line 4220) +* new commands, defining <1>: \providecommand. (line 4311) * new line, output as input: \obeycr & \restorecr. - (line 3268) -* new line, starting: \\. (line 3236) -* new line, starting (paragraph mode): \newline. (line 3277) -* new page, starting: \newpage. (line 3384) -* non-English characters: Non-English characters. - (line 6571) -* notes in the margin: Marginal notes. (line 4434) -* null delimiter: Math miscellany. (line 5651) -* numbered items, specifying counter: \usecounter. (line 4158) -* numerals, old-style: Font styles. (line 782) -* oblique font: Font styles. (line 737) -* oe ligature: Non-English characters. - (line 6608) -* ogonek: Accents. (line 6539) -* old-style numerals: Font styles. (line 782) -* one-column output: \onecolumn. (line 965) -* opening quote: Text symbols. (line 6332) -* OpenType fonts: TeX engines. (line 393) + (line 3830) +* new line, starting: \\. (line 3798) +* new line, starting (paragraph mode): \newline. (line 3839) +* new page, starting: \newpage. (line 3953) +* 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) +* 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) +* options, class: Class and package commands. + (line 831) * options, document class: Document class options. - (line 544) -* options, global: Document class options. - (line 641) -* ordinals, feminine and masculine: Text symbols. (line 6427) -* oslash: Non-English characters. - (line 6604) -* overbar accent: Accents. (line 6498) -* overdot accent, math: Math accents. (line 5561) -* overview of LaTeX: Overview. (line 293) -* packages, loading additional: Document class options. - (line 633) + (line 604) +* options, document class <1>: Class and package structure. + (line 740) +* options, global: Additional packages. + (line 710) +* options, package: Class and package structure. + (line 740) +* options, package <1>: Class and package commands. + (line 831) +* ordinals, feminine and masculine: Text symbols. (line 7143) +* oslash: Additional Latin letters. + (line 7328) +* overbar accent: Accents. (line 7217) +* overdot accent, math: Math accents. (line 6204) +* overview of LaTeX: Overview. (line 301) +* package file layout: Class and package structure. + (line 740) +* package options: Class and package structure. + (line 740) +* package options <1>: Class and package commands. + (line 831) +* package, babel: Accents. (line 7194) +* package, datetime: \today. (line 7382) +* package, float: Floats. (line 1713) +* package, footmisc: Footnotes in section headings. + (line 4143) +* package, geometry: Document class options. + (line 638) +* package, macros2e: \makeatletter and \makeatother. + (line 549) +* package, makeidx: Indexes. (line 7558) +* package, multind: Indexes. (line 7569) +* package, picture: picture. (line 2830) +* package, setspace: Low-level font commands. + (line 1349) +* package, showidx: Indexes. (line 7565) +* package, textcomp: Font styles. (line 1201) +* package, xspace: \(SPACE) after control sequence. + (line 6622) +* packages, loading additional: Additional packages. + (line 701) * page break, forcing: \pagebreak & \nopagebreak. - (line 3405) + (line 3974) * page break, preventing: \pagebreak & \nopagebreak. - (line 3405) -* page breaking: Page breaking. (line 3361) + (line 3974) +* page breaking: Page breaking. (line 3930) * page layout parameters: Page layout parameters. - (line 1115) -* page number, cross referencing: \pageref. (line 1503) -* page numbering style: \pagenumbering. (line 5757) -* page styles: Page styles. (line 5725) -* paragraph indentation, in minipage: minipage. (line 2265) + (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) * paragraph indentations in quoted text: quotation and quote. - (line 2549) + (line 3085) * paragraph indentations in quoted text, omitting: quotation and quote. - (line 2549) -* paragraph mode: Modes. (line 5686) -* paragraph symbol: Text symbols. (line 6336) -* paragraphs: Making paragraphs. (line 4394) + (line 3085) +* paragraph mode: Modes. (line 6363) +* paragraph symbol: Text symbols. (line 7052) +* paragraphs: Making paragraphs. (line 5021) * parameters, for footnotes: Footnote parameters. - (line 3628) + (line 4199) * parameters, page layout: Page layout parameters. - (line 1115) -* pdfTeX: Output files. (line 361) -* pdfTeX engine: TeX engines. (line 399) -* period, centered, in text: Text symbols. (line 6430) -* pica: Units of length. (line 4298) -* 'pict2e' package: \line. (line 2440) -* pictures, creating: picture. (line 2282) -* pilcrow: Text symbols. (line 6336) -* placement of floats: Floats. (line 1272) -* poetry, an environment for: verse. (line 3206) -* Point: Units of length. (line 4294) -* polish l: Non-English characters. - (line 6596) + (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) +* polish l: Additional Latin letters. + (line 7320) * portrait orientation: Document class options. - (line 593) -* position, in picture: picture. (line 2299) -* postscript, in letters: \ps. (line 7038) -* pounds symbol: Text symbols. (line 6340) + (line 656) +* position, in picture: picture. (line 2835) +* positional parameter: \newcommand & \renewcommand. + (line 4251) +* postscript, in letters: \ps. (line 7782) +* pounds symbol: Text symbols. (line 7056) * preamble, defined: Starting and ending. - (line 332) -* predefined lengths: Predefined lengths. (line 4375) -* prompt, '*': Command line. (line 7136) -* pronunciation: Overview. (line 311) + (line 340) +* predefined lengths: Predefined lengths. (line 5002) +* prompt, *: Command line. (line 7880) +* pronunciation: Overview. (line 319) * quad: Spacing in math mode. - (line 5619) -* question mark, upside-down: Text symbols. (line 6433) -* quotation marks, French: Text symbols. (line 6322) -* quote, straight base: Text symbols. (line 6449) + (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) * quoted text with paragraph indentation, displaying: quotation and quote. - (line 2549) + (line 3085) * quoted text without paragraph indentation, displaying: quotation and quote. - (line 2549) -* ragged left text: \raggedleft. (line 2065) -* ragged left text, environment for: flushright. (line 2052) -* ragged right text: \raggedright. (line 2039) -* ragged right text, environment for: flushleft. (line 2026) + (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) * redefining environments: \newenvironment & \renewenvironment. - (line 3800) -* references, resolving forward: Output files. (line 374) -* registered symbol: Text symbols. (line 6452) -* remarks in the margin: Marginal notes. (line 4434) + (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) * reporting bugs: About this document. - (line 250) + (line 258) * reserved characters: Reserved characters. - (line 6267) -* right angle quotation marks: Text symbols. (line 6322) -* right arrow, in text: Text symbols. (line 6455) -* right brace, in text: Text symbols. (line 6380) -* right quote: Text symbols. (line 6347) -* right quote, double: Text symbols. (line 6439) -* right quote, single: Text symbols. (line 6445) + (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) * right-hand equation numbers: Document class options. - (line 596) -* right-justifying text: \raggedleft. (line 2065) -* right-justifying text, environment for: flushright. (line 2052) -* ring accent: Accents. (line 6544) -* ring accent, math: Math accents. (line 5576) -* robust commands: \protect. (line 4051) -* roman font: Font styles. (line 728) -* rubber lengths, defining new: \newlength. (line 3770) + (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) +* root file: Splitting the input. + (line 7391) +* rubber lengths, defining new: \newlength. (line 4350) * running header and footer: Page layout parameters. - (line 1115) -* running header and footer style: \pagestyle. (line 5782) -* sans serif font: Font styles. (line 734) -* Scaled point: Units of length. (line 4320) -* script letters for math: Font styles. (line 722) -* section number, cross referencing: \ref. (line 1513) -* section numbers, printing: Sectioning. (line 1438) -* section symbol: Text symbols. (line 6350) -* sectioning commands: Sectioning. (line 1397) + (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) * series, of fonts: Low-level font commands. - (line 861) -* 'setspace' package: Low-level font commands. - (line 930) -* setting counters: \setcounter. (line 4213) + (line 1280) +* setspace package: Low-level font commands. + (line 1349) +* setting counters: \setcounter. (line 4812) * shapes, of fonts: Low-level font commands. - (line 901) -* sharp S letters: Non-English characters. - (line 6612) -* 'showidx' package: Indexes. (line 6822) -* simulating typed text: verbatim. (line 3172) -* single angle quotation marks: Text symbols. (line 6322) -* single guillemets: Text symbols. (line 6322) -* single left quote: Text symbols. (line 6442) -* single low-9 quotation mark: Text symbols. (line 6344) -* single right quote: Text symbols. (line 6445) -* sizes of text: Font sizes. (line 796) -* skip register, plain TeX: \newlength. (line 3770) -* slanted font: Font styles. (line 737) -* small caps font: Font styles. (line 731) -* space, inserting vertical: \addvspace. (line 6006) -* space, vertical: \vspace. (line 6075) -* spaces: Spaces. (line 5825) + (line 1320) +* 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) * spacing within math mode: Spacing in math mode. - (line 5593) -* spacing, intersentence: \frenchspacing. (line 5938) -* Spanish ordinals, feminine and masculine: Text symbols. (line 6427) -* special characters: Non-English characters. - (line 6571) -* special insertions: Special insertions. (line 6261) -* specifier, float placement: Floats. (line 1272) + (line 6236) +* spacing, inter-sentence: \frenchspacing. (line 6628) +* Spanish ordinals, feminine and masculine: Text symbols. (line 7143) +* special characters: Reserved characters. + (line 6968) +* special characters <1>: Additional Latin letters. + (line 7290) +* special insertions: Special insertions. (line 6962) +* specifier, float placement: Floats. (line 1692) * splitting the input file: Splitting the input. - (line 6651) -* starting a new page: \newpage. (line 3384) -* starting a new page and clearing floats: \clearpage. (line 3377) + (line 7388) +* stable option to footmisc package: Footnotes in section headings. + (line 4143) +* 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) * starting and ending: Starting and ending. - (line 319) -* starting on a right-hand page: \cleardoublepage. (line 3368) -* sterling symbol: Text symbols. (line 6340) -* straight double quote, base: Text symbols. (line 6449) -* straight quote, base: Text symbols. (line 6449) -* stretch, infinite horizontal: \hfill. (line 5857) -* stretch, infinite vertical: \vfill. (line 6049) -* stretch, omitting vertical: \raggedbottom. (line 1103) -* styles of text: Font styles. (line 654) -* styles, page: Page styles. (line 5725) + (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) * subscript: Subscripts & superscripts. - (line 4521) + (line 5148) * superscript: Subscripts & superscripts. - (line 4521) -* symbols, math: Math symbols. (line 4554) -* symbols, text: Text symbols. (line 6298) -* tab stops, using: tabbing. (line 2585) + (line 5148) +* symbols, math: Math symbols. (line 5181) +* symbols, text: Text symbols. (line 7014) +* tab stops, using: tabbing. (line 3121) * table of contents entry, manually adding: \addcontentsline. - (line 6734) -* table of contents file: Output files. (line 384) -* table of contents, creating: Tables of contents. (line 6713) -* tables, creating: table. (line 2676) -* template, 'beamer': beamer template. (line 7152) -* template, 'book': book template. (line 7183) -* template, TUGboat: tugboat template. (line 7203) -* templates, document: Document templates. (line 7145) + (line 7472) +* table of contents file: Output files. (line 392) +* 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) * terminal input/output: Terminal input/output. - (line 7091) -* TeX logo: Text symbols. (line 6353) -* text symbols: Text symbols. (line 6298) -* 'textcomp' package: Font styles. (line 782) -* thanks, for titlepage: \maketitle. (line 5747) -* theorem-like environment: \newtheorem. (line 3904) -* theorems, defining: \newtheorem. (line 3904) -* theorems, typesetting: theorem. (line 3142) -* thorn, Icelandic letter: Non-English characters. - (line 6616) -* three-quarters em-dash: Text symbols. (line 6458) -* tie-after accent: Accents. (line 6550) -* tilde accent: Accents. (line 6512) -* tilde accent, math: Math accents. (line 5579) -* tilde, ASCII, in text: Text symbols. (line 6359) + (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) +* 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) * title page, separate or run-in: Document class options. - (line 604) -* title pages, creating: titlepage. (line 3155) -* title, for titlepage: \maketitle. (line 5751) -* titles, making: \maketitle. (line 5731) -* trademark symbol: Text symbols. (line 6461) -* transcript file: Output files. (line 369) -* TrueType fonts: TeX engines. (line 393) -* TUGboat template: tugboat template. (line 7203) -* two-column output: \twocolumn. (line 975) -* two-thirds em-dash: Text symbols. (line 6464) -* type styles: Font styles. (line 654) -* typed text, simulating: verbatim. (line 3172) -* typeface sizes: Font sizes. (line 796) -* typefaces: Fonts. (line 648) -* typewriter font: Font styles. (line 740) -* typewriter labels in lists: description. (line 1688) -* umlaut accent: Accents. (line 6485) -* underbar: Accents. (line 6558) -* underscore, in text: Text symbols. (line 6467) -* Unicode input, native: TeX engines. (line 393) -* units, of length: Units of length. (line 4290) + (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) * unofficial nature of this manual: About this document. - (line 261) -* unordered lists: itemize. (line 2078) -* using BibTeX: Using BibTeX. (line 3105) -* UTF-8: TeX engines. (line 393) -* variables, a list of: Counters. (line 4100) -* vector symbol, math: Math accents. (line 5582) -* verbatim text: verbatim. (line 3172) -* verbatim text, inline: \verb. (line 3189) -* vertical bar, double, in text: Text symbols. (line 6371) -* vertical bar, in text: Text symbols. (line 6368) -* vertical space: \addvspace. (line 6006) -* vertical space <1>: \vspace. (line 6075) -* vertical space before paragraphs: \parskip. (line 4428) -* visible space: \verb. (line 3200) -* visible space symbol, in text: Text symbols. (line 6470) + (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) * weights, of fonts: Low-level font commands. - (line 871) -* white space: Spaces. (line 5825) -* wide hat accent, math: Math accents. (line 5585) -* wide tilde accent, math: Math accents. (line 5588) + (line 1290) +* white space: Spaces. (line 6533) +* wide hat accent, math: Math accents. (line 6228) +* wide tilde accent, math: Math accents. (line 6231) * widths, of fonts: Low-level font commands. - (line 883) -* writing external files: filecontents. (line 1975) -* writing letters: Letters. (line 6833) -* x-height: Units of length. (line 4322) -* XeTeX: TeX engines. (line 425) -* 'xindy' program: Indexes. (line 6810) + (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) +* xspace package: \(SPACE) after control sequence. + (line 6622) Command Index ************* * Menu: -* $: Math formulas. (line 4502) -* &: tabular. (line 2744) -* --help command-line option: Command line. (line 7132) -* .aux file: Output files. (line 374) -* .dvi file: Output files. (line 351) -* .fd file: \newfont. (line 4026) -* .lof file: Output files. (line 384) -* .lof file <1>: Tables of contents. (line 6723) -* .log file: Output files. (line 369) -* .lot file: Output files. (line 384) -* .lot file <1>: Tables of contents. (line 6723) -* .pdf file: Output files. (line 361) -* .tex, default extension: Command line. (line 7124) -* .toc file: Output files. (line 384) -* .toc file <1>: Tables of contents. (line 6713) -* .xdv file: TeX engines. (line 425) +* $: 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) * 10pt option: Document class options. - (line 552) + (line 612) * 11pt option: Document class options. - (line 552) + (line 612) * 12pt option: Document class options. - (line 552) + (line 612) * [...] for optional arguments: LaTeX command syntax. - (line 444) + (line 452) * \ character starting commands: LaTeX command syntax. - (line 444) + (line 452) * \!: Spacing in math mode. - (line 5616) -* \" (umlaut accent): Accents. (line 6485) + (line 6259) +* \" (umlaut accent): Accents. (line 7204) * \#: Reserved characters. - (line 6272) + (line 6975) * \$: Reserved characters. - (line 6272) + (line 6975) * \%: Reserved characters. - (line 6272) + (line 6975) * \&: Reserved characters. - (line 6272) -* \' (acute accent): Accents. (line 6489) -* \' (tabbing): tabbing. (line 2624) -* \(: Math formulas. (line 4494) -* \(SPACE): \(SPACE) and \@. (line 5867) -* \): Math formulas. (line 4494) -* \*: Math miscellany. (line 5636) -* \+: tabbing. (line 2616) + (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) * \,: Spacing in math mode. - (line 5612) -* \-: tabbing. (line 2620) -* \- (hyphenation): \- (hyphenation). (line 3298) -* \. (dot-over accent): Accents. (line 6494) -* \/: \/. (line 5958) + (line 6255) +* \-: tabbing. (line 3156) +* \- (hyphenation): \- (hyphenation). (line 3860) +* \. (dot-over accent): Accents. (line 7213) +* \/: \/. (line 6648) * \:: Spacing in math mode. - (line 5608) + (line 6251) * \;: Spacing in math mode. - (line 5603) -* \<: tabbing. (line 2612) -* \= (macron accent): Accents. (line 6498) -* \= (tabbing): tabbing. (line 2606) -* \>: tabbing. (line 2610) + (line 6246) +* \<: tabbing. (line 3148) +* \= (macron accent): Accents. (line 7217) +* \= (tabbing): tabbing. (line 3142) +* \>: tabbing. (line 3146) * \> <1>: Spacing in math mode. - (line 5608) -* \> (tabbing): tabbing. (line 2609) -* \@: \(SPACE) and \@. (line 5867) -* \@fnsymbol: \footnote. (line 3458) -* \a (tabbing): tabbing. (line 2639) -* \a' (acute accent in tabbing): tabbing. (line 2640) -* \a= (macron accent in tabbing): tabbing. (line 2640) -* \aa (aa): Non-English characters. - (line 6576) -* \AA (AA): Non-English characters. - (line 6576) -* \acute: Math accents. (line 5545) -* \addcontentsline{EXT}{UNIT}{TEXT}: \addcontentsline. (line 6734) -* \address: \address. (line 6913) -* \addtocontents{EXT}{TEXT}: \addtocontents. (line 6763) -* \addtocounter: \addtocounter. (line 4224) -* \addtolength: \addtolength. (line 4347) -* \addvspace: \addvspace. (line 6006) -* \ae (ae): Non-English characters. - (line 6580) -* \AE (AE): Non-English characters. - (line 6580) -* \aleph: Math symbols. (line 4567) -* \alph: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4128) -* \Alph: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4131) -* \Alph example: enumerate. (line 1832) -* \alpha: Math symbols. (line 4570) -* \alsoname: Indexes. (line 6807) -* \amalg: Math symbols. (line 4573) -* \and for '\author': \maketitle. (line 5737) -* \angle: Math symbols. (line 4576) -* \appendix: Sectioning. (line 1428) -* \approx: Math symbols. (line 4581) -* \arabic: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4134) -* \arccos: Math functions. (line 5436) -* \arcsin: Math functions. (line 5439) -* \arctan: Math functions. (line 5442) -* \arg: Math functions. (line 5445) -* \arraycolsep: array. (line 1579) -* \arrayrulewidth: tabular. (line 2868) -* \arraystretch: tabular. (line 2874) -* \ast: Math symbols. (line 4584) -* \asymp: Math symbols. (line 4593) -* \AtBeginDocument: \AtBeginDocument. (line 1757) -* \AtEndDocument: \AtEndDocument. (line 1770) -* \author{NAME \and NAME2}: \maketitle. (line 5736) -* \a` (grave accent in tabbing): tabbing. (line 2640) -* \b (bar-under accent): Accents. (line 6515) -* \backslash: Math symbols. (line 4596) -* \backslash <1>: Reserved characters. - (line 6277) -* \bar: Math accents. (line 5548) + (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) +* \aa (aa): Additional Latin letters. + (line 7296) +* \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) +* \ae (ae): Additional Latin letters. + (line 7300) +* \AE (AE): Additional Latin letters. + (line 7300) +* \aleph: Math symbols. (line 5197) +* \Alph example: enumerate. (line 2360) +* \alpha: Math symbols. (line 5200) +* \alph{COUNTER}: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 4717) +* \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) +* \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) +* \AtBeginDvi: Class and package commands. + (line 787) +* \AtEndDocument: \AtEndDocument. (line 2298) +* \AtEndOfClass: Class and package commands. + (line 792) +* \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) * \baselineskip: Low-level font commands. - (line 914) + (line 1333) * \baselinestretch: Low-level font commands. - (line 924) -* \begin: Environments. (line 1525) -* \beta: Math symbols. (line 4600) -* \bf: Font styles. (line 718) -* \bfseries: Font styles. (line 687) -* \bibitem: \bibitem. (line 3065) -* \bibliography: Using BibTeX. (line 3105) -* \bibliographystyle: Using BibTeX. (line 3105) -* \bigcap: Math symbols. (line 4603) -* \bigcirc: Math symbols. (line 4607) -* \bigcup: Math symbols. (line 4611) -* \bigodot: Math symbols. (line 4615) -* \bigoplus: Math symbols. (line 4618) -* \bigotimes: Math symbols. (line 4621) + (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) * \bigskip: \bigskip \medskip \smallskip. - (line 6032) + (line 6721) * \bigskipamount: \bigskip \medskip \smallskip. - (line 6032) -* \bigsqcup: Math symbols. (line 4632) -* \bigtriangledown: Math symbols. (line 4624) -* \bigtriangleup: Math symbols. (line 4628) -* \biguplus: Math symbols. (line 4635) -* \bigvee: Math symbols. (line 4639) -* \bigwedge: Math symbols. (line 4642) -* \bmod: Math functions. (line 5448) -* \boldmath: Math formulas. (line 4507) -* \bot: Math symbols. (line 4645) -* \bottomfraction: Floats. (line 1335) -* \bottomfraction <1>: Floats. (line 1336) -* \bowtie: Math symbols. (line 4649) -* \Box: Math symbols. (line 4652) -* \breve: Math accents. (line 5551) -* \bullet: Math symbols. (line 4657) -* \c (cedilla accent): Accents. (line 6520) -* \cal: Font styles. (line 721) -* \cap: Math symbols. (line 4660) -* \capitalacute: Accents. (line 6489) -* \capitalbreve: Accents. (line 6555) -* \capitalcaron: Accents. (line 6566) -* \capitalcedilla: Accents. (line 6520) -* \capitalcircumflex: Accents. (line 6502) -* \capitaldieresis: Accents. (line 6485) -* \capitaldotaccent: Accents. (line 6524) -* \capitalgrave: Accents. (line 6506) -* \capitalhungarumlaut: Accents. (line 6528) -* \capitalmacron: Accents. (line 6498) -* \capitalnewtie: Accents. (line 6550) -* \capitalogonek: Accents. (line 6539) -* \capitalring: Accents. (line 6544) -* \capitaltie: Accents. (line 6550) -* \capitaltilde: Accents. (line 6512) -* \caption: figure. (line 1956) -* \caption <1>: table. (line 2696) -* \cc: \cc. (line 6940) -* \cdot: Math symbols. (line 4665) -* \cdots: Math miscellany. (line 5640) -* \centering: \centering. (line 1639) -* \chapter: Sectioning. (line 1400) -* \check: Math accents. (line 5554) -* \chi: Math symbols. (line 4668) -* \circ: Math symbols. (line 4671) -* \circle: \circle. (line 2352) -* \cite: \cite. (line 3083) -* \cleardoublepage: \cleardoublepage. (line 3368) -* \clearpage: \clearpage. (line 3377) -* \cline: \cline. (line 3001) -* \closing: \closing. (line 6955) -* \clubsuit: Math symbols. (line 4676) -* \columnsep: \twocolumn. (line 990) + (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) +* \ClassError: Class and package commands. + (line 807) +* \ClassInfo: Class and package commands. + (line 807) +* \ClassInfoNoLine: Class and package commands. + (line 807) +* \ClassWarning: Class and package commands. + (line 807) +* \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) * \columnsep <1>: Page layout parameters. - (line 1115) + (line 1535) * \columnsep <2>: Page layout parameters. - (line 1118) -* \columnseprule: \twocolumn. (line 996) + (line 1538) +* \columnseprule: \twocolumn. (line 1415) * \columnseprule <1>: Page layout parameters. - (line 1116) + (line 1536) * \columnseprule <2>: Page layout parameters. - (line 1118) -* \columnwidth: \twocolumn. (line 1003) + (line 1538) +* \columnwidth: \twocolumn. (line 1422) * \columnwidth <1>: Page layout parameters. - (line 1117) + (line 1537) * \columnwidth <2>: Page layout parameters. - (line 1118) -* \complement: Math symbols. (line 4679) -* \cong: Math symbols. (line 4685) -* \contentsline: \addcontentsline. (line 6757) -* \coprod: Math symbols. (line 4688) -* \copyright: Text symbols. (line 6302) -* \cos: Math functions. (line 5451) -* \cosh: Math functions. (line 5454) -* \cot: Math functions. (line 5457) -* \coth: Math functions. (line 5460) -* \csc: Math functions. (line 5463) -* \cup: Math symbols. (line 4691) -* \d (dot-under accent): Accents. (line 6524) -* \dag: Text symbols. (line 6306) -* \dagger: Math symbols. (line 4696) -* \dashbox: \dashbox. (line 2407) -* \dashv: Math symbols. (line 4699) -* \date{TEXT}: \maketitle. (line 5742) -* \day: \day \month \year. (line 4251) -* \dblfloatpagefraction: \twocolumn. (line 1037) -* \dblfloatsep: \twocolumn. (line 1043) -* \dbltextfloatsep: \twocolumn. (line 1050) -* \dbltopfraction: \twocolumn. (line 1015) -* \dbltopnumber: \twocolumn. (line 1055) -* \ddag: Text symbols. (line 6309) -* \ddagger: Math symbols. (line 4703) -* \ddot: Math accents. (line 5557) -* \ddots: Math miscellany. (line 5644) -* \deg: Math functions. (line 5466) -* \Delta: Math symbols. (line 4706) -* \delta: Math symbols. (line 4709) -* \depth: Predefined lengths. (line 4379) -* \det: Math functions. (line 5469) -* \dh (d): Non-English characters. - (line 6584) -* \DH (D): Non-English characters. - (line 6584) -* \Diamond: Math symbols. (line 4712) -* \diamond: Math symbols. (line 4716) -* \diamondsuit: Math symbols. (line 4720) -* \dim: Math functions. (line 5472) -* \displaystyle: Math formulas. (line 4512) -* \div: Math symbols. (line 4723) -* \dj: Non-English characters. - (line 6588) -* \DJ: Non-English characters. - (line 6588) -* \documentclass: Document classes. (line 510) -* \dot: Math accents. (line 5560) -* \doteq: Math symbols. (line 4726) + (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) +* \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) +* \DeclareOption: Class and package commands. + (line 831) +* \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) +* \dh (d): Additional Latin letters. + (line 7304) +* \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) +* \dj: Additional Latin letters. + (line 7310) +* \DJ: Additional Latin letters. + (line 7310) +* \documentclass: Document classes. (line 570) +* \dot: Math accents. (line 6203) +* \doteq: Math symbols. (line 5357) * \dotfill: \hrulefill \dotfill. - (line 5983) -* \dots: Text symbols. (line 6326) -* \doublerulesep: tabular. (line 2879) -* \downarrow: Math symbols. (line 4730) -* \Downarrow: Math symbols. (line 4734) -* \ell: Math symbols. (line 4738) -* \emph: Font styles. (line 707) -* \emptyset: Math symbols. (line 4741) -* \encl: \encl. (line 6967) -* \end: Environments. (line 1525) -* \enlargethispage: \enlargethispage. (line 3390) -* \enumi: enumerate. (line 1822) -* \enumii: enumerate. (line 1822) -* \enumiii: enumerate. (line 1822) -* \enumiv: enumerate. (line 1822) -* \epsilon: Math symbols. (line 4745) -* \equiv: Math symbols. (line 4750) -* \eta: Math symbols. (line 4753) + (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) * \evensidemargin: Document class options. - (line 615) + (line 680) * \evensidemargin <1>: Page layout parameters. - (line 1176) + (line 1596) * \evensidemargin <2>: Page layout parameters. - (line 1177) -* \exists: Math symbols. (line 4756) -* \exp: Math functions. (line 5475) -* \extracolsep: tabular. (line 2827) + (line 1597) +* \ExecuteOptions: Class and package commands. + (line 899) +* \exists: Math symbols. (line 5388) +* \exp: Math functions. (line 6118) +* \extracolsep: tabular. (line 3363) * \fbox: \fbox and \framebox. - (line 6114) + (line 6808) * \fboxrule: \framebox (picture). - (line 2401) + (line 2937) * \fboxrule <1>: \fbox and \framebox. - (line 6126) + (line 6820) * \fboxsep: \framebox (picture). - (line 2401) + (line 2937) * \fboxsep <1>: \fbox and \framebox. - (line 6126) -* \fill: \hfill. (line 5860) -* \flat: Math symbols. (line 4759) -* \floatpagefraction: Floats. (line 1339) -* \floatpagefraction <1>: Floats. (line 1340) -* \floatsep: Floats. (line 1355) -* \floatsep <1>: Floats. (line 1356) -* \flushbottom: \flushbottom. (line 1084) -* \fnsymbol: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4143) -* \fnsymbol, and footnotes: \footnote. (line 3458) + (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) +* \fnsymbol{COUNTER}: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 4732) * \fontencoding: Low-level font commands. - (line 827) + (line 1246) * \fontfamily: Low-level font commands. - (line 836) + (line 1255) * \fontseries: Low-level font commands. - (line 861) + (line 1280) * \fontshape: Low-level font commands. - (line 901) + (line 1320) * \fontsize: Low-level font commands. - (line 914) -* \footnote: \footnote. (line 3441) -* \footnotemark: \footnotemark. (line 3479) + (line 1333) +* \footnote: \footnote. (line 4010) +* \footnotemark: \footnotemark. (line 4048) * \footnoterule: Footnote parameters. - (line 3628) + (line 4199) * \footnotesep: Footnote parameters. - (line 3634) -* \footnotesize: Font sizes. (line 801) -* \footnotetext: \footnotetext. (line 3511) + (line 4205) +* \footnotesize: Font sizes. (line 1220) +* \footnotetext: \footnotetext. (line 4080) * \footskip: Page layout parameters. - (line 1135) + (line 1555) * \footskip <1>: Page layout parameters. - (line 1136) -* \forall: Math symbols. (line 4762) -* \frac: Math miscellany. (line 5648) -* \frac{num}{den}: Math miscellany. (line 5647) -* \frame: \frame. (line 2422) + (line 1556) +* \forall: Math symbols. (line 5394) +* \frac: Math miscellany. (line 6306) +* \frac{NUM}{DEN}: Math miscellany. (line 6305) +* \frame: \frame. (line 2958) * \framebox: \framebox (picture). - (line 2393) + (line 2929) * \framebox <1>: \fbox and \framebox. - (line 6114) -* \frenchspacing: \frenchspacing. (line 5938) -* \frown: Math symbols. (line 4765) -* \fussy: \fussy. (line 3310) -* \Gamma: Math symbols. (line 4768) -* \gamma: Math symbols. (line 4771) -* \gcd: Math functions. (line 5478) -* \ge: Math symbols. (line 4774) -* \geq: Math symbols. (line 4778) -* \gets: Math symbols. (line 4782) -* \gg: Math symbols. (line 4785) -* \glossary: Glossaries. (line 6780) -* \glossaryentry: Glossaries. (line 6783) -* \grave: Math accents. (line 5563) -* \guillemotleft (<<): Text symbols. (line 6318) -* \guillemotright (>>): Text symbols. (line 6319) -* \guilsinglleft (<): Text symbols. (line 6320) -* \guilsinglright (>): Text symbols. (line 6321) -* \H (Hungarian umlaut accent): Accents. (line 6528) -* \hat: Math accents. (line 5566) -* \hbar: Math symbols. (line 4789) + (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) * \headheight: Page layout parameters. - (line 1123) + (line 1543) * \headheight <1>: Page layout parameters. - (line 1124) + (line 1544) * \headsep: Page layout parameters. - (line 1128) + (line 1548) * \headsep <1>: Page layout parameters. - (line 1129) -* \heartsuit: Math symbols. (line 4792) -* \height: Predefined lengths. (line 4377) -* \hfill: \hfill. (line 5857) -* \hline: \hline. (line 3023) -* \hom: Math functions. (line 5481) -* \hookleftarrow: Math symbols. (line 4795) -* \hookrightarrow: Math symbols. (line 4798) + (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) * \hrulefill: \hrulefill \dotfill. - (line 5983) + (line 6673) * \hsize: Page layout parameters. - (line 1228) + (line 1648) * \hsize <1>: Page layout parameters. - (line 1228) -* \hspace: \hspace. (line 5830) -* \huge: Font sizes. (line 801) -* \Huge: Font sizes. (line 801) -* \hyphenation: \hyphenation. (line 3328) -* \i (dotless i): Accents. (line 6532) -* \iff: Math symbols. (line 4801) -* \ij (ij): Non-English characters. - (line 6592) -* \IJ (IJ): Non-English characters. - (line 6592) -* \Im: Math symbols. (line 4805) -* \imath: Math accents. (line 5569) -* \in: Math symbols. (line 4808) -* \include: \include. (line 6663) -* \includeonly: \includeonly. (line 6681) -* \indent: \indent. (line 4402) -* \index: Indexes. (line 6796) -* \indexentry: Indexes. (line 6799) -* \inf: Math functions. (line 5484) -* \infty: Math symbols. (line 4813) -* \input: \input. (line 6695) -* \int: Math symbols. (line 4816) -* \intextsep: Floats. (line 1359) -* \intextsep <1>: Floats. (line 1360) -* \iota: Math symbols. (line 4819) -* \it: Font styles. (line 724) -* \item: description. (line 1679) -* \item <1>: description. (line 1684) -* \item <2>: enumerate. (line 1798) -* \item <3>: itemize. (line 2078) -* \itemindent: itemize. (line 2121) -* \itemsep: itemize. (line 2143) -* \itshape: Font styles. (line 681) -* \j (dotless j): Accents. (line 6535) -* \jmath: Math accents. (line 5572) -* \Join: Math symbols. (line 4822) -* \k (ogonek): Accents. (line 6539) -* \kappa: Math symbols. (line 4826) -* \ker: Math functions. (line 5487) -* \kill: tabbing. (line 2644) -* \l (/l): Non-English characters. - (line 6596) -* \L (/L): Non-English characters. - (line 6596) -* \label: \label. (line 1455) -* \labelenumi: enumerate. (line 1827) -* \labelenumii: enumerate. (line 1827) -* \labelenumiii: enumerate. (line 1827) -* \labelenumiv: enumerate. (line 1827) -* \labelitemi: itemize. (line 2101) -* \labelitemii: itemize. (line 2101) -* \labelitemiii: itemize. (line 2101) -* \labelitemiv: itemize. (line 2101) -* \labelsep: itemize. (line 2124) -* \labelwidth: itemize. (line 2127) -* \Lambda: Math symbols. (line 4829) -* \lambda: Math symbols. (line 4832) -* \land: Math symbols. (line 4835) -* \langle: Math symbols. (line 4840) -* \large: Font sizes. (line 801) -* \Large: Font sizes. (line 801) -* \LARGE: Font sizes. (line 801) -* \LaTeX: Text symbols. (line 6312) -* \LaTeXe: Text symbols. (line 6315) -* \lbrace: Math symbols. (line 4845) -* \lbrack: Math symbols. (line 4849) -* \lceil: Math symbols. (line 4853) -* \ldots: Text symbols. (line 6325) -* \le: Math symbols. (line 4857) -* \leadsto: Math symbols. (line 4861) -* \left DELIM1 ... \right DELIM2: Math miscellany. (line 5650) -* \Leftarrow: Math symbols. (line 4868) -* \leftarrow: Math symbols. (line 4873) -* \lefteqn: eqnarray. (line 1888) -* \leftharpoondown: Math symbols. (line 4877) -* \leftharpoonup: Math symbols. (line 4880) -* \leftmargin: itemize. (line 2108) -* \leftmargini: itemize. (line 2108) -* \leftmarginii: itemize. (line 2108) -* \leftmarginiii: itemize. (line 2108) -* \leftmarginiv: itemize. (line 2108) -* \leftmarginv: itemize. (line 2108) -* \leftmarginvi: itemize. (line 2108) -* \Leftrightarrow: Math symbols. (line 4883) -* \leftrightarrow: Math symbols. (line 4888) -* \leq: Math symbols. (line 4893) -* \lfloor: Math symbols. (line 4897) -* \lg: Math functions. (line 5490) -* \lhd: Math symbols. (line 4900) -* \lim: Math functions. (line 5493) -* \liminf: Math functions. (line 5496) -* \limsup: Math functions. (line 5499) -* \line: \line. (line 2433) + (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) +* \IfFileExists: Class and package commands. + (line 861) +* \ij (ij): Additional Latin letters. + (line 7316) +* \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) +* \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) +* \l (/l): Additional Latin letters. + (line 7320) +* \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) * \linebreak: \linebreak & \nolinebreak. - (line 3344) + (line 3913) * \linespread: Low-level font commands. - (line 937) -* \linethickness: \linethickness. (line 2447) + (line 1356) +* \linethickness: \linethickness. (line 2983) * \linewidth: Page layout parameters. - (line 1142) + (line 1562) * \linewidth <1>: Page layout parameters. - (line 1143) -* \listoffigures: Tables of contents. (line 6723) -* \listoftables: Tables of contents. (line 6723) -* \listparindent: itemize. (line 2130) -* \ll: Math symbols. (line 4907) -* \ln: Math functions. (line 5502) -* \lnot: Math symbols. (line 4911) -* \location: \location. (line 6983) -* \log: Math functions. (line 5505) -* \longleftarrow: Math symbols. (line 4914) -* \longleftrightarrow: Math symbols. (line 4919) -* \longmapsto: Math symbols. (line 4923) -* \longrightarrow: Math symbols. (line 4928) -* \lor: Math symbols. (line 4933) -* \lq: Text symbols. (line 6331) -* \makebox: \makebox. (line 6146) -* \makebox (for 'picture'): \makebox (picture). (line 2365) -* \makeglossary: Glossaries. (line 6778) -* \makeindex: Indexes. (line 6793) -* \makelabels: \makelabels. (line 6993) -* \maketitle: \maketitle. (line 5731) -* \mapsto: Math symbols. (line 4936) -* \marginpar: Marginal notes. (line 4434) + (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) +* \LoadClass: Class and package commands. + (line 878) +* \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) * \marginparpush: Page layout parameters. - (line 1149) + (line 1569) * \marginparpush <1>: Page layout parameters. - (line 1152) -* \marginparpush <2>: Marginal notes. (line 4464) -* \marginparsep: Marginal notes. (line 4468) + (line 1572) +* \marginparpush <2>: Marginal notes. (line 5091) +* \marginparsep: Marginal notes. (line 5095) * \marginparwidth: Page layout parameters. - (line 1151) + (line 1571) * \marginparwidth <1>: Page layout parameters. - (line 1152) -* \marginparwidth <2>: Marginal notes. (line 4472) + (line 1572) +* \marginparwidth <2>: Marginal notes. (line 5099) * \marginsep: Page layout parameters. - (line 1150) + (line 1570) * \marginsep <1>: Page layout parameters. - (line 1152) -* \markboth{LEFT}{RIGHT}: \pagestyle. (line 5805) -* \markright{RIGHT}: \pagestyle. (line 5812) -* \mathbf: Font styles. (line 760) -* \mathcal: Font styles. (line 776) -* \mathnormal: Font styles. (line 773) -* \mathring: Math accents. (line 5575) -* \mathrm: Font styles. (line 757) -* \mathsf: Font styles. (line 763) -* \mathtt: Font styles. (line 766) -* \mathversion: Font styles. (line 778) -* \max: Math functions. (line 5508) -* \mbox: \mbox. (line 6107) -* \mbox, and LR mode: Modes. (line 5704) -* \mdseries: Font styles. (line 684) + (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) * \medskip: \bigskip \medskip \smallskip. - (line 6037) + (line 6726) * \medskipamount: \bigskip \medskip \smallskip. - (line 6037) + (line 6727) * \medspace: Spacing in math mode. - (line 5608) -* \mho: Math symbols. (line 4940) -* \mid: Math symbols. (line 4945) -* \min: Math functions. (line 5511) -* \models: Math symbols. (line 4955) -* \month: \day \month \year. (line 4251) -* \mp: Math symbols. (line 4960) -* \mu: Math symbols. (line 4963) -* \multicolumn: \multicolumn. (line 2894) -* \multiput: \multiput. (line 2471) -* \nabla: Math symbols. (line 4966) -* \name: \name. (line 7015) -* \natural: Math symbols. (line 4969) -* \ne: Math symbols. (line 4972) -* \nearrow: Math symbols. (line 4975) -* \neg: Math symbols. (line 4978) -* \neq: Math symbols. (line 4982) + (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) +* \NeedsTeXFormat: Class and package commands. + (line 909) +* \neg: Math symbols. (line 5612) +* \neq: Math symbols. (line 5616) * \newcommand: \newcommand & \renewcommand. - (line 3649) -* \newcounter: \newcounter. (line 3749) + (line 4220) +* \newcounter: \newcounter. (line 4326) * \newenvironment: \newenvironment & \renewenvironment. - (line 3800) -* \newfont: \newfont. (line 4016) -* \newlength: \newlength. (line 3770) -* \newline: \newline. (line 3277) -* \NEWLINE: \(SPACE) and \@. (line 5867) -* \newpage: \newpage. (line 3384) -* \newsavebox: \newsavebox. (line 3785) -* \newtheorem: \newtheorem. (line 3904) -* \newtie: Accents. (line 6550) -* \ng: Non-English characters. - (line 6600) -* \NG: Non-English characters. - (line 6600) -* \ni: Math symbols. (line 4985) -* \nocite: \nocite. (line 3097) -* \nocorr: Font styles. (line 669) -* \nocorrlist: Font styles. (line 669) -* \nofiles: Tables of contents. (line 6728) -* \noindent: \noindent. (line 4413) + (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) +* \ng: Additional Latin letters. + (line 7324) +* \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) * \nolinebreak: \linebreak & \nolinebreak. - (line 3344) -* \nonfrenchspacing: \frenchspacing. (line 5938) -* \nonumber: eqnarray. (line 1883) + (line 3913) +* \nonfrenchspacing: \frenchspacing. (line 6628) +* \nonumber: eqnarray. (line 2411) * \nopagebreak: \pagebreak & \nopagebreak. - (line 3405) -* \normalfont: Font styles. (line 705) -* \normalmarginpar: Marginal notes. (line 4452) -* \normalsize: Font sizes. (line 801) -* \not: Math symbols. (line 4990) -* \notin: Math symbols. (line 4998) -* \nu: Math symbols. (line 5002) -* \nwarrow: Math symbols. (line 5005) -* \o (/o): Non-English characters. - (line 6604) -* \O (/O): Non-English characters. - (line 6604) + (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) +* \o (/o): Additional Latin letters. + (line 7328) +* \O (/O): Additional Latin letters. + (line 7328) * \obeycr: \obeycr & \restorecr. - (line 3268) + (line 3830) * \oddsidemargin: Document class options. - (line 615) + (line 680) * \oddsidemargin <1>: Page layout parameters. - (line 1175) + (line 1595) * \oddsidemargin <2>: Page layout parameters. - (line 1177) -* \odot: Math symbols. (line 5008) -* \oe (oe): Non-English characters. - (line 6608) -* \OE (OE): Non-English characters. - (line 6608) -* \oint: Math symbols. (line 5013) -* \oldstylenums: Font styles. (line 782) -* \Omega: Math symbols. (line 5017) -* \omega: Math symbols. (line 5020) -* \ominus: Math symbols. (line 5023) -* \onecolumn: \onecolumn. (line 965) -* \opening: \opening. (line 7025) -* \oplus: Math symbols. (line 5026) -* \oslash: Math symbols. (line 5030) -* \otimes: Math symbols. (line 5033) -* \oval: \oval. (line 2482) -* \overbrace{TEXT}: Math miscellany. (line 5655) -* \overline{TEXT}: Math miscellany. (line 5659) -* \owns: Math symbols. (line 5038) -* \P: Text symbols. (line 6334) + (line 1597) +* \odot: Math symbols. (line 5642) +* \oe (oe): Additional Latin letters. + (line 7332) +* \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) +* \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) +* \PackageError: Class and package commands. + (line 807) +* \PackageInfo: Class and package commands. + (line 807) +* \PackageInfoNoLine: Class and package commands. + (line 807) +* \PackageWarning: Class and package commands. + (line 807) +* \PackageWarningNoLine: Class and package commands. + (line 807) * \pagebreak: \pagebreak & \nopagebreak. - (line 3405) -* \pagenumbering: \pagenumbering. (line 5757) -* \pageref: \pageref. (line 1503) -* \pagestyle: \pagestyle. (line 5782) + (line 3974) +* \pagenumbering: \pagenumbering. (line 6465) +* \pageref: \pageref. (line 1951) +* \pagestyle: \pagestyle. (line 6490) * \paperheight: Page layout parameters. - (line 1188) + (line 1608) * \paperheight <1>: Page layout parameters. - (line 1189) + (line 1609) * \paperwidth: Page layout parameters. - (line 1194) + (line 1614) * \paperwidth <1>: Page layout parameters. - (line 1195) -* \paragraph: Sectioning. (line 1405) -* \parallel: Math symbols. (line 5043) -* \parbox: \parbox. (line 6171) -* \parindent: minipage. (line 2265) -* \parindent <1>: \indent. (line 4402) -* \parsep: itemize. (line 2148) -* \parskip: \parskip. (line 4428) -* \parskip example: itemize. (line 2164) -* \part: Sectioning. (line 1399) -* \partial: Math symbols. (line 5046) -* \partopsep: itemize. (line 2158) + (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) +* \PassOptionsToClass: Class and package commands. + (line 933) +* \PassOptionsToPackage: Class and package commands. + (line 933) * \pdfpageheight: Document class options. - (line 575) + (line 638) * \pdfpagewidth: Document class options. - (line 575) -* \perp: Math symbols. (line 5049) -* \phi: Math symbols. (line 5054) -* \Pi: Math symbols. (line 5058) -* \pi: Math symbols. (line 5061) -* \pm: Math symbols. (line 5065) -* \pmod: Math functions. (line 5514) -* \poptabs: tabbing. (line 2650) -* \poptabs <1>: tabbing. (line 2651) -* \pounds: Text symbols. (line 6338) -* \Pr: Math functions. (line 5517) -* \prec: Math symbols. (line 5068) -* \preceq: Math symbols. (line 5071) -* \prime: Math symbols. (line 5076) -* \prod: Math symbols. (line 5087) -* \propto: Math symbols. (line 5090) -* \protect: \protect. (line 4051) -* \providecommand: \providecommand. (line 3734) -* \ps: \ps. (line 7038) -* \Psi: Math symbols. (line 5093) -* \psi: Math symbols. (line 5096) -* \pushtabs: tabbing. (line 2653) -* \put: \put. (line 2509) + (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) +* \ProcessOptions: Class and package commands. + (line 966) +* \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) +* \ProvidesClass: Class and package commands. + (line 1000) +* \ProvidesFile: Class and package commands. + (line 1031) +* \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) * \qquad: Spacing in math mode. - (line 5625) + (line 6268) * \quad: Spacing in math mode. - (line 5619) -* \quotedblbase (,,): Text symbols. (line 6342) -* \quotesinglbase (,): Text symbols. (line 6343) -* \r (ring accent): Accents. (line 6544) -* \raggedbottom: \raggedbottom. (line 1103) -* \raggedleft: \raggedleft. (line 2065) -* \raggedright: \raggedright. (line 2039) -* \raisebox: \raisebox. (line 6211) -* \rangle: Math symbols. (line 5099) -* \rbrace: Math symbols. (line 5103) -* \rbrack: Math symbols. (line 5107) -* \rceil: Math symbols. (line 5111) -* \Re: Math symbols. (line 5114) -* \ref: \ref. (line 1513) -* \refstepcounter: \refstepcounter. (line 4230) + (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) * \renewenvironment: \newenvironment & \renewenvironment. - (line 3800) + (line 4380) +* \RequirePackage: Class and package commands. + (line 1038) +* \RequirePackageWithOptions: Class and package commands. + (line 1038) * \restorecr: \obeycr & \restorecr. - (line 3268) -* \restriction: Math symbols. (line 5119) -* \reversemarginpar: Marginal notes. (line 4452) -* \rfloor: Math symbols. (line 5124) -* \rhd: Math symbols. (line 5128) -* \rho: Math symbols. (line 5135) -* \right: Math miscellany. (line 5651) -* \Rightarrow: Math symbols. (line 5139) -* \rightarrow: Math symbols. (line 5143) -* \rightharpoondown: Math symbols. (line 5148) -* \rightharpoonup: Math symbols. (line 5151) -* \rightleftharpoons: Math symbols. (line 5154) -* \rightmargin: itemize. (line 2134) -* \rm: Font styles. (line 727) -* \rmfamily: Font styles. (line 678) -* \roman: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4137) -* \Roman: \alph \Alph \arabic \roman \Roman \fnsymbol. - (line 4140) -* \rq: Text symbols. (line 6346) -* \rule: \rule. (line 6621) -* \S: Text symbols. (line 6349) -* \savebox: \savebox. (line 6227) -* \sbox: \sbox. (line 6239) -* \sc: Font styles. (line 730) -* \scriptsize: Font sizes. (line 801) -* \scshape: Font styles. (line 699) -* \searrow: Math symbols. (line 5157) -* \sec: Math functions. (line 5520) -* \section: Sectioning. (line 1402) -* \seename: Indexes. (line 6807) + (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) +* \roman{COUNTER}: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 4726) +* \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) * \selectfont: Low-level font commands. - (line 943) -* \setcounter: \setcounter. (line 4213) -* \setlength: \setlength. (line 4340) -* \setminus: Math symbols. (line 5160) -* \settodepth: \settodepth. (line 4353) -* \settoheight: \settoheight. (line 4361) -* \settowidth: \settowidth. (line 4369) -* \sf: Font styles. (line 733) -* \sffamily: Font styles. (line 696) -* \sharp: Math symbols. (line 5166) -* \shortstack: \shortstack. (line 2519) -* \Sigma: Math symbols. (line 5169) -* \sigma: Math symbols. (line 5172) -* \signature: \signature. (line 7055) -* \sim: Math symbols. (line 5176) -* \simeq: Math symbols. (line 5179) -* \sin: Math functions. (line 5523) -* \sinh: Math functions. (line 5526) -* \sl: Font styles. (line 736) -* \sloppy: \sloppy. (line 3320) -* \slshape: Font styles. (line 693) -* \small: Font sizes. (line 801) -* \smallint: Math symbols. (line 5182) + (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) * \smallskip: \bigskip \medskip \smallskip. - (line 6042) + (line 6731) * \smallskipamount: \bigskip \medskip \smallskip. - (line 6042) -* \smile: Math symbols. (line 5186) -* \spadesuit: Math symbols. (line 5189) -* \sqcap: Math symbols. (line 5192) -* \sqcup: Math symbols. (line 5196) -* \sqrt[ROOT]{arg}: Math miscellany. (line 5662) -* \sqsubset: Math symbols. (line 5200) -* \sqsubseteq: Math symbols. (line 5205) -* \sqsupset: Math symbols. (line 5210) -* \sqsupseteq: Math symbols. (line 5215) -* \ss (ss): Non-English characters. - (line 6612) -* \SS (SS): Non-English characters. - (line 6612) -* \stackrel{TEXT}{RELATION}: Math miscellany. (line 5668) -* \star: Math symbols. (line 5219) -* \stepcounter: \stepcounter. (line 4244) -* \stop: Command line. (line 7136) -* \subparagraph: Sectioning. (line 1406) -* \subsection: Sectioning. (line 1403) -* \subset: Math symbols. (line 5226) -* \subseteq: Math symbols. (line 5229) -* \subsubsection: Sectioning. (line 1404) -* \succ: Math symbols. (line 5232) -* \succeq: Math symbols. (line 5236) -* \sum: Math symbols. (line 5241) -* \sup: Math functions. (line 5529) -* \suppressfloats: Floats. (line 1328) -* \supset: Math symbols. (line 5245) -* \supseteq: Math symbols. (line 5248) -* \surd: Math symbols. (line 5251) -* \swarrow: Math symbols. (line 5256) -* \symbol: Reserved characters. - (line 6286) -* \t (tie-after accent): Accents. (line 6550) -* \TAB: \(SPACE) and \@. (line 5867) -* \tabbingsep: tabbing. (line 2658) -* \tabcolsep: tabular. (line 2883) -* \tableofcontents: Tables of contents. (line 6713) -* \tan: Math functions. (line 5532) -* \tanh: Math functions. (line 5535) -* \tau: Math symbols. (line 5259) -* \telephone: \telephone. (line 7079) -* \TeX: Text symbols. (line 6352) -* \textascenderwordmark: Text symbols. (line 6390) -* \textasciicircum: Text symbols. (line 6355) -* \textasciitilde: Text symbols. (line 6358) -* \textasteriskcentered: Text symbols. (line 6361) -* \textbackslash: Text symbols. (line 6364) -* \textbar: Text symbols. (line 6367) -* \textbardbl: Text symbols. (line 6370) -* \textbf: Font styles. (line 687) -* \textbigcircle: Text symbols. (line 6373) -* \textbraceleft: Text symbols. (line 6376) -* \textbraceright: Text symbols. (line 6379) -* \textbullet: Text symbols. (line 6382) -* \textcapitalwordmark: Text symbols. (line 6389) -* \textcircled{LETTER}: Text symbols. (line 6385) -* \textcompwordmark: Text symbols. (line 6388) -* \textcopyright: Text symbols. (line 6303) -* \textdagger: Text symbols. (line 6395) -* \textdaggerdbl: Text symbols. (line 6398) -* \textdollar (or '$'): Text symbols. (line 6401) -* \textellipsis: Text symbols. (line 6327) -* \textemdash (or '---'): Text symbols. (line 6404) -* \textendash (or '--'): Text symbols. (line 6407) -* \texteuro: Text symbols. (line 6410) -* \textexclamdown (or '!`'): Text symbols. (line 6413) -* \textfloatsep: Floats. (line 1364) -* \textfloatsep <1>: Floats. (line 1365) -* \textfraction: Floats. (line 1343) -* \textfraction <1>: Floats. (line 1344) -* \textgreater: Text symbols. (line 6416) + (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) +* \ss (ss): Additional Latin letters. + (line 7336) +* \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) +* \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) +* \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) * \textheight: Page layout parameters. - (line 1200) + (line 1620) * \textheight <1>: Page layout parameters. - (line 1201) -* \textit: Font styles. (line 681) -* \textleftarrow: Text symbols. (line 6422) -* \textless: Text symbols. (line 6419) -* \textmd: Font styles. (line 684) -* \textnormal: Font styles. (line 705) -* \textordfeminine: Text symbols. (line 6425) -* \textordmasculine: Text symbols. (line 6426) -* \textparagraph: Text symbols. (line 6335) -* \textperiodcentered: Text symbols. (line 6429) -* \textquestiondown (or '?`'): Text symbols. (line 6432) -* \textquotedblleft (or '``'): Text symbols. (line 6435) -* \textquotedblright (or '''): Text symbols. (line 6438) -* \textquoteleft (or '`'): Text symbols. (line 6441) -* \textquoteright (or '''): Text symbols. (line 6444) -* \textquotestraightbase: Text symbols. (line 6447) -* \textquotestraightdblbase: Text symbols. (line 6448) -* \textregistered: Text symbols. (line 6451) -* \textrightarrow: Text symbols. (line 6454) -* \textrm: Font styles. (line 678) -* \textsc: Font styles. (line 699) -* \textsf: Font styles. (line 696) -* \textsl: Font styles. (line 693) -* \textsterling: Text symbols. (line 6339) -* \textthreequartersemdash: Text symbols. (line 6457) -* \texttrademark: Text symbols. (line 6460) -* \texttt: Font styles. (line 702) -* \texttwelveudash: Text symbols. (line 6463) -* \textunderscore: Text symbols. (line 6466) -* \textup: Font styles. (line 690) -* \textvisiblespace: Text symbols. (line 6469) + (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) * \textwidth: Page layout parameters. - (line 1208) + (line 1628) * \textwidth <1>: Page layout parameters. - (line 1209) -* \th (th): Non-English characters. - (line 6616) -* \TH (TH): Non-English characters. - (line 6616) -* \thanks{TEXT}: \maketitle. (line 5746) -* \theta: Math symbols. (line 5262) -* \thicklines: \thicklines. (line 2457) + (line 1629) +* \th (th): Additional Latin letters. + (line 7340) +* \TH (TH): Additional Latin letters. + (line 7340) +* \thanks{TEXT}: \maketitle. (line 6454) +* \theta: Math symbols. (line 5899) +* \thicklines: \thicklines. (line 2993) * \thickspace: Spacing in math mode. - (line 5603) -* \thinlines: \thinlines. (line 2464) + (line 6246) +* \thinlines: \thinlines. (line 3000) * \thinspace: Spacing in math mode. - (line 5612) -* \thinspace <1>: \thinspace. (line 5951) -* \thispagestyle: \thispagestyle. (line 5818) -* \tilde: Math accents. (line 5578) -* \times: Math symbols. (line 5266) -* \tiny: Font sizes. (line 801) -* \title{TEXT}: \maketitle. (line 5750) -* \to: Math symbols. (line 5270) -* \today: \today. (line 6640) -* \top: Math symbols. (line 5274) -* \topfraction: Floats. (line 1348) -* \topfraction <1>: Floats. (line 1349) + (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) * \topmargin: Page layout parameters. - (line 1232) -* \topsep: itemize. (line 2152) + (line 1652) +* \topsep: itemize. (line 2680) * \topskip: Page layout parameters. - (line 1239) + (line 1659) * \topskip <1>: Page layout parameters. - (line 1240) -* \totalheight: Predefined lengths. (line 4381) -* \triangle: Math symbols. (line 5278) -* \triangleleft: Math symbols. (line 5281) -* \triangleright: Math symbols. (line 5287) -* \tt: Font styles. (line 739) -* \ttfamily: Font styles. (line 702) -* \twocolumn: \twocolumn. (line 975) -* \typein: \typein. (line 7094) -* \typeout: \typeout. (line 7108) -* \u (breve accent): Accents. (line 6555) -* \unboldmath: Math formulas. (line 4507) -* \underbar: Accents. (line 6558) -* \underbrace{math}: Math miscellany. (line 5672) -* \underline{text}: Math miscellany. (line 5675) -* \unitlength: picture. (line 2286) -* \unlhd: Math symbols. (line 5293) -* \unrhd: Math symbols. (line 5300) -* \Uparrow: Math symbols. (line 5307) -* \uparrow: Math symbols. (line 5312) -* \Updownarrow: Math symbols. (line 5316) -* \updownarrow: Math symbols. (line 5321) -* \upharpoonright: Math symbols. (line 5326) -* \uplus: Math symbols. (line 5331) -* \upshape: Font styles. (line 690) -* \Upsilon: Math symbols. (line 5337) -* \upsilon: Math symbols. (line 5340) -* \usebox: \usebox. (line 6251) -* \usecounter: \usecounter. (line 4158) + (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) * \usefont: Low-level font commands. - (line 951) -* \usepackage: Document class options. - (line 633) -* \v (breve accent): Accents. (line 6566) -* \value: \value. (line 4184) -* \varepsilon: Math symbols. (line 5343) -* \varphi: Math symbols. (line 5348) -* \varpi: Math symbols. (line 5352) -* \varrho: Math symbols. (line 5356) -* \varsigma: Math symbols. (line 5360) -* \vartheta: Math symbols. (line 5364) -* \vdash: Math symbols. (line 5368) -* \vdots: Math miscellany. (line 5680) -* \vdots <1>: Math miscellany. (line 5681) -* \vec: Math accents. (line 5581) -* \vector: \vector. (line 2538) -* \vee: Math symbols. (line 5372) -* \verb: \verb. (line 3189) -* \Vert: Math symbols. (line 5377) -* \vert: Math symbols. (line 5393) -* \vfill: \vfill. (line 6049) -* \vline: \vline. (line 2974) -* \vspace: \vspace. (line 6075) -* \wedge: Math symbols. (line 5411) -* \widehat: Math accents. (line 5584) -* \widetilde: Math accents. (line 5587) -* \width: Predefined lengths. (line 4375) -* \wp: Math symbols. (line 5415) -* \wr: Math symbols. (line 5418) -* \Xi: Math symbols. (line 5421) -* \xi: Math symbols. (line 5424) -* \year: \day \month \year. (line 4251) -* \zeta: Math symbols. (line 5427) -* \[: Math formulas. (line 4494) -* \\ (for 'center'): center. (line 1617) -* \\ (for 'eqnarray'): eqnarray. (line 1871) -* \\ (for 'flushright'): flushright. (line 2058) -* \\ (for '\shortstack' objects): \shortstack. (line 2533) -* \\ (tabbing): tabbing. (line 2603) -* \\ for 'flushleft': flushleft. (line 2032) -* \\ for letters: Letters. (line 6877) -* \\ for 'tabular': tabular. (line 2746) -* \\ for 'verse': verse. (line 3217) -* \\ for '\author': \maketitle. (line 5737) -* \\ for '\title': \maketitle. (line 5751) -* \\ force line break: \\. (line 3236) -* \\* (for 'eqnarray'): eqnarray. (line 1879) -* \]: Math formulas. (line 4494) + (line 1370) +* \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) * \^: Reserved characters. - (line 6282) -* \^ (circumflex accent): Accents. (line 6502) + (line 6982) +* \^ (circumflex accent): Accents. (line 7221) * \_: Reserved characters. - (line 6272) -* \` (grave accent): Accents. (line 6506) -* \` (tabbing): tabbing. (line 2630) + (line 6975) +* \` (grave accent): Accents. (line 7225) +* \` (tabbing): tabbing. (line 3166) * \{: Reserved characters. - (line 6272) -* \|: Math symbols. (line 4564) + (line 6975) +* \|: Math symbols. (line 5194) * \}: Reserved characters. - (line 6272) + (line 6975) * \~: Reserved characters. - (line 6282) -* \~ (tilde accent): Accents. (line 6512) + (line 6982) +* \~ (tilde accent): Accents. (line 7231) * ^: Subscripts & superscripts. - (line 4521) + (line 5148) * _: Subscripts & superscripts. - (line 4521) + (line 5148) * {...} for required arguments: LaTeX command syntax. - (line 444) + (line 452) * a4paper option: Document class options. - (line 557) + (line 617) * a5paper option: Document class options. - (line 557) -* abstract environment: abstract. (line 1535) -* array environment: array. (line 1547) -* article class: Document classes. (line 515) + (line 617) +* abstract environment: abstract. (line 2011) +* array environment: array. (line 2057) +* article class: Document classes. (line 575) * b5paper option: Document class options. - (line 557) -* book class: Document classes. (line 515) -* bottomnumber: Floats. (line 1371) -* bottomnumber <1>: Floats. (line 1372) -* bp: Units of length. (line 4304) -* cc: Units of length. (line 4317) -* center environment: center. (line 1605) -* clock option to 'slides' class: Document class options. - (line 630) -* cm: Units of length. (line 4308) -* dbltopnumber: Floats. (line 1375) -* dbltopnumber <1>: Floats. (line 1376) -* dd: Units of length. (line 4314) -* description environment: description. (line 1671) -* displaymath environment: displaymath. (line 1711) -* displaymath environment <1>: Math formulas. (line 4484) -* document environment: document. (line 1754) + (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) +* 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) * draft option: Document class options. - (line 582) -* dvipdfmx command: Output files. (line 351) -* dvips command: Output files. (line 351) -* dvitype command: Output files. (line 351) -* em: Units of length. (line 4322) -* enumerate environment: enumerate. (line 1786) -* eqnarray environment: eqnarray. (line 1848) -* equation environment: equation. (line 1904) -* equation environment <1>: Math formulas. (line 4484) -* etex command: TeX engines. (line 399) -* ex: Units of length. (line 4322) + (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) +* environment, quotation: quotation and quote. + (line 3085) +* 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) * executivepaper option: Document class options. - (line 557) -* figure: figure. (line 1922) -* filecontents: filecontents. (line 1975) + (line 617) +* figure environment: figure. (line 2450) +* filecontents environment: filecontents. (line 2503) +* filecontents* environment: filecontents. (line 2503) * final option: Document class options. - (line 582) + (line 645) * first-latex-doc document: About this document. - (line 277) + (line 285) * fleqn option: Document class options. - (line 582) -* flushleft environment: flushleft. (line 2026) -* flushright environment: flushright. (line 2052) + (line 645) +* flushleft environment: flushleft. (line 2554) +* flushright environment: flushright. (line 2580) * home page: About this document. - (line 250) -* in: Units of length. (line 4301) -* inch: Units of length. (line 4301) -* indexspace: Indexes. (line 6819) -* itemize environment: itemize. (line 2078) + (line 258) +* in: Units of length. (line 4911) +* inch: Units of length. (line 4911) +* itemize environment: itemize. (line 2606) * landscape option: Document class options. - (line 582) -* latex command: Output files. (line 351) + (line 645) +* latex command: Output files. (line 359) * latex-doc-ptr document: About this document. - (line 274) + (line 282) * email address: About this document. - (line 261) + (line 269) * legalpaper option: Document class options. - (line 557) + (line 617) * leqno option: Document class options. - (line 582) -* letter class: Document classes. (line 515) -* letter environment: letter. (line 2180) + (line 645) +* letter class: Document classes. (line 575) +* letter environment: letter. (line 2708) * letterpaper option: Document class options. - (line 557) -* list: list. (line 2185) -* lR box: picture. (line 2342) -* lrbox: lrbox. (line 6136) + (line 617) +* list environment: list. (line 2713) +* lR box: picture. (line 2878) +* lrbox: lrbox. (line 6830) * lshort document: About this document. - (line 284) -* lualatex command: TeX engines. (line 416) -* math environment: math. (line 2242) -* math environment <1>: Math formulas. (line 4484) -* minipage environment: minipage. (line 2254) -* mm: Units of length. (line 4311) -* mu: Units of length. (line 4333) + (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) * notitlepage option: Document class options. - (line 582) + (line 645) * onecolumn option: Document class options. - (line 609) + (line 674) * oneside option: Document class options. - (line 609) + (line 674) * openany option: Document class options. - (line 609) + (line 674) * openbib option: Document class options. - (line 582) + (line 645) * openright option: Document class options. - (line 609) -* pc: Units of length. (line 4298) -* pdflatex command: Output files. (line 361) -* picture: picture. (line 2282) -* printindex: Indexes. (line 6815) -* pt: Units of length. (line 4294) -* quotation: quotation and quote. - (line 2549) -* quote: quotation and quote. - (line 2549) -* report class: Document classes. (line 515) -* secnumdepth counter: Sectioning. (line 1438) -* slides class: Document classes. (line 515) -* sp: Units of length. (line 4320) -* tabbing environment: tabbing. (line 2585) -* table: table. (line 2676) -* tabular environment: tabular. (line 2718) -* textcomp package: Text symbols. (line 6298) -* thebibliography environment: thebibliography. (line 3040) -* theorem environment: theorem. (line 3142) -* titlepage environment: titlepage. (line 3155) + (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) +* quotation environment: quotation and quote. + (line 3085) +* 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) * titlepage option: Document class options. - (line 582) + (line 645) * topmargin: Page layout parameters. - (line 1233) -* topnumber: Floats. (line 1379) -* topnumber <1>: Floats. (line 1380) -* totalnumber: Floats. (line 1383) -* totalnumber <1>: Floats. (line 1384) + (line 1653) +* topnumber: Floats. (line 1799) +* topnumber <1>: Floats. (line 1800) +* totalnumber: Floats. (line 1803) +* totalnumber <1>: Floats. (line 1804) * twocolumn option: Document class options. - (line 609) + (line 674) * twoside option: Document class options. - (line 609) + (line 674) * usrguide official documentation: About this document. - (line 280) -* verbatim environment: verbatim. (line 3172) -* verse environment: verse. (line 3206) -* xdvi command: Output files. (line 351) -* xdvipdfmx: TeX engines. (line 425) -* xelatex command: TeX engines. (line 425) + (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) 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 c1f519aa5dc..7be3644661f 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.xml +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.xml @@ -3,23 +3,24 @@ \input texinfo - + latex2e.info -October 2015 -&latex;2e unofficial reference manual (October 2015) +November 2016 +&latex;2e unofficial reference manual (November 2016) + - - + + @@ -32,7 +33,7 @@ This document is an unofficial reference manual for &latex;, a -document preparation system, version of October 2015. +document preparation system, version of November 2016. This manual was originally translated from LATEX.HLP v1.0a in the VMS Help Library. The pre-translation version was written by @@ -47,10 +48,11 @@ Group as &tex;niques number 10), as reference material (no text was directly copied). Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, -2014, 2015 Karl Berry.&linebreak; +2014, 2015, 2016 Karl Berry.&linebreak; Copyright 1988, 1994, 2007 Stephen Gilmore.&linebreak; Copyright 1994, 1995, 1996 Torsten Martinsen. + Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. @@ -69,6 +71,7 @@ notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions. + TeX @@ -82,7 +85,7 @@ into another language, under the above conditions for modified versions. &latex;2e: An unofficial reference manual -October 2015 +November 2016 http://home.gna.org/latexrefman 0pt plus 1filll @@ -97,12 +100,26 @@ 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 -October 2015) for &latex;2e, a document preparation system. +November 2016) for &latex;2e, a document preparation system. About this document
        Bug reporting, etc.
        @@ -302,7 +319,7 @@ it to a PostScript .ps file with dvips or to a
         Portable Document Format .pdf file with dvipdfmx.
         The contents of the file can be dumped in human-readable form with
         dvitype.  A vast array of other DVI utility programs are
        -available (http://mirror.ctan.org/tex-archive/dviware).
        +available (http://mirror.ctan.org/dviware).
         
         .pdf
         .pdf file
        @@ -475,6 +492,7 @@ commands it covers (barring unintentional omissions, a.k.a.&noeos; bugs).
         
         Environment
        Area of the source with distinct behavior.
         
        Declaration
        Change the value or meaning of a command.
        +
        \makeatletter and \makeatother
        Change the status of the at-sign character.
         
        @@ -484,7 +502,7 @@ commands it covers (barring unintentional omissions, a.k.a.&noeos; bugs).
        \begin{environment name}
        -  ..
        +  ...
         \end{environment name}
         
        @@ -494,11 +512,13 @@ behavior. For instance, for poetry in &latex; put the lines between
        \begin{verse}
        -    There once was a man from Nantucket \\
        -     ..
        +  There once was a man from Nantucket \\
        +  ...
         \end{verse}
         
        +See Environments for a list of environments. + The environment name at the beginning must exactly match that at the end. This includes the case where environment name ends in a star (*); both the \begin and \end texts must @@ -511,25 +531,91 @@ required (it specifies the formatting of columns).
        \begin{tabular}[t]{r|l}
        -  .. rows of table ..
        +  ... rows of table ...
         \end{tabular}
         
        -DeclarationEnvironment&latex; command syntax +Declaration\makeatletter and \makeatotherEnvironment&latex; command syntax 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 + +Synopsis: + + +
        \makeatletter
        +  ... definition of commands with &arobase; in their name ..
        +\makeatother
        +
        + +Used to redefine internal &latex; commands. \makeatletter makes +the at-sign character &arobase; have the category code of a letter, +11. \makeatother sets the category code of &arobase; to 12, +its original value. + +As each character is read by &tex; for &latex;, it is assigned a +character category code, or +catcode +character category code +category code, character +catcode for shorter. For instance, the backslash \ is +assigned the catcode 0, for characters that start a command. These two +commands alter the catcode assigned to &arobase;. + +The alteration is needed because many of &latex;&textrsquo;s commands use +&arobase; in their name, to prevent users from accidentally defining a +command that replaces one of &latex;&textrsquo;s own. Command names consist of a +category 0 character, ordinarily backslash, followed by letters, +category 11 characters (except that a command name can also consist +of a category 0 character followed by a single non-letter symbol). +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. + +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. + + + + +
        \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
        +\makeatother
        +
        + + + Document classesFontsOverviewTop Document classes -document classes -classes of documents +document classes +classes of documents \documentclass The document&textrsquo;s overall class is defined with this command, which is @@ -576,16 +662,18 @@ template). Document class options
        Global options.
        +
        Additional packages
        Bring in packages.
        +
        Class and package construction
        Create new classes and packages.
         
        -Document class optionsDocument classes +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. @@ -618,24 +706,28 @@ size (these show height by width):
        Jump to:   * @@ -13776,32 +15368,34 @@ Previous: , U
        \> (tabbing): tabbing
        \@: \(SPACE) and \@
        \@fnsymbol: \footnote
        \@ifstar: \@ifstar
        \@startsection: \@startsection
        \a (tabbing): tabbing
        \a' (acute accent in tabbing): tabbing
        \a= (macron accent in tabbing): tabbing
        \aa (å): Non-English characters
        \AA (Å): Non-English characters
        \aa (å): Additional Latin letters
        \AA (Å): Additional Latin letters
        \acute: Math accents
        \addcontentsline{ext}{unit}{text}: \addcontentsline
        \addcontentsline: \addcontentsline
        \address: \address
        \addtocontents{ext}{text}: \addtocontents
        \addtocounter: \addtocounter
        \addtolength: \addtolength
        \addvspace: \addvspace
        \ae (æ): Non-English characters
        \AE (Æ): Non-English characters
        \ae (æ): Additional Latin letters
        \AE (Æ): Additional Latin letters
        \aleph: Math symbols
        \alph: \alph \Alph \arabic \roman \Roman \fnsymbol
        \Alph: \alph \Alph \arabic \roman \Roman \fnsymbol
        \Alph example: enumerate
        \alpha: Math symbols
        \alph{counter}: \alph \Alph \arabic \roman \Roman \fnsymbol
        \Alph{counter}: \alph \Alph \arabic \roman \Roman \fnsymbol
        \alsoname: Indexes
        \amalg: Math symbols
        \and for \author: \maketitle
        \angle: Math symbols
        \appendix: Sectioning
        \approx: Math symbols
        \arabic: \alph \Alph \arabic \roman \Roman \fnsymbol
        \arabic{counter}: \alph \Alph \arabic \roman \Roman \fnsymbol
        \arccos: Math functions
        \arcsin: Math functions
        \arctan: Math functions
        \ast: Math symbols
        \asymp: Math symbols
        \AtBeginDocument: \AtBeginDocument
        \AtBeginDvi: Class and package commands
        \AtEndDocument: \AtEndDocument
        \AtEndOfClass: Class and package commands
        \AtEndOfPackage: Class and package commands
        \author{name \and name2}: \maketitle
        \a` (grave accent in tabbing): tabbing
        \b (bar-under accent): Accents
        \backslash: Math symbols
        \backslash: Reserved characters
        \bar: Math accents
        \baselineskip: Low-level font commands
        \baselinestretch: Low-level font commands
        \centering: \centering
        \chapter: Sectioning
        \check: Math accents
        \CheckCommand: Class and package commands
        \CheckCommand*: Class and package commands
        \chi: Math symbols
        \circ: Math symbols
        \circle: \circle
        \cite: \cite
        \ClassError: Class and package commands
        \ClassInfo: Class and package commands
        \ClassInfoNoLine: Class and package commands
        \ClassWarning: Class and package commands
        \ClassWarningNoLine: Class and package commands
        \cleardoublepage: \cleardoublepage
        \clearpage: \clearpage
        \cline: \cline
        \coth: Math functions
        \csc: Math functions
        \cup: Math symbols
        \CurrentOption: Class and package commands
        \d (dot-under accent): Accents
        \dag: Text symbols
        \dagger: Math symbols
        \ddagger: Math symbols
        \ddot: Math accents
        \ddots: Math miscellany
        \DeclareOption: Class and package commands
        \DeclareOption*: Class and package commands
        \DeclareRobustCommand: Class and package commands
        \DeclareRobustCommand*: Class and package commands
        \deg: Math functions
        \Delta: Math symbols
        \delta: Math symbols
        \depth: Predefined lengths
        \det: Math functions
        \dh (ð): Non-English characters
        \DH (Ð): Non-English characters
        \dh (ð): Additional Latin letters
        \DH (Ð): Additional Latin letters
        \Diamond: Math symbols
        \diamond: Math symbols
        \diamondsuit: Math symbols
        \dim: Math functions
        \displaystyle: Math formulas
        \div: Math symbols
        \dj: Non-English characters
        \DJ: Non-English characters
        \dj: Additional Latin letters
        \DJ: Additional Latin letters
        \documentclass: Document classes
        \dot: Math accents
        \doteq: Math symbols
        \evensidemargin: Document class options
        \evensidemargin: Page layout parameters
        \evensidemargin: Page layout parameters
        \ExecuteOptions: Class and package commands
        \exists: Math symbols
        \exp: Math functions
        \extracolsep: tabular
        \floatsep: Floats
        \floatsep: Floats
        \flushbottom: \flushbottom
        \fnsymbol: \alph \Alph \arabic \roman \Roman \fnsymbol
        \fnsymbol, and footnotes: \footnote
        \fnsymbol{counter}: \alph \Alph \arabic \roman \Roman \fnsymbol
        \fontencoding: Low-level font commands
        \fontfamily: Low-level font commands
        \fontseries: Low-level font commands
        \footskip: Page layout parameters
        \forall: Math symbols
        \frac: Math miscellany
        \frac{num}{den}: Math miscellany
        \frac{num}{den}: Math miscellany
        \frame: \frame
        \framebox: \framebox (picture)
        \framebox: \fbox and \framebox
        \hyphenation: \hyphenation
        \i (dotless i): Accents
        \iff: Math symbols
        \ij (ij): Non-English characters
        \IJ (IJ): Non-English characters
        \IfFileExists: Class and package commands
        \ij (ij): Additional Latin letters
        \IJ (IJ): Additional Latin letters
        \Im: Math symbols
        \imath: Math accents
        \in: Math symbols
        \indent: \indent
        \index: Indexes
        \indexentry: Indexes
        \indexspace: Indexes
        \inf: Math functions
        \infty: Math symbols
        \input: \input
        \InputIfFileExists: Class and package commands
        \int: Math symbols
        \intextsep: Floats
        \intextsep: Floats
        \iota: Math symbols
        \it: Font styles
        \item: description
        \item: description
        \item: enumerate
        \item: itemize
        \item: enumerate
        \item: itemize
        \itemindent: itemize
        \itemsep: itemize
        \itshape: Font styles
        \kappa: Math symbols
        \ker: Math functions
        \kill: tabbing
        \l (ł): Non-English characters
        \L (Ł): Non-English characters
        \l (ł): Additional Latin letters
        \L (Ł): Additional Latin letters
        \label: \label
        \labelenumi: enumerate
        \labelenumii: enumerate
        \ll: Math symbols
        \ln: Math functions
        \lnot: Math symbols
        \LoadClass: Class and package commands
        \LoadClassWithOptions: Class and package commands
        \location: \location
        \log: Math functions
        \longleftarrow: Math symbols
        \markright{right}: \pagestyle
        \mathbf: Font styles
        \mathcal: Font styles
        \mathdollar: Math miscellany
        \mathellipsis: Math miscellany
        \mathnormal: Font styles
        \mathparagraph: Math miscellany
        \mathring: Math accents
        \mathrm: Font styles
        \mathsection: Math miscellany
        \mathsf: Font styles
        \mathsterling: Math miscellany
        \mathtt: Font styles
        \mathunderscore: Math miscellany
        \mathversion: Font styles
        \max: Math functions
        \mbox: \mbox
        \natural: Math symbols
        \ne: Math symbols
        \nearrow: Math symbols
        \NeedsTeXFormat: Class and package commands
        \neg: Math symbols
        \neq: Math symbols
        \newcommand: \newcommand & \renewcommand
        \newsavebox: \newsavebox
        \newtheorem: \newtheorem
        \newtie: Accents
        \ng: Non-English characters
        \NG: Non-English characters
        \ng: Additional Latin letters
        \NG: Additional Latin letters
        \ni: Math symbols
        \nocite: \nocite
        \nocorr: Font styles
        \notin: Math symbols
        \nu: Math symbols
        \nwarrow: Math symbols
        \o (ø): Non-English characters
        \O (Ø): Non-English characters
        \o (ø): Additional Latin letters
        \O (Ø): Additional Latin letters
        \obeycr: \obeycr & \restorecr
        \oddsidemargin: Document class options
        \oddsidemargin: Page layout parameters
        \oddsidemargin: Page layout parameters
        \odot: Math symbols
        \oe (œ): Non-English characters
        \OE (Œ): Non-English characters
        \oe (œ): Additional Latin letters
        \OE (Œ): Additional Latin letters
        \oint: Math symbols
        \oldstylenums: Font styles
        \Omega: Math symbols
        \onecolumn: \onecolumn
        \opening: \opening
        \oplus: Math symbols
        \OptionNotUsed: Class and package commands
        \oslash: Math symbols
        \otimes: Math symbols
        \oval: \oval
        \overbrace{text}: Math miscellany
        \overbrace{math}: Math miscellany
        \overline{text}: Math miscellany
        \owns: Math symbols
        \P: Text symbols
        \PackageError: Class and package commands
        \PackageInfo: Class and package commands
        \PackageInfoNoLine: Class and package commands
        \PackageWarning: Class and package commands
        \PackageWarningNoLine: Class and package commands
        \pagebreak: \pagebreak & \nopagebreak
        \pagenumbering: \pagenumbering
        \pageref: \pageref
        \part: Sectioning
        \partial: Math symbols
        \partopsep: itemize
        \PassOptionsToClass: Class and package commands
        \PassOptionsToPackage: Class and package commands
        \pdfpageheight: Document class options
        \pdfpagewidth: Document class options
        \perp: Math symbols
        \prec: Math symbols
        \preceq: Math symbols
        \prime: Math symbols
        \printindex: Indexes
        \ProcessOptions: Class and package commands
        \ProcessOptions*: Class and package commands
        \prod: Math symbols
        \propto: Math symbols
        \protect: \protect
        \providecommand: \providecommand
        \ProvidesClass: Class and package commands
        \ProvidesFile: Class and package commands
        \ProvidesPackage: Class and package commands
        \ps: \ps
        \Psi: Math symbols
        \psi: Math symbols
        \ref: \ref
        \refstepcounter: \refstepcounter
        \renewenvironment: \newenvironment & \renewenvironment
        \RequirePackage: Class and package commands
        \RequirePackageWithOptions: Class and package commands
        \restorecr: \obeycr & \restorecr
        \restriction: Math symbols
        \revemptyset: Math symbols
        \reversemarginpar: Marginal notes
        \rfloor: Math symbols
        \rhd: Math symbols
        \rightmargin: itemize
        \rm: Font styles
        \rmfamily: Font styles
        \roman: \alph \Alph \arabic \roman \Roman \fnsymbol
        \Roman: \alph \Alph \arabic \roman \Roman \fnsymbol
        \roman{counter}: \alph \Alph \arabic \roman \Roman \fnsymbol
        \Roman{counter}: \alph \Alph \arabic \roman \Roman \fnsymbol
        \rq: Text symbols
        \rule: \rule
        \S: Text symbols
        \spadesuit: Math symbols
        \sqcap: Math symbols
        \sqcup: Math symbols
        \sqrt[root]{arg}: Math miscellany
        \sqrt[root]{arg}: Math miscellany
        \sqsubset: Math symbols
        \sqsubseteq: Math symbols
        \sqsupset: Math symbols
        \sqsupseteq: Math symbols
        \ss (ß): Non-English characters
        \SS (SS): Non-English characters
        \ss (ß): Additional Latin letters
        \SS (SS): Additional Latin letters
        \stackrel{text}{relation}: Math miscellany
        \star: Math symbols
        \stepcounter: \stepcounter
        \supseteq: Math symbols
        \surd: Math symbols
        \swarrow: Math symbols
        \symbol: Reserved characters
        \symbol: Symbols by font position
        \t (tie-after accent): Accents
        \TAB: \(SPACE) and \@
        \tabbingsep: tabbing
        \tau: Math symbols
        \telephone: \telephone
        \TeX: Text symbols
        \textascenderwordmark: Text symbols
        \textascendercompwordmark: Text symbols
        \textasciicircum: Text symbols
        \textasciitilde: Text symbols
        \textasteriskcentered: Text symbols
        \textbackslash: Text symbols
        \textbackslash: Reserved characters
        \textbackslash: Text symbols
        \textbar: Text symbols
        \textbardbl: Text symbols
        \textbf: Font styles
        \textbraceleft: Text symbols
        \textbraceright: Text symbols
        \textbullet: Text symbols
        \textcapitalwordmark: Text symbols
        \textcapitalcompwordmark: Text symbols
        \textcircled{letter}: Text symbols
        \textcompwordmark: Text symbols
        \textcopyright: Text symbols
        \textdagger: Text symbols
        \textdaggerdbl: Text symbols
        \textdollar (or $): Text symbols
        \textdollar (or \$): Text symbols
        \textellipsis: Text symbols
        \textemdash (or ---): Text symbols
        \textendash (or --): Text symbols
        \textperiodcentered: Text symbols
        \textquestiondown (or ?`): Text symbols
        \textquotedblleft (or ``): Text symbols
        \textquotedblright (or '): Text symbols
        \textquotedblright (or ''): Text symbols
        \textquoteleft (or `): Text symbols
        \textquoteright (or '): Text symbols
        \textquotesingle: Text symbols
        \textquotestraightbase: Text symbols
        \textquotestraightdblbase: Text symbols
        \textregistered: Text symbols
        \textvisiblespace: Text symbols
        \textwidth: Page layout parameters
        \textwidth: Page layout parameters
        \th (þ): Non-English characters
        \TH (Þ): Non-English characters
        \th (þ): Additional Latin letters
        \TH (Þ): Additional Latin letters
        \thanks{text}: \maketitle
        \theta: Math symbols
        \thicklines: \thicklines
        \u (breve accent): Accents
        \unboldmath: Math formulas
        \underbar: Accents
        \underbrace{math}: Math miscellany
        \underline{text}: Math miscellany
        \underbrace{math}: Math miscellany
        \underline{text}: Math miscellany
        \unitlength: picture
        \unlhd: Math symbols
        \unrhd: Math symbols
        \usebox: \usebox
        \usecounter: \usecounter
        \usefont: Low-level font commands
        \usepackage: Document class options
        \usepackage: Additional packages
        \v (breve accent): Accents
        \value: \value
        \vanothing: Math symbols
        \varepsilon: Math symbols
        \varphi: Math symbols
        \varpi: Math symbols
        \vartheta: Math symbols
        \vdash: Math symbols
        \vdots: Math miscellany
        \vdots: Math miscellany
        \vec: Math accents
        \vector: \vector
        \vee: Math symbols
        A
        a4paper option: Document class options
        a5paper option: Document class options
        abstract environment: abstract
        array environment: array
        abstract environment: abstract
        array environment: array
        article class: Document classes

        B

        C
        cc: Units of length
        center environment: center
        center environment: center
        clock option to slides class: Document class options
        cm: Units of length

        dbltopnumber: Floats
        dbltopnumber: Floats
        dd: Units of length
        description environment: description
        displaymath environment: displaymath
        displaymath environment: Math formulas
        document environment: document
        description environment: description
        displaymath environment: displaymath
        displaymath environment: Math formulas
        document environment: document
        draft option: Document class options
        dvipdfmx command: Output files
        dvips command: Output files

        E
        em: Units of length
        enumerate environment: enumerate
        eqnarray environment: eqnarray
        equation environment: equation
        equation environment: Math formulas
        enumerate environment: enumerate
        environment, abstract: abstract
        environment, array: array
        environment, center: center
        environment, description: description
        environment, displaymath: displaymath
        environment, displaymath: Math formulas
        environment, document: document
        environment, enumerate: enumerate
        environment, eqnarray: eqnarray
        environment, equation: equation
        environment, equation: Math formulas
        environment, figure: figure
        environment, filecontents: filecontents
        environment, filecontents*: filecontents
        environment, flushleft: flushleft
        environment, flushright: flushright
        environment, itemize: itemize
        environment, letter: letter
        environment, list: list
        environment, math: math
        environment, math: Math formulas
        environment, minipage: minipage
        environment, picture: picture
        environment, quotation: quotation and quote
        environment, quote: quotation and quote
        environment, tabbing: tabbing
        environment, table: table
        environment, tabular: tabular
        environment, thebibliography: thebibliography
        environment, theorem: theorem
        environment, titlepage: titlepage
        environment, verbatim: verbatim
        environment, verse: verse
        eqnarray environment: eqnarray
        equation environment: equation
        equation environment: Math formulas
        etex command: TeX engines
        ex: Units of length
        executivepaper option: Document class options

        F
        figure: figure
        filecontents: filecontents
        figure environment: figure
        filecontents environment: filecontents
        filecontents* environment: filecontents
        final option: Document class options
        first-latex-doc document: About this document
        fleqn option: Document class options
        flushleft environment: flushleft
        flushright environment: flushright
        flushleft environment: flushleft
        flushright environment: flushright

        H
        http://home.gna.org/latexrefman home page: About this document
        http://puszcza.gnu.org.ua/software/latexrefman/ home page: About this document

        I
        in: Units of length
        inch: Units of length
        indexspace: Indexes
        itemize environment: itemize
        itemize environment: itemize

        L
        landscape option: Document class options
        latex command: Output files
        latex-doc-ptr document: About this document
        latexrefman-discuss@gna.org email address: About this document
        latexrefman@tug.org email address: About this document
        legalpaper option: Document class options
        leqno option: Document class options
        letter class: Document classes
        letter environment: letter
        letter environment: letter
        letterpaper option: Document class options
        list: list
        list environment: list
        lR box: picture
        lrbox: lrbox
        lshort document: About this document
        lualatex command: TeX engines

        M
        math environment: math
        math environment: Math formulas
        minipage environment: minipage
        math environment: math
        math environment: Math formulas
        minipage environment: minipage
        mm: Units of length
        mu: Units of length

        P
        pc: Units of length
        pdflatex command: Output files
        picture: picture
        printindex: Indexes
        picture environment: picture
        pt: Units of length

        Q
        quotation: quotation and quote
        quote: quotation and quote
        quotation environment: quotation and quote
        quote environment: quotation and quote

        R
        report class: Document classes
        sp: Units of length

        T
        tabbing environment: tabbing
        table: table
        tabular environment: tabular
        tabbing environment: tabbing
        table environment: table
        tabular environment: tabular
        textcomp package: Text symbols
        thebibliography environment: thebibliography
        theorem environment: theorem
        titlepage environment: titlepage
        thebibliography environment: thebibliography
        theorem environment: theorem
        titlepage environment: titlepage
        titlepage option: Document class options
        topmargin: Page layout parameters
        topnumber: Floats
        usrguide official documentation: About this document

        V
        verbatim environment: verbatim
        verse environment: verse
        verbatim environment: verbatim
        verse environment: verse

        X
        xdvi command: Output files
        a4paper -210 by 297 mm (about 8.25 by 11.75 inches) +210 by 297mm (about 8.25 by 11.75 inches) + +a5paper +148 by 210mm (about 5.8 by 8.3 inches) b5paper -176 by 250 mm (about 7 by 9.875 inches) +176 by 250mm (about 6.9 by 9.8 inches) executivepaper -7.25 by 10.5 inches +7.25 by 10.5 inches legalpaper -8.5 by 14 inches +8.5 by 14 inches letterpaper -8.5 by 11 inches (the default) +8.5 by 11 inches (the default)
        \pdfpagewidth \pdfpageheight -geometry package +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 @@ -657,35 +749,38 @@ area and physical page size. 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 -Specifies whether the title page is separate; default depends on the class. +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 +notitlepage.
        The following options are not available with the slides class. @@ -725,35 +820,470 @@ being 40% of the difference between \paperwidth and The slides class offers the option clock for printing the time at the bottom of each note. -loading additional packages -packages, loading additional -additional packages, loading + + +Additional packagesClass and package constructionDocument class optionsDocument classes +
        Additional packages + +loading additional packages +packages, loading additional +additional packages, loading \usepackage -Additional packages are loaded like this: +Load a package pkg, with the package options given in the comma-separated +list options, as here. -
        \usepackage[options]{pkg}
        +
        \usepackage[options]{pkg}.
         
        -To specify more than one package, you can separate them with a comma, +To specify more than one package you can separate them with a comma, 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 -by the selected document class are passed on to the packages loaded with +to the selected document class are passed on to the packages loaded with \usepackage. +
        +Class and package constructionAdditional packagesDocument classes +
        Class and package construction + +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 +standard header for each page, then you could create a new class +smcmemo.cls and begin your documents with +\documentclass{smcmemo}. + +What separates a package from a document class is that the commands in a +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 + +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. + + + +Class and package structure
        Layout of the file.
        +
        Class and package commands
        List of commands.
        +
        + + +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 +\newcommand{\setto}[1]{\def\&arobase;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. + +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. + + +
        \NeedsTeXFormat{LaTeX2e}
        +\ProvidesClass{stub}[2017/07/06 stub to start building classes from]
        +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
        +\ProcessOptions\relax
        +\LoadClass{article}
        +
        +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 +article class to provide the basis for this class&textrsquo;s code. + +For more, see the official guide for class and package writers, the +Class Guide, at +http://www.latex-project.org/help/documentation/clsguide.pdf (much +of the descriptions here derive from this document), or the tutorial +https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf. + +
        +Class and package commandsClass and package structureClass and package construction +Class and package commands +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 +at the beginning of the shipout of the first page of the document. + +\AtEndOfClass{code} +\AtEndOfPackage{code} +\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. + +\ClassError{class name}{error text}{help text} +\PackageError{package name}{error text}{help text} +\ClassWarning{class name}{warning text} +\PackageWarning{package name}{warning text} +\ClassWarningNoLine{class name}{warning text} +\PackageWarningNoLine{package name}{warning text} +\ClassInfo{class name}{info text} +\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 +Produce an error message, or warning or informational messages. + +For \ClassError and \PackageError the message is +error text, followed by &tex;&textrsquo;s ? error prompt. If the +user then asks for help by typing h, they see the help +text. + +The four warning commands are similar except that they write +warning text on the screen with no error prompt. The four info +commands write info text only in the transcript file. The +NoLine versions do not show the number of the line generating the +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. + +\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 +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 +first page with \documentclass[logo]{smcmemo}. The class file +must contain \DeclareOption{logo}{code} (and later, +\ProcessOptions). + +If you request an option that has not been declared, by default this +will produce a warning like Unused global option(s): [badoption]. +Change this behaviour with the starred version +\DeclareOption*{code}. For example, many classes extend +an existing class, using a declaration such as +\LoadClass{article}, and for passing extra options to the +underlying class use code such as this. + + +
        \DeclareOption*{%
        +\PassOptionsToClass{\CurrentOption}{article}%
        +}
        +
        + +Another example is that the class smcmemo may allow users to keep +lists of memo recipients in external files. Then the user could invoke +\documentclass[math]{smcmemo} and it will read the file +math.memo. This code handles the file if it exists and otherwise +passes the option to the article class. + + +
        \DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{%
        +    \PassOptionsToClass{\CurrentOption}{article}}}
        +
        + +
        \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{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. + +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 +directory do something like \IfFileExists{./filename}{true +code}{false code}. If you ask for a filename without a +.tex extension then &latex; will first look for the file by +appending the .tex; for more on how &latex; handles file +extensions see \input. + +\LoadClass[options list]{class name}[release date] +\LoadClassWithOptions{class name}[release date] +\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 +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 passed +to it via \PassOptionsToClass. This is a convenience command +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 +defined then that option is silently ignored. + +It can be used to provide a default option list before +\ProcessOptions. For example, if in a class file you want the +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 +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'. + +To specify a version of the format that you know to have certain +features, include the optional format date on which those features +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.) + +\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*. + + + + + + + +\PassOptionsToClass{options list}{class name} +\PassOptionsToPackage{options 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. + +The reason for these commands is: you may load a package any number of +times with no options but if you want options then you may only supply +them when you first load the package. Loading a package with options +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 +\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} +\RequirePackage{foo}. (If foo.sty loads an option in conflict +with what you want then you may have to look into altering its source.) + +These commands are useful for general users as well as class and package +writers. For instance, suppose a user wants to load the graphicx +package with the option draft and also wants to use a class +foo that loads the graphicx package, but without that +option. The user could start their &latex; file with +\PassOptionsToPackage{draft}{graphicx}\documentclass{foo}. + +\ProcessOptions +\ProcessOptions*\&arobase;options +\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 +particular package in the options argument of +\PassOptionsToPackage{options}, +\usepackage[options], or +\RequirePackage[options]. &textlsquo;Global&textrsquo; 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&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 +\DeclareOption* is \OptionNotUsed rather than an error. + +The starred version \ProcessOptions*\&arobase;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. + + +\ProvidesClass{class name}[<release date> <brief additional information>] +\ProvidesPackage{package name}[<release date> <brief additional information>] +\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 +\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 +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 +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. + +The date in the optional portion 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 +\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 +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. + +\RequirePackage[options list]{package name}[release date] +\RequirePackageWithOptions{package name}[release date] +\RequirePackage +\RequirePackageWithOptions +Load a package, like the 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 +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, on input line 9, version `2017/07/03' of package jhtest, but +only version `2000/01/01' is available. + +The \RequirePackageWithOptions version uses the list of options +for the current class. This means it ignores any options passed to it +via \PassOptionsToClass. This is a convenience command to allow +easily building classes on existing ones without having to track which +options were passed. + +The difference between \usepackage and \RequirePackage is +small. The \usepackage command is intended for the document file +while \RequirePackage is intended for package and class files. +Thus, using \usepackage before the \documentclass command +causes &latex; to give error like \usepackage before +\documentclass, but you can use \RequirePackage there. +
        + + +
        FontsLayoutDocument classesTop 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. @@ -768,9 +1298,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;. @@ -788,8 +1318,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 @@ -801,59 +1331,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 @@ -868,40 +1398,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). @@ -923,19 +1453,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 @@ -943,27 +1473,28 @@ 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 -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, @@ -980,9 +1511,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 @@ -990,16 +1521,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 @@ -1035,8 +1566,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 @@ -1046,7 +1577,7 @@ 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 @@ -1056,9 +1587,9 @@ accented characters used by the most widespread European languages hyphenate words containing accented letters. \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 @@ -1090,8 +1621,8 @@ examples of some common families: \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: @@ -1104,7 +1635,7 @@ combinations. Some common combined series values include: bx Bold extended -weights, of fonts +weights, of fonts The possible values for weight, individually, are: @@ -1119,7 +1650,7 @@ combinations. Some common combined series values include: ub Ultra bold -widths, of fonts +widths, of fonts The possible values for width, individually, are (the percentages are just guides and are not followed precisely by all fonts): @@ -1141,8 +1672,8 @@ 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: @@ -1158,9 +1689,9 @@ weight and width are m, in which case use just one 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 @@ -1170,15 +1701,16 @@ 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. -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 @@ -1186,7 +1718,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. @@ -1194,7 +1726,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 @@ -1203,7 +1735,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: @@ -1220,7 +1752,7 @@ followed by \selectfont. For example: LayoutSectioningFontsTop Layout -layout commands +layout commands Commands for controlling the general page layout. @@ -1237,13 +1769,12 @@ followed by \selectfont. For example: \onecolumn\twocolumnLayout
        \onecolumn -\onecolumn -one-column output +\onecolumn +one-column output -The \onecolumn declaration starts a new page and produces -single-column output. If the document is given the class option -onecolumn then this is the default behavior (Document -class options). +Start a new page and produce single-column output. If the document is +given the class option onecolumn then this is the default +behavior (Document class options). This command is fragile (\protect). @@ -1252,20 +1783,20 @@ class options). \twocolumn\flushbottom\onecolumnLayout
        \twocolumn -\twocolumn -multicolumn text -two-column output +\twocolumn +multicolumn text +two-column output -Synopsis: +Synopses: -
        \twocolumn[prelim one column text]
        +
        \twocolumn
        +\twocolumn[prelim one column text]
         
        -The \twocolumn declaration starts a new page and produces -two-column output. If the document is given the class option -twocolumn then this is the default (Document class -options). +Start a new page and produce two-column output. If the document is given +the class option twocolumn then this is the default +(Document class options). If the optional prelim one column text argument is present, it is typeset in one-column mode before the two-column @@ -1276,20 +1807,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 @@ -1304,12 +1835,12 @@ 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 exceed 0.7\textheight . If the height of your starred float -environment exceeeds this then you can take one of the following actions +environment exceeds this then you can take one of the following actions to prevent it from floating all the way to the back of the document: @@ -1329,24 +1860,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. @@ -1354,25 +1885,25 @@ default is 2. -This example shows the use of the optional argument of \twocolumn -to create a title that spans the two-column article: +This example uses \twocolumn&textrsquo;s optional argument of to create a +title that spans the two-column article:
        \documentclass[twocolumn]{article}
         \newcommand{\authormark}[1]{\textsuperscript{#1}}
         \begin{document}
         \twocolumn[{% inside this optional argument goes one-column text
        - \centering
        - \LARGE The Title \\[1.5em]
        - \large Author One\authormark{1},
        -        Author Two\authormark{2},
        -        Author Three\authormark{1} \\[1em]
        - \normalsize
        - \begin{tabular}{p{.2\textwidth}&arobase;{\hspace{2em}}p{.2\textwidth}}
        -   \authormark{1}Department one  &\authormark{2}Department two \\ 
        -    School one                   &School two 
        - \end{tabular}\\[3em] % space below title part
        -}]
        +  \centering
        +  \LARGE The Title \\[1.5em]
        +  \large Author One\authormark{1},
        +         Author Two\authormark{2},
        +         Author Three\authormark{1} \\[1em]
        +  \normalsize
        +  \begin{tabular}{p{.2\textwidth}&arobase;{\hspace{2em}}p{.2\textwidth}}
        +    \authormark{1}Department one  &\authormark{2}Department two \\ 
        +     School one                   &School two 
        +  \end{tabular}\\[3em] % space below title part
        +  }]
         
         Two column text here.
         
        @@ -1382,38 +1913,38 @@ Two column text here. \flushbottom\raggedbottom\twocolumnLayout
        \flushbottom -\flushbottom +\flushbottom -The \flushbottom command can go at any point in the document -body. It makes all later pages the same height, stretching the vertical -space where necessary to fill out the page. +Make all pages in the documents after this declaration have the same +height, by stretching the vertical space where necessary to fill out the +page. This is most often used when making two-sided documents since the +differences in facing pages can be glaring. If &tex; cannot satisfactorily stretch the vertical space in a page then you get a message like Underfull \vbox (badness 10000) has -occurred while \output is active. You can change to -\raggedbottom (see below). Alternatively, you can try to adjust -the textheight to be compatible, or you can add some vertical -stretch glue between lines or between paragraphs, as in -\setlength{\parskip}{0ex plus0.1ex}. In a final editing -stage you can adjust the height of individual pages +occurred while \output is active. If you get that, one option is to +change to \raggedbottom (\raggedbottom). Alternatively, +you can adjust the textheight to make compatible pages, or you +can add some vertical stretch glue between lines or between paragraphs, +as in \setlength{\parskip}{0ex plus0.1ex}. Your last option +is to, in a final editing stage, adjust the height of individual pages (\enlargethispage). -This is the default only if you select the twoside document class -option (Document class options). +The \flushbottom state is the default only if you select the +twoside document class option (Document class options).
        \raggedbottomPage layout parameters\flushbottomLayout
        \raggedbottom -\raggedbottom -stretch, omitting vertical +\raggedbottom +stretch, omitting vertical -The \raggedbottom command can go at any point in the document -body. It makes all later pages the natural height of the material on -that page; no rubber lengths will be stretched. Thus, in a two-sided -document the facing pages may be different heights. See also -\flushbottom above. +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 +document the facing pages may be different heights. This command can go +at any point in the document body. See \flushbottom. This is the default unless you select the twoside document class option (Document class options). @@ -1423,49 +1954,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 @@ -1475,12 +2006,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. @@ -1505,10 +2036,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 @@ -1520,22 +2051,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 @@ -1543,8 +2074,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, @@ -1564,22 +2095,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. @@ -1607,17 +2138,17 @@ while the first table appears in the source before the first figure, it appears in the output after it. The placement of floats is subject to parameters, given below, that -limit the number of floats that can appear at the top of a page, and the -bottom, etc. If so many floats are queued up that the limits prevent +limit the number of floats that can appear at the top of a page, and +the bottom, etc. If so many floats are queued that the limits prevent them all from fitting on a page then &latex; places what it can and -defers the rest to the next page. In this way, floats may be typset far -from their place in the source. In particular, a float that is big can -migrate to the end of the document. But then because all floats in a -class must appear in sequential order, every subsequent float in that -class also appears at the end. - -placement of floats -specifier, float placement +defers the rest to the next page. In this way, floats may end up +being typeset far from their place in the source. In particular, a +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 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 @@ -1640,15 +2171,16 @@ FAQ: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloath is not allowed by itself; t is automatically added. -here, putting floats -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. @@ -1677,12 +2209,12 @@ use the afterpage package and issue is finished and then flush all outstanding floats. &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 paramater. 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 +(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[t], which causes floats for the top position on this page to moved to the next page. @@ -1691,24 +2223,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. @@ -1717,19 +2249,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. @@ -1738,33 +2270,34 @@ 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. The principal &tex; FAQ entry relating to floats http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats contains suggestions for relaxing &latex;&textrsquo;s default parameters to reduce the -problem of floats being pushed to the end. A full explaination of the -float placement algorithm is Frank Mittelbach&textrsquo;s article &textldquo;How to -infuence the position of float environments like figure and table in -&latex;?&textrdquo; http://latex-project.org/papers/tb111mitt-float.pdf. +problem of floats being pushed to the end. A full explanation of the +float placement algorithm is in Frank Mittelbach&textrsquo;s article &textldquo;How to +influence the position of float environments like figure and table in +&latex;?&textrdquo; +(http://latex-project.org/papers/tb111mitt-float.pdf).
        @@ -1772,19 +2305,19 @@ infuence 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., @@ -1808,7 +2341,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: @@ -1817,8 +2350,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 @@ -1831,8 +2364,8 @@ command is something like \chapter{The First Appendix}
        -secnumdepth counter -section numbers, printing +secnumdepth counter +section numbers, printing The secnumdepth counter controls printing of section numbers. The setting @@ -1849,10 +2382,40 @@ The setting Cross referencesEnvironmentsSectioningTop Cross references -cross references - -One reason for numbering things like figures and equations is to refer -the reader to them, as in &textldquo;See Figure 3 for more details.&textrdquo; +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 +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 +like \label{eq:GreensThm} and refer to it with See +equation~\ref{eq:GreensThm}. + +&latex; writes the information from the labels to a file with the same +name as the file containing the \label{...} but with an +.aux extension. (The information has the format +\newlabel{label}{{currentlabel}{pagenumber}} +where currentlabel is the current value of the macro +\&arobase;currentlabel that is usually updated whenever you call +\refstepcounter{counter}.) + +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 +example in the \pageref{...} description. &latex; gets the +information for references from the .aux file. If this is the +first time you are compiling the document then you will get a message +LaTeX Warning: Label(s) may have changed. Rerun to get +cross references right. and in the output the reference will appear as +two question marks ??, in boldface. Or, if you change some +things so the references change then you get the same warning and the +output contains the old reference information. The solution in either +case is just to compile the document a second time. \label
        Assign a symbolic name to a piece of text.
        @@ -1864,7 +2427,7 @@ the reader to them, as in &textldquo;See Figure 3 for more details.&textrdquo;
         \label\pagerefCross references
         
        \label -\label +\label Synopsis: @@ -1872,37 +2435,22 @@ the reader to them, as in &textldquo;See Figure 3 for more details.&textrdquo;
        \label{key}
         
        -A \label command appearing in ordinary text assigns to -key the number of the current sectional unit; one appearing -inside a numbered environment assigns that number to key. The -assigned number can be retrieved with the \ref{key} -command (\ref). - -Thus, in the example below the key sec:test holds the number of -the current section and the key fig:test that of the figure. -(Incidentally, labels must appear after captions in figures and -tables.) +Assign a reference number to key. In ordinary text +\label{key} assigns to key the number of the +current sectional unit. Inside an environment with numbering, such as a +table or theorem environment, \label{key} +assigns to key the number of that environment. Retrieve the +assigned number with the \ref{key} command +(\ref). - -
        \section{section name}
        -\label{sec:test}
        -This is Section~\ref{sec:test}.
        -\begin{figure}
        -  ...
        -  \caption{caption text}
        -  \label{fig:test}
        -\end{figure}
        -See Figure~\ref{fig:test}.
        -
        - A key name can consist of any sequence of letters, digits, or common punctuation characters. Upper and lowercase letters are distinguished, as usual. -Although the name can be more or less anything, a common convention is -to use labels consisting of a prefix and a suffix separated by a colon -or period. This helps to avoid accidentally creating two labels with -the same name. Some commonly-used prefixes: +A common convention is to use labels consisting of a prefix and a suffix +separated by a colon or period. This helps to avoid accidentally +creating two labels with the same name, and makes your source more +readable. Some commonly-used prefixes:
        ch @@ -1917,17 +2465,34 @@ the same name. Some commonly-used prefixes: for equations
        -Thus, a label for a figure would look like fig:test or -fig.test. +Thus, \label{fig:Euler} is a label for a figure with a portrait +of the great man. +In this example below the key sec:test will get the number of the +current section and the key fig:test will get the number of the +figure. (Incidentally, put labels after captions in figures and +tables.) + + +
        \section{section name}
        +\label{sec:test}
        +This is Section~\ref{sec:test}.
        +\begin{figure}
        +  ...
        +  \caption{caption text}
        +  \label{fig:test}
        +\end{figure}
        +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: @@ -1935,21 +2500,33 @@ the same name. Some commonly-used prefixes:
        \pageref{key}
         
        -The \pageref{key} command produces the page number of -the place in the text where the corresponding +Produce the page number of the place in the text where the corresponding \label{key} command appears. +In this example the \label{eq:main} is used both for the +formula number and for the page number. (Note that the two references +are forward references, so this document would need to be compiled twice +to resolve those.) + + +
        The main result is formula~\ref{eq:main} on page~\pageref{eq:main}.
        +  ...
        +\begin{equation} \label{eq:main}
        +   \mathbf{P}=\mathbf{NP}
        +\end{equation}
        +
        +
        \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: @@ -1957,30 +2534,53 @@ the place in the text where the corresponding
        \ref{key}
         
        -The \ref command produces the number of the sectional unit, +Produces the number of the sectional unit, equation, footnote, figure, &dots;, of the corresponding \label command (\label). It does not produce any text, such as the word &textlsquo;Section&textrsquo; or &textlsquo;Figure&textrsquo;, just the bare number itself. +In this example, the \ref{popular} produces 2. Note +that it is a forward reference since it comes before +\label{popular}. + + +
        The most widely-used format is item number~\ref{popular}.
        +\begin{enumerate}
        +\item Plain \TeX
        +\item \label{popular} \LaTeX
        +\item Con\TeX t
        +\end{enumerate}
        +
        +
        EnvironmentsLine breakingCross referencesTop Environments -environments -\begin -\end +environments +\begin +\end -&latex; provides many environments for marking off certain text. -Each environment begins and ends in the same manner: +&latex; provides many environments for delimiting certain behavior. +An environment begins with \begin and ends with \end, +like this: -
        \begin{envname}
        -...
        -\end{envname}
        +
        \begin{environment-name}
        +  ...
        +\end{environment-name}
         
        +The environment-name at the beginning must exactly match that at +the end. For instance, the input +\begin{table*}...\end{table} will cause an error like: +! LaTeX Error: \begin{table*} on input line 5 ended by +\end{table}. + +group, and environments +Environments are executed within a group. + abstract
        Produce an abstract.
         
        array
        Math arrays.
        @@ -2016,8 +2616,9 @@ Each environment begins and ends in the same manner:
         abstractarrayEnvironments
         
        abstract -abstract environment -abstracts +environment, abstract +abstract environment +abstracts Synopsis: @@ -2027,22 +2628,63 @@ Each environment begins and ends in the same manner: \end{abstract}
        -Environment for producing an abstract, possibly of multiple paragraphs. +Produce an abstract, possibly of multiple paragraphs. This environment +is only defined in the article and report document classes +(Document classes). +Using the example below in the article class produces a displayed +paragraph. Document class option titlepage causes the abstract +to be on a separate page (Document class options); this is the +default only in the report class. + + +
        \begin{abstract}
        +  We compare all known accounts of the proposal made by Porter Alexander 
        +  to Robert E Lee at the Appomattox Court House that the army continue
        +  in a guerrilla war, which Lee refused.
        +\end{abstract}
        +
        + +The next example produces a one column abstract in a two column document (for +a more flexible solution, use the package abstract). + + + +
        \documentclass[twocolumn]{article}
        +  ...
        +\begin{document}
        +\title{Babe Ruth as Cultural Progenitor: a Atavistic Approach}
        +\author{Smith \\ Jones \\ Robinson\thanks{Railroad tracking grant.}}
        +\twocolumn[
        +  \begin{&arobase;twocolumnfalse}
        +     \maketitle
        +     \begin{abstract}
        +       Ruth was not just the Sultan of Swat, he was the entire swat
        +       team.   
        +     \end{abstract}
        +   \end{&arobase;twocolumnfalse}
        +   ]
        +{   % by-hand insert a footnote at page bottom
        + \renewcommand{\thefootnote}{\fnsymbol{footnote}}
        + \footnotetext[1]{Thanks for all the fish.}
        +}
        +
        +
        arraycenterabstractEnvironments
        array -array environment -arrays, math +environment, array +array environment +arrays, math Synopsis:
        \begin{array}{cols}
        -column 1 entry &column 2 entry ... &column n entry \\
        -...
        +  column 1 entry &column 2 entry ... &column n entry \\
        +  ...
         \end{array}
         
        @@ -2050,8 +2692,8 @@ Each environment begins and ends in the same manner:
        \begin{array}[pos]{cols}
        -column 1 entry &column 2 entry ... &column n entry \\
        -...
        +  column 1 entry &column 2 entry ... &column n entry \\
        +  ...
         \end{array}
         
        @@ -2059,7 +2701,7 @@ Each environment begins and ends in the same manner: mode, and normally appears within a displayed mathematics environment such as equation (equation). Column entries are separated by an ampersand (&). Rows are terminated with -double-backslashes (\\) (\\). +double-backslashes (\\). The required argument cols describes the number of columns, their alignment, and the formatting of the intercolumn regions. See @@ -2068,24 +2710,24 @@ other common features of the two environments, including the optional pos argument. There are two ways that array diverges from tabular. The -first is that array entries are typeset in mathematics mode, in +first is that array entries are typeset in math mode, in textstyle (except if the cols definition specifies the column with -&arobase;p{..}, which causes the entry to be typeset in text mode). +p{...}, which causes the entry to be typeset in text mode). The second is that, instead of tabular&textrsquo;s parameter -\tabcolsep, &latex;&textrsquo;s intercolumn space in an array is governed +\tabcolsep, &latex;&textrsquo;s intercolumn space in an array is governed by -\arraycolsep -\arraycolsep which gives half the width between columns. The +\arraycolsep +\arraycolsep, which gives half the width between columns. The default for this is 5pt. 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 -surrounded by square brackets [..], Bmatrix for an -array surrounded by curly braces {..}, vmatrix for -an array surrounded by vertical bars |..|, and +surrounded by parentheses (...), bmatrix for an array +surrounded by square brackets [...], Bmatrix for an +array surrounded by curly braces {...}, vmatrix for +an array surrounded by vertical bars |...|, and Vmatrix for an array surrounded by double vertical -bars ||..||, along with a number of other array constructs. +bars ||...||, along with a number of other array constructs. Here is an example of an array: @@ -2098,37 +2740,63 @@ bars ||..||, along with a number of other array constructs. \end{equation}
        +The next example works if \usepackage{amsmath} is in the +preamble: + + +
        \begin{equation}
        +  \begin{vmatrix}{cc}
        +    a  &b \\
        +    c  &d       
        +  \end{vmatrix}=ad-bc
        +\end{equation}
        +
        + centerdescriptionarrayEnvironments
        center -center environment -centering text, environment for +environment, center +center environment +centering text, environment for Synopsis:
        \begin{center}
        - .. text ..
        +  ... text ...
         \end{center}
         
        -Environment to create a sequence of lines that are centered within the -left and right margins on the current page. If the text in the -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. To force a line break at a particular spot use -double-backslash \\ (\\). -\\ (for center) +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) +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. This environment inserts space above and below the text body. See \centering to avoid such space, for example inside a figure environment. -In this example, depending on the line width, &latex; may choose a break -for the part before the double backslash, will center the line or two, -then will break at the double backslash, and will center the ending. +This example produces three centered lines. There is extra vertical +space between the last two lines. + + +
        \begin{center}
        +  A Thesis Submitted in Partial Fufillment \\
        +  of the Requirements of \\[0.5ex]
        +  the School of Environmental Engineering
        +\end{center}
        +
        + +In this example, depending on the page&textrsquo;s line width, &latex; may choose +a line break for the part before the double backslash. If so, it will +center each of the two lines and if not it will center the single line. +Then &latex; will break at the double backslash, and will center the +ending.
        \begin{center}
        @@ -2148,10 +2816,10 @@ then will break at the double backslash, and will center the ending.
         \centeringcenter
         \centering
         
        -\centering
        -centering text, declaration for
        +\centering
        +centering text, declaration for
         
        -Declaration that causes material in its scope to be centered.  It is
        +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
         parbox.
         
        @@ -2189,9 +2857,10 @@ centered.
         descriptiondisplaymathcenterEnvironments
         
        description -description environment -labelled lists, creating -description lists, creating +environment, description +description environment +labelled lists, creating +description lists, creating Synopsis: @@ -2203,26 +2872,26 @@ centered. \end{description}
        -\item 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. -\item -The list consists of at least one item; see \item (having no -items causes the &latex; error Something's wrong--perhaps a -missing \item). Each item is produced with an \item command. +\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). -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 -typewriter, if that is available. The simplest way to get non-bolded -typewriter is to use declaritive style \item[{\tt label text}]. -Similarly, get normal text use \item[{\rm label text}]. +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}]. For other major &latex; labelled list environments, see itemize and enumerate. For information about customizing list layout, see @@ -2243,13 +2912,14 @@ and enumerate. For in
        displaymath -displaymath environment +environment, displaymath +displaymath environment Synopsis:
        \begin{displaymath}
        -  .. math text ..
        +  ... math text ...
         \end{displaymath}
         
        @@ -2295,7 +2965,8 @@ spacing, and because the displaymath environment honors the documentenumeratedisplaymathEnvironments
        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. @@ -2308,8 +2979,8 @@ It is required in every &latex; document. \AtBeginDocument\AtEndDocumentdocument -\AtBeginDocument -beginning of document hook +\AtBeginDocument +beginning of document hook Synopsis: @@ -2329,8 +3000,8 @@ will be executed in the order that you gave them. \AtEndDocument\AtBeginDocumentdocument -\AtEndDocument -end of document hook +\AtEndDocument +end of document hook Synopsis: @@ -2353,8 +3024,9 @@ will be executed in the order that you gave them. enumerateeqnarraydocumentEnvironments
        enumerate -enumerate environment -lists of items, numbered +environment, enumerate +enumerate environment +lists of items, numbered Synopsis: @@ -2370,7 +3042,7 @@ will be executed in the order that you gave them. label numbering depends on whether this environment is nested within another; see below. -\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. @@ -2398,26 +3070,26 @@ 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 +\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: -\Alph example +\Alph example
        \renewcommand{\labelenumi}{\textbf{\Alph{enumi}}}
         \begin{enumerate}
        @@ -2439,13 +3111,14 @@ period:
         eqnarrayequationenumerateEnvironments
         
        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 @@ -2474,7 +3147,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. @@ -2482,18 +3155,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. @@ -2514,9 +3187,10 @@ while the third line has not entry on the left side. equationfigureeqnarrayEnvironments
        equation -equation environment -equations, environment for -formulas, environment for +environment, equation +equation environment +equations, environment for +formulas, environment for Synopsis: @@ -2540,9 +3214,10 @@ new documents. figurefilecontentsequationEnvironments
        figure -figure -inserting figures -figures, inserting +environment, figure +figure environment +inserting figures +figures, inserting Synopsis: @@ -2581,9 +3256,9 @@ in Floats. The figure body is typeset in a parbox of width \textwidth and so it can contain text, commands, etc. -The label is optional; it is used for cross-references (Cross +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 @@ -2607,9 +3282,12 @@ end of the document, on a page of floats. filecontentsflushleftfigureEnvironments
        filecontents: Write an external file -filecontents -external files, writing -writing external files +environment, filecontents +filecontents environment +environment, filecontents* +filecontents* environment +external files, writing +writing external files Synopsis: @@ -2672,9 +3350,10 @@ Article by \myname. flushleftflushrightfilecontentsEnvironments
        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}
        @@ -2684,7 +3363,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 \\. @@ -2697,10 +3376,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 @@ -2718,9 +3397,10 @@ command that ends the paragraph unit. flushrightitemizeflushleftEnvironments
        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}
        @@ -2730,7 +3410,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 \\. @@ -2743,10 +3423,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 @@ -2764,11 +3444,12 @@ command that ends the paragraph unit. itemizeletterflushrightEnvironments
        itemize -itemize environment -\item -lists of items -unordered lists -bulleted lists +environment, itemize +itemize environment +\item +lists of items +unordered lists +bulleted lists Synopsis: @@ -2781,7 +3462,7 @@ command that ends the paragraph unit.
        The itemize environment produces an &textldquo;unordered&textrdquo;, &textldquo;bulleted&textrdquo; -list. Itemizations can be nested within one another, up to four +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). @@ -2797,10 +3478,10 @@ There must be at least one \item command within the environment. . (centered dot, rendered here as a period) -\labelitemi -\labelitemii -\labelitemiii -\labelitemiv +\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 @@ -2810,13 +3491,13 @@ the first level use diamonds:
        \renewcommand{\labelitemi}{$\diamond$}
         
        -\leftmargin -\leftmargini -\leftmarginii -\leftmarginiii -\leftmarginiv -\leftmarginv -\leftmarginvi +\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 @@ -2835,20 +3516,20 @@ This example greatly reduces the margin space for outermost lists: Some parameters that affect list formatting: -\itemindent\itemindent +\itemindent\itemindent Extra indentation before each item in a list; default zero. -\labelsep\labelsep +\labelsep\labelsep Space between the label and text of an item; default .5em. -\labelwidth\labelwidth +\labelwidth\labelwidth Width of the label; default 2em, or 1.5em in two-column mode. -\listparindent\listparindent +\listparindent\listparindent Extra indentation added to second and subsequent paragraphs within a list item; default 0pt. -\rightmargin\rightmargin +\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 @@ -2860,23 +3541,23 @@ to \leftmargin. loose, by default). -\itemsep\itemsep +\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 +\parsep\parsep Extra vertical space between paragraphs within a list item. Defaults are the same as \itemsep. -\topsep\topsep +\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 +\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 @@ -2884,7 +3565,7 @@ 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 @@ -2905,7 +3586,8 @@ within a single item (\parskip is not list-specific, letterlistitemizeEnvironments
        letter environment: writing letters -letter environment +environment, letter +letter environment This environment is used for creating letters. Letters. @@ -2914,8 +3596,9 @@ within a single item (\parskip is not list-specific, listmathletterEnvironments
        list -list -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 @@ -2947,6 +3630,7 @@ empty, i.e., {}, which leaves the default spacing. \itemlist +\item: An entry in a list. Synopsis: @@ -2987,12 +3671,14 @@ not get a 3.). +
        mathminipagelistEnvironments
        math -math environment -in-line formulas +environment, math +math environment +in-line formulas Synopsis: @@ -3011,8 +3697,9 @@ running text. \(...\) and $...$ are synonyms. minipagepicturemathEnvironments
        minipage -minipage environment -minipage, creating a +environment, minipage +minipage environment +minipage, creating a
        \begin{minipage}[position][height][inner-pos]{width}
        @@ -3028,15 +3715,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
        @@ -3052,9 +3739,10 @@ footnotes; they may wind up at the bottom of the wrong minipage.
         picturequotation and quoteminipageEnvironments
         
        picture -picture -creating pictures -pictures, creating +environment, picture +picture environment +creating pictures +pictures, creating
        \begin{picture}(width,height)(xoffset,yoffset)
        @@ -3062,7 +3750,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 @@ -3077,7 +3765,15 @@ centimeters. \setlength command, outside of a picture environment. The default value is 1pt. -position, in picture +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 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, @@ -3127,7 +3823,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 @@ -3156,7 +3852,7 @@ be the lower left corner of the box. \circle\makebox (picture)picture \circle -\circle +\circle Synopsis: @@ -3175,7 +3871,7 @@ draws a solid circle. \makebox (picture)\framebox (picture)\circlepicture \makebox -\makebox (for picture) +\makebox (for picture) Synopsis: @@ -3212,7 +3908,7 @@ your text appears in. You may select up to two of the following: \framebox (picture)\dashbox\makebox (picture)picture \framebox -\framebox +\framebox Synopsis: @@ -3224,8 +3920,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. @@ -3235,7 +3931,7 @@ and the contents of the box. \dashbox\frame\framebox (picture)picture \dashbox -\dashbox +\dashbox Draws a box with a dashed line. Synopsis: @@ -3256,7 +3952,7 @@ multiples of the dlen. \frame\line\dashboxpicture \frame -\frame +\frame Synopsis: @@ -3273,7 +3969,7 @@ space is put between the frame and the object. \line\linethickness\framepicture \line -\line +\line Synopsis: @@ -3284,8 +3980,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, @@ -3296,7 +3992,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 @@ -3310,7 +4006,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; @@ -3321,7 +4017,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; @@ -3332,7 +4028,7 @@ cf. \linethickness\multiput\oval\thinlinespicture \multiput -\multiput +\multiput Synopsis: @@ -3350,7 +4046,7 @@ pattern across a picture. obj is first placed at position \oval\put\multiputpicture \oval -\oval +\oval Synopsis: @@ -3385,7 +4081,7 @@ boxes with rounded corners. \put\shortstack\ovalpicture \put -\put +\put Synopsis: @@ -3402,7 +4098,7 @@ boxes with rounded corners. \shortstack\vector\putpicture \shortstack -\shortstack +\shortstack Synopsis: @@ -3422,7 +4118,7 @@ positions are: Move the objects to the centre of the stack (default) -\\ (for \shortstack objects) +\\ (for \shortstack objects) Objects are separated with \\. @@ -3430,7 +4126,7 @@ positions are: \vector\shortstackpicture \vector -\vector +\vector Synopsis: @@ -3448,14 +4144,16 @@ values must lie between −4 and +4, inclusive. quotation and quotetabbingpictureEnvironments
        quotation and quote -quotation -quoted text with paragraph indentation, displaying -displaying quoted text with paragraph indentation -paragraph indentations in quoted text -quote -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: @@ -3492,7 +4190,7 @@ quotations.
        \begin{quotation}
         \it Four score and seven years ago
        -  .. shall not perish from the earth.
        +  ... shall not perish from the earth.
         \hspace{1em plus 1fill}---Abraham Lincoln
         \end{quotation}
         
        @@ -3502,10 +4200,11 @@ quotations. tabbingtablequotation and quoteEnvironments
        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: @@ -3528,37 +4227,37 @@ environment. The following commands can be used inside a tabbing environment: -\\ (tabbing)\\ (tabbing) +\\ (tabbing)\\ (tabbing) End a line. -\= (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) +\&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. -\&textlsquo; (tabbing)\` (tabbing) +\&textlsquo; (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 @@ -3567,29 +4266,29 @@ 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) +\a (tabbing)\a (tabbing) +\a&textrsquo; (acute accent in tabbing) +\a&textlsquo; (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. -\kill\kill +\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. -\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 +\tabbingsep\tabbingsep Distance to left of tab stop moved by \'. @@ -3613,9 +4312,10 @@ function \= fact(n : integer) : integer;\\ tabletabulartabbingEnvironments
        table -table -tables, creating -creating tables +environment, table +table environment +tables, creating +creating tables Synopsis: @@ -3638,9 +4338,9 @@ float placement algorithm, see FloatsThe table body is typeset in a parbox of width \textwidth and so it can contain text, commands, etc. -The label is optional; it is used for cross-references (Cross +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 @@ -3667,9 +4367,10 @@ unless it is pushed to a float page at the end. tabularthebibliographytableEnvironments
        tabular -tabular environment -lines in tables -lining text up in tables +environment, tabular +tabular environment +lines in tables +lining text up in tables Synopsis: @@ -3705,10 +4406,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. @@ -3722,7 +4423,7 @@ the width of the tabular* environment. The space between columns should be rubber, as with &arobase;{\extracolsep{\fill}}, to allow the table to stretch or shrink to make the specified width, or else you are likely to get the Underfull \hbox (badness 10000) in alignment -.. warning. +... warning. pos Optional. Specifies the table&textrsquo;s vertical position. The default is to @@ -3758,14 +4459,14 @@ column and intercolumn material. text or space material is typeset in LR mode. This text is fragile (\protect). -This specifier is optional: unless you put in your own &arobase;-expression -then &latex;&textrsquo;s book, article, and report classes will put on either -side of each column a space of length \tabcolsep, which by -default is 6pt. That is, by default adjacent columns are +This specifier is optional: with no &arobase;-expression, &latex;&textrsquo;s +book, article, and report classes will put on +either side of each column a space of length \tabcolsep, which +by default is 6pt. That is, by default adjacent columns are separated by 12pt (so \tabcolsep is misleadingly-named since it -is not the separation between tabular columns). Also by default a space -of 6pt comes before the first column as well as after the final column, -unless you put a &arobase;{..} or | there. +is not the separation between tabular columns). By implication, a +space of 6pt also comes before the first column and after the final +column, unless you put a &arobase;{...} or | there. If you override the default and use an &arobase;-expression then you must insert any desired space yourself, as in &arobase;{\hspace{1em}}. @@ -3777,7 +4478,7 @@ lines need to lie on the left margin.
        \begin{flushleft}
           \begin{tabular}{&arobase;{}l}
        -    ..
        +    ...
           \end{tabular}
         \end{flushleft}
         
        @@ -3792,7 +4493,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. @@ -3833,7 +4534,7 @@ ending the row. positive integer and cols is a list of specifiers. Thus \begin{tabular}{|*{3}{l|r}|} is equivalent to \begin{tabular}{|l|rl|rl|r|}. Note that cols may -contain another *-expression. +contain another *-expression. @@ -3842,22 +4543,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. @@ -3878,7 +4579,7 @@ lines: \multicolumn\vlinetabular \multicolumn -\multicolumn +\multicolumn Synopsis: @@ -3900,7 +4601,7 @@ spanned by the single heading Name.
        \begin{tabular}{lccl} 
           \textit{ID}       &\multicolumn{2}{c}{\textit{Name}} &\textit{Age} \\ \hline % row one 
           978-0-393-03701-2 &O'Brian &Patrick                  &55           \\        % row two 
        -    ..
        +    ...
         \end{tabular}
         
        @@ -3914,7 +4615,7 @@ and p{1.5in}|. The cols argument overrides the array or tabular environment&textrsquo;s intercolumn area default adjoining this multicolumn entry. To affect that area, this argument can contain vertical bars -| indicating the placement of vertical rules, and &arobase;{..} +| indicating the placement of vertical rules, and &arobase;{...} expressions. Thus if cols is |c| then this multicolumn entry will be centered and a vertical rule will come in the intercolumn area before it and after it. This table details the exact behavior. @@ -3927,6 +4628,7 @@ area before it and after it. This table details the exact behavior. &z % entry four \end{tabular} + Before the first entry the output will not have a vertical rule because the \multicolumn has the cols specifier r with no initial vertical bar. Between entry one and entry two there will be a @@ -3974,14 +4676,14 @@ 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 bar | is -more common. This command is rarely used; typically a table&textrsquo;s vertical -lines are specified in tabular&textrsquo;s cols argument and -overriden as needed with \multicolumn. +extending the full height and depth of an entry&textrsquo;s row. Can also be +used in an &arobase;-expression, although its synonym vertical +bar | is more common. This command is rarely used in the +body of a table; typically a table&textrsquo;s vertical lines are specified in +tabular&textrsquo;s cols argument and overridden as needed with +\multicolumn. This example illustrates some pitfalls. In the first line&textrsquo;s second entry the \hfill moves the \vline to the left edge of the @@ -4007,7 +4709,7 @@ to the g, with no whitespace. \cline\hline\vlinetabular \cline -\cline +\cline Synopsis: @@ -4037,7 +4739,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 @@ -4062,8 +4764,9 @@ is required. thebibliographytheoremtabularEnvironments
        thebibliography -thebibliography environment -bibliography, creating (manually) +environment, thebibliography +thebibliography environment +bibliography, creating (manually) Synopsis: @@ -4103,7 +4806,7 @@ less than 10 references, 99 for ones with less than 100, etc. \bibitem\citethebibliography \bibitem -\bibitem +\bibitem Synopsis: @@ -4111,25 +4814,26 @@ less than 10 references, 99 for ones with less than 100, etc.
        \bibitem[label]{cite_key}
         
        -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 any sequence of letters, numbers, and punctuation -symbols not containing a comma. +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 consisting in any sequence of +letters, numbers, and punctuation symbols not containing a comma. This command writes an entry to the .aux file containing the -item&textrsquo;s cite_key and label. When the .aux file is read by -the \begin{document} command, the item&textrsquo;s label is +item&textrsquo;s cite_key and label. When the .aux file is +read by the \begin{document} command, the item&textrsquo;s label is associated with cite_key, causing references to cite_key -with a \cite command (see next section) to produce the -associated label. +with a \cite command (\cite) to produce the associated +label.
        \cite\nocite\bibitemthebibliography \cite -\cite +\cite Synopsis: @@ -4137,24 +4841,28 @@ associated label.
        \cite[subcite]{keys}
         
        -The keys argument is a list of one or more citation keys, -separated by commas. This command generates an in-text citation to -the references associated with keys by entries in the -.aux file. +The keys argument is a list of one or more citation keys +(\bibitem), separated by commas. This command generates an +in-text citation to the references associated with keys by entries +in the .aux file. The text of the optional subcite argument appears after the citation. For example, \cite[p.~314]{knuth} might produce -&textlsquo;[Knuth, p. 314]&textrsquo;. +[Knuth, p. 314].
        \nociteUsing BibTeX\citethebibliography \nocite -\nocite +\nocite -\nocite{keys} +Synopsis: + +
        \nocite{keys}
        +
        + The \nocite command produces no text, but writes keys, which is a list of one or more citation keys, to the .aux file. @@ -4163,11 +4871,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 @@ -4184,7 +4892,7 @@ you include the lines its own. Rather, it defines the style in which the bibliography will be produced: bibstyle refers to a file bibstyle.bst, which defines how your citations will look. -The standard style names distributed with Bib&tex; are: +The standard bibstyle names distributed with Bib&tex; are: alpha @@ -4204,7 +4912,8 @@ the demands of various publications. See The \bibliography command is what actually produces the bibliography. The argument to \bibliography refers to files -named bibfile.bib, which should contain your database in +named bibfile1.bib, bibfile2.bib, &dots;, +which should contain your database in Bib&tex; format. Only the entries referred to via \cite and \nocite will be listed in the bibliography. @@ -4214,8 +4923,9 @@ Bib&tex; format. Only the entries referred to via \cite and theoremtitlepagethebibliographyEnvironments
        theorem -theorem environment -theorems, typesetting +environment, theorem +theorem environment +theorems, typesetting Synopsis: @@ -4235,38 +4945,63 @@ possibilities for n are described under \newtheorem titlepageverbatimtheoremEnvironments
        titlepage -titlepage environment -making a title page -title pages, creating +environment, titlepage +titlepage environment +making a title page +title pages, creating Synopsis:
        \begin{titlepage}
        -text
        +  ... text and spacing ...
         \end{titlepage}
         
        -The titlepage environment creates a title page, i.e., a page -with no printed page number or heading. It also causes the following -page to be numbered page one. Formatting the title page is left to -you. The \today command may be useful on title pages -(\today). +Create a title page, a page with no printed page number or heading. The +following page will be numbered page one. + +To instead produce a standard title page without a titlepage +environment you can use \maketitle (\maketitle). -You can use the \maketitle command (\maketitle) to -produce a standard title page without a titlepage environment. +Notice in this example that all formatting, including vertical spacing, +is left to the author. + +
        \begin{titlepage}
        +\vspace*{\stretch{1}}
        +\begin{center}
        +  {\huge\bfseries Thesis \\[1ex] 
        +                  title}                  \\[6.5ex]
        +  {\large\bfseries Author name}           \\
        +  \vspace{4ex}
        +  Thesis  submitted to                    \\[5pt]
        +  \textit{University name}                \\[2cm]
        +  in partial fulfilment for the award of the degree of \\[2cm]
        +  \textsc{\Large Doctor of Philosophy}    \\[2ex]
        +  \textsc{\large Mathematics}             \\[12ex]
        +  \vfill
        +  Department of Mathematics               \\
        +  Address                                 \\
        +  \vfill
        +  \today
        +\end{center}
        +\vspace{\stretch{2}}
        +\end{titlepage}
        +
        +
        verbatimversetitlepageEnvironments
        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: @@ -4291,8 +5026,8 @@ effect that they would on a typewriter. \verbverbatim \verb -\verb -verbatim text, inline +\verb +verbatim text, inline Synopsis: @@ -4307,7 +5042,7 @@ 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. @@ -4320,8 +5055,9 @@ verbatim text. The delimiter must not appear in literal-text. verseverbatimEnvironments
        verse -verse environment -poetry, an environment for +environment, verse +verse environment +poetry, an environment for Synopsis: @@ -4336,7 +5072,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 @@ -4348,8 +5084,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 @@ -4364,6 +5100,7 @@ you but in some environments you manually force line breaks. \obeycr & \restorecr
        Make each input line start a new output line.
         
        \newline
        Break the line
         
        \- (hyphenation)
        Insert explicit hyphenation.
        +
        \discretionary
        Insert explicit hyphenation with control of hyphen character.
         
        \fussy
        Be fussy about line breaking.
         
        \sloppy
        Be sloppy about line breaking.
         
        \hyphenation
        Tell &latex; how to hyphenate a word.
        @@ -4374,9 +5111,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: @@ -4400,7 +5137,7 @@ particular, to start a new paragraph instead leave a blank line. This command is mostly used outside of the main flow of text such as in a tabular or array environment. -Under ordinary circumstances (e.g., outside of a p{..} column +Under ordinary circumstances (e.g., outside of a p{...} column in a tabular environment) the \newline command is a synonym for \\ (\newline). @@ -4418,9 +5155,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 @@ -4434,14 +5171,14 @@ 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. Inside a tabular or array environment, in a column with a -specifier producing a paragraph box, like typically p{..}, +specifier producing a paragraph box, like typically p{...}, \newline will insert a line break inside of the column, that is, it does not break the entire row. To break the entire row use \\ or its equivalent \tabularnewline. @@ -4459,11 +5196,11 @@ single cell of the table.
        -\- (hyphenation)\fussy\newlineLine breaking +\- (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 @@ -4475,26 +5212,39 @@ cases. hyphenated at those points and not at any of the hyphenation points that &latex; might otherwise have chosen. +
        +\discretionary\fussy\- (hyphenation)Line breaking +
        \discretionary (generalized hyphenation point) +hyphenation, discretionary +discretionary hyphenation + +Synopsis: + + +
        \discretionary{pre-break-text}{post-break-text}{no-break-text}
        +
        + +
        -\fussy\sloppy\- (hyphenation)Line breaking +\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 words, at the cost of an occasional overfull box. This command cancels the effect of a previous \sloppy command -(\sloppy. +(\sloppy).
        \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 @@ -4507,8 +5257,8 @@ interword spacing. \hyphenation\linebreak & \nolinebreak\sloppyLine breaking
        \hyphenation -\hyphenation -hyphenation, defining +\hyphenation +hyphenation, defining Synopsis: @@ -4532,10 +5282,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: @@ -4559,8 +5309,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, @@ -4578,8 +5328,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 @@ -4592,9 +5342,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 @@ -4605,9 +5355,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). @@ -4617,8 +5367,8 @@ floats (\clearpage

        \enlargethispage\pagebreak & \nopagebreak\newpagePage breaking
        \enlargethispage -\enlargethispage -enlarge current page +\enlargethispage +enlarge current page \enlargethispage{size} @@ -4637,10 +5387,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: @@ -4665,7 +5415,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. @@ -4700,7 +5450,7 @@ include a bibliographic style with that behavior. \footnote\footnotemarkFootnotes
        \footnote -\footnote +\footnote Synopsis: @@ -4723,9 +5473,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 @@ -4740,8 +5490,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 @@ -4753,7 +5503,7 @@ And by default they are shown alphabetically. \footnotemark\footnotetext\footnoteFootnotes
        \footnotemark -\footnotemark +\footnotemark Synopsis, one of: @@ -4796,7 +5546,7 @@ and the third theorem.\footnotemark[\value{footnote}] \footnotetextFootnotes in a table\footnotemarkFootnotes
        \footnotetext -\footnotetext +\footnotetext Synopsis, one of: @@ -4815,7 +5565,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 @@ -4829,7 +5579,8 @@ but nothing is set at the bottom of the page. \textit{HMS Sophie} &Master and Commander \\ \textit{HMS Polychrest} &Post Captain \\ \textit{HMS Lively} &Post Captain \\ - \textit{HMS Surprise} &A number of books\footnote{Starting with HMS Surprise.} + \textit{HMS Surprise} &A number of books\footnote{Starting with + HMS Surprise.} \end{tabular} \end{center}
        @@ -4840,7 +5591,7 @@ but nothing is set at the bottom of the page.
        \begin{center}
           \begin{minipage}{.5\textwidth}
        -    .. tabular material ..
        +    ... tabular material ...
           \end{minipage}
         \end{center}
         
        @@ -4870,26 +5621,33 @@ sequence with other footnotes. Footnotes in section headingsFootnotes of footnotesFootnotes in a tableFootnotes
        Footnotes in section headings -Putting a footnote in a section heading +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 is due to R~Jones.}}
        +
        \section{Full sets\protect\footnote{This material due to ...}}
         
        -causes the footnote to appear both at the bottom of the page where the -section starts and at the bottom of the table of contents page. To have -it not appear on the table of contents use the package footmisc -with the stable option. +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 +contents, where it is not likely to be desired. To have it not appear +on the table of contents use the package footmisc with the +stable option.
        \usepackage[stable]{footmisc}
        - ..
        +...
         \begin{document}
        - ..
        -\section{Full sets\footnote{This material is due to R~Jones.}}
        +...
        +\section{Full sets\footnote{This material due to ...}}
         
        -Note that the \protect is gone; putting it in causes the +Note that the \protect is gone; including it would cause the footnote to reappear on the table of contents. @@ -4906,12 +5664,12 @@ ways, including allow these two, as in this example.
        \usepackage{bigfoot}
         \DeclareNewFootnote{Default}
         \DeclareNewFootnote{from}[alph]   % create class \footnotefrom{}
        -  ..
        + ...
         \begin{document}
        -  ..
        +...
         The third theorem is a partial converse of the 
         second.\footnotefrom{First noted in Wilson.\footnote{Second edition only.}}
        - ..
        +...
         
        @@ -4926,13 +5684,13 @@ uses the package cleverref.
        \usepackage{cleveref}[2012/02/15]   % this version of package or later 
         \crefformat{footnote}{#2\footnotemark[#1]#3}
        -  ..
        +...
         \begin{document}
        -  ..
        +...
         The theorem is from Evers.\footnote{\label{fn:TE}Tinker and Evers, 1994.}
         The corollary is from Chance.\footnote{Evers and Chance, 1990.}
         But the key lemma is from Tinker.\cref{fn:TE}
        -  ..
        +...
         
        This solution will work with the package hyperref. @@ -4944,17 +5702,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 @@ -4969,7 +5727,7 @@ footnotes. This is 6.65pt for 10pt, 7.7ptDefinitionsCountersFootnotesTop Definitions -definitions +definitions &latex; has support for making new commands of many different kinds. @@ -4991,90 +5749,95 @@ footnotes. This is 6.65pt for 10pt, 7.7pt\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: -
          \newcommand{cmd}[nargs][optargdefault]{defn}
        -  \newcommand*{cmd}[nargs][optargdefault]{defn}
        -\renewcommand{cmd}[nargs][optargdefault]{defn}
        -\renewcommand*{cmd}[nargs][optargdefault]{defn}
        +
          \newcommand{\cmd}[nargs][optargdefault]{defn}
        +  \newcommand*{\cmd}[nargs][optargdefault]{defn}
        +\renewcommand{\cmd}[nargs][optargdefault]{defn}
        +\renewcommand*{\cmd}[nargs][optargdefault]{defn}
         
        -The *-form of these two commands requires that the arguments -not contain multiple paragraphs of text (not \long, in plain -&tex; terms). +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).
        cmd -Required; the command name. It must begin with \. For -\newcommand, it must not be already defined and must not begin -with \end. For \renewcommand, it must already be -defined. +Required; \cmd is the command name. For \newcommand, it +must not be already defined and must not begin with \end. For +\renewcommand, it must already be defined. nargs Optional; an integer from 0 to 9, specifying the number of arguments -that the command will take. If this argument is not present, the -default is for the command to have no arguments. When redefining a -command, the new version can have a different number of arguments than -the old version. +that the command can take, including any optional argument. If this +argument is not present, the default is for the command to have no +arguments. When redefining a command, the new version can have a +different number of arguments than the old version. optargdefault Optional; if this argument is present then the first argument of defined -command \cmd is optional, with default value optargdefault +command \cmd is optional, with default value optargdefault (which may be the empty string). If this argument is not present then -\cmd does not take an optional argument. - -That is, if \cmd is used with square brackets following, as in -\cmd[myval], then within defn #1 expands -myval. While if \cmd is called without square brackets -following, then within defn the #1 expands to the default -optargdefault. In either case, any required arguments will be -referred to starting with #2. - -Omitting [myval] in the call is different from having the +\cmd does not take an optional argument. + +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 +other hand, if \cmd is called without square brackets +following, then within defn the positional parameter #1 +expands to the default optargdefault. In either case, any +required arguments will be referred to starting with #2. + +Omitting [myval] in a call is different from having the square brackets with no contents, as in []. The former results in #1 expanding to optargdefault; the latter results in #1 expanding to the empty string. defn -The text to be substituted for every occurrence of cmd; a -construct of the form #n in defn is replaced by the -text of the nth argument. +The text to be substituted for every occurrence of \cmd; the +positional parameter #n in defn is replaced by +the text of the nth argument.
        -A command with no arguments that is followed in the source by a space -will swallow that space. The solution is to type {} after the -command and before the space. +&tex; ignores spaces in the source following an alphabetic control +sequence, as in \cmd . If you actually want a space there, one +solution is to type {} after the command (\cmd{} ; +another solution is to use an explicit control space (\cmd\ ). A simple example of defining a new command: -\newcommand{\JH}{Jim Hef{}feron} causes the abbreviation -\JH to be replaced by the longer text. +\newcommand{\RS}{Robin Smith} results in +\RS being replaced by the longer text. -Redefining a command is basically the same: +Redefining an existing command is similar: \renewcommand{\qedsymbol}{{\small QED}}. -Here&textrsquo;s a command definition that uses arguments: +Here&textrsquo;s a command definition with one required argument: -
        \newcommand{\defreference}[1]{Definition~\ref{#1}}
        +
        \newcommand{\defref}[1]{Definition~\ref{#1}}
         
        - Then, \defreference{def:basis} will expand to + Then, \defref{def:basis} expands to +Definition~\ref{def:basis}, which will ultimately expand to something like Definition~3.14. -An example with two arguments: -\newcommand{\nbym}[2]{#1\!\times\!#2} is invoked as +An example with two required arguments: +\newcommand{\nbym}[2]{$#1 \times #2$} is invoked as \nbym{2}{k}. -An example with optional arguments: +An example with an optional argument:
        \newcommand{\salutation}[1][Sir or Madam]{Dear #1:}
        @@ -5084,27 +5847,29 @@ something like Definition~3.14.
         \salutation[John] gives Dear John:.  And
         \salutation[] gives Dear :.
         
        -The braces around defn do not delimit the scope of the result of
        -expanding defn.  So \newcommand{\shipname}[1]{\it #1}
        -is wrong since in the sentence
        +The braces around defn do not define a group, that is, they do
        +not delimit the scope of the result of expanding defn.  So
        +\newcommand{\shipname}[1]{\it #1} is problematic; in this
        +sentence,
         
         
        -
        The \shipname{Monitor} met the \shipname{Virginia}.
        +
        The \shipname{Monitor} met the \shipname{Merrimac}.
         
        - the words met the will incorrectly be in italics. An -extra pair of braces \newcommand{\shipname}[1]{{\it #1}} -fixes it. + the words met the would incorrectly be in italics. Another +pair of braces in the definition is needed, like this: +\newcommand{\shipname}[1]{{\it #1}}. Those braces are +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: @@ -5125,24 +5890,27 @@ loaded more than once. \newcounter\newlength\providecommandDefinitions
        \newcounter: Allocating a counter -\newcounter -counters, defining new +\newcounter +counters, defining new -Synopsis: +Synopsis, one of: -
        \newcounter{countername}[supercounter]
        +
        \newcounter{countername}
        +\newcounter{countername}[supercounter]
         
        -The \newcounter command globally defines a new counter named -countername. The name consists of letters only and does not begin -with a backslash (\). The name must not already be used by -another counter. The new counter is initialized to zero. +Globally defines a new counter named countername and initialize +the new counter to zero. + +The name countername must consists of letters only, and does not +begin with a backslash. This name must not already be in use by another +counter. -If the optional argument [supercounter] appears, then +When you use the optional argument [supercounter] then countername will be numbered within, or subsidiary to, the existing counter supercounter. For example, ordinarily -subsection is numbered within section. Any time +subsection is numbered within section so that any time supercounter is incremented with \stepcounter (\stepcounter) or \refstepcounter (\refstepcounter) then countername is reset to zero. @@ -5154,11 +5922,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: @@ -5180,8 +5948,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: @@ -5203,29 +5971,31 @@ 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} &dots; \end{env}. Synopses: +\begin{env} body \end{env}. Synopses: -
          \newenvironment{env}[nargs][optargdefault]{begdefn}{enddefn}
        +
           \newenvironment{env}[nargs][optargdefault]{begdefn}{enddefn}
           \newenvironment*{env}[nargs][optargdefault]{begdefn}{enddefn}
        -\renewenvironment{env}[nargs][optargdefault]{begdefn}{enddefn}
        + \renewenvironment{env}[nargs][optargdefault]{begdefn}{enddefn}
         \renewenvironment*{env}[nargs][optargdefault]{begdefn}{enddefn}
         
        -Unlike \newcommand and \renewcommand, the *-forms -\newenvironment* and \renewcommand* have the same effect -as the forms with no *. +*-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. env -Required; the environment name. It does not begin with backslash +Required; the environment name. It consists only of letters or the +* character, and thus does not begin with backslash (\). It must not begin with the string end. For \newenvironment, the name env must not be the name of an already existing environment, and also the command \env @@ -5234,8 +6004,8 @@ name of an existing environment. nargs Optional; an integer from 0 to 9 denoting the number of arguments of -that the environment will take. These arguments appear after the -\begin, as in +that the environment will take. When the environment is used these +arguments appear after the \begin, as in \begin{env}{arg1}&dots;{argn}. If this argument is not present then the default is for the environment to have no arguments. When redefining an environment, the new version can have @@ -5247,16 +6017,16 @@ defined environment is optional, with default value optargdefault (which may be the empty string). If this argument is not present then the environment does not take an optional argument. -That is, when [optargdefault] is present in the environment -definition, if \begin{env} is used with square brackets -following, as in \begin{env}[myval], then within -the environment #1 expands myval. If -\begin{env} is called without square brackets following, -then within the environment the #1 expands to the default -optargdefault. In either case, any required arguments will be -referred to starting with #2. +That is, when [optargdefault] is present in the +environment definition, if \begin{env} is used with +square brackets following, as in +\begin{env}[myval], then, within begdefn, +the positional parameter #1 expands to myval. If +\begin{env} is called without square brackets +following, then, within within begdefn, the positional parameter +#1 expands to the default optargdefault. In either case, +any required arguments will be referred to starting with #2. - Omitting [myval] in the call is different from having the square brackets with no contents, as in []. The former results in #1 expanding to optargdefault; the latter results in @@ -5264,23 +6034,25 @@ in #1 expanding to optargdefault; the latter results in begdefn Required; the text expanded at every occurrence of -\begin{env}; a construct of the form #n in -begdef is replaced by the text of the nth argument. +\begin{env}. Within begdef, the nth +positional parameter (i.e., #n) is replaced by the text +of the nth argument. enddefn Required; the text expanded at every occurrence of -\end{env}. Note that it may not contain any argument -parameters, so #n cannot be used here. +\end{env}. This may not contain any positional +parameters, so #n cannot be used here (but see the final +example below).
        -The environment env delimits the scope of the result of expanding -begdefn and enddefn. Thus, in the first example below, the -effect of the \small is limited to the quote and does not extend -to material following the environment. +All environments, that is to say the begdefn code, the environment +body and the enddefn code, are processed within a group. Thus, in +the first example below, the effect of the \small is limited to +the quote and does not extend to material following the environment. -This example gives an environment like &latex;&textrsquo;s quotation except that -it will be set in smaller type. +This example gives an environment like &latex;&textrsquo;s quotation +except that it will be set in smaller type:
        \newenvironment{smallquote}{%
        @@ -5290,8 +6062,8 @@ it will be set in smaller type.
         }
         
        -This shows the use of arguments; it gives a quotation environment that -cites the author. +This one shows the use of arguments; it gives a quotation environment +that cites the author:
        \newenvironment{citequote}[1][Shakespeare]{%
        @@ -5302,17 +6074,17 @@ cites the author.
         }
         
        - The author&textrsquo;s name is optional, and defaults to Shakespeare. -In the document, use the environment as here: + The author&textrsquo;s name is optional, and defaults to Shakespeare. +In the document, use the environment like this:
        \begin{citequote}[Lincoln]
        -  ..
        +  ...
         \end{citequote}
         
        The final example shows how to save the value of an argument to use in -enddefn. +enddefn, in this case in a box (\sbox):
        \newsavebox{\quoteauthor}
        @@ -5330,48 +6102,44 @@ In the document, use the environment as here:
         \newtheorem\newfont\newenvironment & \renewenvironmentDefinitions
         
        \newtheorem -\newtheorem -theorems, defining -defining new theorems +\newtheorem +theorems, defining +defining new theorems -theorem-like environment -environment, theorem-like -Define a new theorem-like environment. Synopses: +theorem-like environment +environment, theorem-like +Define a new theorem-like environment. Synopses: -
        \newtheorem{name}{title}[numbered_within]
        +
        \newtheorem{name}{title}
        +\newtheorem{name}{title}[numbered_within]
         \newtheorem{name}[numbered_like]{title}
         
        -Both create a theorem-like environment name. Using the first -form, +Using the first form, \newtheorem{name}{title} +creates an environment that will be labelled with title. See the +first example below. - -
        \newtheorem{name}{title}[numbered_within]
        -
        - - with the optional argument after the second required argument, +The second form +\newtheorem{name}{title}[numbered_within] creates an environment whose counter is subordinate to the existing -counter numbered_within: it will be reset when +counter numbered_within (its counter will be reset when numbered_within is reset). -Using the second form, - - -
        \newtheorem{name}[numbered_like]{title}
        -
        - with the optional argument between the two required -arguments, will create an environment whose counter will share the -previously defined counter numbered_like. +The third form +\newtheorem{name}[numbered_like]{title}, +with optional argument between the two required arguments, will create +an environment whose counter will share the previously defined counter +numbered_like. You can specify one of numbered_within and numbered_like, or neither, but not both. This command creates a counter named name. In addition, unless -the optional argument numbered_like is used, the current -\ref value will be that of \thenumbered_within -(\ref). +the optional argument numbered_like is used, inside of the +theorem-like environment the current \ref value will be that of +\thenumbered_within (\ref). This declaration is global. It is fragile (\protect). @@ -5403,8 +6171,9 @@ new environment will be numbered in sequence with numbered_like. Without any optional arguments the environments are numbered -sequentially. This example has a declaration in the preamble that -results in Definition 1 and Definition 2 in the output. +sequentially. The example below has a declaration in the preamble that +results in Definition 1 and Definition 2 in the +output.
        \newtheorem{defn}{Definition}
        @@ -5420,7 +6189,7 @@ results in Definition 1 and Definition 2 in
         \end{defn}
         
        -Because this example specifies the optional argument +Because the next example specifies the optional argument numbered_within to \newtheorem as section, the example, with the same document body, gives Definition 1.1 and Definition 2.1. @@ -5439,8 +6208,8 @@ and Definition 2.1. \end{defn}
        -In this example there are two declarations in the preamble, the second -of which calls for the new thm environment to use the same +In the next example there are two declarations in the preamble, the +second of which calls for the new thm environment to use the same counter as defn. It gives Definition 1.1, followed by Theorem 2.1 and Definition 2.2. @@ -5468,9 +6237,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: @@ -5484,7 +6253,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) @@ -5493,8 +6262,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 @@ -5508,7 +6277,7 @@ characters in each:
        \newfont{\testfontat}{cmb10 at 11pt}
        -\newfont{\testfontscaled}{cmb10 scaled 11pt}
        +\newfont{\testfontscaled}{cmb10 scaled 1100}
         \testfontat abc
         \testfontscaled abc
         
        @@ -5518,26 +6287,28 @@ characters in each: \protect\newfontDefinitions
        \protect -\protect -fragile commands -robust commands -moving arguments +\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 they must be preceded by the command \protect. +breaking one solution is to have them preceded by 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 there for use elsewhere in the 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 argument. A command is fragile if it can +referred to as a +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{..} -command (figure), in the \thanks{..} command +moving arguments are those that appear in the \caption{...} +command (figure), in the \thanks{...} command (\maketitle), and in &arobase;-expressions in the tabular and array environments (tabular). @@ -5550,13 +6321,13 @@ commands are robust and should not be preceded by a \protect command. Nor can a \protect command be used in the argument to \addtocounter or \setcounter command. -In this example the caption command gives a mysterious error +In this example the \caption command gives a mysterious error about an extra curly brace. Fix the problem by preceding each \raisebox command with \protect.
        \begin{figure}
        -  ..
        +  ...
           \caption{Company headquarters of A\raisebox{1pt}{B}\raisebox{-1pt}{C}}
         \end{figure}
         
        @@ -5569,9 +6340,9 @@ to \protect\(..\protect\).
        \begin{document}
         \tableofcontents
        - ..
        +...
         \section{Einstein's \( e=mc^2 \)}
        - ..
        +...
         
        @@ -5580,16 +6351,18 @@ to \protect\(..\protect\). CountersLengthsDefinitionsTop Counters -counters, a list of -variables, a list of +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 with no -backslash (\). Thus the \chapter command starts a -chapter and the chapter counter keeps track of the chapter -number. Below is a list of the counters used in &latex;&textrsquo;s standard -document classes to control numbering. +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
        @@ -5600,64 +6373,83 @@ subsubsection
         
        The mpfootnote counter is used by the \footnote command -inside of a minipage (minipage). - -The enumi through enumiv counters are used in the -enumerate environment, for up to four nested levels -(enumerate). +inside of a minipage (minipage). The counters enumi +through enumiv are used in the enumerate environment, for +up to four levels of nesting (enumerate). New counters are created with \newcounter. \newcounter. -\alph \Alph \arabic \roman \Roman \fnsymbol
        Print value of a counter.
        -
        \usecounter
        Use a specified counter in a list environment.
        -
        \value
        Use the value of a counter in an expression.
        -
        \setcounter
        Set the value of a counter.
        -
        \addtocounter
        Add a quantity to a counter.
        -
        \refstepcounter
        Add to counter, resetting subsidiary counters.
        -
        \stepcounter
        Add to counter, resetting subsidiary counters.
        -
        \day \month \year
        Numeric date values.
        +\alph \Alph \arabic \roman \Roman \fnsymbol
        Print value of a counter.
        +
        \usecounter
        Use a specified counter in a list environment.
        +
        \value
        Use the value of a counter in an expression.  
        +
        \setcounter
        Set the value of a counter.
        +
        \addtocounter
        Add a quantity to a counter.
        +
        \refstepcounter
        Add to a counter.
        +
        \stepcounter
        Add to a counter, resetting subsidiary counters.
        +
        \day \month \year
        Numeric date values.
         
        \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 +\alph{counter} in your source will result in a lower case +letter a appearing in the output. + All of these commands take a single counter as an argument, for instance, \alph{enumi}. Note that the counter name does not start with a backslash. -\alph\alph -prints counter using lowercase letters: &textlsquo;a&textrsquo;, &textlsquo;b&textrsquo;, &enddots; +\alph{counter}\alph{counter} +Print the value of counter in lowercase letters: &textlsquo;a&textrsquo;, &textlsquo;b&textrsquo;, &enddots; -\Alph\Alph -uses uppercase letters: &textlsquo;A&textrsquo;, &textlsquo;B&textrsquo;, &enddots; +\Alph{counter}\Alph{counter} +Print in uppercase letters: &textlsquo;A&textrsquo;, &textlsquo;B&textrsquo;, &enddots; -\arabic\arabic -uses Arabic numbers: &textlsquo;1&textrsquo;, &textlsquo;2&textrsquo;, &enddots; +\arabic{counter}\arabic{counter} +Print in Arabic numbers: &textlsquo;1&textrsquo;, &textlsquo;2&textrsquo;, &enddots; -\roman\roman -uses lowercase roman numerals: &textlsquo;i&textrsquo;, &textlsquo;ii&textrsquo;, &enddots; +\roman{counter}\roman{counter} +Print in lowercase roman numerals: &textlsquo;i&textrsquo;, &textlsquo;ii&textrsquo;, &enddots; -\Roman\Roman -uses uppercase roman numerals: &textlsquo;I&textrsquo;, &textlsquo;II&textrsquo;, &enddots; +\Roman{counter}\Roman{counter} +Print in uppercase roman numerals: &textlsquo;I&textrsquo;, &textlsquo;II&textrsquo;, &enddots; -\fnsymbol\fnsymbol -prints the value of counter in a specific sequence of nine +\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. -Here are the symbols (as Unicode code points in ASCII output): - - -
        asterisk(*) dagger(2021) ddagger(2021)
        -section-sign(00A7) paragraph-sign(00B6) parallel(2225)
        -double-asterisk(**) double-dagger(20202020) double-ddagger(20212021)
        -
        +Here are the symbols: + + +NameCommandEquivalent Unicode symbol and/or numeric code point + +asterisk\ast* + +dagger\dagger2020 + +ddagger\ddagger2021 + +section-sign\S00A7 + +paragraph-sign\P00B6 + +double-vert\parallel2016 + +double-asterisk\ast\ast** + +double-dagger\dagger\dagger20202020 + +double-ddagger\ddagger\ddagger20212021 +
        @@ -5666,9 +6458,9 @@ double-asterisk(**) double-dagger(20202020) double-ddagger(2021 \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: @@ -5702,8 +6494,8 @@ value. This command is fragile (\prot \value\setcounter\usecounterCounters
        \value{counter} -\value -counters, getting value of +\value +counters, getting value of Synopsis: @@ -5743,9 +6535,9 @@ Other counter is \arabic{other}. \setcounter\addtocounter\valueCounters
        \setcounter{counter}{value} -\setcounter -counters, setting -setting counters +\setcounter +counters, setting +setting counters Synopsis: @@ -5757,22 +6549,37 @@ Other counter is \arabic{other}. to the value argument. Note that the counter name does not start with a backslash. +In this example the section value appears as V. + + +
        \setcounter{section}{5}
        +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. +In this example the section value appears as VII. + + +
        \setcounter{section}{5}
        +\addtocounter{section}{2}
        +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 @@ -5791,7 +6598,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 @@ -5802,9 +6609,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 @@ -5821,7 +6628,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. @@ -5864,67 +6671,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 @@ -5937,8 +6744,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. @@ -5946,50 +6753,72 @@ math symbols family. Spacing i
        \setlength\addtolengthUnits of lengthLengths -
        \setlength{\len}{value} +
        \setlength -\setlength -lengths, setting +\setlength +lengths, setting -The \setlength sets the value of \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. +Synopsis: + + +
        \setlength{\len}{amount}
        +
        + +The \setlength sets the value of 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.
        \addtolength\settodepth\setlengthLengths -
        \addtolength{\len}{amount} +
        \addtolength + +\addtolength +lengths, adding to + +Synopsis: + + +
        \addtolength{\len}{amount}
        +
        -\addtolength -lengths, adding to -The \addtolength command increments a &textldquo;length command&textrdquo; -\len by the amount specified in the amount argument, which -may be negative. +The \addtolength command increments a length command \len +by the amount specified in the amount argument, which may be +negative.
        \settodepth\settoheight\addtolengthLengths
        \settodepth -\settodepth +\settodepth -\settodepth{\gnat}{text} +Synopsis: -The \settodepth command sets the value of a length command -equal to the depth of the text argument. + +
        \settodepth{\len}{text}
        +
        + +The \settodepth command sets the value of a length command +\len equal to the depth of the text argument.
        \settoheight\settowidth\settodepthLengths
        \settoheight -\settoheight +\settoheight -\settoheight{\gnat}{text} +Synopsis: -The \settoheight command sets the value of a length command + +
        \settoheight{\len}{text}
        +
        + +The \settoheight command sets the value of a length command \len equal to the height of the text argument. @@ -5998,7 +6827,13 @@ equal to the height of the text argument. \settowidthPredefined lengths\settoheightLengths
        \settowidth{\len}{text} -\settowidth +\settowidth + +Synopsis: + + +
        \settowidth{\len}{text}
        +
        The \settowidth command sets the value of the command \len to the width of the text argument. @@ -6008,37 +6843,39 @@ 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 -the text in the box. \totalheight equals \height + -\depth. To make a box with the text stretched to double the +the text in the box. \totalheight equals &backslashchar;height + +&backslashchar;depth. To make a box with the text stretched to double the natural size, e.g., say -\makebox[2\width]{Get a stretcher} - + +
        \makebox[2\width]{Get a stretcher}
        +
        +
        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 @@ -6056,9 +6893,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 @@ -6073,14 +6910,14 @@ 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. -
        .. end of the prior paragraph.
        +
        ... end of the prior paragraph.
         
         \noindent This paragraph is not indented.
         
        @@ -6095,8 +6932,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. @@ -6106,10 +6943,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: @@ -6133,8 +6970,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. @@ -6148,15 +6985,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. @@ -6176,12 +7013,15 @@ notes from falling off the bottom of the page. Math formulasModesMaking paragraphsTop Math formulas -math formulas -formulas, math -math mode, entering -math environment -displaymath environment -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: @@ -6195,10 +7035,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 @@ -6209,7 +7049,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: @@ -6217,15 +7057,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: @@ -6249,14 +7089,14 @@ 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, ie.&noeos; type ^{exp}. +exp appear as a superscript: ^{exp}. Similarly, in math mode, underscore _{exp} makes a subscript out of exp. @@ -6297,9 +7137,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 @@ -6308,393 +7148,391 @@ the pi symbol 03C0. Below is a list of commonly-available symbols. It is by no means an exhaustive list. Each symbol here is described with a short phrase, and its symbol class (which determines the spacing around it) is given in -parenthesis. The commands for these symbols can be used only in math -mode. +parenthesis. Unless said otherwise, the commands for these symbols can +be used only in math mode. +To redefine a command so that it can be used whatever the current mode, +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 -224D Asymptomatically equivalent (relation). +\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 -22A5 Up tack, bottom, least element of a poset, or a contradiction -(ordinary). See also \top. +\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 -25A1 Modal operator for necessity; square open box (ordinary). This -is not available in Plain &tex;. In &latex; you need to load the -amssymb package. +\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). This is not available in Plain -&tex;. In &latex; you should load the amssymb package. Also +$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 -25C7 Large diamond operator (ordinary). This is not available in -Plain &tex;. In &latex; you must load the amssymb package. +\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 +\ell\ell 2113 Lower-case cursive letter l (ordinary). -\emptyset\emptyset -2205 Empty set symbol (ordinary). Similar: reversed empty -set \varnothing. +\emptyset\emptyset +2205 Empty set symbol (ordinary). The variant form is +\varnothing. - -\epsilon\epsilon -03F5 Lower case Greek-text letter (ordinary). More widely used in -mathematics is the curly epsilon -\varepsilon 03B5. Related: the set membership relation -\in 2208. + +\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: +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 -2208 Set element (relation). See also: lower case Greek letter -epsilon \epsilon03F5 and rounded small +\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 -21DD Squiggly right arrow (relation). This is not available in -Plain &tex;. In &latex; you should load the amssymb package. +\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 -230A Left floor bracket (opening). +\lfloor\lfloor +230A Left floor bracket (opening). Matches: \floor. -\lhd\lhd -25C1 Arrowhead, that is, triangle, pointing left (binary). This is -not available in Plain &tex;. In &latex; you should load the -amssymb package. For the normal subgroup symbol you should load +\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). -This is not available in Plain &tex;. In &latex; you should load the -amssymb package. +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 \,\}. @@ -6704,42 +7542,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). @@ -6748,388 +7586,399 @@ 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 -227A Preceeds (relation). Similar: less than <. +\prec\prec +227A Precedes (relation). Similar: less than <. -\preceq\preceq -2AAF Preceeds or equals (relation). Similar: less than or +\preceq\preceq +2AAF Precedes or equals (relation). Similar: less than or equals \leq. -\prime\prime -2032 Prime, or minute in a time expression (ordinary). Typically -used as a superscript $A^\prime$. Note that $f^\prime$ -and $f'$ produce the same result. An advantage of the second is -that $f'''$ produces the the desired symbol, that is, the same -result as $f^{\prime\prime\prime}$, but uses somewhat less -typing. Note that you can only use \prime in math mode but you -can type right single quote ' in text mode also, although it -resuts in a different look than in math mode. - -\prod\prod +\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 +is that $f'''$ produces the desired symbol, that is, the same +result as $f^{\prime\prime\prime}$, but uses rather less +typing. You can only use \prime in math mode. Using the right +single quote ' in text mode produces a different character +(apostrophe). + +\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 -27B9 Right angle, or sequence, bracket (closing). Similar: greater +\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 should load the amssymb package. +(relation). Synonym: \upharpoonright. Not available in plain &tex;. In &latex; you need to load the amssymb package. + +\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 -25C1 Arrowhead, that is, triangle, pointing right (binary). This is -not available in Plain &tex;. In &latex; you should load the -amssymb package. For the normal subgroup symbol you should -instead load amssymb and use \vartriangleright (which +\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 -2323 Upward curving arc (ordinary). +\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. This is not available in Plain &tex;. In -&latex; you should load the amssymb package. +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. This is not available in Plain &tex;. In -&latex; you should load the amssymb package. +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 +\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 -22A4 Top, greatest element of a poset (ordinary). See -also \bot. +\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 -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 +\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 +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). -\unlhd\unlhd -22B4 Left-pointing not-filled arrowhead, that is, triangle, with a -line under (binary). This is not available in Plain &tex;. In &latex; -you should 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 -22B5 Right-pointing not-filled arrowhead, that is, triangle, with a -line under (binary). This is not available in Plain &tex;. In &latex; -you should load the amssymb package. For the normal subgroup -symbol load amssymb and use \vartrianglerighteq -(which is a relation and so gives better spacing). +\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 -21D1 Double-line upward-pointing arrow (relation). Similar: -single-line up-pointing arrow \uparrow. +\Uparrow\Uparrow +21D1 Double-line upward-pointing arrow +(relation). Similar: single-line up-pointing +arrow \uparrow. -\uparrow\uparrow -2191 Single-line upward-pointing arrow, diverges (relation). Similar: -double-line up-pointing arrow \Uparrow. +\uparrow\uparrow +2191 Single-line upward-pointing arrow, diverges +(relation). Similar: double-line up-pointing +arrow \Uparrow. -\Updownarrow\Updownarrow -21D5 Double-line upward-and-downward-pointing arrow (relation). Similar: -single-line upward-and-downward-pointing arrow \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 should load the amssymb package. +(relation). Synonym: &backslashchar;restriction. Not available in plain &tex;. In &latex; you need to load the amssymb package. -\uplus\uplus -228E Multiset union, a union symbol with a plus symbol in the middle -(binary). Similar: union \cup. Related: variable-sized -operator \biguplus. +\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 -03B5 Rounded small epsilon (ordinary). This is more widely used in -mathematics than the non-variant lower case Greek-text letter form -\epsilon 03F5. Related: set membership \in. - -\varphi\varphi -03C6 Variant on the lower case Greek letter (ordinary). The -non-variant form is \phi 03D5. - -\varpi\varpi -03D6 Variant on the lower case Greek letter (ordinary). The -non-variant form is \pi 03C0. - -\varrho\varrho -03F1 Variant on the lower case Greek letter (ordinary). The -non-variant form is \rho 03C1. - -\varsigma\varsigma -03C2 Variant on the lower case Greek letter (ordinary). The -non-variant form is \sigma 03C3. - -\vartheta\vartheta -03D1 Variant on the lower case Greek letter (ordinary). The -non-variant form is \theta 03B8. - -\vdash\vdash -22A2 Provable; turnstile, vertical and a dash (relation). Similar: -turnstile rotated a half-circle \dashv. - -\vee\vee -2228 Logical or; a downwards v shape (binary). Related: logical -and \wedge. Similar: variable-sized +\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 +2205 Empty set symbol. Similar: +\emptyset. Related: \revemptyset. Not available in plain &tex;. In &latex; you need to load the amssymb package. + +\varphi\varphi +03C6 Variant on the lower case Greek letter (ordinary). +The non-variant form is \phi 03D5. + +\varpi\varpi +03D6 Variant on the lower case Greek letter (ordinary). +The non-variant form is \pi 03C0. + +\varrho\varrho +03F1 Variant on the lower case Greek letter (ordinary). +The non-variant form is \rho 03C1. + +\varsigma\varsigma +03C2 Variant on the lower case Greek letter +(ordinary). The non-variant form is +\sigma 03C3. + +\vartheta\vartheta +03D1 Variant on the lower case Greek letter +(ordinary). The non-variant form is +\theta 03B8. + +\vdash\vdash +22A2 Provable; turnstile, vertical and a dash +(relation). Similar: turnstile rotated a +half-circle \dashv. + +\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. -For a norm you can use the mathtools package and add +For a norm symbol, you can use the mathtools package and add \DeclarePairedDelimiter\norm{\lVert}{\rVert} to your -preamble. This gives you three command variants for double-line vertical -bars that are correctly horizontally spaced: if in the document body you -write the starred version $\norm*{M^\perp}$ then the height of -the vertical bars will match the height of the argument, whereas with -\norm{M^\perp} the bars do not grow with the height of the -argument but instead are the default height, and \norm[size -command]{M^\perp} also gives bars that do not grow but are set to -the size given in the size command, e.g., \Bigg. - -\vert\vert +preamble. This gives you three command variants for double-line +vertical bars that are correctly horizontally spaced: if in the +document body you write the starred version $\norm*{M^\perp}$ +then the height of the vertical bars will match the height of the +argument, whereas with \norm{M^\perp} the bars do not grow +with the height of the argument but instead are the default height, +and \norm[size command]{M^\perp} also gives bars that +do not grow but are set to the size given in the size command, +e.g., \Bigg. + +\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. @@ -7146,24 +7995,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). @@ -7173,116 +8022,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 +\sup + + + -\tan\tan +\tan\tan \tan -\tanh\tanh +\tanh\tanh \tanh @@ -7292,76 +8141,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}. @@ -7371,8 +8220,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 @@ -7385,39 +8234,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. +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.
        @@ -7434,85 +8283,106 @@ infinitesimal. Math miscellanySpacing in math modeMath formulas
        Math miscellany -math miscellany +math miscellany -\*\* -discretionary multiplication -multiplication symbol, discretionary line break -A &textldquo;discretionary&textrdquo; multiplication symbol, at which a line break is -allowed. +\*\* +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 +printed immediately before the break. So + + +
        \documentclass{article}
        +\begin{document}
        +Now \(A_3 = 0\), hence the product of all terms \(A_1\) 
        +through \(A_4\), that is \(A_1\* A_2\* A_3 \* A_4\), is 
        +equal to zero.
        +\end{document}
        +
        + +will make that sort of output + (the ellipsis [&dots;] is here to show the line break at +the same place as in a &tex; output) +: -
        \cdots\cdots + +Now A_3 = 0, +[&dots;] +A_1 +through A_4, that is A_1 A_2 \times&linebreak;A_3 A_4, is +equal to zero. + + +
        \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 -Produces the fraction num divided by den. +\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 -The two delimiters need not match; . acts as a 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]. +in between. Example: \left( \sum_{i=1}^{10} a_i \right]. + +\mathdollar\mathdollar +Dollar sign in math mode: $. + +\mathellipsis\mathellipsis +Ellipsis (spaced for text) in math mode: &dots;. + +\mathparagraph\mathparagraph +Paragraph sign (pilcrow) in math mode: 00B6. + +\mathsection\mathsection +Section sign in math mode. -\overbrace{text}\overbrace{text} -Generates a brace over text. -For example, \overbrace{x+\cdots+x}^{k \rm\;times}. +\mathsterling\mathsterling +Sterling sign in math mode: £. -\overline{text}\overline{text} +\mathunderscore\mathunderscore +Underscore in math mode: _. + +\overbrace{math}\overbrace{math} +Generates a brace over math. +For example, \overbrace{x+\cdots+x}^{k \;\textrm{times}}. + +\overline{text}\overline{text} Generates a horizontal line over tex. -For example, \overline{x+y}. +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}$. - -In &tex;, the result looks like this: -$\root 3 \of x+y$. - +\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}. - -In &tex;, the result looks like this: -$\buildrel f \over \longrightarrow$. - -\underbrace{math}\underbrace{math} -Generates math with a brace underneath. - -In &tex;, the result looks like this: -$\underbrace{x+y+z}_{>\,0}$. - +\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. - -In &tex;, the result looks like this: -$\underline{xyz}$ - -\vdots\vdots -\vdots -Produces a vertical ellipsis. - -In &tex;, the result looks like this: -$\vdots$. - +\vdots\vdots +Produces a vertical ellipsis.
        @@ -7522,11 +8392,11 @@ $\vdots$. 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: @@ -7550,7 +8420,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 @@ -7570,13 +8440,58 @@ When &latex; is in paragraph mode while making a box, it is said to be in &textldquo;inner paragraph mode&textrdquo; (no page breaks). Its normal paragraph mode, which it starts out in, is called &textldquo;outer paragraph mode&textrdquo;. + +\ensuremath
        Ensure that math mode is active
        +
        + +\ensuremathModes +
        \ensuremath + +Synopsis: + + +
        \ensuremath{formula}
        +
        + +The \ensuremath command ensures that formula is typeset in +math mode whatever the current mode in which the command is used. + +For instance: + + +
        \documentclass{report}
        +\newcommand{\ab}{\ensuremath{(\delta, \varepsilon)}}
        +\begin{document}
        +Now, the \ab\ pair is equal to \(\ab = (\frac{1}{\pi}, 0)\), ...
        +\end{document}
        +
        +One can redefine commands that can be used only in math mode so that +they ca be used in any mode like in the following example given for +\leadsto: + + + + + +
        \documentclass{report}
        +\usepackage{amssymb}
        +\newcommand{\originalMeaningOfLeadsTo}{}
        +\let\originalMeaningOfLeadsTo\leadsto
        +\renewcommand\leadsto{\ensuremath{\originalMeaningOfLeadsTo}}
        +\begin{document}
        +All roads \leadsto\ Rome.
        +\end{document}
        +
        + + +
        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. @@ -7592,8 +8507,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 @@ -7601,30 +8516,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. @@ -7635,8 +8550,8 @@ document. Use \\ to force a line break, as usual. \pagenumbering\pagestyle\maketitlePage styles
        \pagenumbering -\pagenumbering -page numbering style +\pagenumbering +page numbering style Synopsis: @@ -7670,10 +8585,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: @@ -7704,7 +8619,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 @@ -7712,7 +8627,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. @@ -7722,7 +8637,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 @@ -7734,8 +8649,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. @@ -7743,11 +8658,11 @@ 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.  
        -
        \(SPACE) after CS
        Controlling space gobbling after a control sequence.
        -
        \frenchspacing
        Make interword and intersentence space equal.  
        +
        \(SPACE) and \&arobase;
        Space after a period.  
        +
        \(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.  
        +
        \/
        Insert italic correction.
         
        \hrulefill \dotfill
        Stretchable horizontal rule or dots.
         
         Vertical space
        @@ -7761,7 +8676,7 @@ Vertical space
         \hspace\hfillSpaces
         
        \hspace -\hspace +\hspace Synopsis: @@ -7780,7 +8695,7 @@ space is like backspacing. Normally when &tex; breaks a paragraph into lines it discards white space (glues and kerns) that would come at the start of a line, so you get an inter-word space or a line break between words but not both. This -command&textrsquo;s starred version \hspace*{..} puts a non-discardable +command&textrsquo;s starred version \hspace*{...} puts a non-discardable invisible item in front of the space, so the space appears in the output. @@ -7796,28 +8711,28 @@ from the right margin. \hfill\(SPACE) and \&arobase;\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 CS\hfillSpaces +\(SPACE) and \&arobase;\(SPACE) after control sequence\hfillSpaces
        \(SPACE) and \&arobase; -\(SPACE) -\TAB -\NEWLINE -\&arobase; +\(SPACE) +\TAB +\NEWLINE +\&arobase; \AT Mark a punctuation character, typically a period, as either ending a @@ -7830,7 +8745,7 @@ colon) more than the space between words 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 intersentence space +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 @@ -7839,76 +8754,56 @@ 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 other use of \ , see also \(SPACE) after CS. +For another use of \ , \(SPACE) after control sequence. In the opposite situation, if you have a capital letter followed by a -period that ends the sentence, then put \&arobase; on the left of that -period. For example, book by the MAA\&arobase;. will have intersentence +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. -In contrast, putting \&arobase; on the right of 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). +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). +
        -\(SPACE) after CS\frenchspacing\(SPACE) and \&arobase;Spaces -
        \ after a control sequence +\(SPACE) after control sequence\frenchspacing\(SPACE) and \&arobase;Spaces +
        \ after control sequence -The \ command is often used after control sequences to keep them -from gobbling the space that follows, as in \TeX\ is a nice -system. And, under normal circumstances \tab and -\newline are equivalent to \ . For other use of +The \ command is often used after control sequences to keep +them from gobbling the space that follows, as in \TeX\ is nice. +And, under normal circumstances, \tab and +\newline are equivalent to \ . For another use of \ , see also \(SPACE) and \&arobase;. Some people prefer to use {} for the same purpose, as in -\TeX{} is a nice system. This has the advantage that you can -always write it the same way, like \TeX{}, whether it is -followed by a space or by a punctuation mark. Please compare: +\TeX{} is nice. This has the advantage that you can always +write it the same way, namely \TeX{}, whether it is followed +by a space or by a punctuation mark. Compare:
        \TeX\ is a nice system. \TeX, a nice system.&linebreak;
         \TeX{} is a nice system. \TeX{}, a nice system.
         
        - -When you define user commands (\newcommand & \renewcommand) you -can prevent the space gobbling after the command by using the package -xspace and inserting \xspace at the end of the definition -For instance: - -
        \documentclass{minimal}
        -\usepackage{xspace}
        -\newcommand*{\Loup}{Grand Cric\xspace}
        -\begin{document}
        -Que le \Loup me croque !
        -\end{document}
        -
        - -A quick hack to use \xspace for existing command is as follows: - -
        \documentclass{minimal}
        -\usepackage{xspace}
        -\newcommand*{\SansXspaceTeX}{}
        -\let\SansXspaceTeX\TeX
        -\renewcommand{\TeX}{\SansXspaceTeX\xspace}
        -\begin{document}
        -\TeX is a nice system.
        -\end{document}
        -
        - +package, xspace +xspace package +Some individual commands, notably those defined with the xspace, +package do not follow the standard behavior. +
        -\frenchspacing\thinspace\(SPACE) after CSSpaces +\frenchspacing\thinspace\(SPACE) after control sequenceSpaces
        \frenchspacing -\frenchspacing -\nonfrenchspacing -spacing, intersentence +\frenchspacing +\nonfrenchspacing +spacing, inter-sentence This declaration (from Plain &tex;) causes &latex; to treat -intersentence spacing in the same way as interword spacing. +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 @@ -7922,7 +8817,7 @@ declaration, all spaces are instead treated equally. \thinspace\/\frenchspacingSpaces
        \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 @@ -7933,8 +8828,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. @@ -8201,21 +9097,27 @@ argument. lrbox\makebox\fbox and \frameboxBoxes
        lrbox -lrbox +lrbox -\begin{lrbox}{cmd} text \end{lrbox} +Synopsis: -This is the environment form of \sbox. + +
        \begin{lrbox}{\cmd} 
        +  text 
        +\end{lrbox}
        +
        + +This is the environment form of \sbox\sbox. -The text inside the environment is saved in the box cmd, which -must have been declared with \newsavebox. +The text inside the environment is saved in the box \cmd, +which must have been declared with \newsavebox.
        \makebox\parboxlrboxBoxes
        \makebox -\makebox +\makebox Synopsis: @@ -8249,7 +9151,7 @@ stretchable space for this to work. \parbox\raisebox\makeboxBoxes
        \parbox -\parbox +\parbox Synopsis: @@ -8274,9 +9176,13 @@ containing a paragraph-making environment, you should use a the text that goes inside the parbox. -The optional position argument allows you to align either the -top or bottom line in the parbox with the baseline of the surrounding -text (default is top). +By default &latex; will position vertically a parbox so its center +lines up with the center of the surrounding text line. When the +optional position argument is present and equal either to t +or b, this allows you respectively to align either the top or +bottom line in the parbox with the baseline of the surrounding text. You +may also specify m for position to get the default +behaviour. The optional height argument overrides the natural height of the box. @@ -8300,12 +9206,12 @@ for this to work. \raisebox\savebox\parboxBoxes
        \raisebox -\raisebox +\raisebox Synopsis: -
        \raisebox{distance}[height][depth]{text}
        +
        \raisebox{distance}[height][depth]{text}
         
        The \raisebox command raises or lowers text. The first @@ -8313,9 +9219,9 @@ mandatory argument specifies how high text is to be raised (or lowered if it is a negative amount). text itself is processed in LR mode. -The optional arguments height and depth are dimensions. -If they are specified, &latex; treats text as extending a -certain distance above the baseline (height) or below (depth), +The optional arguments height and depth are dimensions. If +they are specified, &latex; treats text as extending a certain +distance above the baseline (height) or below (depth), ignoring its natural height and depth. @@ -8323,7 +9229,7 @@ ignoring its natural height and depth. \savebox\sbox\raiseboxBoxes
        \savebox -\savebox +\savebox Synopsis: @@ -8341,7 +9247,7 @@ declared with \newsavebox (\sbox\usebox\saveboxBoxes
        \sbox{\boxcmd}{text} -\sbox +\sbox Synopsis: @@ -8360,7 +9266,7 @@ included in the normal output, it is saved in the box labeled \usebox\sboxBoxes
        \usebox{\boxcmd} -\usebox +\usebox Synopsis: @@ -8377,366 +9283,393 @@ included in the normal output, it is saved in the box labeled Special insertionsSplitting the inputBoxesTop Special insertions -special insertions -insertions of special characters +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 # $ % & ~ _ ^ \ { }
        -
        Text symbols
        Inserting other non-letter symbols in text.
        -
        Accents
        Inserting accents.
        -
        Non-English characters
        Inserting other non-English characters.
        -
        \rule
        Inserting lines and rectangles.
        -
        \today
        Inserting today&textrsquo;s date.
        +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.
         
        -Reserved charactersText symbolsSpecial insertions +Reserved charactersSymbols by font positionSpecial insertions
        Reserved characters -reserved characters -characters, reserved - -The following characters play a special role in &latex; and are called -&textldquo;reserved characters&textrdquo; or &textldquo;special characters&textrdquo;. +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. -
        # $ % & ~ _ ^ \ { }
        +
        # $ % & { } _ ~ ^ \ 
         
        -\# -\$ -\% -\& -\_ -\{ -\} -Whenever you write one of these characters into your file, &latex; -will do something special. If you simply want the character to be -printed as itself, include a \ in front of the character. For -example, \$ will produce $ in your output. +\# +\$ +\% +\& +\_ +\{ +\} +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{}. -\backslash -One exception to this rule is \ itself, because \\ has -its own special (context-dependent) meaning. A roman \ is produced by -typing $\backslash$ in your file, and a typewriter \ is -produced by using \ in a verbatim command (verbatim). +To produce the reserved characters in a typewriter font use +\verb!!, as below. -\~ -\^ -Also, \~ and \^ place tilde and circumflex accents over -the following letter, as in o and o (Accents); to get -a standalone ~ or ^, you can again use a verbatim -command. + +
        \begin{center}
        +  \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \\
        +  \verb!# $ % & { } _ ~ ^ \!
        +\end{center}
        +
        + +In that example the double backslash \\ is only there to +split the lines. -\symbol -accessing any character of a font -Finally, you can access any character of the current font once you -know its number by using 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}. +
        +Symbols by font positionText symbolsReserved charactersSpecial 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 octal numbers with ' or hexadecimal numbers -with ", so the previous example could also be written as -\symbol{'40} or \symbol{"20}. +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 symbolsAccentsReserved charactersSpecial insertions +Text symbolsAccentsSymbols by font positionSpecial insertions
        Text symbols -text symbols -symbols, text +text symbols +symbols, text -textcomp package +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 +\copyright\copyright +\textcopyright\textcopyright +copyright symbol The copyright symbol, ©right;. -\dag\dag -dagger, in text +\dag\dag +dagger, in text The dagger symbol (in text). -\ddag\ddag -double dagger, in text +\ddag\ddag +double dagger, in text The double dagger symbol (in text). -\LaTeX\LaTeX -&latex; logo -logo, &latex; +\LaTeX\LaTeX +&latex; logo +logo, &latex; The &latex; logo. -\LaTeXe\LaTeXe -&latex;2e logo -logo, &latex;2e +\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 +\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 +\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 +\lq\lq +left quote +opening quote Left (opening) quote: &textlsquo;. -\P\P -\textparagraph\textparagraph -paragraph symbol -pilcrow -Paragraph sign (pilcrow). +\P\P +\textparagraph\textparagraph +paragraph symbol +pilcrow +Paragraph sign (pilcrow): 00B6. -\pounds\pounds -\textsterling\textsterling -pounds symbol -sterling symbol +\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 +\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 +\rq\rq +right quote +closing quote Right (closing) quote: &textrsquo;. -\S\S -section symbol -Section symbol. +\S\S +\itemx \textsection +section symbol +Section sign: 00A7. -\TeX\TeX -&tex; logo -logo, &tex; +\TeX\TeX +&tex; logo +logo, &tex; The &tex; logo. -\textasciicircum\textasciicircum -circumflex, ASCII, in text -ASCII circumflex, in text +\textasciicircum\textasciicircum +circumflex, ASCII, in text +ASCII circumflex, in text ASCII circumflex: ^. -\textasciitilde\textasciitilde -tilde, ASCII, in text -ASCII tilde, in text +\textasciitilde\textasciitilde +tilde, ASCII, in text +ASCII tilde, in text ASCII tilde: ~. -\textasteriskcentered\textasteriskcentered -asterisk, centered, in text -centered asterisk, in text +\textasteriskcentered\textasteriskcentered +asterisk, centered, in text +centered asterisk, in text Centered asterisk: *. -\textbackslash\textbackslash -backslash, in text +\textbackslash\textbackslash +backslash, in text Backslash: \. -\textbar\textbar -vertical bar, in text -bar, vertical, in text +\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 +\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 +\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 +\textbraceleft\textbraceleft +left brace, in text +brace, left, in text Left brace: {. -\textbraceright\textbraceright -right brace, in text -brace, right, in text +\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 -\textcapitalwordmark\textcapitalwordmark -\textascenderwordmark\textascenderwordmark -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 -Centered period: \cdot. +\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;. -\textquotestraightbase\textquotestraightbase -\textquotestraightdblbase\textquotestraightdblbase -quote, straight base -straight quote, base -double quote, straight base -straight double quote, base +\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 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 -Trademark symbol: ^{\hbox{TM}}. +\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.
        -AccentsNon-English charactersText symbolsSpecial insertions +AccentsAdditional Latin lettersText symbolsSpecial insertions
        Accents -accents -characters, accented -letters, accented +accents +characters, accented +letters, accented -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 @@ -8748,134 +9681,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 +\&textrsquo; (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 +\&textlsquo; (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 @@ -8884,115 +9817,125 @@ 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;.
        -Non-English characters\ruleAccentsSpecial insertions -
        Non-English characters +Additional Latin letters\ruleAccentsSpecial insertions +
        Additional Latin letters -special characters -non-English characters -characters, non-English -letters, non-English +Non-English characters +Latin letters, additional +letters, additional Latin +extended Latin +special characters +non-English characters +characters, non-English -Here are the basic &latex; commands for inserting characters commonly -used in languages other than English. +Here are the basic &latex; commands for inserting letters (beyond +A&textndash;Z) extending the Latin alphabet, used primarily in languages other +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 -Icelandic letter eth: ð and Ð. +\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 -Crossed d and D, a.k.a.&noeos; capital and small letter d with stroke. +\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 -Latin letter eng, also used in phonetics. +\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 -Icelandic letter thorn: þ and Þ. +\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.
        -\rule\todayNon-English charactersSpecial insertions +\rule\todayAdditional Latin lettersSpecial insertions
        \rule -\rule +\rule Synopsis: @@ -9019,16 +9962,30 @@ 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, &textlsquo;July 4, 1976&textrsquo;. +month dd, yyyy; for example, July 4, 1976. It uses the predefined counters \day, \month, and \year (\day \month \year) to do this. It is not updated as the program runs. -datetime package +Multilingual packages like babel or classes like lettre, +among others, will localize \today. For example, the following +will output 4 juillet 1976: + + +
        \year=1976 \month=7 \day=4
        +\documentclass{minimal}
        +\usepackage[french]{babel}
        +\begin{document}
        +\today
        +\end{document}
        +
        + +package, datetime +datetime package The datetime package, among others, can produce a wide variety of other date formats. @@ -9038,13 +9995,16 @@ 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; it is the one whose name you type +there is one that is the +root file +file, root +root file; it is the one whose name you type when you run &latex;. filecontents, for an environment that allows bundling an @@ -9060,7 +10020,7 @@ external file to be created with the main document. \include\includeonlySplitting the input
        \include -\include +\include Synopsis: @@ -9075,9 +10035,9 @@ command executes \clearpage to start a new page Given an \includeonly command, the \include actions are only run if file is listed as an argument to -\includeonly. See the next section. +\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. @@ -9086,7 +10046,7 @@ read by another \include command. \includeonly\input\includeSplitting the input
        \includeonly -\includeonly +\includeonly Synopsis: @@ -9096,9 +10056,9 @@ read by another \include command. The \includeonly command controls which files will be read by subsequent \include commands. The list of filenames is -comma-separated. Each file must exactly match a filename -specified in a \include command for the selection to be -effective. +comma-separated. Each element file1, file2, &dots; must +exactly match a filename specified in a \include command for the +selection to be effective. This command can only appear in the preamble. @@ -9107,7 +10067,7 @@ effective. \input\includeonlySplitting the input
        \input -\input +\input Synopsis: @@ -9140,10 +10100,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 @@ -9154,16 +10114,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. @@ -9176,11 +10136,17 @@ as for the table of contents. \addcontentsline\addtocontentsTables of contents \addcontentsline -\addcontentsline{ext}{unit}{text} -table of contents entry, manually adding +\addcontentsline +table of contents entry, manually adding + +Synopsis: + + +
        \addcontentsline{ext}{unit}{text}
        +
        -The \addcontentsline{ext}{unit}{text} -command adds an entry to the specified list or table where: +The \addcontentsline command adds an entry to the specified list +or table where: ext @@ -9197,18 +10163,19 @@ following, matching the value of the ext argument: The name of the sectional unit: part, chapter, section, subsection, subsubsection. lof -For the list of figures. +For the list of figures: figure. lot -For the list of tables. +For the list of tables: table.
        -entry +text The text of the entry. -\contentsline -What is written to the .ext file is the -command \contentsline{unit}{name}. +\contentsline +What is written to the .ext file is the command +\contentsline{unit}{text}{num}, where +num is the current value of counter unit. @@ -9217,7 +10184,7 @@ command \contentsline{unit}{name\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 @@ -9239,22 +10206,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. @@ -9263,37 +10230,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 with the .idx extension. +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 @@ -9301,23 +10268,26 @@ multi-lingual) xindy (http://xindy.sourceforge. This results in a .ind file, which can then be read to typeset the index. -printindex -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. -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. -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. @@ -9328,8 +10298,8 @@ preparing the index. LettersTerminal input/outputFront/back matterTop Letters -letters, writing -writing letters +letters, writing +writing letters Synopsis: @@ -9343,7 +10313,7 @@ preparing the index. letter body \closing{closing text} \end{letter} - ... more letters ... +... more letters ... \end{document}
        @@ -9372,15 +10342,15 @@ backslash (\\). &latex; will put the sender name under the closing, after a vertical space for the traditional hand-written signature; it also can contain multiple lines. -Each letter environment begins with a required \opening command +Each letter environment body begins with a required \opening command such as \opening{Dear Madam or Sir:}. The letter body -text is ordinary &latex; so it can contain everything from from +text is ordinary &latex; so it can contain everything from enumerated lists to displayed math, except that commands such as \chapter that make no sense in a letter are turned off. Each -letter environment typically ends with a \closing command such as -\closing{Yours,}. +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 @@ -9435,7 +10405,7 @@ I am not interested in entering a business arrangement with you. \address\ccLetters
        \address -\address +\address Synopsis: @@ -9469,20 +10439,20 @@ formatted as a personal letter. \cc\closing\addressLetters
        \cc -\cc -cc list, in letters +\cc +cc list, in letters Synopsis:
        \cc{first name \\ 
        -    .. }
        +     ... }
         
        Produce a list of names to which copies of the letter were sent. This command is optional. If it appears then typically it comes after \closing. Separate multiple lines with a double -backslash \\. +backslash \\, as in:
        \cc{President \\
        @@ -9494,14 +10464,14 @@ backslash \\.
         \closing\encl\ccLetters
         
        \closing -\closing -letters, ending -closing letters +\closing +letters, ending +closing letters Synopsis: -
        \closing{text}
        +
        \closing{text}
         
        Usually at the end of a letter, above the handwritten signature, there @@ -9516,14 +10486,14 @@ is a \closing (although this command is optional). For example, \encl\location\closingLetters
        \encl -\encl -enclosure list +\encl +enclosure list Synopsis:
        \encl{first enclosed object \\ 
        -      .. }
        +       ... }
         
        Produce a list of things included with the letter. This command is @@ -9540,7 +10510,7 @@ Separate multiple lines with a double backslash \\. \location\makelabels\enclLetters
        \location -\location +\location Synopsis: @@ -9556,7 +10526,7 @@ appears if the page style is firstpage. \makelabels\name\locationLetters
        \makelabels -\makelabels +\makelabels Synopsis: @@ -9580,11 +10550,13 @@ address). The sender address is the value returned by the macro in the argument to the letter environment. By default \mlabel ignores the first argument, the sender address. + +
        \name\opening\makelabelsLetters
        \name -\name +\name Synopsis: @@ -9600,8 +10572,8 @@ return address. \opening\ps\nameLetters
        \opening -\opening -letters, starting +\opening +letters, starting Synopsis: @@ -9610,7 +10582,7 @@ return address.
        This command is required. It starts a letter, following the -\begin{letter}{..}. The mandatory argument text is the +\begin{letter}{...}. The mandatory argument text is the text that starts your letter. For instance: @@ -9621,8 +10593,8 @@ text that starts your letter. For instance:
        \ps\signature\openingLetters
        \ps -\ps -postscript, in letters +\ps +postscript, in letters Synopsis: @@ -9634,7 +10606,7 @@ text that starts your letter. For instance: \closing. -
        \ps{P.S.  After you have read this letter, burn it. Or eat it.}
        +
        \ps{P.S. After you have read this letter, burn it. Or eat it.}
         
        @@ -9646,10 +10618,10 @@ text that starts your letter. For instance:
        \signature{first line \\
        -            .. }
        +            ... }
         
        -\signature +\signature The sender&textrsquo;s name. This command is optional, although its inclusion is usual. @@ -9700,7 +10672,7 @@ preamble). \telephone\signatureLetters
        \telephone -\telephone +\telephone Synopsis: @@ -9719,8 +10691,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.
        @@ -9731,19 +10703,19 @@ page.
         \typein\typeoutTerminal input/output
         
        \typein[cmd]{msg} -\typein +\typein Synopsis: -
        \typein[\cmd]{msg}
        +
        \typein[\cmd]{msg}
         
        \typein prints msg on the terminal and causes &latex; to stop and wait for you to type a line of input, ending with return. If -the optional \cmd argument is omitted, the typed input is +the optional \cmd argument is omitted, the typed input is processed as if it had been included in the input file in place of the -\typein command. If the \cmd argument is present, it +\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. @@ -9752,7 +10724,7 @@ redefined to be the typed input. \typeout\typeinTerminal input/output
        \typeout{msg} -\typeout +\typeout Synopsis: @@ -9777,9 +10749,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 @@ -9791,14 +10763,14 @@ error:
        latex '\nonstopmode\input foo.tex'
         
        -&textndash;help command-line option +&textndash;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. @@ -9810,8 +10782,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 @@ -9827,8 +10799,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: @@ -9865,7 +10837,7 @@ array of features, but here is a basic template: book templatetugboat templatebeamer templateDocument templates
        book template -template, book +template, book \documentclass{book} @@ -9891,15 +10863,16 @@ 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. \documentclass{ltugboat} + \usepackage{graphicx} \usepackage{ifpdf} \ifpdf @@ -9908,6 +10881,8 @@ The end. \usepackage{url} \fi +%%% Start of metadata %%% + \title{Example \TUB\ article} % repeat info for each author. @@ -9916,51 +10891,56 @@ The end. \netaddress{user (at) example dot org} \personalURL{http://example.org/~user/} +%%% End of metadata %%% + \begin{document} \maketitle \begin{abstract} This is an example article for \TUB{}. +Please write an abstract. \end{abstract} \section{Introduction} -This is an example article for \TUB, from +This is an example article for \TUB, linked from \url{http://tug.org/TUGboat/location.html}. We recommend the \texttt{graphicx} package for image inclusions, and the -\texttt{hyperref} package for active urls in the \acro{PDF} output. -Nowadays \TUB\ is produced using \acro{PDF} files exclusively. - -The \texttt{ltugboat} class provides these abbreviations and many more: +\texttt{hyperref} package if active urls are desired (in the \acro{PDF} +output). Nowadays \TUB\ is produced using \acro{PDF} files exclusively. +The \texttt{ltugboat} class provides these abbreviations (and many more): % verbatim blocks are often better in \small \begin{verbatim}[\small] \AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW \BibTeX \CTAN \DTD \HTML \ISBN \ISSN \LaTeXe -\Mc \mf \MFB \mtex \PCTeX \pcTeX -\PiC \PiCTeX \plain \POBox \PS -\SC \SGML \SliTeX \TANGLE \TB \TP +\mf \MFB +\plain \POBox \PS +\SGML \TANGLE \TB \TP \TUB \TUG \tug -\UG \UNIX \VAX \XeT \WEB \WEAVE +\UNIX \XeT \WEB \WEAVE -\Dash \dash \vellipsis \bull \cents \Dag -\careof \thinskip +\, \bull \Dash \dash \hyph \acro{FRED} -> {\small[er] fred} % please use! \cs{fred} -> \fred -\env{fred} -> \begin{fred} \meta{fred} -> <fred> \nth{n} -> 1st, 2nd, ... \sfrac{3/4} -> 3/4 \booktitle{Book of Fred} \end{verbatim} -For more information, see the ltubguid document at: -\url{http://mirror.ctan.org/macros/latex/contrib/tugboat} -(we recommend using \verb|mirror.ctan.org| for \CTAN\ references). +For references to other \TUB\ issue, please use the format +\textsl{volno:issno}, e.g., ``\TUB\ 32:1'' for our \nth{100} issue. + +This file is just a template. The \TUB\ style documentation is the +\texttt{ltubguid} document at \url{http://ctan.org/pkg/tugboat}. (For +\CTAN\ references, where sensible we recommend that form of url, using +\texttt{/pkg/}; or, if you need to refer to a specific file location, +\texttt{http://mirror.ctan.org/\textsl{path}}.) Email \verb|tugboat@tug.org| if problems or questions. diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ltx-help.el b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ltx-help.el index 9fefecb88c1..0b48d680e1b 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ltx-help.el +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ltx-help.el @@ -128,18 +128,27 @@ ;; Thu Apr 25 2013 Mandar Mitra (mandar.mitra@gmail.com) ;; Using with (for example) "array" goes to the top node ;; of latex2e.info instead of the intended node. +;; +;; Thu Dec 3 2015 Kevin Ryde (user42_kevin@yahoo.com.au) +;; * latex-help-get-cmd-alist don't take \:: as double-colon style index, +;; and allow "(line 123)" at the end of recent makeinfo output. +;; * Use buffer-substring-no-properties when exists (does in XEmacs 21.4). ;;; Code: (require 'info) -(if (string-match "XEmacs\\|Lucid" emacs-version) - ; XEmacs - (fset 'ltxh-buffer-substring (symbol-function 'buffer-substring)) - ; FSFmacs - (fset 'ltxh-buffer-substring (symbol-function 'buffer-substring-no-properties))) +(defalias 'ltxh-buffer-substring + (if (fboundp 'buffer-substring-no-properties) ;; when available + 'buffer-substring-no-properties + 'buffer-substring)) -(defvar latex-help-file "(latex2e)") +(defcustom latex-help-file "(latex2e)" + "Select the LaTeX2e non official reference manual translation." + :type '(choice + (string :tag "English" "(latex2e)") + (string :tag "French" "(latex2e-fr)") + (string :tag "Spanish" "(latex2e-es)") )) (defvar latex-help-split-window nil "*When this is non-nil, `latex-help' will always pop up the info @@ -259,7 +268,7 @@ The values are saved in `latex-help-cmd-alist' for speed." (save-window-excursion (setq latex-help-cmd-alist nil) (Info-goto-node (concat latex-help-file "Command Index")) - (if (search-forward "::" nil t) + (if (re-search-forward "::$" nil t) (progn (end-of-buffer) (while (re-search-backward "^\\* \\(.+\\)::$" nil t) @@ -267,7 +276,7 @@ The values are saved in `latex-help-cmd-alist' for speed." (setq latex-help-cmd-alist (cons (cons key key) latex-help-cmd-alist)))) (end-of-buffer) - (while (re-search-backward "^\\* \\(.+\\): *\\(.+\\)\\.$" nil t) + (while (re-search-backward "^\\* \\(.+\\): *\\(.+\\)\\." nil t) (setq key (ltxh-buffer-substring (match-beginning 1) (match-end 1))) (setq value (ltxh-buffer-substring (match-beginning 2) (match-end 2))) (setq latex-help-cmd-alist -- cgit v1.2.3