From f68a915f164bf116f1bb31ab3e1d9f5b94824e29 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 25 Oct 2015 22:35:59 +0000 Subject: latex2e-help-texinfo (25oct15) git-svn-id: svn://tug.org/texlive/trunk@38709 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/latex2e-help-texinfo/ChangeLog | 777 +- .../doc/latex/latex2e-help-texinfo/Makefile | 33 +- .../texmf-dist/doc/latex/latex2e-help-texinfo/NEWS | 11 +- .../doc/latex/latex2e-help-texinfo/README | 2 +- .../doc/latex/latex2e-help-texinfo/aspell.en.pws | 4 + .../doc/latex/latex2e-help-texinfo/latex2e.dbk | 4950 ++++++++---- .../doc/latex/latex2e-help-texinfo/latex2e.html | 5907 +++++++++++---- .../doc/latex/latex2e-help-texinfo/latex2e.pdf | Bin 696267 -> 784210 bytes .../doc/latex/latex2e-help-texinfo/latex2e.texi | 5183 +++++++++---- .../doc/latex/latex2e-help-texinfo/latex2e.txt | 7305 +++++++++++------- .../doc/latex/latex2e-help-texinfo/latex2e.xml | 7885 +++++++++++++------- 11 files changed, 22233 insertions(+), 9824 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 8631bf40d6f..fcf49d6c6f3 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog @@ -1,10 +1,783 @@ +2015-10-25 Jim Hefferon + + * Correct errors reported by CTAN, including my lack + of a SVN $Id tag for the README. + +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. + + * Makefile (distzip): the phony target was not doing the recipies; + changed name of a variable to distzip. + +2015-10-12 Karl Berry + + * Makefile (dist): remove spanish stuff, just do english. + +2015-10-12 Jim Hefferon + + * latex2e.texi (Footnotes): Add remark that getting biblio + references in footnotes depends on the bibliographic style. + +2015-10-11 Vincent Belaïche + + * latex2e-fr.texi (Page breaking): Translate menu entries + (\cleardoublepage, \clearpage, \newpage, \enlargethispage) + (\pagebreak & \nopagebreak): Translate these nodes + (Footnotes, \footnote, \footnotemark, \footnotetext) + (Footnotes in a table, Footnotes in section headings): Take into + account Jim's edits of 2015-10-09, 2015-10-04, 2015-10-03, & + 2015-09-29. + + * latex2e.texi (\cleardoublepage, \clearpage): Clarify that only + pending floating tables & figures are cleared. + (\newpage): `see @code{\clearpage} above' -> `@pxref{\clearpage}' + (Footnotes): Make the exact quotation of Noël Coward, and correct + his first name spelling. + +2015-10-11 Jim Hefferon + + * latex2e.texi (Multiple references to a footnote): Add this node. + Adjust related nodes. + +2015-10-11 Jim Hefferon + + * latex2e.texi (Footnotes of footnotes): Add this node. + +2015-10-10 Jim Hefferon + + * latex2e.texi (\makelabels): Add more on how to customize + label sizes, etc. + +2015-10-09 Vincent Belaïche + + * latex2e-fr.texi (Environments): Merge menu entries for nodes + quote & quotations after Jim's edits of 2015-09-28 + (quotation and quote): Merge nodes quote & quotations after Jim's + edits of 2015-09-28 + (tabbing): Translate this node. + +2015-10-09 Jim Hefferon + + * latex2e.texi (Footnotes in a section heading): Add node, + provide examples. + +2015-10-08 Vincent Belaïche + + * latex2e.texi (\makelabels): @var{...}-ify argument 'to addess', + and @code{...}-ify class name. + (\signature): Improve wording. Remove spurious space before '\\' + in the \signature example with picture. + + * latex2e-fr.texi (Low-level font commands): typo. + (\item): typo. + (Letters): Translate from Jim's updates. + (Letters): Remove menu entries for \startbreaks & stopbreaks, as + per Jim's update. + (\makelabels): Translate from Jim's updates and improve text + significantly. + (\name): Translate this node. + (\opening): Translate this node. + (\ps): Add synopsis, as per Jim's update. + (\signature): Translate this node. + (\startbreaks, \stopbreaks): Remove nodes \startbreaks & + stopbreaks, as per Jim's update. + (\telephone): Take into account Jim's updates. + +2015-10-04 Jim Hefferon + + * latex2e.texi (Footnotes in a table): Provide examples. + Fold minipage discussion into opening. + +2015-10-03 Jim Hefferon + + * latex2e.texi (Footnotes, Footnotes in a table): Provide examples. + This is a confusing topic. + +2015-09-29 Jim Hefferon + + * latex2e.texi (Footnotes): Provide examples. + +2015-09-28 Jim Hefferon + + * latex2e.texi (\quotation and \quote): Combine the two, + contrast them, provide example. + +2015-09-27 Jim Hefferon + + * latex2e.texi (Letters): \opening is required. + +2015-09-26 Jim Hefferon + + * latex2e.texi (\makelabel): Reword, add examples. Omit \stopbreaks + and \startbreaks as those are not user-directed commands. + +2015-09-25 Jim Hefferon + + * latex2e.texi (\signature): Reword, add examples. + +2015-09-23 Jim Hefferon + + * latex2e.texi (Letters \address, \closing, \location): Add examples. + The intent of \location is hard to understand; for Willy the Mailboy? + +2015-09-23 Jim Hefferon + + * latex2e.texi (Letters): Add synopsis, examples. + +2015-09-22 Vincent Belaïche + + * latex2e-fr.texi (filecontents): Add Jim's 2015-09-18 (r439) edits. + (\addvspace): Add Jim's 2015-09-13 (r432) edits. + (\vspace): Translate this node. + + * latex2e.texi (filecontents): Use `write' instead of `create' also in concept index. Improve wording + + + * latex2e{,-es,-fr}.texi: Improve Emacs cookie to force LF eol + + * latex2e{,-es,-fr}.{dbk,html,info,txt,xml}: Set svn property svn:eol-style to LF + + * latex2e-{es,fr}.{dbk,html,info,txt,xml}: Compile these files + again, because of eol problem. + +2015-09-21 Vincent Belaïche + + * latex2e-{es,fr}.{dbk,dvi,html,info,pdf,txt,xml}: Compile these files + + * latex2e-fr.texi (\addvspace): typo. + +2015-09-18 Jim Hefferon + + * latex2e.texi (filecontents): Corrections suggested by JB. + +2015-09-17 Vincent Belaïche + + * ChangeLog: Correct typo on Jim's surname Hefferson->Hefferon. + + * latex2e.texi (Subscripts & superscripts): typo sub->super. Improve wording. + (\hrulefill \dotfill): Use `@dmn{...}' rather than + `@tie{}...' for the spacing to unit. + + * latex2e-fr.texi (\newline): Translate this node. + (figure): place \label after caption, following Jim's 2015-09-11 + change. + (Subscripts & superscripts): translate Jim's 2015-09-15 update. + (\hrulefill \dotfill) Merge nodes \hrulefill and \dotfill, and + take Jim's 2015-09-13 additions + +2015-09-15 Jim Hefferon + + * latex2e.texi (Subscripts & superscripts): Add examples. + +2015-09-15 Vincent Belaïche + + * latex2e.texi (Starting and ending): Add @cindex environment + (Spaces, \(SPACE) and \@@, \(SPACE) after CS): Move text how to + control space gobbling after a control sequence from node + `\(SPACE) and \@@' to a new node `\(SPACE) after CS', and add more + tricks to do that. + + * latex2e-fr.texi (Starting and ending) + (Spaces, \(SPACE) and \@@, \(SPACE) after CS)(Spaces): Same + changes as for latex2e.texi. + (Overview): add @: after some abbrev ending periods. + (Font styles): Follow Karl's changes of + 2015-04-26, "deux choses très différentes"->"deux constructions + sans relation l'une avec l'autre" + (Starting and ending): Follows Karl's change of 2015-04-26 + (\- (hyphenation)): Translate this node. + (\noindent): Follow Jim's changes of 2015-09-14: example + how to + suppress indentation in a whole document. + (Spaces, \@@, \(SPACE)): rename node \AT->\@@ following Karl's + change of 2015-05-05, and \SPACE->(SPACE) following Jim's change + of 2015-09-08. + (\frenchspacing) Add new nodes, following Jim's edits of 2015-09-12. + (beamer template, book template): Follow Karl's changes of + 2015-04-26: transpose to make alphabetical. + (beamer template, tugboat template, beamer template): Translate + these nodes. + (Command line): Follow Karl's changes of 2015-04-26: xref TeX + engines, --help, etc. + (eqnarray): Follows Karl's change 2015-04-26 `much + like'->`similar', plus typo. + + +2015-09-14 Jim Hefferon + + * latex2e.texi (\noindent): Add example. + +2015-09-14 Vincent Belaïche + + * latex2e.texi (Spacing in math mode): Add missing @findex entries + for \thickspace, \medspace & \thinspace. Typo tht->that. + + * latex2e-fr.texi (Units of length, Spacing in math mode): + Translate these nodes, move the math spacing to the `Spacing in + math mode' node, following the Jim's 2015-09-06 change. + +2015-09-13 Jim Hefferon + + * latex2e.texi (\hrulefill \dotfill): Add example, merge the + two nodes. + +2015-09-13 Jim Hefferon + + * latex2e.texi (\addvspace): Add explanation, and link to + Lengths. + +2015-09-12 Jim Hefferon + + * latex2e.texi (\vspace, \vfill): Add wording and example to + each node. + +2015-09-12 Jim Hefferon + + * latex2e.texi (\frenchspacing): Move node to Spacing. + +2015-09-12 Jim Hefferon + + * latex2e.texi (\frenchspacing): Add this node. + +2015-09-11 Jim Hefferon + + * latex2e.texi (\newline): Add description of what happens in + a table. Add example. + +2015-09-11 Jim Hefferon + + * latex2e.texi (\\): Split \\ from \\*. Mention + \newline. Add example. + +2015-09-09 Jim Hefferon + + * latex2e.texi (\(SPACE) and \@): Combine the two nodes. Include + description of \@ both before and after a period. + +2015-09-08 Jim Hefferon + + * latex2e.texi (\(SPACE)): Extend explanation. Change name to + include the parens (possible a newbie would type \SPACE?) + +2015-09-07 Jim Hefferon + + * latex2e.texi (Lengths, \hspace): Give a definition of rigid + and rubber lengths, and of infinite stretchability. Adjust + definition of \hspace to not use square braces as metacharacter. + +2015-09-06 Jim Hefferon + + * latex2e.texi (Spacing in math mode): Move math mode lengths + to here and add whether they work also in text mode. + +2015-09-04 Vincent Belaïche + + * latex2e-fr.texi: Add macroes BES & BESU to support compilation of math symbols with texi2pdf. + (Symbolic footnotes): Complete translation of this node + (Making paragraphs): typo ligne->lignes. + (Marginal notes): Translate this node. + (Math formulas): Translate this node. + (Subscripts & superscripts): Translate this node. + (Math symbols): Initiate translation of this node (not yet complete...). + (Spacing in math mode): Translate section title. + (\thispagestyle): Translate this node. + (Spaces): typo, change gender of word `espace' (feminine instead + of masculine as far as spacing is concerned). + + * latex2e.texi: Add macroes BES & BESU to support compilation of math symbols with texi2pdf. + (Math symbols): typo succceeds-> succeeds, (symbols \succ & \succeq). + (Marginal notes): Add reference to Document class options as far + as one-sided, two-sided and two-column layouts are concerned. + (Subscripts & superscripts): Use @var{...} instead of @i{...} for argument `exp'. + (Math symbols): Use macros BES and BESU in roder to fix broken texi2pdf compilation. + (Math symbols): typo operatior->operator (symbols \cap, \circ, \cup, \bigodot, \oplus, \otimes + (Math symbols): symbol \varsigma : variant \pi->\sigma ; symbol \vartheta : variant \pi->\vartheta. + (\makebox): reword is specified->can be overriden, because width is optional. + (\makebox): @code{...}-ify environment name picture. + +2015-08-29 Vincent Belaïche + + * latex2e-fr.texi (\linethickness): Typo. + (\thicklines, \thinlines, \shortstack, \/, \hrulefill) + (\bigskip \medskip \smallskip, tabular, Lengths, \dotfill, \addvspace): Translate this node. + (table): Typo. + (Units of length): Add this node from Jim's 2015-08-26 edits. + + * latex2e.texi (Lengths): Make `length' a @dfn{...} rather than a @code{...}. + (Units of length): add concept index entries `ex' and `m-width' + (\addvspace): @var{...}-ify word `length'. + + +2015-08-27 Vincent Belaïche + + * latex2e.texi (Units of length): Use `@dmn{...}' rather than + `@tie{}...' in new node added by Jim. + +2015-08-26 Jim Hefferon + + * latex2e.texi (Units of length): Add new node in Lengths. + +2015-08-25 Vincent Belaïche + + * latex2e.texi (tabular): typo : horozontal->horizontal. + +2015-08-24 Vincent Belaïche + + * latex2e.texi (picture): (width,height)(x offset,y offset)->(@var{width},@var{height})(@var{xoffset},@var{yoffset}) + (picture): make position a concept index entry, and @dfn{...}-ize it. + (picture): Improve wording as far as the two arguments of picture environment are concerned. + + * latex2e-fr.texi (minipage): complete translation of this node. + (picture): Translate this node. + (\framebox (picture)): @var{width}->@var{largeur} + +2015-08-23 Vincent Belaïche + + * latex2e-fr.texi (file preamble): Add comment about glossary + resources useful for French translation + (file preamble) improve wording. + (Layout): add Float menu entry, as per Jim Hefferon's 2015-08-22 and 2015-08-21 changes. + (Floats, figure, table) Translate Jim Hefferon's 2015-08-22 and + 2015-08-21 changes to French. + (\centering): typo + (flushleft, \raggedright): Improve wording. + (flushright, \raggedleft): Translate these nodes. + (quotation, Making paragraphs): ligne blanche->ligne à blanc + + * latex2e.texi (Floats): typo insert comma. + (Floats): figure->float + (Floats): make "float page" a concept index entry, and @dfn{...} it. + (Floats): restrict the word "specifier" to one letter element of + parameter, use word "argument" for the full string of specifiers. + (Floats): typo acceptible->acceptable + (figure): text->title, improve @var name + (flushright): string->control sequence + (table): make title a @var, and add missing optional loftitle argument. + +2015-08-22 Jim Hefferon + + * latex2e.texi (Floats): Change some wording, move description of + how float body is typeset to figure and table nodes. + +2015-08-22 Jim Hefferon + + * latex2e.texi (various): Corrected Subversion mistake overwriting + changes in other spots. + +2015-08-21 Jim Hefferon + + * latex2e.texi (Floats, figure, table): Break the float material + common out to a separate node. Add descriptions of how to deal + with issues. Shrink the figure and table nodes by the common + material. + +2015-08-20 Vincent Belaïche + + * latex2e-fr.texi (Output files, @TeX{} engines, \line) + (Glossaries): Remove @acronym on Karl's request + (\raggedright): Translate this node to French. + + * latex2e.texi (Output files, @TeX{} engines): Remove @acronym on Karl's request + + * latex2e-es.texi (Glosarios): Remove @acronym on Karl's request + +2015-08-19 Karl Berry + + * latex2e.texi (\parbox): reword. + (flushleft): missing period. + + * Makefile (xref_suffixes): no auxs or tocs. + +2015-08-19 Vincent Belaïche + + * latex2e.texi (flushleft): string->control sequence. + + * latex2e-fr.texi (flushleft): Translate this node. Reword string->control sequence. + + * Makefile (xref_suffixes): New variable usable for realclean target doing a *real* clean. + + * latex2e.texi (\oval): Reword 'portion' to 'half' and also add + optional arguments 'tr', 'br', 'bl' and 'tl'. + + * latex2e-fr.texi (Top, Starting and ending): Starting & + ending->Starting and ending, node renaming. + (Overview): typo in chapter title + (Overview): Translates 2015-08-14/18 changes by Jim Hefferon, + this implies making node 'Starting and ending' a subnode of node + 'Top', and creating new nodes 'Output files', '@TeX{} engines' and + '@LaTeX{} command syntax' + (Environment, Declaration): new nodes, sbubnodes of '@LaTeX{} + command syntax', translated from 2015-08-14 change by Jim + Hefferon. + (description, enumerate): Translate 2015-08-17 changes by Jim + Hefferon. + (list, \item): Translate 2015-08-13 changes by Jim Hefferon: add + \item node, and subordiante it to list node. + (\multiput): Finalize translation of this node. + (\oval): Translate this node, with rewording portion->half. Add + also optional arguments 'tr', 'br', 'bl' and 'tl'. + + * latex2e.texi (Overview): file-> input file, for sake of clarity. + (Overview): Programs that implementation @LaTeX{}->Programs that + can compile @LaTeX{} source. + (Output files, @TeX{} engines): Use @acronym{...} for DVI and PDF. + (@TeX{} engines): command->system command, for sake of clarity. + (@LaTeX{} command syntax): command->command names, for sake of clarity. + +2015-08-18 Jim Hefferon + + * latex2e.texi (eqnarray, equation): Add more description. Add + example to eqnarray. Add note about amsmath to equation. + +2015-08-17 Jim Hefferon + + * latex2e.texi (enumerate): Add more description. Combine best + parts of this and description description. + +2015-08-17 Jim Hefferon + + * latex2e.texi (description): Add error message if \item is + left out. + +2015-08-14 Jim Hefferon + + * latex2e.texi (Environment, Declaration): Create these two nodes + subordinate to LaTeX command syntax. Refer node item to LaTeX + command syntax. + +2015-08-13 Jim Hefferon + + * latex2e.texi (list, \item): Add node for this command, subordinate to + the list node. + +2015-08-13 Jim Hefferon + + * latex2e.texi (array): Fix description of optional position + argument for array. + +2015-08-12 Jim Hefferon + + * latex2e.texi (displaymath): Integral wrong. Couple of other + typos. + +2015-08-11 Jim Hefferon + + * latex2e.texi (document): Add nodes for \AtBeginDocument and + \AtEndDocument. + +2015-08-11 Jim Hefferon + + * latex2e.texi (displaymath): Add detail and an example. Include + note on why $$ is not recommended. + +2015-08-09 Jim Hefferon + + * latex2e.texi (description): Add detail and an example. + +2015-08-08 Jim Hefferon + + * latex2e.texi (center, \centering): Add detail, including + distinguishing the two and examples. + +2015-08-05 Vincent Belaïche + + * latex2e.texi (\indent): remove "width of" concering concerning + \parindent length. + + * latex2e-es.texi (Acentos): Change "sobre" to "debajo de" for \b + (\indent): change "al ancho de la longitud" to "la longitud" + concerning \parindent length. + + * latex2e-fr.texi (Tables of contents): Translation of this node. + (\alph \Alph \arabic \roman \Roman \fnsymbol, Boxes): Typoes. + +2015-08-03 Jim Hefferon + + * latex2e.texi (array): Adjust wording. + +2015-08-02 Jim Hefferon + + * latex2e.texi (array): Refer to tabular for details. Add suggestion + to use amsmath to get fences, and change example to make + justification vaguely defensible. + +2015-08-02 Jim Hefferon + + * latex2e.texi (multicolumn): Adjust description of how intercolumn + material is placed. I shall get this right eventually, I suppose. + +2015-08-01 Jim Hefferon + + * latex2e.texi (multicolumn, vline, cline, hline): Adjust + wording. + +2015-07-31 Jim Hefferon + + * latex2e.texi (vline, cline, hline): Add examples. Also describe + how columns are counted. + +2015-07-30 Vincent Belaïche + + * latex2e-fr.texi (Top): Correct menu item French translation for "Making paragraphs" + (itemize): typo, remove left-over English word "dash" + (Making paragraphs): typoes. + (\indent, \noindent, \parskip, \parbox): Translate to French these nodes. + + * latex2e.texi (Text symbols): Correct -- for --- for en-dash + +2015-07-29 Vincent Belaïche + + * latex2e-es.texi (Acentos): Make references between \underbar and \b. + + * latex2e.texi (Accents): Make references between \underbar and \b. + + * latex2e-fr.texi (Accents, quote): Translate these nodes. + (Accents): Make references between \underbar and \b. + +2015-07-22 Jim Hefferon + + * latex2e.texi (tabular, multicolumn): Add more content, + and examples. + +2015-07-22 Jim Hefferon + + * latex2e.texi (Page layout parameters): Add marginal notes + parameters; correct some default values and adjust wording + for uniformity. + +2015-07-15 Jim Hefferon + + * latex2e.texi (Page layout parameters): Add paperheight + and paperwidth; also list those sizes in Document class options. + +2015-07-13 Jim Hefferon + + * latex2e.texi (Math symbols): Done all symbols. + +2015-07-11 Jim Hefferon + + * latex2e.texi (Math symbols): Through the S's. + +2015-07-10 Jim Hefferon + + * latex2e.texi (Math symbols): Through the P's. + +2015-07-09 Jim Hefferon + + * latex2e.texi (Math symbols): Into the P's. Move + the unicode glyph to the start of each entry to make + easier scanning for the desired symbol. + +2015-07-08 Vincent Belaïche + + * latex2e-fr.texi (Line breaking, \savebox): Translation to French. + (Sectioning): Typo. + +2015-07-08 Jim Hefferon + + * latex2e.texi (Math symbols): Through the N's. + +2015-07-07 Jim Hefferon + + * latex2e.texi (Math symbols): Through the M's. + +2015-07-06 Jim Hefferon + + * latex2e.texi (Math symbols): More L's. + +2015-07-05 Jim Hefferon + + * latex2e.texi (Math symbols): Unicode code points into L's. + +2015-07-03 Jim Hefferon + + * latex2e.texi (Math symbols): Unicode code points through G. + +2015-07-02 Jim Hefferon + + * latex2e.texi (Math symbols): Unicode code points through D. + +2015-07-02 Jim Hefferon + + * latex2e.texi (Math symbols): Unicode code points through B. + +2015-07-01 Jim Hefferon + + * latex2e.texi (Math symbols): Add unicode code points to a few; + experiment with relevant info. + +2015-06-23 Jim Hefferon + + * latex2e.texi (\flushbottom, \raggedbottom): Expand definition. + Change word from `declaration' to `command'. + +2015-06-22 Jim Hefferon + + * latex2e.texi (\twocolumn): Expand definition of the two-column + parameters. + +2015-06-21 Jim Hefferon + + * latex2e.texi (\twocolumn): Expand definition of the double + float parameters. + +202015-06-20 Jim Hefferon + + * latex2e.texi (\twocolumn): Add example. + +2015-06-20 Karl Berry + + * latex2e.texi (\value, \newlength): wording. + +2015-06-19 Karl Berry + + * latex2e.texi (Document class options): mention the geometry package. + (@TeX{} engines) : mention xdv files. + (\newcommand & \renewcommand): reorder examples; still in process. + +2015-06-18 Karl Berry + + * latex2e.texi (\newsavebox): wording. + +2015-06-17 Karl Berry + + * latex2e.texi (\newfont): put obsolete note earlier. + (\newtheorem): wording. + +2015-06-16 Karl Berry + + * latex2e.texi (Low-level font commands): reformat the tables. + +2015-06-11 Jim Hefferon + + * latex2e.texi (Low-level font commands): More about options. + +2015-06-11 Jim Hefferon + + * latex2e.texi (Low-level font commands): Add some information about + options. + +2015-06-09 Karl Berry + + * latex2e.texi: Let's consistently have one blank line + between the sectioning command and the following index entries, + one blank line above @example, and two blank lines above @node. + It's a theory ... + (\newfont): wording. Typos. + +2015-06-09 Jim Hefferon + + * latex2e.texi (\newfont): Couple of minor wording changes. + +2015-06-06 Jim Hefferon + + * latex2e.texi (\newfont): Expand definition. Add example. + Warn that it is obsolete. + +2015-06-06 Jim Hefferon + + * latex2e.texi (\newtheorem): Expand definition. Add examples + covering both optional arguments. + +2015-06-05 Jim Hefferon + + * latex2e.texi (\newsavebox): Expand definition. + +2015-06-04 Jim Hefferon + + * latex2e.texi (Document class options): To a4paper, etc., + add note that pdflatex, xelatex, lualatex do not set physical + page size. + +2015-06-03 Jim Hefferon + + * latex2e.texi (\value): Expand description, put in warning about + \protect, add examples. + +2015-06-02 Jim Hefferon + + * latex2e.texi (\protect): Expand description, add examples. + +2015-05-30 Jim Hefferon + + * latex2e.texi (\newlength): Add details, including that the name + must begin with a backslash. + +2015-05-29 Jim Hefferon + + * latex2e.texi (\providecommand): Add node. + +2015-05-28 Jim Hefferon + + * latex2e.texi (\newcommand & \renewcommand): Realized environments + do delimit scope. + +2015-05-27 Jim Hefferon + + * latex2e.texi (\newcommand & \renewcommand): Copy recent edits to + \newcommand over to \newenvironment; make needed adjustments. + +2015-05-26 Jim Hefferon + + * latex2e.texi (\newcommand & \renewcommand): Add two fine points + about \newcommand. + +2015-05-25 Karl Berry + + * Makefile (texi2html_top): New variable. + (texi2html): use it. + + * latex2e.texi (\label), + (Font styles), + (\newcounter, \stepcounter, \refstepcounter), + (\newcommand & \renewcommand): + tweak new and old examples and text. + (Math formulas): Consistently use "xx" with "not in plain". + +2015-05-25 Jim Hefferon + + * latex2e.texi (\newcommand & \renewcommand): Add examples. Drop + square brackets around * since square brackets are significant. + +2015-05-22 Jim Hefferon + + * latex2e.texi (\label): Add example of \label picking up + numbering in two places. + +2015-05-19 Jim Hefferon + + * latex2e.texi (Font styles): Add that \mathxx commands do not + nest. Move them to make a different, third, area. Break \emph out of + non-semantic command list. + +2015-05-17 Jim Hefferon + + * latex2e.texi (many nodes): Corrections to typos reported by + Justin Gassner. + +2015-05-16 Jim Hefferon + + * latex2e.texi (\newcounter, \stepcounter, \refstepcounter): Expand + definitions, particularly of the definition of one counter numbered + within the other. + +2015-05-15 Jim Hefferon + + * latex2e.texi (\usecounter): Expand definition; give example. + +2015-05-13 Jim Hefferon + + * latex2e.texi (Counters): reword to clarify backslash. + 2015-05-12 Karl Berry * latex2e.texi (@settitle): unofficial. (About this document): reword a bit. (UPDATED): now it's May. More indexing. - + * Makefile (check-dw): new target. * latex2e.texi: remove doubled words. @@ -84,7 +857,7 @@ 2015-04-08 Karl Berry * latex2e.texi (\bigskip \medskip \smallskip): add defaults, - other tweaks. From Jim Hefferson, 7 Apr 2015 23:45:50. + other tweaks. From Jim Hefferon, 7 Apr 2015 23:45:50. 2015-04-07 Karl Berry diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile index 8ccecf34c77..04277eb0274 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 333 2015-05-12 17:12:37Z karl $ +# $Id: Makefile 462 2015-10-24 20:37:02Z jhefferon $ # Public domain. Originally written 2006, Karl Berry. # Makefile for latexrefman. @@ -6,6 +6,9 @@ en_tex_output = latex2e.dvi latex2e.pdf es_tex_output = latex2e-es.dvi latex2e-es.pdf fr_tex_output = latex2e-fr.dvi latex2e-fr.pdf # +xref_suffixes := ky cp vr fn cp pg tp +xref_suffixes := $(xref_suffixes) $(addsuffix s,$(xref_suffixes)) +xref_suffixes := aux log toc $(xref_suffixes) mi_suffixes = dbk html info txt xml en_mi_output = $(addprefix latex2e., $(mi_suffixes)) es_mi_output = $(addprefix latex2e-es., $(mi_suffixes)) @@ -21,10 +24,13 @@ texi2pdf = texi2pdf --batch --tidy --build-dir=$*.t2pdf # makeinfo = makeinfo texi2docbook = $(makeinfo) --docbook -texi2html = $(makeinfo) --html --no-split +texi2html = $(makeinfo) --html --no-split $(texi2html_top) texi2info = $(makeinfo) --no-split texi2txt = $(makeinfo) --plaintext --no-split texi2xml = $(makeinfo) --xml +# +# Go somewhere useful from Top. +texi2html_top = -c TOP_NODE_UP_URL=http://tug.org/texinfohtml/ %.pdf: %.texi $(texi2pdf) $< @@ -69,28 +75,21 @@ distclean clean mostlyclean: rm -rf latex2e*.t2* realclean maintainer-clean: distclean - rm -f $(addprefix latex2e*., pdf dvi $(mi_suffixes)) + rm -f $(addprefix latex2e*., pdf dvi $(mi_suffixes) $(xref_suffixes)) -# dist. -# -# We combine languages into one zip for upload. Will change if the -# translations ever become separately uploaded. -# Don't bother including .dvi files. +# dist for CTAN. Also update NEWS # txt_files = ChangeLog Makefile NEWS README aspell.en.pws ltx-help.el -dist = latex2e-help-texinfo.zip +distzip = latex2e-help-texinfo.zip # -dist: all - rm -f spanish; ln -s . spanish +dist: en mkdir latex2e-help-texinfo && cd latex2e-help-texinfo && ln -s ../* . - zip -q $(dist) \ + zip -q $(distzip) \ $(addprefix latex2e-help-texinfo/, $(txt_files) \ - latex2e.texi $(en_mi_output) latex2e.pdf) \ -$(addprefix latex2e-help-texinfo/spanish/, \ - latex2e-es.texi $(es_mi_output) latex2e-es.pdf) - rm -rf latex2e-help-texinfo spanish - @ls -l $(dist); unzip -t $(dist) + latex2e.texi $(en_mi_output) latex2e.pdf) + rm -rf latex2e-help-texinfo + @ls -l $(distzip); unzip -t $(distzip) # A hacky spell check target. # Remove \commandnames to reduce exception list, but not {args} or diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS index 894c9334f10..1ee74e2cd97 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS @@ -1,9 +1,18 @@ -$Id: NEWS 333 2015-05-12 17:12:37Z karl $ +$Id: NEWS 462 2015-10-24 20:37:02Z jhefferon $ NEWS for latex2e.texi, aka the latex2e-help-texinfo package. Public domain. Originally written 1995, Torsten Martinsen. Spanish translation originally from Nacho Pacheco. French translation originally from Vincent Belaiche. +---------------------------------------------------------------- +Changes in Oct 2015 release: + +Many examples added, often using typical constructs. +Extend many entries to include points frequently asked. +Show list of math characters using Unicode glyphs. +Translations not yet part of update; needs to be worked out. +Thanks to Vincent Belaiche for many contributions. + ---------------------------------------------------------------- Changes in May 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 45d1a5d5abf..6a87140bfaf 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/README +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/README @@ -1,4 +1,4 @@ -$Id: README 328 2015-05-07 18:33:27Z karl $ +$Id: README 463 2015-10-25 18:16:55Z jhefferon $ README for latex2e.texi, aka the latex2e-help-texinfo package. Public domain. This file originally written 2008, Karl Berry. 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 d7b7e81f524..36cd313760a 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 @@ -59,3 +59,7 @@ xyz zet ptr usrguide +Avant +Garde +fd +xdv 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 960c331c619..dd1f9b3d58a 100644 --- a/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk @@ -4,7 +4,7 @@ ]> -&latex;2e unofficial reference manual (May 2015) +&latex;2e unofficial reference manual (October 2015) @@ -19,6 +19,8 @@ + + @@ -26,7 +28,7 @@ This document is an unofficial reference manual for &latex;, a -document preparation system, version of May 2015. +document preparation system, version of October 2015. This manual was originally translated from LATEX.HLP v1.0a in the VMS Help Library. The pre-translation version was written by @@ -63,7 +65,7 @@ into another language, under the above conditions for modified versions. This document is an unofficial reference manual for &latex;, a -document preparation system, version of May 2015. +document preparation system, version of October 2015. This manual was originally translated from LATEX.HLP v1.0a in the VMS Help Library. The pre-translation version was written by @@ -99,11 +101,13 @@ 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 -May 2015) for &latex;2e, a document preparation system. +October 2015) for &latex;2e, a document preparation system. @@ -186,7 +190,7 @@ should be formatted. It is implemented as a set of related commands that interface with Donald E. Knuth’s &tex; typesetting program (the technical term is that &latex; is a macro package for the &tex; engine). The user produces the output document by giving that -file to the &tex; engine. +input file to the &tex; engine. The term &latex; is also sometimes used to mean the language in which the document is marked up, that is, to mean the set of commands @@ -205,12 +209,12 @@ sensible, such as in plain text, write it as ‘LaTeXR Starting and ending -starting & ending -ending & starting +starting and ending +ending and starting hello, world -&latex; files have a simple global structure, with a standard -starting and ending. Here is a “hello, world” example: +&latex; files have a simple global structure, with a standard beginning +and ending. Here is a “hello, world” example: \documentclass{article} \begin{document} @@ -229,9 +233,10 @@ array of others are widely available. See Docu This area is called the preamble. The \begin{document} ... \end{document} is a so-called +environment environment; the ‘document’ environment (and no others) is -required in all &latex; documents. &latex; provides many -environments itself, and many more are defined separately. +required in all &latex; documents (see document). &latex; +provides many environments itself, and many more are defined separately. See Environments. The following sections discuss how to produce PDF or other output from @@ -333,7 +338,7 @@ overview of the main programs. pdf&tex; engine etex command e-&tex; -In &tex; Live (http://tug.org/texlive, if &latex; is invoked +In &tex; Live (http://tug.org/texlive), if &latex; is invoked via either the system command latex or pdflatex, then the pdf&tex; engine is run (http://ctan.org/pkg/pdftex). When invoked as latex, the main output is a .dvi @@ -342,9 +347,9 @@ file; as pdflatex, the main output is a .pdfpdf&tex; incorporates the e-&tex; extensions to Knuth’s original program (http://ctan.org/pkg/etex), including additional programming features and bi-directional typesetting, and has plenty of -extensions of its own. e-&tex; is available on its own as the +extensions of its own. e-&tex; is available on its own as the system command etex, but this is plain &tex; (and produces -.dvi). +.dvi). In other &tex; distributions, latex may invoke e-&tex; rather than pdf&tex;. In any case, the e-&tex; extensions can be @@ -365,12 +370,19 @@ but this is rarely used. xelatex xelatex command Xe&tex; +.xdv file +xdvipdfmx If &latex; is invoked with the system command xelatex, the Xe&tex; engine is run (http://tug.org/xetex). Like Lua&tex;, -Xe&tex; also natively supports UTF-8 Unicode and TrueType and -OpenType fonts, though the implementation is completely different, -mainly using external libraries instead of internal code. Xe&tex; -produces a .pdf file as output; it does not support DVI output. +Xe&tex; natively supports UTF-8 Unicode and TrueType and OpenType +fonts, though the implementation is completely different, mainly using +external libraries instead of internal code. Xe&tex; produces a +.pdf file as output; it does not support DVI output. + +Internally, Xe&tex; creates an .xdv file, a variant of DVI, +and translates that to PDF using the (x)dvipdfmx +program, but this process is automatic. The .xdv file is only +useful for debugging. Other variants of &latex; and &tex; exist, e.g., to provide @@ -386,27 +398,76 @@ additional support for Japanese and other languages ([u]p&tex;, \ character starting commands [...] for optional arguments {...} for required arguments -In the &latex; input file, a command name starts with a \; the -name itself then consists of either (a) a string of letters or -(b) a single non-letter. +In the &latex; input file, a command name starts with a backslash +character, \. The name itself then consists of either +(a) a string of letters or (b) a single non-letter. + +&latex; commands names are case sensitive so that \pagebreak +differs from \Pagebreak (the latter is not a standard command). +Most commands are lowercase, but in any event you must enter all +commands in the same case as they are defined. + +A command may be followed by zero, one, or more arguments. These +arguments may be either required or optional. Required arguments are +contained in curly braces, {...}. Optional arguments are +contained in square brackets, [...]. Generally, but not +universally, if the command accepts an optional argument, it comes +first, before any required arguments. + +Inside of an optional argument, to use the character close square +bracket (]) hide it inside curly braces, as +in \item[closing bracket {]}]. Similarly, if an optional +argument comes last, with no required argument after it, then to make +the first character of the following text be an open square bracket, +hide it inside curly braces. + +&latex; has the convention that some commands have a * form that +is related to the form without a *, such as \chapter and +\chapter*. The exact difference in behavior varies from command +to command. -A command may be followed by zero, one, or more arguments, either -required or optional. Required arguments are contained in curly -braces, {...}. Optional arguments are contained in square -brackets, [...]. Generally, but not universally, if the -command accepts an optional argument, it comes first, before any -required arguments. +This manual describes all accepted options and *-forms for the +commands it covers (barring unintentional omissions, a.k.a. bugs). -Some commands have a * form that is related to the form without -a *, such as \chapter and \chapter*. + + + + +Synopsis: -&latex; commands are case sensitive; neither \Begin{document} -nor \begin{Document} will work. Most commands are lowercase, -but in any event you must enter all commands in the same case as they -are defined. +\begin{environment name} + .. +\end{environment name} + +An area of &latex; source, inside of which there is a distinct +behavior. For instance, for poetry in &latex; put the lines between +\begin{verse} and \end{verse}. -This manual describes all accepted options and *-forms for the -commands it covers (barring unintentional omissions, a.k.a. bugs). +\begin{verse} + There once was a man from Nantucket \\ + .. +\end{verse} + +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. + +Environments may have arguments, including optional arguments. This +example produces a table. The first argument is optional (and causes +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 .. +\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. @@ -440,6 +501,10 @@ see Overview.) matter, such as a preface, and back matter, such as an appendix (see Front/back matter). +letter +Mail, optionally including mailing labels +(see Letters). + report For documents of length between an article and a book, such as technical reports or theses, which may contain several chapters. @@ -485,10 +550,34 @@ options for selecting the typeface size (default is 10pt): legalpaper option letterpaper option All of the standard classes accept these options for selecting the paper -size (default is letterpaper): +size (these show height by width): + +a4paper +210 by 297 mm (about 8.25 by 11.75 inches) + +b5paper +176 by 250 mm (about 7 by 9.875 inches) + +executivepaper +7.25 by 10.5 inches + +legalpaper +8.5 by 14 inches + +letterpaper +8.5 by 11 inches (the default) + +\pdfpagewidth +\pdfpageheight +geometry package +When using one of the engines pdf&latex;, Lua&latex;, or Xe&latex; +(see &tex; engines), options other than letterpaper set +the print area but you must also set the physical paper size. One way +to do that is to put \pdfpagewidth=\paperwidth and +\pdfpageheight=\paperheight in your document’s preamble. The +geometry package provides flexible ways of setting the print +area and physical page size. -a4paper a5paper b5paper executivepaper legalpaper letterpaper - draft option final option fleqn option @@ -603,16 +692,17 @@ and a style. The &latex; commands for doing this are described here. Font styles font styles -typeface styles +type styles styles of text The following type style commands are supported by &latex;. This first group of commands is typically used with an argument, as in -\textit{italic text}. In the table below, the corresponding +\textit{text}. In the table below, the corresponding command in parenthesis is the “declaration form”, which takes no -arguments. The scope of the declaration form lasts until the next type -style command or the end of the current group. +arguments, as in {\itshape text}. The scope of the +declaration form lasts until the next type style command or the end of +the current group. These commands, in both the argument form and the declaration form, are cumulative; e.g., you can say either \sffamily\bfseries or @@ -642,11 +732,6 @@ command argument, such as \textit{\nocorr text} or \itshape Italics. -\emph -\emph -emphasis -Emphasis (switches between \textit and \textrm). - \textmd (\mdseries) \textmd \mdseries @@ -660,7 +745,7 @@ command argument, such as \textit{\nocorr text} or \textup (\upshape) \textup \upshape -Upright (default). The opposite of slanted. +Upright (default). \textsl (\slshape) \textsl @@ -687,76 +772,31 @@ command argument, such as \textit{\nocorr text} or \normalfont Main document font. -\mathrm -\mathrm -Roman, for use in math mode. - -\mathbf -\mathbf -Boldface, for use in math mode. - -\mathsf -\mathsf -Sans serif, for use in math mode. - -\mathtt -\mathtt -Typewriter, for use in math mode. - -\mathit -(\mit) -Italics, for use in math mode. - -\mathnormal -\mathnormal -For use in math mode, e.g. inside another type style declaration. - -\mathcal -\mathcal -‘Calligraphic’ letters, for use in math mode. - -\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 -Finally, the command \oldstylenums{numerals} will -typeset so-called “old-style” numerals, which have differing heights -and depths (and sometimes widths) from the standard “lining” -numerals. &latex;’s default fonts support this, and will respect -\textbf (but not other styles; there are no italic old-style -numerals in Computer Modern). Many other fonts have old-style -numerals also; sometimes the textcomp package must be loaded, -and sometimes package options are provided to make them the default. -FAQ entry: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=osf. +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 +text \emph{middle text} end text} will result in the +start text and end text in italics, but middle text +will be in roman. &latex; also provides the following commands, which unconditionally switch to the given style, that is, are not cumulative. Also, -they are used differently than the above commands: {\cmd -...} instead of \cmd{...}. These are two unrelated -constructs. +they are used differently than the above commands: +{\cmd...} instead of \cmd{...}. These +are two unrelated constructs. \bf\bf bold font -Switch to bold face. +Switch to bold face. \cal\cal script letters for math calligraphic letters for math Switch to calligraphic letters for math. -\em\em -emphasis -Emphasis (italics within roman, roman within italics). - \it\it italic font Italics. @@ -785,18 +825,78 @@ constructs. Typewriter (monospace, fixed-width). -Some people consider the unconditional font-switching commands, such -as \tt, obsolete and only the cumulative commands -(\texttt) should be used. I (Karl) do not agree. There are -perfectly reasonable situations when an unconditional font switch is -precisely what you need to get the desired output; for one example, -see description. Both sets of commands have -their place. +The \em command is the unconditional version of \emph. + +(Some people consider the unconditional font-switching commands, such +as \tt, obsolete and that only the cumulative commands +(\texttt) should be used. Others think that both sets of +commands have their place and sometimes an unconditional font switch +is precisely what you want; for one example, +see description.) + +The following commands are for use in math mode. They are not +cumulative, so \mathbf{\mathit{symbol}} does not +create a boldface and italic symbol; instead, it will just be in +italics. This is because typically math symbols need consistent +typographic treatment, regardless of the surrounding environment. + +\mathrm +\mathrm +Roman, for use in math mode. + +\mathbf +\mathbf +Boldface, for use in math mode. + +\mathsf +\mathsf +Sans serif, for use in math mode. + +\mathtt +\mathtt +Typewriter, for use in math mode. + +\mathit +(\mit) +Italics, for use in math mode. + +\mathnormal +\mathnormal +For use in math mode, e.g., inside another type style declaration. + +\mathcal +\mathcal +Calligraphic letters, for use in math mode. + + +\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 +Finally, the command \oldstylenums{numerals} will typeset +so-called “old-style” numerals, which have differing heights and +depths (and sometimes widths) from the standard “lining” numerals, +which all have the same height as upper-case letters. &latex;’s +default fonts support this, and will respect \textbf (but not +other styles; there are no italic old-style numerals in Computer +Modern). Many other fonts have old-style numerals also; sometimes the +textcomp package must be loaded, and sometimes package options +are provided to make them the default. FAQ entry: +http://www.tex.ac.uk/cgi-bin/texfaq2html?label=osf. Font sizes + font sizes typeface sizes sizes of text @@ -849,160 +949,316 @@ these commands; for instance, \begin{tiny}...\end{tiny}. Low-level font commands + 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 ones. + + -\fontencoding{enc} +\fontencoding{encoding} \fontencoding -Select font encoding. Valid encodings include OT1 and T1. - -\fontfamily{family} +Select the font encoding, the encoding of the output font. There are a +large number of valid encodings. The most common are OT1, +Knuth’s original encoding for Computer Modern (the default), and +T1, also known as the Cork encoding, which has support for the +accented characters used by the most widespread European languages +(German, French, Italian, Polish and others), which allows &tex; to +hyphenate words containing accented letters. + +\fontfamily{family} \fontfamily -Select font family. Valid families include: - -cmr for Computer Modern Roman -cmss for Computer Modern Sans Serif -cmtt for Computer Modern Typewriter +families, of fonts +font catalogue +Select the font family. The web page +http://www.tug.dk/FontCatalogue/ provides one way to browse +through many of the fonts easily used with &latex;. Here are +examples of some common families: + + + + + + pag  Avant Garde + fvs  Bitstream Vera Sans + pbk  Bookman + bch  Charter + ccr  Computer Concrete + cmr  Computer Modern + pcr  Courier + phv  Helvetica + fi4  Inconsolata + lmr  Latin Modern + lmss Latin Modern Sans + lmtt Latin Modern Typewriter + pnc  New Century Schoolbook + ppl  Palatino + ptm  Times + uncl Uncial + put  Utopia + pzc  Zapf Chancery -and numerous others. - -\fontseries{series} +\fontseries{series} \fontseries -Select font series. Valid series include: - -m Medium (normal) -b Bold -c Condensed -bc Bold condensed -bx Bold extended +series, of fonts +Select the font series. A series combines a weight and a +width. Typically, a font supports only a few of the possible +combinations. Some common combined series values include: + + m  Medium (normal) + b  Bold + c  Condensed + bc Bold condensed + bx Bold extended -and various other combinations. - -\fontshape{shape} +weights, of fonts +The possible values for weight, individually, are: + + ul Ultra light + el Extra light + l  Light + sl Semi light + m  Medium (normal) + sb Semi bold + b  Bold + eb Extra bold + ub Ultra bold + +widths, of fonts +The possible values for width, individually, are (the percentages +are just guides and are not followed precisely by all fonts): + + uc Ultra condensed, 50% + ec Extra condensed, 62.5% + c  Condensed, 75% + sc Semi condensed, 87.5% + m  Medium, 100% + sx Semi expanded, 112.5% + x  Expanded, 125% + ex Extra expanded, 150% + ux Ultra expanded, 200% + +When forming the series string from the weight and width, drop the +m that stands for medium weight or medium width, unless both +weight and width are m, in which case use just one +(‘m’). + +\fontshape{shape} \fontshape +shapes, of fonts Select font shape. Valid shapes are: -n Upright (normal) -it Italic -sl Slanted (oblique) -sc Small caps -ui Upright italics -ol Outline + n  Upright (normal) + it Italic + sl Slanted (oblique) + sc Small caps + ui Upright italics + ol Outline -The two last shapes are not available for most font families. +The two last shapes are not available for most font families, and +small caps are often missing as well. -\fontsize{size}{skip} +\fontsize{size}{skip} \fontsize +font size \baselineskip -Set font size. The first parameter is the font size to switch to and -the second is the line spacing to use; this is stored in a parameter -named \baselineskip. The unit of both parameters defaults to -pt. The default \baselineskip for the Computer Modern typeface -is 1.2 times the \fontsize. +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 +parameter \baselineskip. The default \baselineskip for +the Computer Modern typeface is 1.2 times the \fontsize. +Changing \baselineskip directly is inadvisable since its value is +reset every time a size change happens; see \baselinestretch, next. + +\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. -\baselinestretch setspace package double spacing -The line spacing is also multiplied by the value of the -\baselinestretch parameter when the type size changes; the -default is 1. However, the best way to “double space” a document, -if you should be unlucky enough to have to produce such, is to use the -setspace package; see -http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace. - -\linespread +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 +where that is typically desirable, such as footnotes and figure +captions. See the package documentation. + \linespread{factor} -Equivalent to +\linespread +Equivalent to \renewcommand{\baselinestretch}{factor}, and therefore must be followed by \selectfont to have any effect. Best specified in the preamble, or use the setspace package, as -described just above. +just described. -\selectfont -The changes made by calling the font commands described above do -not come into effect until \selectfont is called. +\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 +to put this in a macro: + +\newcommand*{\myfont}{\fontfamily{familyname}\selectfont} + +(see \newcommand & \renewcommand). -\usefont{enc}{family}{series}{shape} +\usefont{enc}{family}{series}{shape} \usefont The same as invoking \fontencoding, \fontfamily, \fontseries and \fontshape with the given parameters, -followed by \selectfont. +followed by \selectfont. For example: +\usefont{ot1}{cmr}{m}{n} + Layout + layout commands -Miscellaneous commands for controlling the general layout of the page. +Commands for controlling the general page layout. <literal>\onecolumn</literal> + \onecolumn one-column output The \onecolumn declaration starts a new page and produces -single-column output. This is the default. +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). <literal>\twocolumn</literal> + \twocolumn multicolumn text two-column output Synopsis: -\twocolumn[text1col] +\twocolumn[prelim one column text] The \twocolumn declaration starts a new page and produces -two-column output. If the optional text1col argument is present, -it is typeset in one-column mode before the two-column typesetting -starts. +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 +typesetting starts. + +This command is fragile (see \protect). These parameters control typesetting in two-column output: \columnsep\columnsep -The distance between columns (35pt by default). +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 -The width of the rule between columns; the default is 0pt, so there is no rule. +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 -The width of the current column; this is equal to \textwidth in -single-column text. +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 +\columnsep. -These parameters control float behavior in two-column output: +In a two-column document, the starred environments table* and +figure* are two columns wide, whereas the unstarred environments +table and figure take up only one column (see figure +and see table). &latex; places starred floats at the top of a page. +The following parameters control float behavior of two-column output. \dbltopfraction\dbltopfraction -Maximum fraction at the top of a two-column page that may be occupied -by floats. Default ‘.7’, can be usefully redefined to (say) -‘.9’ to avoid going to float pages so soon. +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 +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 +the bulky float on a page by itself, as well as at the top of a page. + +Use the [t!] location specifier to override the effect of +\dbltopfraction for this particular float. + +Increase the value of \dbltopfraction to a suitably large number, +to avoid going to float pages so soon. + +You can redefine it, for instance with +\renewcommand{\dbltopfraction}{0.9}. \dblfloatpagefraction\dblfloatpagefraction -The minimum fraction of a float page that must be occupied by floats, -for a two-column float page. Default ‘.5’. +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;’s default is 0.5. Change it with \renewcommand. \dblfloatsep\dblfloatsep -Distance between floats at the top or bottom of a two-column float -page. Default ‘12pt plus2pt minus2pt’ for ‘10pt’ and -‘11pt’ documents, ‘14pt plus2pt minus4pt’ for ‘12pt’. +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 -Distance between a multi-column float at the top or bottom of a page -and the main text. Default ‘20pt plus2pt minus4pt’. +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 +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. + +This example shows the use of the optional argument of \twocolumn +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 +}] + +Two column text here. + @@ -1010,23 +1266,39 @@ and the main text. Default ‘20pt plus2pt minus4pt̵ \flushbottom -The \flushbottom declaration makes all text pages the same -height, adding extra vertical space where necessary to fill out the -page. +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. + +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 +(see \enlargethispage). -This is the default if twocolumn mode is selected -(see Document class options). +This is the default only if you select the twoside document class +option (see Document class options). <literal>\raggedbottom</literal> + \raggedbottom stretch, omitting vertical -The \raggedbottom declaration makes all pages the natural -height of the material on that page. No rubber lengths will be -stretched. +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. + +This is the default unless you select the twoside document class +option (see Document class options). @@ -1040,45 +1312,125 @@ stretched. footer, parameters for running header and footer -\headheight\headheight -Height of the box that contains the running head. Default is -‘30pt’, except in the book class, where it varies with the -type size. +\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 (see Document class options). +See \twocolumn. + +\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 -Vertical distance between the bottom of the header line and the top of -the main text. Default is ‘25pt’, except in the book -class, where it varies with the type size. +\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 -Distance from the baseline of the last line of text to the baseline of -the page footer. Default is ‘30pt’, except in the book -class, where it varies with the type size. +\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 -Width of the current line, decreased for each nested list -(see list). Specifically, it is smaller than \textwidth by -the sum of \leftmargin and \rightmargin -(see itemize). The default varies with the font size, paper -width, two-column mode, etc. For an article document in -‘10pt’, it’s set to ‘345pt’; in two-column mode, that -becomes ‘229.5pt’. +\linewidth +Width of the current line, decreased for each nested list +(see list). That is, the nominal value for \linewidth is to +equal \textwidth but for each nested list the \linewidth +is decreased by the sum of that list’s \leftmargin and +\rightmargin (see itemize). + + + + +\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. + +Normally marginal notes appear on the outside of the page, but the +declaration \reversemarginpar changes that (and +\normalmarginpar changes it back). + +The defaults for \marginparpush in both book and +article classes are: ‘7pt’ if the document is set at 12pt, +and ‘5pt’ if the document is set at 11pt or 10pt. + +For \marginsep, in article class the default is +‘10pt’ except if the document is set at 10pt and in two-column mode +where the default is ‘11pt’. + +For \marginsep in book class the default is ‘10pt’ in +two-column mode and ‘7pt’ in one-column mode. + +For \marginparwidth in both book and article +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 +The \oddsidemargin is the extra distance between the left side of +the page and the text’s left margin, on odd-numbered pages when the +document class option twoside is chosen and on all pages when +oneside is in effect. When twoside is in effect, on +even-numbered pages the extra distance on the left is +evensidemargin. + +&latex;’s default is that \oddsidemargin is 40% of the +difference between \paperwidth and \textwidth, and +\evensidemargin is the remainder. + +\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} (see Document class +options). + +\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} (see Document class +options). \textheight\textheight -The normal vertical height of the page body; the default varies with -the font size, document class, etc. For an article or -report document in ‘10pt’, it’s set to -‘43\baselineskip’; for book, it’s ‘41\baselineskip’. -For ‘11pt’, it’s ‘38\baselineskip’ and for ‘12pt’, -‘36\baselineskip’. +\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 +‘41\baselineskip’. At a type size of 11pt the default is +‘38\baselineskip’ for all document classes. At 12pt it is +‘36\baselineskip’ for all classes. \textwidth\textwidth -The full horizontal width of the entire page body; the default varies -as usual. For an article or report document, it’s -‘345pt’ at ‘10pt’, ‘360pt’ at ‘11pt’, and -‘390pt’ at ‘12pt’. For a book document, it’s -‘4.5in’ at ‘10pt’, and ‘5in’ at ‘11pt’ or -‘12pt’. +\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, +and it is ‘390pt’ at 12pt. For a book document, the default +is ‘4.5in’ at a type size of 10pt, and ‘5in’ at 11pt or 12pt. In multi-column output, \textwidth remains the width of the entire page body, while \columnwidth is the width of one column @@ -1094,29 +1446,205 @@ specified width, and revert to their normal values at the end of the minipage or \parbox. \hsize -For completeness: \hsize is the &tex; primitive parameter used -when text is broken into lines. It should not be used in normal -&latex; documents. +\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 -Space between the top of the &tex; page (one inch from the top of the -paper, by default) and the top of the header. The default is computed +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. +\headheight − \headsep − \textheight − \footskip, +and then divided by two. \topskip\topskip -Minimum distance between the top of the page body and the baseline of +\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 ‘10pt’. +same as the font size, e.g., ‘10pt’ at a type size of 10pt. + + + + + +Floats + +Some typographic elements, such as figures and tables, cannot be broken +across pages. They must be typeset outside of the normal flow of text, +for instance floating to the top of a later page. + +&latex; can have a number of different classes of floating material. +The default is the two classes, figure (see figure) and +table (see table), but you can create a new class with the +package float. + +Within any one float class &latex; always respects the order, so that +the first figure in a document source must be typeset before the second +figure. However, &latex; may mix the classes, so it can happen that +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 +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 +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 +letters below. The default for both figure and table, in +both article and book classes, is tbp. + +t +(Top)—at the top of a text page. + +b +(Bottom)—at the bottom of a text page. (However, b is not +allowed for full-width floats (figure*) with double-column +output. To ameliorate this, use the stfloats or +dblfloatfix package, but see the discussion at caveats in the +FAQ: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat. + +h +(Here)—at the position in the text where the figure environment +appears. However, h is not allowed by itself; t is +automatically added. + +here, putting floats +float package +To absolutely force a float to appear “here”, you can +\usepackage{float} and use the H specifier which it +defines. For further discussion, see the FAQ entry at +http://www.tex.ac.uk/cgi-bin/texfaq2html?label=figurehere. + +p +float page +(Page of floats)—on a separate float page, which is a page +containing no text, only floats. + +! +Used in addition to one of the above; for this float only, &latex; +ignores the restrictions on both the number of floats that can appear +and the relative amounts of float and non-float text on the page. +The ! specifier does not mean “put the float here”; +see above. +Note: the order in which letters appear in the placement argument +does not change the order in which &latex; tries to place the float; +for instance, btp has the same effect as tbp. All that +placement does is that if a letter is not present then the +algorithm does not try that location. Thus, &latex;’s default of +tbp is to try every location except placing the float where it +occurs in the source. + +To prevent &latex; from moving floats to the end of the document or a +chapter you can use a \clearpage command to start a new page and +insert all pending floats. If a pagebreak is undesirable then you can +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 +\suppressfloats +\suppressfloats[t], which causes floats for the top position on +this page to moved to the next page. + +Parameters relating to fractions of pages occupied by float and +non-float text (change them with +\renewcommand{parameter}{decimal between 0 and 1}): + +\bottomfraction\bottomfraction +\bottomfraction +The maximum fraction of the page allowed to be occupied by floats at +the bottom; default ‘.3’. + +\floatpagefraction\floatpagefraction +\floatpagefraction +The minimum fraction of a float page that must be occupied by floats; +default ‘.5’. + +\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 +Maximum fraction at the top of a page that may be occupied before +floats; default ‘.7’. + +Parameters relating to vertical space around floats (change them with +\setlength{parameter}{length expression}): + +\floatsep\floatsep +\floatsep +Space between floats at the top or bottom of a page; default +‘12pt plus2pt minus2pt’. + +\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 +Space between the last (first) float at the top (bottom) of a page; +default ‘20pt plus2pt minus4pt’. + +Counters relating to the number of floats on a page (change them with +\setcounter{ctrname}{natural number}): + +bottomnumberbottomnumber +bottomnumber +Maximum number of floats that can appear at the bottom of a text page; +default 1. + +dbltopnumberdbltopnumber +dbltopnumber +Maximum number of full-sized floats that can appear at the top of a +two-column page; default 2. + +topnumbertopnumber +topnumber +Maximum number of floats that can appear at the top of a text page; +default 2. + +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;’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. + Sectioning -sectioning + +sectioning commands Sectioning commands provide the means to structure your text into units: @@ -1144,7 +1672,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: @@ -1177,6 +1705,7 @@ The setting Cross references + cross references One reason for numbering things like figures and equations is to refer @@ -1186,6 +1715,7 @@ the reader to them, as in “See Figure 3 for more details.” <literal>\label</literal> + \label Synopsis: @@ -1194,15 +1724,33 @@ the reader to them, as in “See Figure 3 for more details.” 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. - -A key name can consist of any sequence of letters, digits, or +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.) + +\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. -To avoid accidentally creating two labels with the same name, it is -common to use labels consisting of a prefix and a suffix separated by -a colon or period. Some conventionally-used prefixes: +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: ch for chapters @@ -1215,13 +1763,14 @@ a colon or period. Some conventionally-used prefixes: eq for equations -Thus, a label for a figure would look like fig:snark or -fig.snark. +Thus, a label for a figure would look like fig:test or +fig.test. <literal>\pageref{<replaceable>key</replaceable>}</literal> + \pageref cross referencing with page number page number, cross referencing @@ -1238,6 +1787,7 @@ the place in the text where the corresponding <literal>\ref{<replaceable>key</replaceable>}</literal> + \ref cross referencing, symbolic section number, cross referencing @@ -1259,8 +1809,8 @@ such as the word ‘Section’ or ‘Figure’, just the bare nu Environments -environments +environments \begin \end @@ -1280,7 +1830,8 @@ Each environment begins and ends in the same manner: abstracts Synopsis: -\begin{abstract} + +\begin{abstract} ... \end{abstract} @@ -1290,56 +1841,65 @@ Each environment begins and ends in the same manner: <literal>array</literal> + array environment arrays, math Synopsis: -\begin{array}{template} -col1 text&col1 text&coln}\\ +\begin{array}{cols} +column 1 entry &column 2 entry ... &column n entry \\ ... \end{array} -Math arrays are produced with the array environment, normally -within an equation environment (see equation). It has a -single mandatory template argument describing the number of -columns and the alignment within them. Each column col is -specified by a single letter that tells how items in each row of that -column should be formatted, as follows: +or -c -centered -l -flush left -r -flush right - -\\ (for array) -Column entries are separated by &. Column entries may include -other &latex; commands. Each row of the array is terminated with -\\. +\begin{array}[pos]{cols} +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 \\). + +The required argument cols describes the number of columns, their +alignment, and the formatting of the intercolumn regions. See +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 +\arraycolsep which gives half the width between columns. The +default for this is ‘5pt’. -@{...} -In the template, the construct @{text} puts text -between columns in each row. +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. -Here’s an example: +Here is an example of an array: \begin{equation} - \begin{array}{lrc} - left1 & right1 & centered1 \\ - left2 & right2 & centered2 \\ + \begin{array}{cr} + \sqrt{y} &12.3 \\ + x^2 &3.4 \end{array} \end{equation} -\arraycolsep -The \arraycolsep parameter defines half the width of the space -separating columns; the default is ‘5pt’. See tabular, for other -parameters which affect formatting in array environments, -namely \arrayrulewidth and \arraystretch. - -The array environment can only be used in math mode. - @@ -1351,15 +1911,32 @@ namely \arrayrulewidth and \arraystretch. Synopsis: \begin{center} -line1 \\ -line2 \\ + .. 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 \\). \\ (for center) -The center environment allows you to create a paragraph -consisting of lines that are centered within the left and right -margins on the current page. Each line is terminated with the -string \\. + +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. + +\begin{center} + My father considered that anyone who went to chapel and didn't drink + alcohol was not to be tolerated.\\ + I grew up in that belief. --Richard Burton +\end{center} + +A double backslash after the final line is optional. @@ -1369,26 +1946,36 @@ string \\. \centering centering text, declaration for -The \centering declaration corresponds to the center -environment. This declaration can be used inside an environment such -as quote or in a parbox. Thus, the text of a figure or -table can be centered on the page by putting a \centering -command at the beginning of the figure or table environment. - -Unlike the center environment, the \centering command -does not start a new paragraph; it simply changes how &latex; formats -paragraph units. To affect a paragraph unit’s format, the scope of -the declaration must contain the blank line or \end command (of -an environment such as quote) that ends the paragraph unit. - -Here’s an example: - -\begin{quote} -\centering -first line \\ -second line \\ -\end{quote} +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. + +Unlike the center environment, the \centering command does +not add vertical space above and below the text. + +It also does not start a new paragraph; it simply changes how &latex; +formats paragraph units. If ww {\centering xx \\ yy} zz is +surrounded by blank lines then &latex; will create a paragraph whose +first line ‘ww xx’ is centered and whose second line, not centered, +contains ‘yy zz’. Usually what is desired is for the scope of the +declaration to contain a blank line or the \end command of an +environment such as figure or table that ends the +paragraph unit. Thus, if {\centering xx \\ yy\par} zz is +surrounded by blank lines then it makes a new paragraph with two +centered lines ‘xx’ and ‘yy’, followed by a new paragraph with +‘zz’ that is formatted as usual. See also the following example. + +This example’s \centering causes the graphic to be horizontally +centered. + +\begin{figure} + \centering + \includegraphics[width=0.6\textwidth]{ctan_lion.png} + \caption{CTAN Lion} \label{fig:CTANLion} +\end{figure} +The scope of the \centering ends with the \end{figure}. + @@ -1402,51 +1989,91 @@ second line \\ Synopsis: \begin{description} -\item [label1] item1 -\item [label2] item2 -... +\item [first label] text of first item +\item [second label] text of second item + ... \end{description} \item -The description environment is used to make labelled lists. Each -label is typeset in bold, flush right. The item text may -contain multiple paragraphs. +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. bold typewriter, avoiding typewriter labels in lists -Another variation: since the bold style is applied to the labels, if -you typeset a label in typewriter using \texttt, you’ll get -bold typewriter: \item[\texttt{bold and typewriter}]. This -may be too bold, among other issues. To get just typewriter, use -\tt, which resets all other style variations: \item[{\tt -plain typewriter}]. - -For details about list spacing, see itemize. - +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}]. + +For other major &latex; labelled list environments, see itemize +and enumerate. For information about customizing list layout, see +list; also, the package enumitem is useful for this. + +This example shows the environment used for a sequence of definitions. + +\begin{definition} + \item[lama] A priest. + \item[llama] A beast. +\end{definition} + <literal>displaymath</literal> + displaymath environment Synopsis: \begin{displaymath} -math + .. math text .. \end{displaymath} -or - -\[math\] - -The displaymath environment (\[...\] is a synonym) -typesets the math text on its own line, centered by default. -The global fleqn option makes equations flush left; see -Document class options. - -No equation number is added to displaymath text; to get an -equation number, use the equation environment (see equation). +Environment to typeset the math text on its own line, in display style +and centered. To make the text be flush-left use the global option +fleqn; see Document class options. + +&latex; will not break the math text across lines. + +In the displaymath environment no equation number is added to the +math text. One way to get an equation number is to use the +equation environment (see equation). + +Note that the amsmath package has extensive displayed equation +facilities. Those facilities are the best approach for such output in +new documents. For example, there are a number of options in that +package for having math text broken across lines. + +The construct \[..math text..\] is essentially a synonym for +\begin{displaymath}..math text..\end{displaymath} but the +latter is easier to work with in the source file; for instance, +searching for a square bracket may get false positives but the word +displaymath will likely be unique. (The construct $$..math +text..$$ from Plain &tex; is sometimes mistakenly used as a +synonym for displaymath. It is not a synonym, because the +displaymath environment checks that it isn’t started in math mode +and that it ends in math mode begun by the matching environment start, +because the displaymath environment has different vertical +spacing, and because the displaymath environment honors the +fleqn option.) + +The output from this example is centered and alone on its line. +\begin{displaymath} + \int_1^2 x^2\,dx=7/3 +\end{displaymath} +Also, the integral sign is larger than the inline version +\( \int_1^2 x^2\,dx=7/3 \) produces. @@ -1455,10 +2082,50 @@ equation number, use the equation environment (see document environment -The document environment encloses the body of a document. +The document environment encloses the entire body of a document. It is required in every &latex; document. See Starting and ending. + + + +\AtBeginDocument +beginning of document hook + +Synopsis: + +\AtBeginDocument{code} + +Save code and execute it when \begin{document} is +executed, at the very end of the preamble. The code is executed after +the font selection tables have been set up, so the normal font for the +document is the current font. However, the code is executed as part of +the preamble so you cannot do any typesetting with it. + +You can issue this command more than once; the successive code lines +will be executed in the order that you gave them. + + + + +\AtEndDocument +end of document hook + +Synopsis: + +\AtEndDocument{code} + +Save code and execute it near the end of the document. +Specifically, it is executed when \end{document} is executed, +before the final page is finished and before any leftover floating +environments are processed. If you want some of the code to be executed +after these two processes then include a \clearpage at the +appropriate point in code. + +You can issue this command more than once; the successive code lines +will be executed in the order that you gave them. + + <literal>enumerate</literal> @@ -1469,50 +2136,72 @@ It is required in every &latex; document. See itemize) and description -(see description). +Environment to produce a numbered list of items. The format of the +label numbering depends on whether this environment is nested within +another; see below. \item -Each item of an enumerated list begins with an \item command. -There must be at least one \item command within the environment. +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. -By default, the numbering at each level is done like this: +This example lists the top two finishers in the 1908 Olympic marathon. -1., 2., … -(a), (b), … -i., ii., … -A., B., … +\begin{enumerate} + \item Johnny Hayes (USA) + \item Charles Hefferon (RSA) +\end{enumerate} + +Enumerations may be nested within a paragraph-making environment, +including itemize (see itemize), description +(see description) and enumeration, up to four levels deep. +The format of the label produced depends on the place in the nesting. +This gives &latex;’s default for the format at each nesting level +(where 1 is the outermost level): + +arabic number followed by a period: ‘1.’, ‘2.’, … +lower case letter inside parentheses: ‘(a)’, ‘(b)’ … +lower case roman numeral followed by a period: ‘i.’, ‘ii.’, … +upper case letter followed by a period: ‘A.’, ‘B.’, … \enumi \enumii \enumiii \enumiv -The enumerate environment uses the counters \enumi -through \enumiv counters (see Counters). If the optional -argument to \item is given, the counter is not incremented for -that item. +The enumerate environment uses the counters \enumi through +\enumiv counters (see Counters). If you use the optional +argument to \item then the counter is not incremented for that +item (see \item). \labelenumi \labelenumii \labelenumiii \labelenumiv -The enumerate environment uses the commands \labelenumi -through \labelenumiv to produce the default label. So, you can -use \renewcommand to change the labels (see \newcommand & -\renewcommand). For instance, to have the first level use uppercase -letters: +To change the format of the label use \renewcommand +(see \newcommand & \renewcommand) on the commands \labelenumi +through \labelenumiv. For instance, this first level list will be +labelled with uppercase letters, in boldface, and without a trailing +period: \Alph example -\renewcommand{\labelenumi}{\Alph{enumi}} +\renewcommand{\labelenumi}{\textbf{\Alph{enumi}}} +\begin{enumerate} + \item eI + \item bi: + \item si: +\end{enumerate} +For a list of counter-labelling commands like \Alph see +\alph \Alph \arabic \roman \Roman \fnsymbol. + +For more on customizing the layout see list. Also, the package +enumitem is useful for this. + @@ -1526,44 +2215,63 @@ letters: align environment, from amsmath amsmath package, replacing eqnarray Madsen, Lars -First, a caveat: the eqnarray environment has some infelicities -which cannot be overcome; the article “Avoid eqnarray!” by Lars -Madsen describes them in detail -(http://tug.org/TUGboat/tb33-1/tb103madsen.pdf). The bottom -line is that it is better to use the align environment (and -others) from the amsmath package. - -Nevertheless, here is a description of eqnarray: - -\begin{eqnarray} (or eqnarray*) -formula1 \\ -formula2 \\ -... +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 “Avoid +eqnarray!” by Lars Madsen +http://tug.org/TUGboat/tb33-1/tb103madsen.pdf). New documents +should include the amsmath package and use the displayed +mathematics environments provided there, such as the align +environment. + +Nevertheless, for completeness and for a reference when working with old +documents, a synopsis: + +\begin{eqnarray} + first formula left &first formula middle &first formula right \\ + ... \end{eqnarray} +or + +\begin{eqnarray*} + first formula left &first formula middle &first formula right \\ + ... +\end{eqnarray*} + \\ (for eqnarray) -The eqnarray environment is used to display a sequence of -equations or inequalities. It is similar to a three-column -array environment, with consecutive rows separated by \\ -and consecutive items within a row separated by an &. +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. +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) -\\* can also be used to separate equations, with its normal -meaning of not allowing a page break at that line. +The starred form of line break (\\*) can also be used to separate +equations, and will disallow a page break there (see \\). \nonumber equation numbers, omitting -An equation number is placed on every line unless that line has a -\nonumber command. Alternatively, The *-form of the -environment (\begin{eqnarray*} ... \end{eqnarray*}) will -omit equation numbering entirely, while otherwise being the same as -eqnarray. +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 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. +This example shows three lines. The first two lines make an inequality, +while the third line has not entry on the left side. + +\begin{eqnarray*} + \lefteqn{x_1+x_2+\cdots+x_n} \\ + &\leq &y_1+y_2+\cdots+y_n \\ + &= &z+y_3+\cdots+y_n +\end{eqnarray*} + @@ -1576,196 +2284,141 @@ zero width. Synopsis: \begin{equation} -math + math text \end{equation} -The equation environment starts a displaymath -environment (see displaymath), e.g., centering the math text -on the page, and also places an equation number in the right margin. +Make a displaymath environment (see displaymath) with an +equation number in the right margin. + +The equation number is generated using the equation counter. + +Note that the amsmath package has extensive displayed equation +facilities. Those facilities are the best approach for such output in +new documents. <literal>figure</literal> + figure inserting figures figures, inserting -\begin{figure[*]}[placement] -figbody +Synopsis: + +\begin{figure}[placement] + figure body +\caption[loftitle]{title} \label{label} -\caption[loftitle]{text} \end{figure} -Figures are objects that are not part of the normal text, and are -instead “floated” to a convenient place, such as the top of a page. -Figures will not be split between two pages. - -When typesetting in double-columns, the starred form produces a -full-width figure (across both columns). - -placement of floats -specifier, float placement -The optional argument [placement] determines where &latex; will try -to place your figure. There are four places where &latex; can possibly -put a float: - -t -(Top)—at the top of a text page. - -b -(Bottom)—at the bottom of a text page. However, b is not -allowed for full-width floats (figure*) with double-column -output. To ameliorate this, use the stfloats or -dblfloatfix package, but see the discussion at caveats in the -FAQ: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat. - -h -(Here)—at the position in the text where the figure environment -appears. However, t is not allowed by itself; t is -automatically added. - -here, putting floats -float package -To absolutely force a figure to appear “here”, 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. +or -p -(Page of floats)—on a separate float page, which is a page -containing no text, only floats. +\begin{figure*}[placement] + figure body +\caption[loftitle]{title} +\label{label} +\end{figure*} + +A class of floats (see Floats). Because they cannot be split across +pages, they are not typeset in sequence with the normal text but instead +are “floated” to a convenient place, such as the top of a following +page. -! -Used in addition to one of the above; for this float only, &latex; -ignores the restrictions on both the number of floats that can appear -and the relative amounts of float and non-float text on the page. -The ! specifier does not mean “put the float here”; -see above. +For the possible values of placement and their effect on the +float placement algorithm, see Floats. - -The standard report and article classes use the default placement -tbp. +The starred form figure* is used when a document is in +double-column mode (see \twocolumn). It produces a figure that +spans both columns, at the top of the page. To add the possibility of +placing at a page bottom see the discussion of placement b +in Floats. -The body of the figure is made up of whatever text, &latex; commands, -etc. you wish. +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 +references). \caption -The \caption command specifies caption text for the -figure. The caption is numbered by default. If loftitle is -present, it is used in the list of figures instead of text -(see Tables of contents). - -Parameters relating to fractions of pages occupied by float and -non-float text: - -\bottomfraction -The maximum fraction of the page allowed to be occupied by floats at -the bottom; default ‘.3’. - -\floatpagefraction\floatpagefraction -The minimum fraction of a float page that must be occupied by floats; -default ‘.5’. - -\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 -Maximum fraction at the top of a page that may be occupied before -floats; default ‘.7’. - -Parameters relating to vertical space around floats: - -\floatsep\floatsep -Space between floats at the top or bottom of a page; default -‘12pt plus2pt minus2pt’. - -\intextsep\intextsep -Space above and below a float in the middle of the main text; default -‘12pt plus2pt minus2pt’ for ‘10pt’ and ‘11pt’ styles, -‘14pt plus4pt minus4pt’ for ‘12pt’. - -\textfloatsep\textfloatsep -Space between the last (first) float at the top (bottom) of a page; -default ‘20pt plus2pt minus4pt’. - -Counters relating to the number of floats on a page: - -bottomnumberbottomnumber -Maximum number of floats that can appear at the bottom of a text page; -default 1. - -dbltopnumberdbltopnumber -Maximum number of full-sized floats that can appear at the top of a -two-column page; default 2. - -topnumbertopnumber -Maximum number of floats that can appear at the top of a text page; -default 2. - -totalnumbertotalnumber -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. - +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 (see Tables of +contents). + +This example makes a figure out of a graphic. It requires one of the +packages graphics or graphicx. The graphic, with its +caption, will be placed at the top of a page or, if it is pushed to the +end of the document, on a page of floats. + +\begin{figure}[t] + \centering + \includegraphics[width=0.5\textwidth]{CTANlion.png} + \caption{The CTAN lion, by Duane Bibby} +\end{figure} + -<literal>filecontents</literal>: Create external files +<literal>filecontents</literal>: Write an external file + filecontents -external files, creating +external files, writing writing external files Synopsis: \begin{filecontents}{filename} -contents-of-file + text \end{filecontents} -... -\documentclass{my-document-class} -initial command -\documentclass, commands before -The filecontents environment is an initial command, -meaning that it can be used only before the \documentclass -command, as in the synopsis above. - -&latex; will create a file named filename with the content -contents-of-file preceded by a header comment indicating how and -when the file was generated. If the file already exists then nothing will -happen. - -You can also use the filecontents package, which has the -following advantages: +or -If the file already exists, then it will be overwritten. +\begin{filecontents*}{filename} + text +\end{filecontents*} + +Create a file named filename and fill it with text. The +unstarred version of the environment filecontents prefixes the +content of the created file with a header; see the example below. The +starred version filecontents* does not include the header. -You can use the filecontents environment at any point after the -declaration \usepackage{filecontents}, not just before -\documentclass. +This environment can be used anywhere in the preamble, although it often +appears before the \documentclass command. It is typically used +when a source file requires a nonstandard style or class file. The +environment will write that file to the directory containing the source +and thus make the source file self-contained. Another use is to include +bib references in the file, again to make it self-contained. -The filecontents package also provides a filecontents* -environment which is used in the same way as the filecontents -environment except that it won’t insert any leading comment, so it is -better suited to create files which aren’t in &latex; format. +The environment checks whether a file of that name already exists and if +so, does not do anything. There is a filecontents package that +redefines the filecontents environment so that instead of doing +nothing in that case, it will overwrite the existing file. - -The filecontents environment only creates the file, and is -unrelated to using the created file. So you need to use, for -instance, \input or \usepackage or \bibliography -or whatever is applicable, to use the created file. +For example, this document -This environment is also useful to make a document in a self-contained -file, for example, for a bug report, or to keep the content of a -.bib file in the same file as the main document. +\documentclass{article} +\begin{filecontents}{JH.sty} +\newcommand{\myname}{Jim Hef{}feron} +\end{filecontents} +\usepackage{JH} +\begin{document} +Article by \myname. +\end{document} + +produces this file JH.sty. +%% LaTeX2e file `JH.sty' +%% generated by the `filecontents' environment +%% from source `test' on 2015/10/12. +%% +\newcommand{\myname}{Jim Hef{}feron} + <literal>flushleft</literal> + flushleft environment left-justifying text, environment for ragged right text, environment for @@ -1779,12 +2432,13 @@ file, for example, for a bug report, or to keep the content of a \\ 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 \\. +right. Each line must be terminated with the string \\. <literal>\raggedright</literal> + \raggedright ragged right text left-justifying text @@ -1805,6 +2459,7 @@ command that ends the paragraph unit. <literal>flushright</literal> + flushright environment ragged left text, environment for right-justifying text, environment for @@ -1818,12 +2473,13 @@ command that ends the paragraph unit. \\ (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 string \\. +left. Each line must be terminated with the control sequence \\. <literal>\raggedleft</literal> + \raggedleft ragged left text justification, ragged left @@ -1844,6 +2500,7 @@ command that ends the paragraph unit. <literal>itemize</literal> + itemize environment \item lists of items @@ -1970,7 +2627,8 @@ see \parskip): <literal>letter</literal> environment: writing letters -letter + +letter environment This environment is used for creating letters. See Letters. @@ -1978,6 +2636,7 @@ see \parskip): <literal>list</literal> + list lists of items, generic @@ -2004,6 +2663,42 @@ empty, i.e., {}, which leaves the default spacing. \linewidth (see Page layout parameters). + + + +Synopsis: + +\item text of item + +or +\item[optional label] text of item + +An entry in a list. The entries are prefixed by a label, whose default +depends on the list type. + +Because the optional argument optional label is surrounded by +square brackets ([ and ]), to use square brackets +inside the optional argument you must hide them inside curly braces, as +in \item[Close square bracket, {]}]. Similarly, to use an open +square bracket as first character in the text of the item, also hide it +inside curly braces. See &latex; command syntax. + +In this example the enumerate list has two items that use the +default label and one that uses the optional label. + +\begin{enumerate} + \item Moe + \item[sometimes] Shemp + \item Larry +\end{enumerate} + +The first item is labelled ‘1.’, the second item is labelled +‘sometimes’, and the third item is labelled ‘2.’ (note that, +because of the optional label in the second item, the third item does +not get a ‘3.’). + + + <literal>math</literal> @@ -2018,7 +2713,7 @@ empty, i.e., {}, which leaves the default spacing. \end{math} The math environment inserts the given math within the -running text. \(...\)) and $...$ are synonyms. +running text. \(...\) and $...$ are synonyms. See Math formulas. @@ -2069,7 +2764,7 @@ footnotes; they may wind up at the bottom of the wrong minipage. creating pictures pictures, creating -\begin{picture}(width,height)(x offset,y offset) +\begin{picture}(width,height)(xoffset,yoffset) … picture commands … \end{picture} @@ -2088,22 +2783,23 @@ centimeters. \setlength command, outside of a picture environment. The default value is 1pt. -A position is a pair of coordinates, such as (2.4,-5), specifying +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, which is normally at the lower-left corner of the picture. Note that when a position appears as an argument, it is not enclosed in braces; the parentheses serve to delimit the argument. -The picture environment has one mandatory argument, which is a -position. It specifies the size of the picture. The environment -produces a rectangular box with width and height determined by this -argument’s x- and y-coordinates. +The picture environment has one mandatory argument which is a +position (width,height), which specifies the size of the +picture. The environment produces a rectangular box with these +width and height. -The picture environment also has an optional position -argument, following the size argument, that can change the -origin. (Unlike ordinary optional arguments, this argument is not -contained in square brackets.) The optional argument gives the +The picture environment also has an optional position argument +(xoffset,yoffset), following the size argument, that can +change the origin. (Unlike ordinary optional arguments, this argument +is not contained in square brackets.) The optional argument gives the coordinates of the point at the lower-left corner of the picture (thereby determining the origin). For example, if \unitlength has been set to 1mm, the command @@ -2145,10 +2841,12 @@ be the lower left corner of the box. <literal>\circle</literal> + \circle Synopsis: -\circle[*]{diameter} + +\circle[*]{diameter} The \circle command produces a circle with a diameter as close to the specified one as possible. The *-form of the command @@ -2160,10 +2858,12 @@ draws a solid circle. <literal>\makebox</literal> + \makebox (for picture) Synopsis: -\makebox(width,height)[position]{text} + +\makebox(width,height)[position]{text} The \makebox command for the picture environment is similar to the normal \makebox command except that you must specify a @@ -2191,6 +2891,7 @@ your text appears in. You may select up to two of th <literal>\framebox</literal> + \framebox Synopsis: @@ -2230,6 +2931,7 @@ multiples of the dlen. <literal>\frame</literal> + \frame Synopsis: @@ -2244,6 +2946,7 @@ space is put between the frame and the object. <literal>\line</literal> + \line Synopsis: @@ -2264,6 +2967,7 @@ see pict2e and many other packages on CTAN. <literal>\linethickness</literal> + \linethickness The \linethickness{dim} command declares the thickness @@ -2277,6 +2981,7 @@ circles, or the quarter circles drawn by \oval. <literal>\thicklines</literal> + \thicklines The \thicklines command is an alternate line thickness for @@ -2287,6 +2992,7 @@ cf. \linethickness and <literal>\thinlines</literal> + \thinlines The \thinlines command is the default line thickness for @@ -2297,10 +3003,12 @@ cf. \linethickness and <literal>\multiput</literal> + \multiput Synopsis: -\multiput(x,y)(delta_x,delta_y){n}{obj} + +\multiput(x,y)(delta_x,delta_y){n}{obj} The \multiput command copies the object obj in a regular pattern across a picture. obj is first placed at position @@ -2311,25 +3019,29 @@ pattern across a picture. obj is first placed at pos <literal>\oval</literal> + \oval Synopsis: \oval(width,height)[portion] -The \oval command produces a rectangle with rounded corners. -The optional argument portion allows you to select part of the +The \oval command produces a rectangle with rounded corners. The +optional argument portion allows you to produce only half of the oval via the following: t -selects the top portion; +selects the top half; b -selects the bottom portion; +selects the bottom half; r -selects the right portion; +selects the right half; l -selects the left portion. +selects the left half. +It is also possible to produce only one quarter of the oval by setting +portion to tr, br, bl, or tl. + The “corners” of the oval are made with quarter circles with a maximum radius of 20pt, so large “ovals” will look more like boxes with rounded corners. @@ -2338,6 +3050,7 @@ boxes with rounded corners. <literal>\put</literal> + \put Synopsis: @@ -2352,6 +3065,7 @@ boxes with rounded corners. <literal>\shortstack</literal> + \shortstack Synopsis: @@ -2375,6 +3089,7 @@ positions are: <literal>\vector</literal> + \vector Synopsis: @@ -2388,13 +3103,17 @@ values must lie between −4 and +4, inclusive. - -<literal>quotation</literal> + +<literal>quotation</literal> and <literal>quote</literal> 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 Synopsis: @@ -2402,38 +3121,37 @@ values must lie between −4 and +4, inclusive. text \end{quotation} -The margins of the quotation environment are indented on both -the left and the right. The text is justified at both margins. -Leaving a blank line between text produces a new paragraph. - -Unlike the quote environment, each paragraph is indented -normally. - - - - -<literal>quote</literal> - -quote -quoted text without paragraph indentation, displaying -displaying quoted text without paragraph indentation -paragraph indentations in quoted text, omitting - -Synopsis: +or \begin{quote} text \end{quote} -The margins of the quote environment are indented on both the -left and the right. The text is justified at both margins. Leaving a -blank line between text produces a new paragraph. - -Unlike the quotation environment, paragraphs are not indented. +Include a quotation. + +In both environments, margins are indented on both sides by +\leftmargin and the text is justified at both. As with the main +text, leaving a blank line produces a new paragraph. + +To compare the two: in the quotation environment, paragraphs are +indented by 1.5em and the space between paragraphs is small, +0pt plus 1pt. In the quote environment, paragraphs are +not indented and there is vertical space between paragraphs (it is the +rubber length \parsep). Thus, the quotation environment +may be more suitable for documents where new paragraphs are marked by an +indent rather than by a vertical separation. In addition, quote +may be more suitable for a short quotation or a sequence of short +quotations. +\begin{quotation} +\it Four score and seven years ago + .. shall not perish from the earth. +\hspace{1em plus 1fill}---Abraham Lincoln +\end{quotation} + - + <literal>tabbing</literal> tabbing environment @@ -2485,7 +3203,7 @@ necessary. \’ (tabbing)\' (tabbing) Moves everything that you have typed so far in the -current column, i.e. everything from the most recent \>, +current column, i.e., everything from the most recent \>, \<, \', \\, or \kill command, to the right of the previous column, flush against the current column’s tab stop. @@ -2538,7 +3256,7 @@ function \= fact(n : integer) : integer;\\ - + <literal>table</literal> table @@ -2547,79 +3265,114 @@ function \= fact(n : integer) : integer;\\ Synopsis: - \begin{table}[placement] - - body of the table - - \caption{table title} - \end{table} +\begin{table}[placement] + table body +\caption[loftitle]{title} +\label{label} +\end{table} -Tables are objects that are not part of the normal text, and are -usually “floated” to a convenient place, like the top of a page. -Tables will not be split between two pages. - -The optional argument [placement] determines where &latex; will try -to place your table. There are four places where &latex; can possibly put -a float; these are the same as that used with the figure -environment, and described there (see figure). +A class of floats (see Floats). Because they cannot be split across +pages, they are not typeset in sequence with the normal text but instead +are “floated” to a convenient place, such as the top of a following +page. -The standard report and article classes use the default -placement [tbp]. +For the possible values of placement and their effect on the +float placement algorithm, see Floats. -The body of the table is made up of whatever text, &latex; commands, etc., -you wish. The \caption command allows you to title your table. +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 +references). +\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 (see Tables of +contents). + +In this example the table and caption will float to the bottom of a page, +unless it is pushed to a float page at the end. + +\begin{table}[b] + \centering + \begin{tabular}{r|p{2in}} \hline + One &The loneliest number \\ + Two &Can be as sad as one. + It's the loneliest number since the number one. + \end{tabular} + \caption{Cardinal virtues} + \label{tab:CardinalVirtues} +\end{table} + - + <literal>tabular</literal> + tabular environment lines in tables lining text up in tables Synopsis: -\begin{tabular}[pos]{cols} -column 1 entry & column 2 entry ... & column n entry \\ -... +\begin{tabular}[pos]{cols} +column 1 entry &column 2 entry ... &column n entry \\ + ... \end{tabular} or -\begin{tabular*}{width}[pos]{cols} -column 1 entry & column 2 entry ... & column n entry \\ -... +\begin{tabular*}{width}[pos]{cols} +column 1 entry &column 2 entry ... &column n entry \\ + ... \end{tabular*} -These environments produce a box consisting of a sequence of rows of -items, aligned vertically in columns. - +These environments produce a table, a box consisting of a sequence of +horizontal rows. Each row consists of items that are aligned vertically +in columns. This illustrates many of the features. + +\begin{tabular}{l|l} + \textit{Player name} &\textit{Career home runs} \\ + \hline + Hank Aaron &755 \\ + Babe Ruth &714 +\end{tabular} + +The vertical format of two left-aligned columns, with a vertical bar +between them, is specified in tabular’s argument {l|l}. +& +Columns are separated with an ampersand &. A horizontal rule +between two rows is created with \hline. \\ for tabular -\\ must be used to specify the end of each row of the table, -except for the last, where it is optional—unless an \hline -command (to put a rule below the table) follows. - -The mandatory and optional arguments consist of: - -width -Specifies the width of the tabular* environment. There must be -rubber space between columns that can stretch to fill out the specified -width. +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. -pos -Specifies the vertical position; default is alignment on the centre of -the environment. +The required and optional arguments to tabular consist of: -t -align on top row - -b -align on bottom row - -cols -Specifies the column formatting. It consists of a sequence of the -following specifiers, corresponding to the sequence of columns and -intercolumn material. +width +Required for tabular*, not allowed for tabular. Specifies +the width of the tabular* environment. The space between columns +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. + +pos +Optional. Specifies the table’s vertical position. The default is to +align the table so its vertical center matches the baseline of the +surrounding text. There are two other possible alignments: t +aligns the table so its top row matches the baseline of the surrounding +text, and b aligns on the bottom row. + +This only has an effect if there is other text. In the common case of a +tabular alone in a center environment this option makes +no difference. + +cols +Required. Specifies the formatting of columns. It consists of a +sequence of the following specifiers, corresponding to the types of +column and intercolumn material. l A column of left-aligned items. @@ -2633,134 +3386,284 @@ intercolumn material. | A vertical line the full height and depth of the environment. -@{text} -This inserts text in every row. An @-expression suppresses the -intercolumn space normally inserted between columns; any desired space -before the adjacent item must be included in text. +@{text or space} +This inserts text or space at this location in every row. The +text or space material is typeset in LR mode. This text is +fragile (see \protect). -To insert commands that are automatically executed before a given -column, you have to load the array package and use the ->{...} specifier. - +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. + +If you override the default and use an @-expression then you must +insert any desired space yourself, as in @{\hspace{1em}}. + +An empty expression @{} will eliminate the space, including +the space at the start or end, as in the example below where the tabular +lines need to lie on the left margin. + +\begin{flushleft} + \begin{tabular}{@{}l} + .. + \end{tabular} +\end{flushleft} + +This example shows text, a decimal point, between the columns, arranged +so the numbers in the table are aligned on that decimal point. +\begin{tabular}{r@{$.$}l} + $3$ &$14$ \\ + $9$ &$80665$ +\end{tabular} + \extracolsep -An \extracolsep{wd} command in an @-expression causes an -extra space of width wd to appear to the left of all subsequent +An \extracolsep{wd} command in an @-expression causes an +extra space of width wd to appear to the left of all subsequent columns, until countermanded by another \extracolsep command. -Unlike ordinary intercolumn space, this extra space is not suppressed -by an @-expression. An \extracolsep command can be used only -in an @-expression in the cols argument. +Unlike ordinary intercolumn space, this extra space is not suppressed by +an @-expression. An \extracolsep command can be used only in an +@-expression in the cols argument. Below, &latex; inserts the +right amount of intercolumn space to make the entire table 4 inches +wide. + +\begin{center} + \begin{tabular*}{4in}{l@{\ \ldots\extracolsep{\fill}}l} + Seven times down, eight times up + &such is life! + \end{tabular*} +\end{center} + +To insert commands that are automatically executed before a given +column, load the array package and use the >{...} +specifier. + p{wd} -Produces a column with each item typeset in a parbox of width -wd, as if it were the argument of a -\parbox[t]{wd} command. However, a \\ may not -appear in the item, except in the following situations: - -inside an environment like minipage, array, or tabular. -inside an explicit \parbox. -in the scope of a \centering, \raggedright, or \raggedleft -declaration. The latter declarations must appear inside braces or an -environment when used in a p-column element. - +Each item in the column is typeset in a parbox of width wd. + +Note that a line break double backslash \\ may not appear in the +item, except inside an environment like minipage, array, +or tabular, or inside an explicit \parbox, or in the scope +of a \centering, \raggedright, or \raggedleft +declaration (when used in a p-column element these declarations +must appear inside braces, as with {\centering .. \\ +..}). Otherwise &latex; will misinterpret the double backslash as +ending the row. + *{num}{cols} Equivalent to num copies of cols, where num is a -positive integer and cols is any list of column-specifiers, -which may contain another *-expression. - +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. + Parameters that control formatting: \arrayrulewidth\arrayrulewidth -Thickness of the rule created by |, \hline, and -\vline in the tabular and array environments; the -default is ‘.4pt’. +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 -Scaling of spacing between rows in the tabular and array -environments; default is ‘1’, for no scaling. +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 -Horizontal distance between the vertical rules produced by || -in the tabular and array environments; default is ‘2pt’. +A length that is the distance between the vertical rules produced by the +|| specifier. The default is ‘2pt’. \tabcolsep\tabcolsep -Half the width of the space between columns; default is ‘6pt’. +A length that is half of the space between columns. The default is +‘6pt’. Change it with \setlength. -The following commands can be used inside a tabular -environment: +The following commands can be used inside the body of a tabular +environment, the first two inside an entry and the second two between +lines: - + <literal>\multicolumn</literal> + \multicolumn Synopsis: -\multicolumn{cols}{pos}{text} - -The \multicolumn command makes an entry that spans several -columns. The first mandatory argument, cols, specifies the -number of columns to span. The second mandatory argument, pos, -specifies the formatting of the entry; c for centered, l -for flushleft, r for flushright. The third mandatory argument, -text, specifies what text to put in the entry. - -Here’s an example showing two columns separated by an en-dash; -\multicolumn is used for the heading: - -\begin{tabular}{r@{--}l} -\multicolumn{2}{c}{\bf Unicode}\cr - 0x80&0x7FF \cr - 0x800&0xFFFF \cr -0x10000&0x1FFFF \cr + +\multicolumn{numcols}{cols}{text} + +Make an array or tabular entry that spans several columns. +The first argument numcols gives the number of columns to span. +The second argument cols specifies the formatting of the entry, +with c for centered, l for flush left, or r for +flush right. The third argument text gives the contents of that +entry. + +In this example, in the first row, the second and third columns are +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 +array or tabular environment is broken into parts, where +each part (except the first) begins with l, c, r, +or p. So from \begin{tabular}{|r|ccp{1.5in}|} +the parts are |r|, c, c, +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 ‘|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. + +\begin{tabular}{|cc|c|c|} + \multicolumn{1}{r}{w} % entry one + &\multicolumn{1}{|r|}{x} % entry two + &\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 rule; although the first cols does not have an ending +vertical bar, the second cols does have a starting one. Between +entry two and entry three there is a single vertical rule; despite that +the cols in both of the surrounding multicolumn’s call for +a vertical rule, you only get one rule. Between entry three and entry +four there is no vertical rule; the default calls for one but the +cols in the entry three \multicolumn leaves it out, and +that takes precedence. Finally, following entry four there is a +vertical rule because of the default. + +The number of spanned columns numcols can be 1. Besides giving +the ability to change the horizontal alignment, this also is useful to +override for one row the tabular definition’s default intercolumn +area specification, including the placement of vertical rules. + +In the example below, in the tabular definition the first column +is specified to default to left justified but in the first row the entry +is centered with \multicolumn{1}{c}{\textsc{Period}}. +Also in the first row, the second and third columns are spanned by a +single entry with \multicolumn{2}{c}{\textsc{Span}}, +overriding the specification to center those two columns on the page +range en-dash. + +\begin{tabular}{l|r@{--}l} + \multicolumn{1}{c}{\textsc{Period}} + &multicolumn{2}{c}{\textsc{Span}} \\ \hline + Baroque &1600 &1760 \\ + Classical &1730 &1820 \\ + Romantic &1780 &1910 \\ + Impressionistic &1875 &1925 +\end{tabular} + +Note that although the tabular specification by default puts a +vertical rule between the first and second columns, because there is no +vertical bar in the cols of either of the first row’s +\multicolumn commands, no rule appears in 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. + +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 that is different than putting it halfway between the two +columns, so in that row between the first and second columns there are +two vertical rules, with the one from the {c|cc} specifier +coming before the one produced by the \vline\hfill. In contrast, +the first line’s third entry shows the usual way to put a vertical bar +between two columns. In the second line, the ghi is the widest +entry in its column so in the \vline\hfill the \hfill has +no effect and the vertical line in that entry appears immediately next +to the g, with no whitespace. + +\begin{tabular}{c|cc} + x &\vline\hfill y &\multicolumn{1}{|r}{z} \\ + abc &def &\vline\hfill ghi \end{tabular} - + <literal>\cline</literal> + \cline Synopsis: \cline{i-j} -The \cline command draws horizontal lines across the columns -specified, beginning in column i and ending in column j, -which are specified in the mandatory argument. - +Draw a horizontal rule in an array or tabular environment +beginning in column i and ending in column j. The +dash - must appear in the mandatory argument. To span a +single column use the number twice. + +This example puts two horizontal lines between the first and second +rows, one line in the first column only, and the other spanning the +third and fourth columns. The two lines are side-by-side, at the same +height. + +\begin{tabular}{llrr} + a &b &c &d \\ \cline{1-1} \cline{3-4} + e &f &g &h +\end{tabular} + - + <literal>\hline</literal> + \hline -The \hline command draws a horizontal line the width of the -enclosing tabular or array environment. It’s most -commonly used to draw a line at the top, bottom, and between the rows -of a table. +Draws a horizontal line the width of the enclosing tabular or +array environment. It’s most commonly used to draw a line at the +top, bottom, and between the rows of a table. - - - -<literal>\vline</literal> -\vline - -The \vline command will draw a vertical line extending the full -height and depth of its row. An \hfill command can be used to -move the line to the edge of the column. It can also be used in an -@-expression. +In this example the top of the table has two horizontal rules, one above +the other, that span both columns. The bottom of the table has a single +rule spanning both columns. Because of the \hline, the +tabular second row’s line ending double backslash \\ +is required. +\begin{tabular}{ll} \hline\hline + Baseball &Red Sox \\ + Basketball &Celtics \\ \hline +\end{tabular} + - + <literal>thebibliography</literal> -thebibliography +thebibliography environment bibliography, creating (manually) Synopsis: @@ -2788,13 +3691,14 @@ less than 10 references, 99 for ones with less than 100, etc. - + <literal>\bibitem</literal> \bibitem Synopsis: -\bibitem[label]{cite_key} + +\bibitem[label]{cite_key} The \bibitem command generates an entry labelled by label. If the label argument is missing, a number is @@ -2811,14 +3715,14 @@ associated label. - + <literal>\cite</literal> \cite Synopsis: -\cite[subcite]{keys +\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 @@ -2831,18 +3735,19 @@ citation. For example, \cite[p.~314]{knuth} might produce - + <literal>\nocite</literal> + \nocite -\nocite{key_list} +\nocite{keys} -The \nocite command produces no text, but writes key_list, -which is a list of one or more citation keys, on the .aux file. +The \nocite command produces no text, but writes keys, +which is a list of one or more citation keys, to the .aux file. - + Using Bib&tex; using Bib&tex; @@ -2889,7 +3794,7 @@ Bib&tex; format. Only the entries referred to via \cite and - + <literal>theorem</literal> theorem environment @@ -2908,7 +3813,7 @@ possibilities for n are described under \new - + <literal>titlepage</literal> titlepage environment @@ -2932,7 +3837,7 @@ produce a standard title page without a titlepage environment - + <literal>verbatim</literal> verbatim environment @@ -2957,7 +3862,7 @@ effect that they would on a typewriter. The verbatim uses a monospaced typewriter-like font (\tt). - + <literal>\verb</literal> \verb @@ -2981,7 +3886,7 @@ verbatim text. The delimiter must not appear in literal-text - + <literal>verse</literal> verse environment @@ -3009,6 +3914,7 @@ stanzas. Line breaking + line breaking breaking lines @@ -3017,30 +3923,52 @@ translate your input file into a sequence of glyphs and spaces. To produce a printed document, this sequence must be broken into lines (and these lines must be broken into pages). -&latex; usually does the line (and page) breaking for you, but in -some environments, you do the line breaking yourself with the -\\ command, and you can always manually force breaks. +&latex; usually does the line (and page) breaking in the text body for +you but in some environments you manually force line breaks. -<literal>\\</literal>[*][<replaceable>morespace</replaceable>] +<literal>\\</literal> + \\ force line break new line, starting line break, forcing -The \\ command tells &latex; to start a new line. It has an -optional argument, morespace, that specifies how much extra -vertical space is to be inserted before the next line. This can be a -negative amount. +Synopsis: -The \\* command is the same as the ordinary \\ command -except that it tells &latex; not to start a new page after the line. +\\[morespace] + +or +\\*[morespace] + +Start a new line. The optional argument morespace specifies extra +vertical space to be insert before the next line. This can be a +negative length. The text before the break is set at its normal length, +that is, it is not stretched to fill out the line width. + +Explicit line breaks in the text body are unusual in &latex;. In +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 tabular environment) the \newline command is a synonym for +\\ (see \newline). + +In addition to starting a new line, the starred form \\* tells +&latex; not to start a new page between the two lines, by issuing a +\nobreak. + +\title{My story: \\[0.25in] + a tale of woe} + <literal>\obeycr</literal> & <literal>\restorecr</literal> + \obeycr \restorecr new line, output as input @@ -3056,17 +3984,33 @@ in the output. <literal>\newline</literal> + \newline new line, starting (paragraph mode) -The \newline command breaks the line at the present point, with -no stretching of the text before it. It can only be used in paragraph -mode. +In ordinary text this is equivalent to double-backslash (see \\); 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 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. + +This will print ‘Name:’ and ‘Address:’ as two lines in a +single cell of the table. + +\begin{tabular}{p{1in}{\hspace{2in}}p{1in}} + Name: \newline Address: &Date: \\ \hline +\end{tabular} + +The ‘Date:’ will be baseline-aligned with ‘Name:’. <literal>\-</literal> (discretionary hyphen) + \- (hyphenation) hyphenation, forcing @@ -3081,10 +4025,10 @@ hyphenated at those points and not at any of the hyphenation points that &latex; might otherwise have chosen. - <literal>\fussy</literal> + \fussy The declaration \fussy (which is the default) makes &tex; @@ -3099,6 +4043,8 @@ words, at the cost of an occasional overfull box. <literal>\sloppy</literal> +\sloppy + The declaration \sloppy makes &tex; less fussy about line breaking. This will avoid overfull boxes, at the cost of loose interword spacing. @@ -3109,6 +4055,7 @@ interword spacing. <literal>\hyphenation</literal> + \hyphenation hyphenation, defining @@ -3129,6 +4076,7 @@ misses the hyphenations in these words): <literal>\linebreak</literal> & <literal>\nolinebreak</literal> + \linebreak \nolinebreak line breaks, forcing @@ -3153,6 +4101,7 @@ from a demand to a request. The priority must be a n Page breaking + page breaking breaking pages @@ -3169,36 +4118,41 @@ but sometimes you may want to influence the breaks. starting on a right-hand page The \cleardoublepage command ends the current page and causes all -figures and tables that have so far appeared in the input to be printed. -In a two-sided printing style, it also makes the next page a right-hand -(odd-numbered) page, producing a blank page if necessary. +the pending floating figures and tables that have so far appeared in the +input to be printed. In a two-sided printing style, it also makes the +next page a right-hand (odd-numbered) page, producing a blank page if +necessary. <literal>\clearpage</literal> + \clearpage flushing floats and starting a page starting a new page and clearing floats -The \clearpage command ends the current page and causes all -figures and tables that have so far appeared in the input to be printed. +The \clearpage command ends the current page and causes all the +pending floating figures and tables that have so far appeared in the +input to be printed. <literal>\newpage</literal> + \newpage new page, starting starting a new page The \newpage command ends the current page, but does not clear -floats (see \clearpage above). +floats (see \clearpage). <literal>\enlargethispage</literal> + \enlargethispage enlarge current page @@ -3207,7 +4161,7 @@ floats (see \clearpage above). \enlargethispage*{size} Enlarge the \textheight for the current page by the specified -amount; e.g. \enlargethispage{\baselineskip} will allow one +amount; e.g., \enlargethispage{\baselineskip} will allow one additional line. The starred form tries to squeeze the material together on the page as @@ -3218,6 +4172,7 @@ much as possible. This is normally used together with an explicit <literal>\pagebreak</literal> & <literal>\nopagebreak</literal> + \pagebreak \nopagebreak page break, forcing @@ -3243,88 +4198,246 @@ insistent the request is. Footnotes + footnotes, creating -Footnotes can be produced in one of two ways. They can be produced -with one command, the \footnote command. They can also be -produced with two commands, the \footnotemark and the -\footnotetext commands. +Place a numbered footnote at the bottom of the current page, as here. + +Noël Coward quipped that having to read a footnote is like having +to go downstairs to answer the door, while in the midst of making +love.\footnote{I wouldn't know, I don't read footnotes.} + +You can place multiple footnotes on a page. If the text becomes too long +it will flow to the next page. + +You can also produce footnotes by combining the \footnotemark and +the \footnotetext commands, which is useful in special +circumstances. + +To make bibliographic references come out as footnotes you need to +include a bibliographic style with that behavior. <literal>\footnote</literal> + \footnote Synopsis: \footnote[number]{text} -The \footnote command places the numbered footnote text -at the bottom of the current page. The optional argument number -changes the default footnote number. +Place a numbered footnote text at the bottom of the current page. + +There are over a thousand footnotes in Gibbon's +\textit{Decline and Fall of the Roman Empire}.\footnote{After +reading an early version with endnotes David Hume complained, +``One is also plagued with his Notes, according to the present Method +of printing the Book'' and suggested that they ``only to be printed +at the Margin or the Bottom of the Page.''} + +The optional argument number allows you to specify the footnote +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. -This command can only be used in outer paragraph mode; i.e., you -cannot use it in sectioning commands like \chapter, in figures, -tables or in a tabular environment. (See following sections.) +footnotes, symbols instead of numbers +\fnsymbol, and footnotes +\@fnsymbol +Change how &latex; shows the footnote counter with something like +\renewcommand{\thefootnote}{\fnsymbol{footnote}}, which +uses a sequence of symbols (see \alph \Alph \arabic \roman \Roman +\fnsymbol). To make this change global put that in the preamble. If +you make the change local then you may want to reset the counter with +\setcounter{footnote}{0}. By default &latex; uses arabic +numbers. + +&latex;’s default puts many restrictions on where you can use a +\footnote; for instance, you cannot use it in an argument to a +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 +In a minipage environment the \footnote +command uses the mpfootnote counter instead of the +footnote counter, so they are numbered independently. They are +shown at the bottom of the environment, not at the bottom of the page. +And by default they are shown alphabetically. See minipage. + <literal>\footnotemark</literal> + \footnotemark -With no optional argument, the \footnotemark command puts the -current footnote number in the text. This command can be used in -inner paragraph mode. You give the text of the footnote separately, -with the \footnotetext command. - -This command can be used to produce several consecutive footnote -markers referring to the same footnote with +Synopsis, one of: -\footnotemark[\value{footnote}] +\footnotemark +\footnotemark[number] + +Put the current footnote number in the +text. (See \footnotetext for giving the text of the footnote +separately.) The version with the optional argument number uses +that number to determine the mark printed. This command can be used in +inner paragraph mode. + +This example gives the same institutional affiliation to both the first +and third authors (\thanks is a version of footnote). + +\title{A Treatise on the Binomial Theorem} +\author{J Moriarty\thanks{University of Leeds} + \and A C Doyle\thanks{Durham University} + \and S Holmes\footnotemark[1]} +\begin{document} +\maketitle + +If you use \footnotemark without the optional argument then it +increments the footnote counter but if you use the optional number +then it does not. This produces several consecutive footnote markers +referring to the same footnote. + +The first theorem\footnote{Due to Gauss.} +and the second theorem\footnotemark[\value{footnote}] +and the third theorem.\footnotemark[\value{footnote}] -after the first \footnote command. - <literal>\footnotetext</literal> + \footnotetext -Synopsis: +Synopsis, one of: + +\footnotetext{text} +\footnotetext[number]{text} + +Place text at the bottom of the page as a footnote. This command +can come anywhere after the \footnotemark command. The optional +argument number changes the displayed footnote number. The +\footnotetext command must appear in outer paragraph mode. + + + + +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 +footnote simply disappears; there is a footnote mark in the table cell +but nothing is set at the bottom of the page. + +\begin{center} + \begin{tabular}{l|l} + \textsc{Ship} &\textsc{Book} \\ \hline + \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.} + \end{tabular} +\end{center} + +The solution is to surround the tabular environment with a +minipage environment, as here (see minipage). + +\begin{center} + \begin{minipage}{.5\textwidth} + .. tabular material .. + \end{minipage} +\end{center} + +The same technique will work inside a floating table environment +(see table). To get the footnote at the bottom of the page use the +tablefootnote package, as illustrated in this example. If you +put \usepackage{tablefootnote} in the preamble and use the code +shown then the footnote appears at the bottom and is numbered in +sequence with other footnotes. + +\begin{table} + \centering + \begin{tabular}{l|l} + \textsc{Date} &\textsc{Campaign} \\ \hline + 1862 &Fort Donelson \\ + 1863 &Vicksburg \\ + 1865 &Army of Northern Virginia\footnote{Ending the war.} + \end{tabular} + \caption{Forces captured by US Grant} +\end{table} + + + + +Footnotes in section headings + +Putting a footnote in a section heading -\footnotetext[number]{text} +\section{Full sets\protect\footnote{This material is due to R~Jones.}} -The \footnotetext command places text at the bottom of -the page as a footnote. This command can come anywhere after the -\footnotemark command. The \footnotetext command must -appear in outer paragraph mode. +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. -The optional argument number changes the default footnote number. +\usepackage[stable]{footmisc} + .. +\begin{document} + .. +\section{Full sets\footnote{This material is due to R~Jones.}} + +Note that the \protect is gone; putting it in causes the +footnote to reappear on the table of contents. - -Symbolic footnotes + +Footnotes of footnotes -footnotes, symbolic instead of numbered -If you want to use symbols for footnotes, rather than increasing -numbers, redefine \thefootnote like this: +Particularly in the humanities, authors can have multiple classes of +footnotes, including having footnotes of footnotes. The package +bigfoot extends &latex;’s default footnote mechanism in many +ways, including allow these two, as in this example. -\renewcommand{\thefootnote}{\fnsymbol{footnote}} +\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.}} + .. -\fnsymbol, and footnotes -\@fnsymbol -The \fnsymbol command produces a predefined series of symbols -(see \alph \Alph \arabic \roman \Roman \fnsymbol). If you want to -use a different symbol as your footnote mark, you’ll need to also -redefine \@fnsymbol. + + + +Multiple references to footnotes + +You can refer to a single footnote more than once. This example +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 +of multiple authors with the same affiliation. - + Footnote parameters footnote parameters @@ -3349,6 +4462,7 @@ footnotes. This is ‘6.65pt’ for ‘ Definitions + definitions &latex; has support for making new commands of many different kinds. @@ -3359,40 +4473,55 @@ footnotes. This is ‘6.65pt’ for ‘ <literal>\newcommand</literal> & <literal>\renewcommand</literal> + \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][optargval]{defn} -\renewcommand[*]{cmd}[nargs][optargval]{defn} + \newcommand{cmd}[nargs][optargdefault]{defn} + \newcommand*{cmd}[nargs][optargdefault]{defn} +\renewcommand{cmd}[nargs][optargdefault]{defn} +\renewcommand*{cmd}[nargs][optargdefault]{defn} -* -*-form of defining new commands -The *-form of these commands requires that the arguments not contain -multiple paragraphs of text (not \long, in plain &tex; terms). +The *-form of these two commands requires that the arguments +not contain multiple paragraphs of text (not \long, in plain +&tex; terms). -cmd -The command name, beginning with \. For \newcommand, it -must not be already defined and must not begin with \end; for -\renewcommand, it must already be defined. +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. nargs -An optional integer from 1 to 9 specifying the number of arguments -that the command will take. The default is for the command to have no -arguments. - -optargval -If this optional parameter is present, it means that the first -argument of command cmd is optional and its default value (i.e., -if it is not specified in the call) is optarg. In otherwise, -when calling the macro, if no [value] is given after -cmd—which is different from having [] for an -empty value—then string ‘optargval’ becomes the -value of #1 within defn when the macro is expanded. +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. + +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. + +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 +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 @@ -3400,11 +4529,73 @@ construct of the form #n in 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. + +A simple example of defining a new command: +\newcommand{\JH}{Jim Hef{}feron} causes the abbreviation +\JH to be replaced by the longer text. + +Redefining a command is basically the same: +\renewcommand{\qedsymbol}{{\small QED}}. + +Here’s a command definition that uses arguments: + +\newcommand{\defreference}[1]{Definition~\ref{#1}} + +Then, \defreference{def:basis} will 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 optional arguments: + +\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 \shipname{Monitor} met the \shipname{Virginia}. + +the words ‘met the’ will incorrectly be in italics. An +extra pair of braces \newcommand{\shipname}[1]{{\it #1}} +fixes it. + + + + +<literal>\providecommand</literal> + +\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: + +\providecommand{cmd}[nargs][optargdefault]{defn} +\providecommand*{cmd}[nargs][optargdefault]{defn} + +If no command of this name already exists then this has the same effect +as \newcommand (see \newcommand & \renewcommand). If a +command of this name already exists then this definition does nothing. +This is particularly useful in a style file, or other file that may be +loaded more than once. + - -<literal>\newcounter</literal> + +<literal>\newcounter</literal>: Allocating a counter + \newcounter counters, defining new @@ -3412,190 +4603,424 @@ text of the nth argument. \newcounter{countername}[supercounter] -The \newcounter command defines a new counter named countername. -The new counter is initialized to zero. - -Given the optional argument [super], countername -will be reset whenever the counter named supercounter is incremented. +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. + +If the optional argument [supercounter] appears, 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 +(see \stepcounter) or \refstepcounter +(see \refstepcounter) then countername is reset to zero. See Counters, for more information about counters. - -<literal>\newlength</literal> + +<literal>\newlength</literal>: Allocating a length + \newlength -lengths, defining new +lengths, allocating new +rubber lengths, defining new +skip register, plain &tex; +glue register, plain &tex; -Synopsis: +Allocate a new length register. Synopsis: \newlength{\arg} -The \newlength command defines the mandatory argument as a -length command with a value of zero. The argument must -be a control sequence, as in \newlength{\foo}. An error -occurs if \foo is already defined. +This command takes one required argument, which must begin with a +backslash (‘\’). It creates a new length register named +\arg, which is a place to hold (rubber) lengths such as +1in plus.2in minus.1in (what plain &tex; calls a skip +register). The register gets an initial value of zero. The control +sequence \arg must not already be defined. -See Lengths, for how to set the new length to a nonzero value, and -for more information about lengths in general. +See Lengths, for more about lengths. - -<literal>\newsavebox</literal> + +<literal>\newsavebox</literal>: Allocating a box + \newsavebox +box, allocating new -Synopsis: +Allocate a “bin” for holding a box. Synopsis: -\newsavebox{cmd} +\newsavebox{\cmd} -Defines \cmd, which must be a command name not already -defined, to refer to a new bin for storing boxes. +Defines \cmd to refer to a new bin for storing boxes. +Such a box is for holding typeset material, to use multiple times +(see Boxes) or to measure or manipulate. The name +\cmd must start with a backslash (‘\’), and must not +be already defined. + +The allocation of a box is global. This command is fragile +(see \protect). - + <literal>\newenvironment</literal> & <literal>\renewenvironment</literal> + \newenvironment \renewenvironment environments, defining defining new environments redefining environments -Synopses: - - \newenvironment[*]{env}[nargs][default]{begdef}{enddef} -\renewenvironment[*]{env}[nargs]{begdef}{enddef} - These commands define or redefine an environment env, that is, -\begin{env} … \end{env}. - -* -*-form of environment commands -The *-form of these commands requires that the arguments (not the -contents of the environment) not contain multiple paragraphs of text. +\begin{env} … \end{env}. Synopses: -env -The name of the environment. For \newenvironment, env -must not be an existing environment, and the command \env -must be undefined. For \renewenvironment, env must be -the name of an existing environment. + \newenvironment{env}[nargs][optargdefault]{begdefn}{enddefn} + \newenvironment*{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 *. + +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. nargs -An integer from 1 to 9 denoting the number of arguments of -the newly-defined environment. The default is no arguments. - -default -If this is specified, the first argument is optional, and default -gives the default value for that argument. - -begdef -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. - -enddef -The text expanded at every occurrence of \end{env}. It -may not contain any argument parameters. +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. + +optargdefault +Optional; if this argument is present then the first argument of the +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. + + +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 +#1 expanding to 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. + +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. +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. + +This example gives an environment like &latex;’s quotation except that +it will be set in smaller type. + +\newenvironment{smallquote}{% + \small\begin{quotation} +}{% + \end{quotation} +} + +This shows the use of arguments; it gives a quotation environment that +cites the author. + +\newenvironment{citequote}[1][Shakespeare]{% + \begin{quotation} + \noindent\textit{#1}: +}{% + \end{quotation} +} + +The author’s name is optional, and defaults to Shakespeare. +In the document, use the environment as here: + +\begin{citequote}[Lincoln] + .. +\end{citequote} + +The final example shows how to save the value of an argument to use in +enddefn. + +\newsavebox{\quoteauthor} +\newenvironment{citequote}[1][Shakespeare]{% + \sbox\quoteauthor{#1}% + \begin{quotation} +}{% + \hspace{1em plus 1fill}---\usebox{\quoteauthor} + \end{quotation} +} + - + <literal>\newtheorem</literal> + \newtheorem theorems, defining defining new theorems -\newtheorem{newenv}{label}[within] -\newtheorem{newenv}[numbered_like]{label} +theorem-like environment +environment, theorem-like +Define a new theorem-like environment. Synopses: + +\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] + +with the optional argument after the second required argument, +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} -This command defines a theorem-like environment. Arguments: +with the 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). -newenv -The name of the environment to be defined; must not be the name of an -existing environment or otherwise defined. +This declaration is global. It is fragile (see \protect). -label +Arguments: + +name +The name of the environment. It must not begin with a backslash +(‘\’). It must not be the name of an existing environment; indeed, +the command name \name must not already be defined as anything. + +title The text printed at the beginning of the environment, before the number. For example, ‘Theorem’. +numbered_within +Optional; the name of an already defined counter, usually a sectional +unit such as chapter or section. When the +numbered_within counter is reset then the name environment’s +counter will also be reset. + +If this optional argument is not used then the command +\thename is set to \arabic{name}. + numbered_like -(Optional.) The name of an already defined theorem-like environment; -the new environment will be numbered just like numbered_like. - -within -(Optional.) The name of an already defined counter, a sectional unit. -The new theorem counter will be reset at the same time as the -within counter. +Optional; the name of an already defined theorem-like environment. The +new environment will be numbered in sequence with numbered_like. -At most one of numbered_like and within can be specified, -not both. +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. + +\newtheorem{defn}{Definition} +\begin{document} +\section{...} +\begin{defn} + First def +\end{defn} + +\section{...} +\begin{defn} + 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’. +\newtheorem{defn}{Definition}[section] +\begin{document} +\section{...} +\begin{defn} + First def +\end{defn} + +\section{...} +\begin{defn} + 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 +counter as defn. It gives ‘Definition 1.1’, followed +by ‘Theorem 2.1’ and ‘Definition 2.2’. + +\newtheorem{defn}{Definition}[section] +\newtheorem{thm}[defn]{Theorem} +\begin{document} +\section{...} +\begin{defn} + First def +\end{defn} + +\section{...} +\begin{thm} + First thm +\end{thm} + +\begin{defn} + Second def +\end{defn} + - -<literal>\newfont</literal> + +<literal>\newfont</literal>: Define a new font (obsolete) + \newfont fonts, new commands for defining new fonts -Synopsis: +\newfont, now obsolete, defines a command that will switch fonts. +Synopsis: -\newfont{cmd}{fontname} +\newfont{\cmd}{font description} + +This defines a control sequence \cmd that will change the +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 +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) +through the so-called “New Font Selection Scheme”, either by using +.fd files or through the use of an engine that can access +system fonts such as Xe&latex; (see &tex; engines). + + +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 +or scaled factor, where a factor of ‘1000’ +means no scaling. For &latex;’s purposes, all this does is scale all +the character and other font dimensions relative to the font’s design +size, which is a value defined in the .tfm file. + +This example defines two equivalent fonts and typesets a few +characters in each: + +\newfont{\testfontat}{cmb10 at 11pt} +\newfont{\testfontscaled}{cmb10 scaled 11pt} +\testfontat abc +\testfontscaled abc -Defines a control sequence \cmd, which must not already -be defined, to make fontname be the current font. The file -looked for on the system is named fontname.tfm. - -This is a low-level command for setting up to use an individual font. -More commonly, fonts are defined in families through .fd files. - - + <literal>\protect</literal> -\protect +\protect fragile commands -moving arguments -Footnotes, line breaks, any command that has an optional argument, and -many more are so-called fragile commands. When a fragile -command is used in certain contexts, called moving arguments, it -must be preceded by \protect. In addition, any fragile -commands within the arguments must have their own \protect. - -Some examples of moving arguments are \caption -(see figure), \thanks (see \maketitle), and -expressions in tabular and array environments -(see tabular). - robust commands -Commands which are not fragile are called robust. They must not -be preceded by \protect. - -See also: - -http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/fragile.html -http://www.tex.ac.uk/cgi-bin/texfaq2html?label=protect - - +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. + +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 +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 +(see \maketitle), and in @-expressions in the tabular and +array environments (see tabular). + +If you get strange errors from commands used in moving arguments, try +preceding it with \protect. Every fragile commands must be +protected with their own \protect. + +Although usually a \protect command doesn’t hurt, length +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 +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} + +In the next example the \tableofcontents command gives an error +because the \(..\) in the section title expands to illegal &tex; +in the .toc file. You can solve this by changing \(..\) +to \protect\(..\protect\). + +\begin{document} +\tableofcontents + .. +\section{Einstein's \( e=mc^2 \)} + .. + Counters + counters, a list of variables, a list of Everything &latex; numbers for you has a counter associated with -it. The name of the counter is the same as the name of the environment -or command that produces the number, except with no \. -(enumienumiv are used for the nested enumerate -environment.) Below is a list of the counters used in &latex;’s -standard document classes to control numbering. +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. part paragraph figure enumi chapter subparagraph table enumii @@ -3603,13 +5028,26 @@ section page footnote enumiii 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). + +New counters are created with \newcounter. See \newcounter. + + <literal>\alph \Alph \arabic \roman \Roman \fnsymbol</literal>: Printing counters +counters, printing + All of these commands take a single counter as an argument, for -instance, \alph{enumi}. +instance, \alph{enumi}. Note that the counter name does not +start with a backslash. \alph\alph prints counter using lowercase letters: ‘a’, ‘b’, ... @@ -3635,13 +5073,14 @@ symbols (conventionally used for labeling footnotes). The value of asterisk(*) dagger(‡) ddagger(‡) section-sign(§) paragraph-sign(¶) parallel(∥) -double-asterisk(**) double-dagger(‡‡) double-ddagger(‡‡) +double-asterisk(**) double-dagger(††) double-ddagger(‡‡) <literal>\usecounter{<replaceable>counter</replaceable>}</literal> + \usecounter list items, specifying counter numbered items, specifying counter @@ -3650,14 +5089,30 @@ double-asterisk(**) double-dagger(‡‡) double-ddagger(‡ \usecounter{counter} -The \usecounter command is used in the second argument of the -list environment to specify counter to be used to number -the list items. - +In the list environment, when used in the second argument, this +command sets up counter to number the list items. It initializes +counter to zero, and arranges that when \item is called +without its optional argument then counter is incremented by +\refstepcounter, making its value be the current ref +value. This command is fragile (see \protect). + +Put in the preamble, this makes a new list environment enumerated with +testcounter: + +\newcounter{testcounter} +\newenvironment{test}{% + \begin{list}{}{% + \usecounter{testcounter} + } +}{% + \end{list} +} + <literal>\value{<replaceable>counter</replaceable>}</literal> + \value counters, getting value of @@ -3665,17 +5120,34 @@ the list items. \value{counter} -The \value command produces the value of counter. It can -be used anywhere &latex; expects a number, for example: +This command expands to the value of counter. It is often used +in \setcounter or \addtocounter, but \value can +be used anywhere that &latex; expects a number. It must not be +preceded by \protect (see \protect). + +The \value command is not used for typesetting the value of the +counter. See \alph \Alph \arabic \roman \Roman \fnsymbol. + +This example outputs ‘Test counter is 6. Other counter +is 5.’. + +\newcounter{test} \setcounter{test}{5} +\newcounter{other} \setcounter{other}{\value{test}} +\addtocounter{test}{1} + +Test counter is \arabic{test}. +Other counter is \arabic{other}. + +This example inserts \hspace{4\parindent}. -\setcounter{myctr}{3} -\addtocounter{myctr}{1} +\setcounter{myctr}{3} \addtocounter{myctr}{1} \hspace{\value{myctr}\parindent} <literal>\setcounter{<replaceable>counter</replaceable>}{<replaceable>value</replaceable>}</literal> + \setcounter counters, setting setting counters @@ -3684,41 +5156,55 @@ be used anywhere &latex; expects a number, for example: \setcounter{counter}{value} -The \setcounter command sets the value of counter to the -value argument. +The \setcounter command globally sets the value of counter +to the value argument. Note that the counter name does not start +with a backslash. <literal>\addtocounter{<replaceable>counter</replaceable>}{<replaceable>value</replaceable>}</literal> + \addtocounter -The \addtocounter command increments counter by the -amount specified by the value argument, which may be negative. +The \addtocounter command globally increments counter by +the amount specified by the value argument, which may be negative. <literal>\refstepcounter{<replaceable>counter</replaceable>}</literal> + \refstepcounter The \refstepcounter command works in the same way as -\stepcounter See \stepcounter, except it also defines the -current \ref value to be the result of \thecounter. +\stepcounter (see \stepcounter): it globally increments the +value of counter by one and resets the value of any counter +numbered within it. (For the definition of “counters numbered +within”, see \newcounter.) + +In addition, this command also defines the current \ref value +to be the result of \thecounter. + +While the counter value is set globally, the \ref value is set +locally, i.e., inside the current group. <literal>\stepcounter{<replaceable>counter</replaceable>}</literal> + \stepcounter -The \stepcounter command adds one to counter and -resets all subsidiary counters. +The \stepcounter command globally adds one to counter and +resets all counters numbered within it. (For the definition of +“counters numbered within”, see \newcounter.) <literal>\day \month \year</literal>: Predefined counters + \day \month \year @@ -3737,15 +5223,123 @@ current day (see \today). Lengths + lengths, defining and using -A length is a measure of distance. Many &latex; commands take a +A length is a measure of distance. Many &latex; commands take a length as an argument. - - - +Lengths come in two types. A rigid length (what Plain &tex; +calls a dimen) such as 10pt cannot contain a plus or +minus component. A rubber length (what Plain &tex; calls +a skip) can contain those, as with 1cm plus0.05cm +minus0.01cm. These give the ability to stretch or shrink; the length +in the prior sentence could appear in the output as long as 1.05 cm +or as short as 0.99 cm, depending on what &tex;’s typesetting +algorithm finds optimum. + +The plus or minus component of a rubber length can contain +a fill component, as in 1in plus2fill. This gives the +length infinite stretchability or shrinkability, so that the length in +the prior sentence can be set by &tex; to any distance greater than or +equal to 1 inch. &tex; actually provides three infinite glue +components fil, fill, and filll, such that the +later ones overcome the earlier ones, but only the middle value is +ordinarily used. See \hfill, See \vfill. + +Multiplying an entire rubber length by a number turns it into a rigid +length, so that after \setlength{\ylength}{1in plus 0.2in} +and \setlength{\zlength}{3\ylength} then the value of +\zlength is 3in. + + + + + +Units of length + +units, of length + +&tex; and &latex; know about these units both inside and outside of +math mode. + +pt +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, 12 pt + +in +in +inch +Inch, 72.27 pt + +bp +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 + +mm +Millimeter +mm +Millimeter + +dd +Didot point +dd +Didot point, 1.07 pt + +cc +Cicero +cc +Cicero, 12 dd + +sp +Scaled point +sp +Scaled point, 1/65536 pt + + +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 +lengths. Similarly em, traditionally the width of the capital +letter M, is often used for horizontal lengths (there is also +\enspace, which is 0.5em). Use of these can help make a +definition work better across font changes. For example, a definition +of the vertical space between list items given as +\setlength{\itemsep}{1ex plus 0.05ex minus 0.01ex} is more +likely to still be reasonable if the font is changed than a definition +given in points. + +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. See Spacing in math mode. + + + + <literal>\setlength{\<replaceable>len</replaceable>}{<replaceable>value</replaceable>}</literal> + \setlength lengths, setting @@ -3756,8 +5350,9 @@ understands, i.e., inches (in), millimeters (mm - -\addtolength{<replaceable>\len</replaceable>}{<replaceable>amount</replaceable>} + +<literal>\addtolength{<replaceable>\len</replaceable>}{<replaceable>amount</replaceable>}</literal> + \addtolength lengths, adding to @@ -3767,8 +5362,9 @@ may be negative. - + <literal>\settodepth</literal> + \settodepth \settodepth{\gnat}{text} @@ -3778,8 +5374,9 @@ equal to the depth of the text argument. - + <literal>\settoheight</literal> + \settoheight \settoheight{\gnat}{text} @@ -3790,8 +5387,9 @@ equal to the height of the text argument. - + <literal>\settowidth{\<replaceable>len</replaceable>}{<replaceable>text</replaceable>}</literal> + \settowidth The \settowidth command sets the value of the command \len @@ -3799,8 +5397,9 @@ to the width of the text argument. - + Predefined lengths + lengths, predefined predefined lengths @@ -3829,6 +5428,7 @@ natural size, e.g., say Making paragraphs + making paragraphs paragraphs @@ -3841,14 +5441,14 @@ a sectioning command. <literal>\indent</literal> + \indent \parindent indent, forcing -\indent produces a horizontal space whose width equals the -width of the \parindent length, the normal paragraph -indentation. It is used to add paragraph indentation where it would -otherwise be suppressed. +\indent produces a horizontal space whose width equals to the +\parindent length, the normal paragraph indentation. It is used +to add paragraph indentation where it would otherwise be suppressed. The default value for \parindent is 1em in two-column mode, otherwise 15pt for 10pt documents, 17pt for @@ -3858,17 +5458,27 @@ mode, otherwise 15pt for 10pt documents, < <literal>\noindent</literal> + \noindent indent, suppressing -When used at the beginning of the paragraph, \noindent -suppresses any paragraph indentation. It has no effect when used in -the middle of a paragraph. +When used at the beginning of the paragraph, this command suppresses any +paragraph indentation, as in this example. + +.. end of the prior paragraph. + +\noindent This paragraph is not indented. + +It has no effect when used in the middle of a paragraph. + +To eliminate paragraph indentation in an entire document, put +\setlength{\parindent}{0pt} in the preamble. <literal>\parskip</literal> + \parskip vertical space before paragraphs @@ -3879,6 +5489,7 @@ before each paragraph. The default is 0pt plus1pt. Marginal notes + marginal notes notes in the margin remarks in the margin @@ -3895,9 +5506,9 @@ where the \marginpar occurs. When you only specify the mandatory argument right, the text will be placed -in the right margin for one-sided layout; -in the outside margin for two-sided layout; -in the nearest margin for two-column layout. +in the right margin for one-sided layout (option oneside, see Document class options); +in the outside margin for two-sided layout (option twoside, see Document class options); +in the nearest margin for two-column layout (option twocolumn, see Document class options). \reversemarginpar \normalmarginpar @@ -3939,13 +5550,14 @@ notes from falling off the bottom of the page. Math formulas + math formulas formulas, math math mode, entering - math environment displaymath environment equation environment + There are three environments that put &latex; in math mode: math @@ -3985,8 +5597,9 @@ it too is used outside of math mode. \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 -$\displaystyle \sum_{n=0}^\infty x_n $ +below summations. For example: + +$\displaystyle \sum_{n=0}^\infty x_n $ @@ -3994,668 +5607,925 @@ below summations. For example Subscripts & superscripts + superscript subscript exponent _ ^ -To get an expression exp to appear as a subscript, you just type -_{exp}. To get exp to appear as a -superscript, you type ^{exp}. &latex; handles -superscripted superscripts and all of that stuff in the natural way. -It even does the right thing when something has both a subscript and a -superscript. +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. + +In this example the 0 and 1 appear as subscripts while the +2 is a superscript. + +\( (x_0+x_1)^2 \) + +To have more than one character in exp use curly braces as in +e^{-2x}. + +&latex; handles superscripts on superscripts, and all of that stuff, in +the natural way, so expressions such as e^{x^2} and +x_{a_0} will look right. It also does the right thing when +something has both a subscript and a superscript. In this example the +0 appears at the bottom of the integral sign while the 10 +appears at the top. + +\int_0^{10} x^2 \,dx + +You can put a superscript or subscript before a symbol with a construct +such as {}_t K^2 in math mode (the initial {} prevents +the prefixed subscript from being attached to any prior symbols in the +expression). + +Outside of math mode, a construct like A +test$_\textnormal{subscript}$ will produce a subscript typeset in +text mode, not math mode. Note that there are packages specialized for +writing Chemical formulas such as mhchem. + Math symbols + math symbols symbols, math greek letters -&latex; provides almost any mathematical symbol you’re likely to -need. The commands for generating them can be used only in math mode. +&latex; provides almost any mathematical symbol you’re likely to need. For example, if you include $\pi$ in your source, you will get -the pi symbol (\pi) in your output. +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. + + + \|\| -\| +∥ Parallel (relation). Synonym: \parallel. \aleph\aleph -\aleph +ℵ Aleph, transfinite cardinal (ordinary). \alpha\alpha -\alpha +α Lower case Greek letter alpha (ordinary). \amalg\amalg -\amalg (binary operation) +⨿ Disjoint union (binary) \angle\angle -\angle +∠ Geometric angle (ordinary). Similar: less-than +sign < and angle bracket \langle. \approx\approx -\approx (relation) +≈ Almost equal to (relation). \ast\ast -\ast (binary operation) +∗ Asterisk operator, convolution, six-pointed +(binary). Synonym: *, which is often a superscript or +subscript, as in the Kleene star. Similar: \star, which is +five-pointed, and is sometimes used as a general binary operation, and +sometimes reserved for cross-correlation. \asymp\asymp -\asymp (relation) +≍ Asymptomatically equivalent (relation). \backslash\backslash -\ (delimiter) +\ Backslash (ordinary). Similar: set minus \setminus, and +\textbackslash for backslash outside of math mode. \beta\beta -\beta +β Lower case Greek letter beta (ordinary). \bigcap\bigcap -\bigcap +⋂ Variable-sized, or n-ary, intersection (operator). Similar: +binary intersection \cap. \bigcirc\bigcirc -\bigcirc (binary operation) +⚪ Circle, larger (binary). Similar: function +composition \circ. + \bigcup\bigcup -\bigcup +⋃ Variable-sized, or n-ary, union (operator). Similar: binary +union \cup. \bigodot\bigodot -\bigodot +⨀ Variable-sized, or n-ary, circled dot operator (operator). \bigoplus\bigoplus -\bigoplus +⨁ Variable-sized, or n-ary, circled plus operator (operator). \bigotimes\bigotimes -\bigotimes +⨂ Variable-sized, or n-ary, circled times operator (operator). \bigtriangledown\bigtriangledown -\bigtriangledown (binary operation) +▽ Variable-sized, or n-ary, open triangle pointing down +(operator). \bigtriangleup\bigtriangleup -\bigtriangleup (binary operation) +△ Variable-sized, or n-ary, open triangle pointing up (operator). \bigsqcup\bigsqcup -\bigsqcup +⨆ Variable-sized, or n-ary, square union (operator). \biguplus\biguplus -\biguplus +⨄ Variable-sized, or n-ary, union operator with a plus +(operator). (Note that the name has only one p.) -\bigcap\bigcap -\bigvee +\bigvee\bigvee +⋁ Variable-sized, or n-ary, logical-and (operator). \bigwedge\bigwedge -\bigwedge +⋀ Variable-sized, or n-ary, logical-or (operator). \bot\bot -\bot +⊥ Up tack, bottom, least element of a poset, or a contradiction +(ordinary). See also \top. \bowtie\bowtie -\bowtie (relation) +⋈ Natural join of two relations (relation). \Box\Box -(square open box symbol) +□ Modal operator for necessity; square open box (ordinary). This +is not available in Plain &tex;. In &latex; you need to load the +amssymb package. + \bullet\bullet bullet symbol -\bullet (binary operation) +• Bullet (binary). Similar: multiplication +dot \cdot. \cap\cap -\cap (binary operation) +∩ Intersection of two sets (binary). Similar: variable-sized +operator \bigcap. \cdot\cdot -\cdot (binary operation) +⋅ Multiplication (binary). Similar: Bullet +dot \bullet. \chi\chi -\chi +χ Lower case Greek chi (ordinary). \circ\circ -\circ (binary operation) +∘ Function composition, ring operator (binary). Similar: +variable-sized operator \bigcirc. \clubsuit\clubsuit -\clubsuit +♣ Club card suit (ordinary). + +\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 +used: $S^{\mathsf{c}}$ or $\bar{S}$. \cong\cong -\cong (relation) +≅ Congruent (relation). \coprod\coprod -\coprod +∐ Coproduct (operator). \cup\cup -\cup (binary operation) +∪ Union of two sets (binary). Similar: variable-sized +operator \bigcup. \dagger\dagger -\dagger (binary operation) +† Dagger relation (binary). \dashv\dashv -\dashv (relation) +⊣ Dash with vertical, reversed turnstile (relation). Similar: +turnstile \vdash. \ddagger\ddagger -\dagger (binary operation) +‡ Double dagger relation (binary). \Delta\Delta -\Delta +Δ Greek upper case delta, used for increment (ordinary). \delta\delta -\delta +δ Greek lower case delta (ordinary). \Diamond\Diamond -bigger \diamond +◇ Large diamond operator (ordinary). This is not available in +Plain &tex;. In &latex; you must load the amssymb package. + \diamond\diamond -\diamond (binary operation) +⋄ Diamond operator, or diamond bullet (binary). Similar: large +diamond \Diamond, circle bullet \bullet. \diamondsuit\diamondsuit -\diamondsuit +♢ Diamond card suit (ordinary). \div\div -\div (binary operation) +÷ Division sign (binary). \doteq\doteq -\doteq (relation) +≐ Approaches the limit (relation). Similar: geometrically equal +to \Doteq. \downarrow\downarrow -\downarrow (delimiter) +↓ Down arrow, converges (relation). Similar: double line down +arrow \Downarrow. \Downarrow\Downarrow -\Downarrow (delimiter) +⇓ Double line down arrow (relation). Similar: single line down +arrow \downarrow. \ell\ell -\ell +ℓ Lower-case cursive letter l (ordinary). \emptyset\emptyset -\emptyset +∅ Empty set symbol (ordinary). Similar: reversed empty +set \varnothing. + \epsilon\epsilon -\epsilon +ϵ Lower case Greek-text letter (ordinary). More widely used in +mathematics is the curly epsilon +\varepsilon ε. Related: the set membership relation +\in ∈. + + \equiv\equiv -\equiv (relation) +≡ Equivalence (relation). \eta\eta -\eta +η Lower case Greek letter (ordinary). \exists\exists -\exists +∃ Existential quantifier (ordinary). \flat\flat -\flat +♭ Musical flat (ordinary). \forall\forall -\forall +∀ Universal quantifier (ordinary). \frown\frown -\frown (relation) +⌢ Downward curving arc (ordinary). \Gamma\Gamma -\Gamma +Γ Upper case Greek letter (ordinary). \gamma\gamma -\gamma +γ Lower case Greek letter (ordinary). \ge\ge -\ge +≥ Greater than or equal to (relation). This is a synonym +for \geq. \geq\geq -\geq (relation) +≥ Greater than or equal to (relation). This is a synonym +for \ge. \gets\gets -\gets +← Is assigned the value (relation). +Synonym: \leftarrow. \gg\gg -\gg (relation) +≫ Much greater than (relation). Similar: much less +than \ll. \hbar\hbar -\hbar +ℏ Planck constant over two pi (ordinary). \heartsuit\heartsuit -\heartsuit +♡ Heart card suit (ordinary). \hookleftarrow\hookleftarrow -\hookleftarrow +↩ Hooked left arrow (relation). \hookrightarrow\hookrightarrow -\hookrightarrow +↪ Hooked right arrow (relation). \iff\iff -\iff +⟷ If and only if (relation). It is \Longleftrightarrow +with a \thickmuskip on either side. \Im\Im -\Im +ℑ Imaginary part (ordinary). See: real part \Re. \in\in -\in (relation) +∈ Set element (relation). See also: lower case Greek letter +epsilon \epsilonϵ and rounded small +epsilon \varepsilon. \infty\infty -\infty +∞ Infinity (ordinary). \int\int -\int +∫ Integral (operator). \iota\iota -\iota +ι Lower case Greek letter (ordinary). \Join\Join -condensed bowtie symbol (relation) +⨝ Condensed bowtie symbol (relation). Not available in Plain +&tex;. \kappa\kappa -\kappa +κ Lower case Greek letter (ordinary). \Lambda\Lambda -\Lambda +Λ Upper case Greek letter (ordinary). \lambda\lambda -\lambda +λ Lower case Greek letter (ordinary). \land\land -\land +∧ Logical and (binary). This is a synonym for \wedge. +See also logical or \lor. \langle\langle -\langle (delimiter) +⟨ Left angle, or sequence, bracket (opening). Similar: +less-than <. Matches \rangle. \lbrace\lbrace -\lbrace (delimiter) +{ Left curly brace +(opening). Synonym: \{. Matches \rbrace. \lbrack\lbrack -\lbrack (delimiter) +[ Left square bracket (opening). +Synonym: [. Matches \rbrack. \lceil\lceil -\lceil (delimiter) +⌈ Left ceiling bracket, like a square bracket but with the bottom +shaved off (opening). Matches \rceil. \le\le -\le +≤ Less than or equal to (relation). This is a synonym +for \leq. \leadsto\leadsto - - +⇝ 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 +\newcommand*{\Leadsto}{\ensuremath{\leadsto}} in the +preamble and then use \Leadsto instead. + + \Leftarrow\Leftarrow -\Leftarrow +⇐ Is implied by, double-line left arrow (relation). Similar: +single-line left arrow \leftarrow. \leftarrow\leftarrow -\leftarrow +← Single-line left arrow (relation). +Synonym: \gets. Similar: double-line left +arrow \Leftarrow. \leftharpoondown\leftharpoondown -\leftharpoondown +↽ Single-line left harpoon, barb under bar (relation). \leftharpoonup\leftharpoonup -\leftharpoonup +↼ Single-line left harpoon, barb over bar (relation). \Leftrightarrow\Leftrightarrow -\Leftrightarrow +⇔ Bi-implication; double-line double-headed arrow (relation). +Similar: single-line double headed arrow \leftrightarrow. \leftrightarrow\leftrightarrow -\leftrightarrow +↔ Single-line double-headed arrow (relation). Similar: +double-line double headed arrow \Leftrightarrow. \leq\leq -\leq (relation) +≤ Less than or equal to (relation). This is a synonym +for \le. \lfloor\lfloor -\lfloor (delimiter) +⌊ Left floor bracket (opening). \lhd\lhd -(left-pointing arrow head) +◁ 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). \ll\ll -\ll (relation) +≪ Much less than (relation). Similar: much greater +than \gg. \lnot\lnot -\lnot +¬ Logical negation (ordinary). Synonym: \neg. \longleftarrow\longleftarrow -\longleftarrow +⟵ Long single-line left arrow (relation). Similar: long +double-line left arrow \Longleftarrow. \longleftrightarrow\longleftrightarrow -\longleftrightarrow +⟷ Long single-line double-headed arrow (relation). Similar: long +double-line double-headed arrow \Longleftrightarrow. \longmapsto\longmapsto -\longmapsto +⟼ Long single-line left arrow starting with vertical bar +(relation). Similar: shorter version \mapsto. \longrightarrow\longrightarrow -\longrightarrow +⟶ Long single-line right arrow (relation). Similar: long +double-line right arrow \Longrightarrow. \lor\lor -\lor +∨ Logical or (binary). Synonym: wedge \wedge. \mapsto\mapsto -\mapsto +↦ Single-line left arrow starting with vertical bar (relation). +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. + \mid\mid -\mid (relation) +∣ Single-line vertical bar (relation). A typical use of +\mid is for a set \{\, x \mid x\geq 5 \,\}. + +Similar: \vert and | produce the same single-line +vertical bar symbol but without any spacing (they fall in class +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 (relation) +⊨ Entails, or satisfies; double turnstile, short double dash +(relation). Similar: long double dash \vDash. \mp\mp -\mp (binary operation) +∓ Minus or plus (relation). \mu\mu -\mu +μ Lower case Greek letter (ordinary). \nabla\nabla -\nabla +∇ Hamilton’s del, or differential, operator (ordinary). \natural\natural -\natural +♮ Musical natural notation (ordinary). \ne\ne -\ne +≠ Not equal (relation). Synonym: \neq. \nearrow\nearrow -\nearrow +↗ North-east arrow (relation). \neg\neg -\neg +¬ Logical negation (ordinary). +Synonym: \lnot. Sometimes instead used for +negation: \sim. \neq\neq -\neq (relation) +≠ Not equal (relation). Synonym: \ne. \ni\ni -\ni (relation) +∋ Reflected membership epsilon; has the member +(relation). Synonym: \owns. Similar: is a member +of \in. \not\not -Overstrike a following operator with a /, as in \not=. +  ̸ Long solidus, or slash, used to overstrike a +following operator (relation). + + +Many negated operators that don’t require \not are available, +particularly with the amssymb package. For example, \notin +is probably typographically preferable to \not\in. \notin\notin -\ni +∉ Not an element of (relation). Similar: not subset +of \nsubseteq. \nu\nu -\nu +ν Lower case Greek letter (ordinary). \nwarrow\nwarrow -\nwarrow +↖ North-west arrow (relation). \odot\odot -\odot (binary operation) +⊙ Dot inside a circle (binary). Similar: variable-sized +operator \bigodot. \oint\oint -\oint +∮ Contour integral, integral with circle in the middle (operator). \Omega\Omega -\Omega +Ω Upper case Greek letter (ordinary). \omega\omega -\omega +ω Lower case Greek letter (ordinary). \ominus\ominus -\ominus (binary operation) +⊖ Minus sign, or dash, inside a circle (binary). \oplus\oplus -\oplus (binary operation) +⊕ Plus sign inside a circle (binary). Similar: variable-sized +operator \bigoplus. \oslash\oslash -\oslash (binary operation) +⊘ Solidus, or slash, inside a circle (binary). \otimes\otimes -\otimes (binary operation) +⊗ Times sign, or cross, inside a circle (binary). Similar: +variable-sized operator \bigotimes. \owns\owns -\owns +∋ Reflected membership epsilon; has the member +(relation). Synonym: \ni. Similar: is a member +of \in. \parallel\parallel -\parallel (relation) +∥ Parallel (relation). Synonym: \|. \partial\partial -\partial +∂ Partial differential (ordinary). \perp\perp -\perp (relation) +⟂ Perpendicular (relation). Similar: \bot uses the +same glyph but the spacing is different because it is in the class +ordinary. \phi\phi -\phi +ϕ Lower case Greek letter (ordinary). The variant form is +\varphi φ. \Pi\Pi -\Pi +Π Upper case Greek letter (ordinary). \pi\pi -\pi +π Lower case Greek letter (ordinary). The variant form is +\varpi ϖ. \pm\pm -\pm (binary operation) +± Plus or minus (binary). \prec\prec -\prec (relation) +≺ Preceeds (relation). Similar: less than <. \preceq\preceq -\preceq (relation) +⪯ Preceeds or equals (relation). Similar: less than or +equals \leq. \prime\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. \prod\prod -\prod +∏ Product (operator). \propto\propto -\propto (relation) +∝ Is proportional to (relation) \Psi\Psi -\Psi +Ψ Upper case Greek letter (ordinary). \psi\psi -\psi +ψ Lower case Greek letter (ordinary). \rangle\rangle -\rangle (delimiter) +➹ Right angle, or sequence, bracket (closing). Similar: greater +than >. Matches:\langle. \rbrace\rbrace -\rbrace (delimiter) +} Right curly brace +(closing). Synonym: \}. Matches \lbrace. \rbrack\rbrack -\rbrack (delimiter) +] Right square bracket +(closing). Synonym: ]. Matches \lbrack. \rceil\rceil -\rceil (delimiter) +⌉ Right ceiling bracket (closing). Matches \lceil. \Re\Re -\Re +ℜ 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 of a function +(relation). Synonym: \upharpoonright. Not available in +Plain &tex;. In &latex; you should load the amssymb package. \rfloor\rfloor -\rfloor +⌋ Right floor bracket, a right square bracket with the top cut +off (closing). Matches \lfloor. \rhd\rhd -(binary operation) +◁ 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). \rho\rho -\rho +ρ Lower case Greek letter (ordinary). The variant form is +\varrho ϱ. \Rightarrow\Rightarrow -\Rightarrow +⇒ Implies, right-pointing double line arrow (relation). Similar: +right single-line arrow \rightarrow. \rightarrow\rightarrow -\rightarrow +→ Right-pointing single line arrow (relation). Synonym: \to. Similar: right double line arrow \Rightarrow. \rightharpoondown\rightharpoondown -\rightharpoondown +⇁ Right-pointing harpoon with barb below the line (relation). \rightharpoonup\rightharpoonup -\rightharpoonup +⇀ Right-pointing harpoon with barb above the line (relation). \rightleftharpoons\rightleftharpoons -\rightleftharpoons +⇌ Right harpoon up above left harpoon down (relation). \searrow\searrow -\searrow +↘ Arrow pointing southeast (relation). \setminus\setminus -\setminus (binary operation) +⧵ Set difference, reverse solidus or slash, like \ +(binary). Similar: backslash \backslash and also +\textbackslash outside of math mode. \sharp\sharp -\sharp +♯ Musical sharp (ordinary). \Sigma\Sigma -\Sigma +Σ Upper case Greek letter (ordinary). \sigma\sigma -\sigma +σ Lower case Greek letter (ordinary). The variant form is +\varsigma ς. \sim\sim -\sim (relation) +∼ Similar, in a relation (relation). \simeq\simeq -\simeq (relation) +≃ Similar or equal to, in a relation (relation). \smallint\smallint -\smallint +∫ Integral sign that does not change to a larger size in a +display (operator). \smile\smile -\smile (relation) +⌣ Upward curving arc (ordinary). \spadesuit\spadesuit -\spadesuit +♠ Spade card suit (ordinary). \sqcap\sqcap -\sqcap (binary operation) +⊓ Square intersection symbol (binary). Similar: +intersection cap. \sqcup\sqcup -\sqcup (binary operation) +⊔ Square union symbol (binary). Similar: +union cup. Related: variable-sized +operator \bigsqcup. \sqsubset\sqsubset -(relation) +⊏ Square subset symbol (relation). Similar: +subset \subset. This is not available in Plain &tex;. In +&latex; you should load the amssymb package. \sqsubseteq\sqsubseteq -\sqsubseteq (relation) +⊑ Square subset or equal symbol (binary). Similar: subset or +equal to \subseteq. \sqsupset\sqsupset -(relation) +⊐ Square superset symbol (relation). Similar: +superset \supset. This is not available in Plain &tex;. In +&latex; you should load the amssymb package. \sqsupseteq\sqsupseteq -\sqsupseteq (relation) +⊒ Square superset or equal symbol (binary). Similar: superset or +equal \supseteq. \star\star -\star (binary operation) +⋆ 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 (relation) +⊂ Subset (occasionally, is implied by) (relation). \subseteq\subseteq -\subseteq (relation) +⊆ Subset or equal to (relation). \succ\succ -\succ (relation) +≻ Comes after, succeeds (relation). Similar: is less +than >. \succeq\succeq -\succeq (relation) +⪰ Succeeds or is equal to (relation). Similar: less +than or equal to \leq. \sum\sum -\sum +∑ Summation (operator). Similar: Greek capital +sigma \Sigma. \supset\supset -\supset (relation) +⊃ Superset (relation). \supseteq\supseteq -\supseteq (relation) +⊇ Superset or equal to (relation). \surd\surd -\surd +√ Radical symbol (ordinary). The &latex; command +\sqrt{..} typesets the square root of the argument, with a bar +that extends to cover the argument. \swarrow\swarrow -\swarrow +↙ Southwest-pointing arrow (relation). \tau\tau -\tau +τ Lower case Greek letter (ordinary). \theta\theta -\theta +θ Lower case Greek letter (ordinary). The variant form is +\vartheta ϑ. \times\times -\times (binary operation) +× Primary school multiplication sign (binary). See +also \cdot. \to\to -\to +→ Right-pointing single line arrow (relation). +Synonym: \rightarrow. \top\top -\top +⊤ Top, greatest element of a poset (ordinary). See +also \bot. \triangle\triangle -\triangle +△ Triangle (ordinary). \triangleleft\triangleleft -\triangleleft (binary operation) +◁ Not-filled triangle pointing left +(binary). Similar: \lhd. For the normal subgroup symbol you +should load amssymb and use \vartriangleleft (which +is a relation and so gives better spacing). \triangleright\triangleright -\triangleright (binary operation) +▷ 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 arrowhead with line under (binary operation) +⊴ 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 -right-pointing arrowhead with line under (binary operation) +⊵ 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). \Uparrow\Uparrow -\Uparrow (delimiter) +⇑ Double-line upward-pointing arrow (relation). Similar: +single-line up-pointing arrow \uparrow. \uparrow\uparrow -\uparrow (delimiter) +↑ Single-line upward-pointing arrow, diverges (relation). Similar: +double-line up-pointing arrow \Uparrow. \Updownarrow\Updownarrow -\Updownarrow (delimiter) +⇕ Double-line upward-and-downward-pointing arrow (relation). Similar: +single-line upward-and-downward-pointing arrow \updownarrow. \updownarrow\updownarrow -\updownarrow (delimiter) +↕ Single-line upward-and-downward-pointing arrow (relation). Similar: +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. \uplus\uplus -\uplus (binary operation) +⊎ Multiset union, a union symbol with a plus symbol in the middle +(binary). Similar: union \cup. Related: variable-sized +operator \biguplus. \Upsilon\Upsilon -\Upsilon +Υ Upper case Greek letter (ordinary). \upsilon\upsilon -\upsilon +υ Lower case Greek letter (ordinary). \varepsilon\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. \varphi\varphi -\varphi +φ Variant on the lower case Greek letter (ordinary). The +non-variant form is \phi ϕ. \varpi\varpi -\varpi +ϖ Variant on the lower case Greek letter (ordinary). The +non-variant form is \pi π. \varrho\varrho -\varrho +ϱ Variant on the lower case Greek letter (ordinary). The +non-variant form is \rho ρ. \varsigma\varsigma -\varsigma +ς Variant on the lower case Greek letter (ordinary). The +non-variant form is \sigma σ. \vartheta\vartheta -\vartheta +ϑ Variant on the lower case Greek letter (ordinary). The +non-variant form is \theta θ. \vdash\vdash -\vdash (relation) +⊢ Provable; turnstile, vertical and a dash (relation). Similar: +turnstile rotated a half-circle \dashv. \vee\vee -\vee (binary operation) +∨ Logical or; a downwards v shape (binary). Related: logical +and \wedge. Similar: variable-sized +operator \bigvee. \Vert\Vert -\Vert (delimiter) +‖ Vertical double bar (ordinary). Similar: vertical single +bar \vert. + +For a norm 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 -\vert (delimiter) +| 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. + +For absolute value you can use the mathtools package and add +\DeclarePairedDelimiter\abs{\lvert}{\rvert} to your +preamble. This gives you three command variants for single-line vertical +bars that are correctly horizontally spaced: if in the document body you +write the starred version $\abs*{\frac{22}{7}}$ then the +height of the vertical bars will match the height of the argument, +whereas with \abs{\frac{22}{7}} the bars do not grow with +the height of the argument but instead are the default height, and +\abs[size command]{\frac{22}{7}} also gives bars +that do not grow but are set to the size given in the size +command, e.g., \Bigg. \wedge\wedge -\wedge (binary operation) +∧ Logical and (binary). Synonym: \land. See also +logical or \vee. Similar: variable-sized +operator \bigwedge. \wp\wp -\wp +℘ Weierstrass p (ordinary). \wr\wr -\wr (binary operation) +≀ Wreath product (binary). \Xi\Xi -\Xi +Ξ Upper case Greek letter (ordinary). \xi\xi -\xi +ξ Lower case Greek letter (ordinary). \zeta\zeta -\zeta +ζ Lower case Greek letter (ordinary). Math functions + math functions functions, math @@ -4684,10 +6554,10 @@ spacing. \cosh \cot\cot -\cos +\cot \coth\coth -\cosh +\coth \csc\csc \csc @@ -4696,7 +6566,7 @@ spacing. \deg \det\det -\deg +\det \dim\dim \dim @@ -4772,6 +6642,7 @@ spacing. Math accents + math accents accents, mathematical @@ -4839,8 +6710,8 @@ in math. These are different from accents in normal text wide hat accent, math Math wide hat accent: \widehat{x+y}. -\widehat\widehat -wide tile accent, math +\widetilde\widetilde +wide tilde accent, math Math wide tilde accent: \widetilde{x+y}. @@ -4848,36 +6719,69 @@ in math. These are different from accents in normal text Spacing in math mode + spacing within math mode math mode, spacing -In a math environment, &latex; ignores the spaces you type and -puts in the spacing according to the normal rules for mathematics -texts. If you want different spacing, &latex; provides the following -commands for use in math mode: +In a math environment, &latex; ignores the spaces that you use +in the source, and instead puts in the spacing according to the normal +rules for mathematics texts. + +Many math mode spacing 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 (see Units of length). +&latex; provides the following commands for use in math mode: \; \; -A thick space (5\over18\,quad). -\: +\thickspace +Normally 5.0mu plus 5.0mu. The longer name is +\thickspace. Math mode only. + +\: \> \: \> -Both of these produce a medium space (2\over9\,quad). -\, +\medspace +Normally 4.0mu plus 2.0mu minus 4.0mu. The longer name is +\medspace. Math mode only. + +\, \, -A thin space (1\over6\,quad); not restricted to math mode. -\! -A negative thin space (-{1\over6}\,quad). +\thinspace +Normally 3mu. The longer name is \thinspace. This can +be used in both math mode and text mode. + +\! +\! +A negative thin space. Normally -3mu. Math mode only. + +\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 +A length of 2 quads, that is, 36mu = 2em. It is available in +both text and math mode. +In this example a thinspace separates the function from the +infinitesimal. + +\int_0^1 f(x)\,dx + Math miscellany + math miscellany - -\*\* +\*\* discretionary multiplication multiplication symbol, discretionary line break A “discretionary” multiplication symbol, at which a line break is @@ -4937,6 +6841,7 @@ descenders. Modes + modes paragraph mode math mode @@ -4984,6 +6889,7 @@ mode, which it starts out in, is called “outer paragraph mode”. Page styles + styles, page page styles @@ -4994,6 +6900,7 @@ the page’s head and foot. The page style determines what goes in them. <literal>\maketitle</literal> + titles, making \maketitle @@ -5034,6 +6941,7 @@ document. Use \\ to force a line break, as usual. <literal>\pagenumbering</literal> + \pagenumbering page numbering style @@ -5064,6 +6972,7 @@ the following: <literal>\pagestyle</literal> + \pagestyle header style footer style @@ -5109,6 +7018,7 @@ the page. <literal>\thispagestyle{<replaceable>style</replaceable>}</literal> + \thispagestyle The \thispagestyle command works in the same manner as the @@ -5120,94 +7030,169 @@ changes to style for the current page only. Spaces + spaces +white space &latex; has many ways to produce white (or filled) space. -Another space-producing command is \, to produce a “thin” -space (usually 1/6quad). It can be used in text mode, but is -more often useful in math mode (see Spacing in math mode). - <literal>\hspace</literal> + \hspace Synopsis: -\hspace[*]{length} +\hspace{length} +\hspace*{length} -The \hspace command adds horizontal space. The length -argument can be expressed in any terms that &latex; understands: -points, inches, etc. It is a rubber length. You can add both -negative and positive space with an \hspace command; adding -negative space is like backspacing. +Add the horizontal space given by length. The length is a +rubber length, that is, it may contain a plus or minus +component, in any unit that &latex; understands (see Lengths). + +This command can add both positive and negative space; adding 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 +invisible item in front of the space, so the space appears in the +output. -&latex; normally removes horizontal space that comes at the beginning -or end of a line. To preserve this space, use the optional * -form. +This example make a one-line paragraph that puts ‘Name:’ an inch +from the right margin. +\noindent\makebox[\linewidth]{\hspace{\fill}Name:\hspace{1in}} + <literal>\hfill</literal> + \hfill stretch, infinite horizontal infinite horizontal stretch -The \hfill fill command produces a “rubber length” which has -no natural space but can stretch or shrink horizontally as far as -needed. +Produce a rubber length which has +no natural space but can stretch horizontally as far as +needed (see Lengths). \fill -The \fill parameter is the rubber length itself (technically, -the glue value ‘0pt plus1fill’); thus, \hspace\fill is -equivalent to \hfill. +The command \hfill is equivalent to \hspace{\fill}. For +space that does not disappear at line breaks use +\hspace*{\fill} instead (see \hspace). - -<literal>\SPACE</literal>: Normal interword space -\SPACE + +<literal>\(SPACE)</literal> and \@ + +\(SPACE) \TAB \NEWLINE +\@ + -The \ (space) command produces a normal interword space. It’s -useful after punctuation which shouldn’t end a sentence. For example, -the article in Proc.\ Amer.\ Math\. Soc.\ is fundamental. It -is also often used after control sequences, as in \TeX\ is a -nice system. +Mark a punctuation character, typically a period, as either ending a +sentence or as ending an abbreviation. -In normal circumstances, \tab and \newline -are equivalent to \ . +By default, in justifying a line &latex; adjusts the space after a +sentence-ending period (or a question mark, exclamation point, comma, or +colon) more than the space between words +(see \frenchspacing). &latex; assumes that the period ends a +sentence unless it is preceded by a capital letter, in which case it +takes that period for part of an abbreviation. Note that if a +sentence-ending period is immediately followed by a right parenthesis or +bracket, or right single or double quote, then the intersentence 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 +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. + +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. + +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). - - -<literal>\@</literal>: Force sentence-ending punctuation -\@ - + +<literal>\ </literal> after a control sequence -The \@ command makes the following punctuation character end a -sentence even if it normally would not. This is typically used after -a capital letter. Here are side-by-side examples with and without -\@: +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 +\ , see also \(SPACE) and \@. -… in C\@. Pascal, though … -… in C. Pascal, though … - -produces +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: - -
… in C. Pascal, though … +\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} + + + + +<literal>\frenchspacing</literal> + +\frenchspacing +\nonfrenchspacing +spacing, intersentence -… in C. Pascal, though … -
+This declaration (from Plain &tex;) causes &latex; to treat +intersentence spacing in the same way as interword spacing. + +In justifying the text in a line, some typographic traditions, including +English, prefer to adjust the space between sentences (or after other +punctuation marks) more than the space between words. Following this +declaration, all spaces are instead treated equally. + +Revert to the default behavior by declaring \nonfrenchspacing. +
- + <literal>\thinspace</literal>: Insert 1/6em + \thinspace \thinspace produces an unbreakable and unstretchable space that @@ -5216,8 +7201,9 @@ quotes, as in ’”. <literal>\addvspace</literal> + \addvspace vertical space space, inserting vertical -\addvspace{length} +\addvspace{length} + +Add a vertical space of height length, which is a rubber length +(see Lengths). However, if vertical space has already been added to +the same point in the output by a previous \addvspace command +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.) -The \addvspace command normally adds a vertical space of height -length. However, if vertical space has already been added to the same -point in the output by a previous \addvspace command, then this -command will not add more space than is needed to make the natural -length of the total vertical space equal to length. +This command is fragile (see \protect). + +The error ‘Something's wrong--perhaps a missing \item’ means that +you were not in vertical mode when you invoked this command; one way to +change that is to precede this command with a \par command. @@ -5318,32 +7325,66 @@ quarter of a line space, with stretch and shrink (the default for the <literal>\vfill</literal> + \vfill stretch, infinite vertical infinite vertical stretch -The \vfill fill command produces a rubber length (glue) which -can stretch or shrink vertically as far as needed. It’s equivalent to -\vspace{\fill} (see \hfill). - +End the current paragraph and insert a vertical rubber length +(see Lengths) that is infinite, so it can stretch or shrink as far +as needed. + +It is often used in the same way as \vspace{\fill}, except that +\vfill ends the current paragraph, whereas +\vspace{\fill} adds the infinite vertical space below its line +irrespective of the paragraph structure. In both cases that space will +disappear at a page boundary; to circumvent this see \vspace. + +In this example the page is filled, so the top and bottom lines contain +the text ‘Lost Dog!’ and the third ‘Lost Dog!’ is exactly +halfway between them. + +\begin{document} +Lost Dog! +\vfill +Lost Dog! +\vfill +Lost Dog! +\end{document} + -<literal>\vspace[*]{<replaceable>length</replaceable>}</literal> +<literal>\vspace{<replaceable>length</replaceable>}</literal> + \vspace +vertical space +space, vertical -Synopsis: +Synopsis, one of these two: -\vspace[*]{length} +\vspace{length} +\vspace*{length} -The \vspace command adds the vertical space length, i.e., -a rubber length. length can be negative or positive. +Add the vertical space length. This can be negative or positive, +and is a rubber length (see Lengths). -Ordinarily, &latex; removes vertical space added by \vspace at -the top or bottom of a page. With the optional * argument, the -space is not removed. +&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. +In this example the two questions will be evenly spaced vertically on +the page, with at least one inch of space below each. + +\begin{document} +1) Who put the bomp in the bomp bah bomp bah bomp? +\vspace{1in plus 1fill} + +2) Who put the ram in the rama lama ding dong? +\vspace{1in plus 1fill} +\end{document} +
@@ -5359,6 +7400,7 @@ used in the arguments of the box-making commands. <literal>\mbox{<replaceable>text}</replaceable></literal> + \mbox hyphenation, preventing @@ -5400,6 +7442,7 @@ argument. <literal>lrbox</literal> + lrbox \begin{lrbox}{cmd} text \end{lrbox} @@ -5413,6 +7456,7 @@ must have been declared with \newsavebox. <literal>\makebox</literal> + \makebox Synopsis: @@ -5420,7 +7464,7 @@ must have been declared with \newsavebox. \makebox[width][position]{text} The \makebox command creates a box just wide enough to contain -the text specified. The width of the box is specified by the +the text specified. The width of the box can be overridden by the optional width argument. The position of the text within the box is determined by the optional position argument, which may take the following values: @@ -5435,13 +7479,14 @@ the following values:
Stretch (justify) across entire width; text must contain stretchable space for this to work.
-\makebox is also used within the picture environment +\makebox is also used within the picture environment see \makebox (picture).
<literal>\parbox</literal> + \parbox Synopsis: @@ -5486,6 +7531,7 @@ for this to work. <literal>\raisebox</literal> + \raisebox Synopsis: @@ -5506,6 +7552,7 @@ ignoring its natural height and depth. <literal>\savebox</literal> + \savebox Synopsis: @@ -5521,6 +7568,7 @@ declared with \newsavebox (see <literal>\sbox{<replaceable>\boxcmd</replaceable>}{<replaceable>text</replaceable>}</literal> + \sbox Synopsis: @@ -5537,6 +7585,7 @@ included in the normal output, it is saved in the box labeled <literal>\usebox{<replaceable>\boxcmd</replaceable>}</literal> + \usebox Synopsis: @@ -5552,6 +7601,9 @@ included in the normal output, it is saved in the box labeled Special insertions +special insertions +insertions of special characters + &latex; provides commands for inserting characters that have a special meaning do not correspond to simple characters you can type. @@ -5559,6 +7611,7 @@ special meaning do not correspond to simple characters you can type. Reserved characters + reserved characters characters, reserved @@ -5610,13 +7663,14 @@ with ", so the previous example could also be written as Text symbols text symbols +symbols, text + textcomp package &latex; provides commands to generate a number of non-letter symbols in running text. Some of these, especially the more obscure ones, are not available in OT1; you may need to load the textcomp package. - -\copyright\copyright +\copyright\copyright \textcopyright\textcopyright copyright symbol The copyright symbol, ©. @@ -5783,7 +7837,7 @@ has the ascender height. \textendash (or --)\textendash (or --) e-dash -En-dash: — (for ranges). +En-dash: – (for ranges). \texteuro\texteuro euro symbol @@ -5962,7 +8016,8 @@ environment, pushes current column to the right of the previous column \b \b (bar-under accent) bar-under accent -Produces a bar accent under the following, as in o_. +Produces a bar accent under the following, as in o_. See +also \underbar hereinafter. \c \capitalcedilla @@ -6036,6 +8091,7 @@ the OT1 encoding. The argument is always processed in horizontal mode. The bar is always a fixed position under the baseline, thus crossing through descenders. See also \underline in Math miscellany. +See also \b above. \v \capitalcaron @@ -6060,8 +8116,7 @@ descenders. See also \underline in \aa (å) \AA (Å) @@ -6144,6 +8199,7 @@ used in languages other than English. <literal>\rule</literal> + \rule Synopsis: @@ -6166,7 +8222,9 @@ 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’. @@ -6183,6 +8241,7 @@ of other date formats. Splitting the input + splitting the input file input file @@ -6199,6 +8258,7 @@ external file to be created with the main document. <literal>\include</literal> + \include Synopsis: @@ -6222,6 +8282,7 @@ read by another \include command. \<literal>includeonly</literal> + \includeonly Synopsis: @@ -6239,7 +8300,8 @@ effective. -\input +<literal>\input</literal> + \input Synopsis: @@ -6255,6 +8317,7 @@ file at that point. or ‘foo.bar.tex’). If that is not found, the original file is tried (‘foo’ or ‘foo.bar’). + @@ -6295,7 +8358,8 @@ as for the table of contents. -\addcontentsline +<literal>\addcontentsline</literal> + \addcontentsline{ext}{unit}{text} table of contents entry, manually adding @@ -6331,7 +8395,8 @@ command \contentsline{unit}{nam -\addtocontents +<literal>\addtocontents</literal> + \addtocontents{ext}{text} The \addtocontents{ext}{text} command adds text @@ -6351,6 +8416,7 @@ figures), or lot (list of tables). Glossaries + glossaries \makeglossary @@ -6374,6 +8440,7 @@ glossaries. Indexes + indexes \makeindex @@ -6438,59 +8505,119 @@ preparing the index. Letters -letters -creating letters -You can use &latex; to typeset letters, both personal and business. The -letter document class is designed to make a number of letters at -once, although you can make just one if you so desire. - -Your .tex source file has the same minimum commands as the other -document classes, i.e., you must have the following commands as a -minimum: +letters, writing +writing letters + +Synopsis: - \documentclass{letter} - \begin{document} - ... letters ... - \end{document} +\documentclass{letter} +\address{sender address} +\signature{sender name} +\begin{document} +\begin{letter}{recipient address} +\opening{salutation} + letter body +\closing{closing text} +\end{letter} + ... more letters ... +\end{document} -Each letter is a letter environment, whose argument is the name -and address of the recipient. For example, you might have: +Produce one or more letters. - \begin{letter}{Mr. Joe Smith\\ 2345 Princess St. - \\ Edinburgh, EH1 1AA} +Each letter is in a separate letter environment, whose argument +recipient address often contains multiple lines separated with a +double backslash (\\). For example, you might have: + + \begin{letter}{Mr. Joe Smith \\ + 2345 Princess St. \\ + Edinburgh, EH1 1AA} ... \end{letter} -The letter itself begins with the \opening command. The text of -the letter follows. It is typed as ordinary &latex; input. Commands that -make no sense in a letter, like \chapter, do not work. The letter -closes with a \closing command. +The start of the letter environment resets the page number to 1, +and the footnote number to 1 also. + +The sender address and sender name are common to all of the +letters, whether there is one or more, so these are best put in the +preamble. As with the recipient address, often sender address +contains multiple lines separated by a double +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 +such as \opening{Dear Madam or Sir:}. The letter body +text is ordinary &latex; so it can contain everything from 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,}. \\ for letters -After the closing, you can have additional material. The -\cc command produces the usual “cc: …”. There’s also a -similar \encl command for a list of enclosures. With both these -commands, use \\ to separate the items. - +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’s a similar \encl command for +a list of enclosures. And, you can add a postscript with \ps. + +&latex;’s default is to indent the signature and the \closing +above it by a length of \longindentation. By default this is +0.5\textwidth. To make them flush left, put +\setlength{\longindentation}{0em} in your preamble. + +To set a fixed date use something like +\renewcommand{\today}{2015-Oct-12}. If put in your preamble +then it will apply to all the letters. + +This example shows only one letter environment. The three lines +marked as optional are typically omitted. + +\documentclass{letter} +\address{Sender's street \\ Sender's town} +\signature{Sender's name \\ Sender's title} +% optional: \location{Mailbox 13} +% optional: \telephone{(102) 555-0101} +\begin{document} +\begin{letter}{Recipient's name \\ Recipient's address} +\opening{Sir:} +% optional: \thispagestyle{firstpage} +I am not interested in entering a business arrangement with you. +\closing{Your most humble, etc.,} +\end{letter} +\end{document} + These commands are used with the letter class. -\address{<replaceable>return-address}</replaceable> +<literal>\address</literal> + \address -The \address specifies the return address of a letter, as it -should appear on the letter and the envelope. Separate lines of the -address should be separated by \\ commands. +Synopsis: + +\address{senders address} + +Specifies the return address as it appears on the letter and on the +envelope. Separate multiple lines in senders address with a +double backslash \\. + +Because it can apply to multiple letters this declaration is often put +in the preamble. However, it can go anywhere, including inside an +individual letter environment. + +This command is optional: without the \address declaration the +letter is formatted with some blank space on top, for copying onto +pre-printed letterhead paper. (See Overview, for details on your +local implementation.) With the \address declaration, it is +formatted as a personal letter. -If you do not make an \address declaration, then the letter -will be formatted for copying onto your organization’s standard -letterhead. (See Overview, for details on your local -implementation). If you give an \address declaration, then the -letter will be formatted as a personal letter. +Here is an example. +\address{Stephen Maturin \\ + The Grapes of the Savoy} + @@ -6501,11 +8628,17 @@ letter will be formatted as a personal letter. Synopsis: -\cc{name1\\name2} +\cc{first name \\ + .. } -Produce a list of names the letter was copied to. Each name is -printed on a separate line. +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 \\. +\cc{President \\ + Vice President} + @@ -6519,8 +8652,10 @@ printed on a separate line. \closing{text} -A letter closes with a \closing command, for example, -\closing{Best Regards,} +Usually at the end of a letter, above the handwritten signature, there +is a \closing (although this command is optional). For example, + +\closing{Regards,} @@ -6532,48 +8667,75 @@ printed on a separate line. Synopsis: -\encl{line1\\line2} +\encl{first enclosed object \\ + .. } -Declare a list of one more enclosures. +Produce a list of things included with the letter. This command is +optional; when it is used, it typically is put after \closing. +Separate multiple lines with a double backslash \\. +\encl{License \\ + Passport } + <literal>\location</literal> + \location -\location{address} +Synopsis: -This modifies your organization’s standard address. This only appears -if the firstpage pagestyle is selected. +\location{text} + +The text appears centered at the bottom of the each page. It only +appears if the page style is firstpage. <literal>\makelabels</literal> + \makelabels -\makelabels{number} +Synopsis: -If you issue this command in the preamble, &latex; will create a sheet of -address labels. This sheet will be output before the letters. +\makelabels + +Create a sheet of address labels from the recipient addresses, one for +each letter. This sheet will be output before the letters, with the idea +that you can copy it to a sheet of peel-off labels. This command goes +in the preamble. + +Customize the labels by redefining the commands \startlabels, +\mlabel, and \returnaddress in the preamble. The command +\startlabels sets the width, height, number of columns, etc., of +the page onto which the labels are printed. The command +\mlabel{sender address}{recipient address} +produces the two labels (or one, if you choose to ignore the sender +address). The sender address is the value returned by the macro +\returnaddress while recipient address is the value passed +in the argument to the letter environment. By default +\mlabel ignores the first argument, the sender address. - - <literal>\name</literal> + \name -\name{June Davenport} +Synopsis: -Your name, used for printing on the envelope together with the return -address. +\name{name} + +Sender’s name, used for printing on the envelope together with the +return address. -<literal>\opening{<replaceable>text</replaceable>}</literal> +<literal>\opening</literal> + \opening letters, starting @@ -6581,11 +8743,11 @@ address. \opening{text} -A letter begins with the \opening command. The mandatory -argument, text, is whatever text you wish to start your letter. -For instance: +This command is required. It starts a letter, following the +\begin{letter}{..}. The mandatory argument text is the +text that starts your letter. For instance: -\opening{Dear Joe,} +\opening{Dear John:} @@ -6594,62 +8756,99 @@ For instance: \ps postscript, in letters -Use the \ps command to start a postscript in a letter, after +Synopsis: + +\ps{text} + +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.} + -<literal>\signature{<replaceable>text</replaceable>}</literal> -\signature +<literal>\signature</literal> -Your name, as it should appear at the end of the letter underneath the -space for your signature. \\ starts a new line within -text as usual. +Synopsis: +\signature{first line \\ + .. } + +\signature - - -<literal>\startbreaks</literal> -\startbreaks - -\startbreaks +The sender’s name. This command is optional, although its inclusion is +usual. -Used after a \stopbreaks command to allow page breaks again. +The argument text appears at the end of the letter, after the closing +and after a vertical space for the traditional hand-written +signature. Separate multiple lines with a double +backslash \\. For example: - - - -<literal>\stopbreaks</literal> -\stopbreaks - -\stopbreaks +\signature{J Fred Muggs \\ + White House} + +&latex;’s default for the vertical space from the \closing text +down to the \signature text is 6\medskipamount, which is +six times 0.7em. + +This command is usually in the preamble, to apply to all the letters in +the document. To have it apply to one letter only, put it inside a +letter environment and before the \closing. -Inhibit page breaks until a \startbreaks command occurs. +You can include a graphic in the signature, for instance with +\signature{\vspace{-6\medskipamount}\includegraphics{sig.png}\\ +My name} (this requires writing \usepackage{graphicx} in the +preamble). + + + + + + + + + + + + + + + + + + - + <literal>\telephone</literal> + \telephone -\telephone{number} +Synopsis: -This is your telephone number. This only appears if the -firstpage pagestyle is selected. +\telephone{number} + +The sender’s telephone number. This is typically in the preamble, where +it applies to all letters. This only appears if the firstpage +pagestyle is selected. If so, it appears on the lower right of the +page. Terminal input/output -input/output + +input/output, to terminal terminal input/output <literal>\typein[<replaceable>cmd</replaceable>]{<replaceable>msg</replaceable>}</literal> + \typein Synopsis: @@ -6668,6 +8867,7 @@ redefined to be the typed input. <literal>\typeout{<replaceable>msg</replaceable>}</literal> + \typeout Synopsis: @@ -6690,6 +8890,7 @@ printed, independent of surrounding spaces. A ^^J in Command line + command line .tex, default extension @@ -6720,7 +8921,9 @@ be specified in the usual Unix way, starting with ‘- Document templates + document templates +templates, document Although not reference material, perhaps these document templates will be useful. Additional template resources are listed at @@ -6732,6 +8935,8 @@ be useful. Additional template resources are listed at <literal>beamer</literal> template 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: @@ -6765,6 +8970,8 @@ array of features, but here is a basic template: <literal>book</literal> template +template, book + \documentclass{book} \title{Book Class Template} \author{Alex Author} @@ -6787,6 +8994,7 @@ The end. <literal>tugboat</literal> template +template, TUGboat TUGboat template ltugboat class 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 6d6fb8eed5f..5606ddbb59b 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 (May 2015) +LaTeX2e unofficial reference manual (October 2015) - - + + - + - +