texlive[60038] Master/texmf-dist/doc: latex2e-help-texinfo (24jul21)

commits+karl at tug.org commits+karl at tug.org
Sat Jul 24 22:46:37 CEST 2021


Revision: 60038
          http://tug.org/svn/texlive?view=revision&revision=60038
Author:   karl
Date:     2021-07-24 22:46:37 +0200 (Sat, 24 Jul 2021)
Log Message:
-----------
latex2e-help-texinfo (24jul21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/info/latex2e.info
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/README
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/aspell.en.pws
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.css
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.html
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.pdf
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.texi
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.txt
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.xml

Modified: trunk/Master/texmf-dist/doc/info/latex2e.info
===================================================================
--- trunk/Master/texmf-dist/doc/info/latex2e.info	2021-07-24 20:46:11 UTC (rev 60037)
+++ trunk/Master/texmf-dist/doc/info/latex2e.info	2021-07-24 20:46:37 UTC (rev 60038)
@@ -1,8 +1,8 @@
-This is latex2e.info, produced by makeinfo version 6.5 from
+This is latex2e.info, produced by makeinfo version 6.7 from
 latex2e.texi.
 
 This document is an unofficial reference manual for LaTeX, a document
-preparation system, version of October 2018.
+preparation system, version of July 2021.
 
    This manual was originally translated from 'LATEX.HLP' v1.0a in the
 VMS Help Library.  The pre-translation version was written by George D.
@@ -17,7 +17,7 @@
 Dietze.  (From these references no text was directly copied.)
 
    Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016,
-2017, 2018 Karl Berry.
+2017, 2018, 2019, 2020, 2021 Karl Berry.
 Copyright 1988, 1994, 2007 Stephen Gilmore.
 Copyright 1994, 1995, 1996 Torsten Martinsen.
 
@@ -44,8 +44,8 @@
 LaTeX2e: An unofficial reference manual
 ***************************************
 
-This document is an unofficial reference manual (version of October
-2018) for LaTeX2e, a document preparation system.
+This document is an unofficial reference manual (version of July 2021)
+for LaTeX2e, a document preparation system.
 
 * Menu:
 
@@ -75,8 +75,8 @@
 * Splitting the input::		Dealing with big files by splitting.
 * Front/back matter::		Tables of contents, glossaries, indexes.
 * Letters::			The 'letter' class.
-* Terminal input/output::	User interaction.
-* Command line::                System-independent command-line behavior.
+* Input/output::        	User interaction.
+* Command line interface::      Common command-line options.
 * Document templates::          Starter templates for various document classes.
 * Index::		        General index.
 
@@ -90,48 +90,38 @@
 preparation system, which is a macro package for the TeX typesetting
 program (*note Overview::).
 
-   This document's home page is
-<https://puszcza.gnu.org.ua/software/latexrefman>.  There you can get
-the sources, subscribe to the mailing list or read its archives, see
-other infrastructure, and get the current output in various formats.  In
-particular, the output comes in two web formats.  Probably the most
-convenient one, shown at <http://latexref.xyz/>, has pages for each
-topic and so is good for a quick lookup; see also the note there about
-easy-to-remember links.  The other, shown at
-<http://svn.gnu.org.ua/viewvc/latexrefman/trunk/latex2e.html?view=co>,
-has all the information on single page.
+   This document's home page is <https://latexref.xyz>; it has separate
+web pages for each topic.  Alternatively.
+<https://latexref.xyz/dev/latex2e.html> has the entire document on a
+single page.  For other output formats, the sources, and plenty more
+information, see <https://latexref.xyz/dev/>.
 
    In this document, we will mostly just use 'LaTeX' rather than
 'LaTeX2e', since the previous version of LaTeX (2.09) was frozen decades
 ago.
 
-   LaTeX is currently maintained by a group of volunteers
-(<http://latex-project.org>).  The official documentation written by the
-LaTeX project is available from their web site.  This document is
-completely unofficial and has not been reviewed by the LaTeX
-maintainers.  Do not send bug reports or anything else about this
-document to them.  Instead, please send all comments to
+   LaTeX is maintained by a group of volunteers
+(<https://latex-project.org>).  The official documentation written by
+the LaTeX project is available from their web site.  The present
+document is completely unofficial and has not been written or reviewed
+by the LaTeX maintainers.  Do not send bug reports or anything else
+about this document to them.  Instead, please send all comments to
 <latexrefman at tug.org>.
 
-   This document is a reference.  There is a vast array of other sources
-of information about LaTeX, at all levels.  Here are a few
-introductions.
+   This document is a reference, not a tutorial.  There is a vast array
+of other information available about LaTeX, at all levels.  Here are a
+few introductions.
 
-<http://ctan.org/pkg/latex-doc-ptr>
+<https://ctan.org/pkg/latex-doc-ptr>
      Two pages of recommended references to LaTeX documentation.
 
-<http://ctan.org/pkg/first-latex-doc>
+<https://ctan.org/pkg/first-latex-doc>
      Writing your first document, with a bit of both text and math.
 
-<http://ctan.org/pkg/usrguide>
-     The guide for document authors that is maintained as part of LaTeX.
-     Many other guides by many other people are also available,
-     independent of LaTeX itself; one such is the next item:
+<https://ctan.org/pkg/lshort>
+     A longer introduction to LaTeX, translated to many languages.
 
-<http://ctan.org/pkg/lshort>
-     A short introduction to LaTeX, translated to many languages.
-
-<http://tug.org/begin.html>
+<https://tug.org/begin.html>
      Introduction to the TeX system, including LaTeX, with further
      references.
 
@@ -142,20 +132,24 @@
 *******************
 
 LaTeX is a system for typesetting documents.  It was originally created
-by Leslie Lamport and is now maintained by a group of volunteers
-(<http://latex-project.org>).  It is widely used, particularly for
-complex and technical documents, such as those involving mathematics.
+by Leslie Lamport in 1984, but has been maintained by a group of
+volunteers for many years now (<https://latex-project.org>).  It is
+widely used, particularly but not exclusively for mathematical and
+technical documents.
 
-   A LaTeX user writes an input file containing text along with
-interspersed commands, for instance commands describing how the text
-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 input file to the
-TeX engine.
+   A LaTeX user writes an input file containing text to be typeset along
+with interspersed commands.  The default encoding for the text is UTF-8
+(as of 2018).  The commands specify, for example, how the text should be
+formatted.
 
+   LaTeX is implemented as a set of related so-called "macros" which use
+Donald E. Knuth's TeX typesetting program or one of its derivatives,
+collectively known as "engines".  Thus, the user produces output,
+typically PDF, by giving the input file to a TeX engine.  (The following
+sections describe all this in more detail.)
+
    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
+the input document is marked up, that is, to mean the set of commands
 available to a LaTeX user.
 
    The name LaTeX is short for "Lamport TeX".  It is pronounced LAH-teck
@@ -167,9 +161,9 @@
 
 * Starting and ending::     The standard beginning and end of a document.
 * Output files::            Files produced.
-* TeX engines::          Programs that can compile TeX and  LaTeX.
+* TeX engines::          Programs that can compile TeX and LaTeX.
 * LaTeX command syntax:: General syntax of LaTeX commands.
-* Environment::             Area of the source giving distinct behavior.
+* Environment::             An area of the source with distinct behavior.
 * CTAN::                    Our repository.
 
 
@@ -224,7 +218,7 @@
      '.pdf' file with 'dvipdfmx'.  The contents of the file can be
      dumped in human-readable form with 'dvitype'.  A vast array of
      other DVI utility programs are available
-     (<http://mirror.ctan.org/dviware>).
+     (<https://mirror.ctan.org/dviware>).
 
 '.pdf'
      If LaTeX is invoked via the system command 'pdflatex', among other
@@ -232,7 +226,7 @@
      Document Format (PDF) file.  Typically this is a self-contained
      file, with all fonts and images included.
 
-   LaTeX also produces at least two additional files.
+   LaTeX always produces at least two additional files.
 
 '.log'
      This transcript file contains summary information such as a list of
@@ -262,20 +256,24 @@
 2.3 TeX engines
 ===============
 
-LaTeX is defined to be a set of commands that are run by a TeX
-implementation (*note Overview::).  This section gives a terse overview
-of the main programs (see also *note Command line::).
+LaTeX is a large set of commands that is executed by a TeX program
+(*note Overview::).  Such a set of commands is called a "format", and is
+embodied in a binary '.fmt' file, which can be read much more quickly
+than the corresponding TeX source.
 
+   This section gives a terse overview of the TeX programs that are
+commonly available (see also *note Command line interface::).
+
 'latex'
 'pdflatex'
-     In TeX Live (<http://tug.org/texlive>), if LaTeX is invoked via
+     In TeX Live (<https://tug.org/texlive>), if LaTeX is invoked via
      either the system command 'latex' or 'pdflatex', then the pdfTeX
-     engine is run (<http://ctan.org/pkg/pdftex>).  When invoked as
+     engine is run (<https://ctan.org/pkg/pdftex>).  When invoked as
      'latex', the main output is a '.dvi' file; as 'pdflatex', the main
      output is a '.pdf' file.
 
      pdfTeX incorporates the e-TeX extensions to Knuth's original
-     program (<http://ctan.org/pkg/etex>), including additional
+     program (<https://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
      system command 'etex', but this is plain TeX (and produces '.dvi').
@@ -286,16 +284,16 @@
 
 'lualatex'
      If LaTeX is invoked via the system command 'lualatex', the LuaTeX
-     engine is run (<http://ctan.org/pkg/luatex>).  This program allows
+     engine is run (<https://ctan.org/pkg/luatex>).  This program allows
      code written in the scripting language Lua (<http://luatex.org>) to
      interact with TeX's typesetting.  LuaTeX handles UTF-8 Unicode
      input natively, can handle OpenType and TrueType fonts, and
      produces a '.pdf' file by default.  There is also 'dvilualatex' to
-     produce a '.dvi' file, but this is rarely used.
+     produce a '.dvi' file.
 
 'xelatex'
      If LaTeX is invoked with the system command 'xelatex', the XeTeX
-     engine is run (<http://tug.org/xetex>).  Like LuaTeX, XeTeX
+     engine is run (<https://tug.org/xetex>).  Like LuaTeX, XeTeX
      natively supports UTF-8 Unicode and TrueType and OpenType fonts,
      though the implementation is completely different, mainly using
      external libraries instead of internal code.  XeTeX produces a
@@ -306,10 +304,41 @@
      process is automatic.  The '.xdv' file is only useful for
      debugging.
 
-   Other variants of LaTeX and TeX exist, e.g., to provide additional
-support for Japanese and other languages ([u]pTeX,
-<http://ctan.org/pkg/ptex>, <http://ctan.org/pkg/uptex>).
+'platex'
+'uplatex'
+     These commands provide significant additional support for Japanese
+     and other languages; the 'u' variant supports Unicode.  See
+     <https://ctan.org/pkg/ptex> and <https://ctan.org/pkg/uptex>.
 
+   As of 2019, there is a companion '-dev' command and format for all of
+the above:
+
+'dvilualatex-dev'
+'latex-dev'
+'lualatex-dev'
+'pdflatex-dev'
+'platex-dev'
+'uplatex-dev'
+'xelatex-dev'
+     These are candidates for an upcoming LaTeX release.  The main
+     purpose is to find and address compatibility problems before an
+     official release.
+
+     These '-dev' formats make it easy for anyone to help test documents
+     and code: you can run, say, 'pdflatex-dev' instead of 'pdflatex',
+     without changing anything else in your environment.  Indeed, it is
+     easiest and most helpful to always run the '-dev' versions instead
+     of bothering to switch back and forth.  During quiet times after a
+     release, the commands will be equivalent.
+
+     These are not daily snapshots or untested development code.  They
+     undergo the same extensive regression testing by the LaTeX team
+     before being released.
+
+     For more information, see "The LaTeX release workflow and the LaTeX
+     'dev' formats" by Frank Mittelbach, 'TUGboat' 40:2,
+     <https://tug.org/TUGboat/tb40-2/tb125mitt-dev.pdf>.
+
 
 File: latex2e.info,  Node: LaTeX command syntax,  Next: Environment,  Prev: TeX engines,  Up: Overview
 
@@ -321,9 +350,9 @@
 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.
+from '\Pagebreak' (the latter is not a standard command).  Most command
+names 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
@@ -338,12 +367,6 @@
 argument after it, then to make the first character of the following
 text be an open square bracket, hide it inside curly braces.
 
-   Some of LaTeX's commands are a "declaration".  Such a command changes
-the value the meaning of some other command or parameter.  For instance,
-the '\mainmatter' declaration changes the typesetting of page numbers
-from roman numerals to arabic (*note \frontmatter & \mainmatter &
-\backmatter::).
-
    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.
@@ -351,6 +374,12 @@
    This manual describes all accepted options and '*'-forms for the
 commands it covers (barring unintentional omissions, a.k.a. bugs).
 
+   As of the 2020-10-01 release of LaTeX, the 'expl3' and 'xparse'
+packages are part of the LaTeX2e format.  They provide a completely
+different underlying programming language syntax.  We won't try to cover
+them in this document; see the related package documentation and other
+LaTeX manuals.
+
 
 File: latex2e.info,  Node: Environment,  Next: CTAN,  Prev: LaTeX command syntax,  Up: Overview
 
@@ -359,13 +388,13 @@
 
 Synopsis:
 
-     \begin{ENVIRONMENT NAME}
+     \begin{ENVIRONMENT-NAME}
        ...
-     \end{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}'.
+   An "environment" is 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}'.
 
      \begin{verse}
        There once was a man from Nantucket \\
@@ -372,12 +401,12 @@
        ...
      \end{verse}
 
-   *Note Environments:: for a list of environments.  Particularly
+   *Note Environments::, for a list of environments.  Particularly
 notable is that every LaTeX document must have a 'document' environment,
 a '\begin{document} ... \end{document}' pair.
 
-   The ENVIRONMENT NAME at the beginning must exactly match that at the
-end.  This includes the case where ENVIRONMENT NAME ends in a
+   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
@@ -392,7 +421,7 @@
 
 File: latex2e.info,  Node: CTAN,  Prev: Environment,  Up: Overview
 
-2.6 CTAN: the Comprehensive TeX Archive Network
+2.6 CTAN: The Comprehensive TeX Archive Network
 ===============================================
 
 The Comprehensive TeX Archive Network, CTAN, is the TeX and LaTeX
@@ -406,18 +435,20 @@
 a package that allows authors to format papers to that publisher's
 specifications.
 
-   In addition to the massive holdings, the web site offers features
-such as search by name or by functionality.
+   In addition to the massive holdings, the 'ctan.org' web site offers
+features such as search by name or by functionality.
 
-   CTAN is not a single site, but instead is a set of sites.  One of the
-sites is the core.  This site actively manages the material, for
-instance, by accepting uploads of new or updated packages.  It is hosted
-by the German TeX group DANTE e.V. Other sites around the world help out
-by mirroring, that is, automatically syncing their collections with the
-core site and then in turn making their copies publicly available.  This
-gives users close to their location better access and relieves the load
-on the core site.  The list of mirrors is at <https://ctan.org/mirrors>.
+   CTAN is not a single host, but instead is a set of hosts, one of
+which is the so-called "master".  The master host actively manages the
+material, for instance, by accepting uploads of new or updated packages.
+For many years, it has been hosted by the German TeX group, DANTE e.V.
 
+   Other sites around the world help out by mirroring, that is,
+automatically syncing their collections with the master site and then in
+turn making their copies publicly available.  This gives users close to
+their location better access and relieves the load on the master site.
+The list of mirrors is at <https://ctan.org/mirrors>.
+
 
 File: latex2e.info,  Node: Document classes,  Next: Fonts,  Prev: Overview,  Up: Top
 
@@ -449,9 +480,10 @@
      technical reports or theses, which may contain several chapters.
 
 'slides'
-     For slide presentations--rarely used today.  In its place the
-     'beamer' package is perhaps the most prevalent (*note beamer
-     template::).
+     For slide presentations--rarely used nowadays.  The 'beamer'
+     package is perhaps the most prevalent
+     (<https://ctan.org/pkg/beamer>).  *Note beamer template::, for a
+     small template for a beamer document.
 
    Standard OPTIONS are described in the next section.
 
@@ -659,7 +691,7 @@
 
    For more, see the official guide for class and package writers, the
 Class Guide, at
-<http://www.latex-project.org/help/documentation/clsguide.pdf> (much of
+<https://www.latex-project.org/help/documentation/clsguide.pdf> (much of
 the descriptions here derive from this document), or the tutorial
 <https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf>.
 
@@ -738,11 +770,11 @@
 
      If you request an option that has not been declared, by default
      this will produce a warning like 'Unused global option(s):
-     [badoption].' Change this behaviour with the starred version
+     [badoption].' Change this behavior with the starred version
      '\DeclareOption*{CODE}'.  For example, many classes extend an
-     existing class, using a declaration such as '\LoadClass{article}',
-     and for passing extra options to the underlying class use code such
-     as this.
+     existing class, using a command such as '\LoadClass{article}', and
+     for passing extra options to the underlying class use code such as
+     this.
 
           \DeclareOption*{%
           \PassOptionsToClass{\CurrentOption}{article}%
@@ -789,8 +821,8 @@
           exists, in that case you need to use either '\renew...' or
           '\provide...' or you get an error.
 
-'\IfFileExists{FILE NAME}{TRUE CODE}{FALSE CODE}'
-'\InputIfFileExists{FILE NAME}{TRUE CODE}{FALSE CODE}'
+'\IfFileExists{FILENAME}{TRUE CODE}{FALSE CODE}'
+'\InputIfFileExists{FILENAME}{TRUE CODE}{FALSE CODE}'
      Execute TRUE CODE if LaTeX finds the file 'FILE NAME' or FALSE CODE
      otherwise.  In the first case it executing TRUE CODE and then
      inputs the file.  Thus the command
@@ -976,11 +1008,11 @@
      than the given date.  (Although, in practice package users only
      rarely include a date, and class users almost never do.)
 
-'\ProvidesFile{FILE NAME}[ADDITIONAL INFORMATION]'
+'\ProvidesFile{FILENAME}[ADDITIONAL INFORMATION]'
      Declare a file other than the main class and package files, such as
      configuration files or font definition files.  Put this command in
      that file and you get in the log a string like 'File: test.config
-     2017/10/12 config file for test.cls' for FILE NAME equal to
+     2017/10/12 config file for test.cls' for FILENAME equal to
      'test.config' and ADDITIONAL INFORMATION equal to '2017/10/12
      config file for test.cls'.
 
@@ -1017,40 +1049,524 @@
 4 Fonts
 *******
 
-Two important aspects of selecting a "font" are specifying a size and a
-style.  The LaTeX commands for doing this are described here.
+LaTeX comes with powerful font capacities.  For one thing, its New Font
+Selection Scheme allows you to work easily with the font families in
+your document (for instance, see *note Font styles::).  And, LaTeX
+documents can use most fonts that are available today, including
+versions of Times Roman, Helvetica, Courier, etc.  (Note, though, that
+many fonts do not have support for mathematics.)
 
+   The first typeface in the TeX world was the Computer Modern family,
+developed by Donald Knuth.  It is the default for LaTeX documents and is
+still the most widely used.  But changing to another font often only
+involves a few commands.  For instance, putting the following in your
+preamble gives you a Palatino-like font, which is handsome and more
+readable online than many other fonts, while still allowing you to
+typeset mathematics.  (This example is from Michael Sharpe,
+<https://math.ucsd.edu/~msharpe/RcntFnts.pdf>.)
+
+     \usepackage[osf]{newpxtext} % osf for text, not math
+     \usepackage{cabin} % sans serif
+     \usepackage[varqu,varl]{inconsolata} % sans serif typewriter
+     \usepackage[bigdelims,vvarbb]{newpxmath} % bb from STIX
+     \usepackage[cal=boondoxo]{mathalfa} % mathcal
+
+In addition, the 'xelatex' or 'lualatex' engines allow you to use any
+fonts on your system that are in OpenType or TrueType format (*note TeX
+engines::).
+
+   The LaTeX Font Catalogue (<https://tug.org/FontCatalogue>) shows font
+sample graphics and copy-and-pasteable source to use many fonts,
+including many with support for mathematics.  It aims to cover all Latin
+alphabet free fonts available for easy use with LaTeX.
+
+   More information is also available from the TeX Users Group, at
+<https://www.tug.org/fonts/>.
+
 * Menu:
 
+* fontenc package::             Encoding of the font.
 * Font styles::                 Select roman, italics, etc.
 * Font sizes::                  Select point size.
 * Low-level font commands::     Select encoding, family, series, shape.
 
 
-File: latex2e.info,  Node: Font styles,  Next: Font sizes,  Up: Fonts
+File: latex2e.info,  Node: fontenc package,  Next: Font styles,  Up: Fonts
 
-4.1 Font styles
+4.1 'fontenc' package
+=====================
+
+Synopsis:
+
+     \usepackage[FONT_ENCODING]{fontenc}
+
+   or
+
+     \usepackage[FONT_ENCODING1, FONT_ENCODING2, ...]{fontenc}
+
+   Specify the font encodings.  A font encoding is a mapping of the
+character codes to the font glyphs that are used to typeset your output.
+
+   This package only applies if you use the 'pdflatex' engine (*note TeX
+engines::).  If you use the 'xelatex' or 'lualatex' engine then instead
+use the 'fontspec' package.
+
+   TeX's original font family, Computer Modern, has a limited character
+set.  For instance, to make common accented characters you must use
+'\accent' (*note \accent::) but this disables hyphenation.  TeX users
+have agreed on a number of standards to access the larger sets of
+characters provided by modern fonts.  If you are using 'pdflatex' then
+this in the preamble
+
+     \usepackage[T1]{fontenc}
+
+gives you support for the most widespread European languages, including
+French, German, Italian, Polish, and others.  In particular, if you have
+words with accented letters then LaTeX will hyphenate them and your
+output can be copied and pasted.  (The optional second line allows you
+to directly enter accented characters into your source file.)
+
+   If you are using an encoding such as 'T1' and the characters appear
+blurry or do not magnify well then your fonts may be bitmapped,
+sometimes called raster or Type 3.  You want vector fonts.  Use a
+package such as 'lmodern' or 'cm-super' to get a font that extends
+LaTeX's default using vector fonts.
+
+   For each FONT_ENCODING given as an option but not already declared,
+this package loads the encoding definition files, named
+'FONT_ENCODINGenc.def'.  It also sets '\encodingdefault' to be the last
+encoding in the option list.
+
+   These are the common values for FONT_ENCODING.
+
+'OT1'
+     The original encoding for TeX.  Limited to mostly English
+     characters.
+
+'OMS, OML'
+     Math symbols and math letters encoding.
+
+'T1'
+     TeX text extended.  Sometimes called the Cork encoding for the
+     Users Group meeting where it was developed.  Gives access to most
+     European accented characters.  The most common option for this
+     package.
+
+'TS1'
+     Text Companion encoding.
+
+LaTeX's default is to load 'OML', 'T1', 'OT1', and then 'OMS', and set
+the default to 'OT1'.
+
+   Even if you do not use accented letters, you may need to specify a
+font encoding if your font requires it.
+
+   If you use 'T1' encoded fonts other than the default Computer Modern
+family then you may need to load the package that selects your fonts
+before loading 'fontenc', to prevent the system from loading any
+'T1' encoded fonts from the default.
+
+   The LaTeX team reserve encoding names starting with: 'T' for the
+standard text encodings with 256 characters, 'TS' for symbols that
+extend the corresponding T encodings, 'X' for test encodings, 'M' for
+standard math encodings with 256 characters, 'A' for special
+applications, 'OT' for standard text encodings with 128 characters, and
+'OM' for standard math encodings with 128 characters ('O' stands for
+'obsolete').
+
+   This package provides a number of commands, detailed below.  Many of
+them are encoding-specific, so if you have defined a command that works
+for one encoding but the current encoding is different then the command
+is not in effect.
+
+* Menu:
+
+* \DeclareFontEncoding::           Define an encoding.
+* \DeclareTextAccent::             Define an accent in the encoding.
+* \DeclareTextAccentDefault::      Fallback for using an accent in the encoding.
+* \DeclareTextCommand & \ProvideTextCommand::  New encoding-specific command.
+* \DeclareTextCommandDefault & \ProvideTextCommandDefault::  Fallback for encoding-specific commands.
+* \DeclareTextComposite::   Directly access an accented glyph, in the encoding.
+* \DeclareTextCompositeCommand::    Run code in slot, in the encoding.
+* \DeclareTextSymbol::              Define a symbol in the encoding.
+* \DeclareTextSymbolDefault::       Fallback for a symbol in the encoding.
+* \LastDeclaredEncoding::           Save most recently declared encoding.
+* \UseTextSymbol & \UseTextAccent:: Temporarily switch to another encoding.
+
+
+File: latex2e.info,  Node: \DeclareFontEncoding,  Next: \DeclareTextAccent,  Up: fontenc package
+
+4.1.1 '\DeclareFontEncoding'
+----------------------------
+
+Synopsis:
+
+     \DeclareFontEncoding{ENCODING}{TEXT-SETTINGS}{MATH-SETTINGS}
+
+   Declare the font encoding ENCODING.  It also saves the value of
+ENCODING in '\LastDeclaredEncoding' (*note \LastDeclaredEncoding::).
+
+   The file 't1enc.def' contains this line (followed by many others).
+
+     \DeclareFontEncoding{T1}{}{}
+
+   The TEXT-SETTINGS are the commands that LaTeX will run every time it
+switches from one encoding to another with the '\selectfont' or
+'\fontencoding' command.  The MATH-SETTINGS are the commands that LaTeX
+will use whenever the font is accessed as a math alphabet.
+
+   LaTeX ignores any space characters inside TEXT-SETTINGS and
+MATH-SETTINGS, to prevent unintended spaces in the output.
+
+   If you invent an encoding you should pick a two or three letter name
+starting with 'L' for 'local', or 'E' for 'experimental'.
+
+   Note that output encoding files may be read several times by LaTeX so
+using, e.g., '\newcommand' may cause an error.  In addition, such files
+should contain '\ProvidesFile' line (*note Class and package
+commands::).
+
+   Note also that you should use the '\...Default' commands only in a
+package, not in the encoding definition files, since those files should
+only contain declarations specific to that encoding.
+
+
+File: latex2e.info,  Node: \DeclareTextAccent,  Next: \DeclareTextAccentDefault,  Prev: \DeclareFontEncoding,  Up: fontenc package
+
+4.1.2 '\DeclareTextAccent'
+--------------------------
+
+Synopsis:
+
+     \DeclareTextAccent{CMD}{ENCODING}{SLOT}
+
+   Define an accent, to be put on top of other glyphs, in the encoding
+ENCODING at the location SLOT.
+
+   This line from 't1enc.def' declares that to make a circumflex accent
+as in '\^A', the system will put the accent in slot 2 over the 'A'
+character, which is represented in ASCII as 65.  (This holds unless
+there is a relevant 'DeclareTextComposite' or
+'\DeclareTextCompositeCommand' declaration; *note
+\DeclareTextComposite::.)
+
+     \DeclareTextAccent{\^}{T1}{2}
+
+   If CMD has already been defined then '\DeclareTextAccent' does not
+give an error but it does log the redefinition in the transcript file.
+
+
+File: latex2e.info,  Node: \DeclareTextAccentDefault,  Next: \DeclareTextCommand & \ProvideTextCommand,  Prev: \DeclareTextAccent,  Up: fontenc package
+
+4.1.3 '\DeclareTextAccentDefault'
+---------------------------------
+
+Synopsis:
+
+     \DeclareTextAccentDefault{CMD}{ENCODING}
+
+   If there is an encoding-specific accent command CMD but there is no
+associated '\DeclareTextAccent' for that encoding then this command will
+pick up the slack, by saying to use it as described for ENCODING.
+
+   For example, to make the encoding 'OT1' be the default encoding for
+the accent '\"', declare this.
+
+     \DeclareTextAccentDefault{\"}{OT1}
+
+If you issue a '\"' when the current encoding does not have a definition
+for that accent then LaTeX will use the definition from 'OT1'
+
+   That is, this command is equivalent to this call (*note
+\UseTextSymbol & \UseTextAccent::).
+
+     \DeclareTextCommandDefault[1]{CMD}
+        {\UseTextAccent{ENCODING}{CMD}{#1}}
+
+   Note that '\DeclareTextAccentDefault' works for any one-argument
+'fontenc' command, not just the accent command.
+
+
+File: latex2e.info,  Node: \DeclareTextCommand & \ProvideTextCommand,  Next: \DeclareTextCommandDefault & \ProvideTextCommandDefault,  Prev: \DeclareTextAccentDefault,  Up: fontenc package
+
+4.1.4 '\DeclareTextCommand' & '\ProvideTextCommand'
+---------------------------------------------------
+
+Synopsis, one of:
+
+     \DeclareTextCommand{CMD}{ENCODING}{DEFN}
+     \DeclareTextCommand{CMD}{ENCODING}[NARGS]{DEFN}
+     \DeclareTextCommand{CMD}{ENCODING}[NARGS][OPTARGDEFAULT]{DEFN}
+
+   or one of:
+
+     \ProvideTextCommand{CMD}{ENCODING}{DEFN}
+     \ProvideTextCommand{CMD}{ENCODING}[NARGS]{DEFN}
+     \ProvideTextCommand{CMD}{ENCODING}[NARGS][OPTARGDEFAULT]{DEFN}
+
+   Define the command CMD, which will be specific to one encoding.  The
+command name CMD must begin with a backslash, \.  These commands can
+only appear in the preamble.  Redefining 'cmd' does not cause an error.
+The defined command will be robust even if the code in DEFN is fragile
+(*note \protect::).
+
+   For example, the file 't1enc.def' contains this line.
+
+     \DeclareTextCommand{\textperthousand}{T1}{\%\char 24 }
+
+   With that, you can express parts per thousand.
+
+     \usepackage[T1]{fontenc}  % in preamble
+       ...
+     Legal limit is \( 0.8 \)\textperthousand.
+
+If you change the font encoding to 'OT1' then you get an error like
+'LaTeX Error: Command \textperthousand unavailable in encoding OT1'.
+
+   The '\ProvideTextCommand' variant does the same, except that it does
+nothing if CMD is already defined.  The '\DeclareTextSymbol' command is
+faster than this one for simple slot-to-glyph association (*note
+\DeclareTextSymbol::)
+
+   The optional NARGS and OPTARGSDEFAULT arguments play the same role
+here as in '\newcommand' (*note \newcommand & \renewcommand::).
+Briefly, NARGS is an integer from 0 to 9 specifying the number of
+arguments that the defined command 'cmd' takes.  This number includes
+any optional argument.  Omitting this argument is the same as specifying
+0, meaning that CMD will have no arguments.  And, if OPTARGSDEFAULT is
+present then the first argument of '\CMD' is optional, with default
+value OPTARGDEFAULT (which may be the empty string).  If OPTARGSDEFAULT
+is not present then '\CMD' does not take an optional argument.
+
+
+File: latex2e.info,  Node: \DeclareTextCommandDefault & \ProvideTextCommandDefault,  Next: \DeclareTextComposite,  Prev: \DeclareTextCommand & \ProvideTextCommand,  Up: fontenc package
+
+4.1.5 '\DeclareTextCommandDefault' & '\ProvideTextCommandDefault '
+------------------------------------------------------------------
+
+Synopsis:
+
+     \DeclareTextCommandDefault{CMD}{DEFN}
+
+   or:
+
+     \ProvideTextCommandDefault{CMD}{DEFN}
+
+   Give a default definition for CMD, for when that command is not
+defined in the encoding currently in force.  This default should only
+use encodings known to be available.
+
+   This makes '\copyright' available.
+
+     \DeclareTextCommandDefault{\copyright}{\textcircled{c}}
+
+   It uses only an encoding (OMS) that is always available.
+
+   The '\DeclareTextCommandDefault' should not occur in the encoding
+definition files since those files should declare only commands for use
+when you select that encoding.  It should instead be in a package.
+
+   As with the related non-default commands, the
+'\ProvideTextCommandDefault' has exactly the same behavior as
+'\DeclareTextCommandDefault' except that it does nothing if CMD is
+already defined (*note \DeclareTextCommand & \ProvideTextCommand::).
+So, packages can use it to provide fallbacks that other packages can
+improve upon.
+
+
+File: latex2e.info,  Node: \DeclareTextComposite,  Next: \DeclareTextCompositeCommand,  Prev: \DeclareTextCommandDefault & \ProvideTextCommandDefault,  Up: fontenc package
+
+4.1.6 '\DeclareTextComposite'
+-----------------------------
+
+Synopsis:
+
+     \DeclareTextComposite{CMD}{ENCODING}{SIMPLE_OBJECT}{SLOT}
+
+   Access an accented glyph directly, that is, without having to put an
+accent over a separate character.
+
+   This line from 't1enc.def' means that '\^o' will cause LaTeX to
+typeset lowercase 'o' by taking the character directly from location 224
+in the font.
+
+     \DeclareTextComposite{\^}{T1}{o}{244}
+
+   *Note fontenc package::, for a list of common encodings.  The
+SIMPLE_OBJECT should be a single character or a single command.  The
+SLOT argument is usually a positive integer represented in decimal
+(although octal or hexadecimal are possible).  Normally CMD has already
+been declared for this encoding, either with '\DeclareTextAccent' or
+with a one-argument '\DeclareTextCommand'.  In 't1enc.def', the above
+line follows the '\DeclareTextAccent{\^}{T1}{2}' command.
+
+
+File: latex2e.info,  Node: \DeclareTextCompositeCommand,  Next: \DeclareTextSymbol,  Prev: \DeclareTextComposite,  Up: fontenc package
+
+4.1.7 '\DeclareTextCompositeCommand'
+------------------------------------
+
+Synopsis:
+
+     \DeclareTextCompositeCommand{CMD}{ENCODING}{ARG}{CODE}
+
+   A more general version of '\DeclareTextComposite' that runs arbitrary
+code with CMD.
+
+   This allows accents on 'i' to act like accents on dotless i, '\i'.
+
+     \DeclareTextCompositeCommand{\'}{OT1}{i}{\'\i}
+
+   *Note fontenc package::, for a list of common encodings.  Normally
+CMD will have already been declared with '\DeclareTextAccent' or as a
+one argument '\DeclareTextCommand'.
+
+
+File: latex2e.info,  Node: \DeclareTextSymbol,  Next: \DeclareTextSymbolDefault,  Prev: \DeclareTextCompositeCommand,  Up: fontenc package
+
+4.1.8 '\DeclareTextSymbol'
+--------------------------
+
+Synopsis:
+
+     \DeclareTextSymbol{CMD}{ENCODING}{SLOT}
+
+   Define a symbol in the encoding ENCODING at the location SLOT.
+Symbols defined in this way are for use in text, not mathematics.
+
+   For example, this line from 't1enc.def' declares the number of the
+glyph to use for «, the left guillemet.
+
+     \DeclareTextSymbol{\guillemotleft}{T1}{19}
+
+The command '\DeclareTextCommand{\guillemotleft}{T1}{\char 19}' has the
+same effect but is slower (*note \DeclareTextCommand &
+\ProvideTextCommand::).
+
+   *Note fontenc package::, for a list of common encodings.  The SLOT
+can be specified in decimal, or octal (as in ''023'), or hexadecimal (as
+in '"13'), although decimal has the advantage that single quote or
+double quote could be redefined by another package.
+
+   If CMD has already been defined then '\DeclareTextSymbol' does not
+give an error but it does log the redefinition in the transcript file.
+
+
+File: latex2e.info,  Node: \DeclareTextSymbolDefault,  Next: \LastDeclaredEncoding,  Prev: \DeclareTextSymbol,  Up: fontenc package
+
+4.1.9 '\DeclareTextSymbolDefault'
+---------------------------------
+
+Synopsis:
+
+     \DeclareTextSymbolDefault{CMD}{ENCODING}
+
+   If there is an encoding-specific symbol command CMD but there is no
+associated '\DeclareTextSymbol' for that encoding, then this command
+will pick up the slack, by saying to get the symbol as described for
+ENCODING.
+
+   For example, to declare that if the current encoding has no meaning
+for '\textdollar' then use the one from 'OT1', declare this.
+
+     \DeclareTextSymbolDefault{\textdollar}{OT1}
+
+   That is, this command is equivalent to this call (*note
+\UseTextSymbol & \UseTextAccent::).
+
+     \DeclareTextCommandDefault{CMD}
+        {\UseTextSymbol{ENCODING}{CMD}}
+
+   Note that '\DeclareTextSymbolDefault' can be used to define a default
+for any zero-argument 'fontenc' command.
+
+
+File: latex2e.info,  Node: \LastDeclaredEncoding,  Next: \UseTextSymbol & \UseTextAccent,  Prev: \DeclareTextSymbolDefault,  Up: fontenc package
+
+4.1.10 '\LastDeclaredEncoding'
+------------------------------
+
+Synopsis:
+
+     \LastDeclaredEncoding
+
+   Get the name of the most recently declared encoding.  The
+'\DeclareFontEncoding' command stores the name so that it can be
+retrieved with this command (*note \DeclareFontEncoding::).
+
+   This relies on '\LastDeclaredEncoding' rather than give the name of
+the encoding explicitly.
+
+     \DeclareFontEncoding{JH1}{}{}
+     \DeclareTextAccent{\'}{\LastDeclaredEncoding}{0}
+
+
+File: latex2e.info,  Node: \UseTextSymbol & \UseTextAccent,  Prev: \LastDeclaredEncoding,  Up: fontenc package
+
+4.1.11 '\UseTextSymbol' & '\UseTextAccent'
+------------------------------------------
+
+Synopsis:
+
+     \UseTextSymbol{ENCODING}{CMD}
+
+   or:
+
+     \UseTextAccent{ENCODING}{CMD}{TEXT}
+
+   Use a symbol or accent not from the current encoding.
+
+   In general, to use a 'fontenc' command in an encoding where it is not
+defined, and if the command has no arguments, then you can use it like
+this:
+
+     \UseTextSymbol{OT1}{\ss}
+
+which is equivalent to this (note the outer braces form a group, so
+LaTeX reverts back to the prior encoding after the '\ss'):
+
+     {\fontencoding{OT1}\selectfont\ss}
+
+   Similarly, to use a 'fontenc' command in an encoding where it is not
+defined, and if the command has one argument, you can use it like this:
+
+     \UseTextAccent{OT1}{\'}{a}
+
+which is equivalent to this (again note the outer braces forming a
+group):
+
+     {fontencoding{OT1}\selectfont\'{\fontencoding{ENC_IN_USE}\selectfont a}}
+
+Here, ENC_IN_USE is the encoding in force before this sequence of
+commands, so that 'a' is typeset using the current encoding and only the
+accent is taken from 'OT1'.
+
+
+File: latex2e.info,  Node: Font styles,  Next: Font sizes,  Prev: fontenc package,  Up: Fonts
+
+4.2 Font styles
 ===============
 
 The following type style commands are supported by LaTeX.
 
-   In the table below the listed commands, the '\text...' commands, is
-used with an argument, as in '\textit{TEXT}'.  This is the preferred
-form.  But shown after it, in parenthesis, is the corresponding
-declaration form, which is sometimes useful.  This form takes no
+   In the table below the listed commands, the '\text...' commands, are
+used with an argument as in '\textit{TEXT}'.  This is the preferred
+form.  But shown after it in parenthesis is the corresponding
+"declaration form", which is often useful.  This form takes no
 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.
 In addition, each has an environment form such as
-'\begin{itshape}...\end{itshape}'.
+'\begin{itshape}...\end{itshape}', which we'll describe further at the
+end of the section.
 
-   These commands, in both the argument form and the declaration form,
-are cumulative; for instance you can get bold sans serif by saying
-either of '\sffamily\bfseries' or '\bfseries\sffamily'.
+   These commands, in any of the three forms, are cumulative; for
+instance you can get bold sans serif by saying either of
+'\sffamily\bfseries' or '\bfseries\sffamily'.
 
    One advantage of these commands is that they automatically insert
 italic corrections if needed (*note \/::).  Specifically, they insert
 the italic correction unless the following character is in the list
-'\nocorrlist', which by default consists of a period and a comma.  To
+'\nocorrlist', which by default consists of period and comma.  To
 suppress the automatic insertion of italic correction, use '\nocorr' at
 the start or end of the command argument, such as '\textit{\nocorr
 text}' or '\textsc{text \nocorr}'.
@@ -1097,8 +1613,8 @@
 
    (The unconditional commands below are an older version of font
 switching.  The earlier commands are an improvement in most
-circumstances.  But sometimes an unconditional font switch is precisely
-what you want.)
+circumstances.  But sometimes an unconditional font switch is what is
+needed.)
 
 '\bf'
      Switch to bold face.
@@ -1164,15 +1680,13 @@
 the same height as uppercase letters.  LaTeX's default fonts support
 this, and will respect '\textbf' (but not other styles; there are no
 italic old-style numerals in Computer Modern).  Many other fonts have
-old-style numerals also; sometimes the 'textcomp' package must be
-loaded, and sometimes package options are provided to make them the
-default.  FAQ entry:
-<http://www.tex.ac.uk/cgi-bin/texfaq2html?label=osf>.
+old-style numerals also; sometimes package options are provided to make
+them the default.  FAQ entry: <https://www.texfaq.org/FAQ-osf>.
 
 
 File: latex2e.info,  Node: Font sizes,  Next: Low-level font commands,  Prev: Font styles,  Up: Fonts
 
-4.2 Font sizes
+4.3 Font sizes
 ==============
 
 The following standard type size commands are supported by LaTeX.  The
@@ -1193,24 +1707,35 @@
 '\huge'                     20.74     20.74     24.88
 '\Huge'                     24.88     24.88     24.88
 
-   The commands are listed here in declaration forms.  You use them by
-declaring them, as with this example.
+   The commands are listed here in declaration (not environment) form,
+since that is how they are typically used.  For example.
 
      \begin{quotation} \small
        The Tao that can be named is not the eternal Tao.
      \end{quotation}
 
-The scope of the '\small' lasts until the end of the 'quotation'
+Here, the scope of the '\small' lasts until the end of the 'quotation'
 environment.  It would also end at the next type style command or the
-end of the current group, so you could enclose it in extra curly braces
-'{\small We are here, we are here, we are here!}'.  You can instead use
-the environment form of these commands; for instance,
-'\begin{tiny}...\end{tiny}'.
+end of the current group, so you could enclose it in curly braces
+'{\small This text is typeset in the small font.}'.
 
+   An "environment form" of each of these commands is also defined; for
+instance, '\begin{tiny}...\end{tiny}'.  However, in practice this form
+can easily lead to unwanted spaces at the beginning and/or end of the
+environment without careful consideration, so it's generally less
+error-prone to stick to the declaration form.
+
+   (Aside: Technically, due to the way LaTeX defines '\begin' and
+'\end', nearly every command that does not take an argument technically
+has an environment form.  But in almost all cases, it would only cause
+confusion to use it.  The reason for mentioning the environment form of
+the font size declarations specifically is that this particular use is
+not rare.)
+
 
 File: latex2e.info,  Node: Low-level font commands,  Prev: Font sizes,  Up: Fonts
 
-4.3 Low-level font commands
+4.4 Low-level font commands
 ===========================
 
 These commands are primarily intended for writers of macros and
@@ -1229,9 +1754,9 @@
 
 '\fontfamily{FAMILY}'
      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.
+     <https://tug.org/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
@@ -1314,23 +1839,10 @@
      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.
+     since its value is reset every time a size change happens; instead
+     use '\baselinestretch'.  (*note \baselineskip &
+     \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 a line skip change happen for the entire document, for
-     instance doubling it, by doing
-     '\renewcommand{\baselinestretch}{2.0}' in the preamble.
-
-     However, the best way to double-space a document is to use the
-     '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 '\renewcommand{\baselinestretch}{FACTOR}', and
      therefore must be followed by '\selectfont' to have any effect.
@@ -1367,6 +1879,7 @@
 * \flushbottom::            Make all text pages the same height.
 * \raggedbottom::           Allow text pages of differing height.
 * Page layout parameters::  '\headheight' '\footskip'.
+* \baselineskip & \baselinestretch::           Space between lines.
 * Floats::                  Figures, tables, etc.
 
 
@@ -1406,22 +1919,22 @@
 
 '\columnsep'
      The distance between columns.  The default is 35pt.  Change it with
-     a command such as '\setlength{\columnsep}{40pt}' You must change it
-     before the two column environment starts; in the preamble is a good
+     a command such as '\setlength{\columnsep}{40pt}'.  You must change
+     it before the two column mode starts; in the preamble is a good
      place.
 
 '\columnseprule'
-     The width of the rule between columns.  The rule appears halfway
-     between the two columns.  The default is 0pt, meaning that there is
-     no rule.  Change it with a command such as
-     '\setlength{\columnseprule}{0.4pt}', before the two-column
-     environment starts.
+     The width of the rule between columns.  The default is 0pt, meaning
+     that there is no rule.  Otherwise, the rule appears halfway between
+     the two columns.  Change it with a command such as
+     '\setlength{\columnseprule}{0.4pt}', before the two-column mode
+     starts.
 
 '\columnwidth'
      The width of a single column.  In one-column mode this is equal to
      '\textwidth'.  In two-column mode by default LaTeX sets the width
-     of each of the two columns to be half of '\textwidth' minus
-     '\columnsep'.
+     of each of the two columns, '\columnwidth', to be half of
+     '\textwidth' minus '\columnsep'.
 
    In a two-column document, the starred environments 'table*' and
 'figure*' are two columns wide, whereas the unstarred environments
@@ -1433,7 +1946,7 @@
      The maximum fraction at the top of a two-column page that may be
      occupied by two-column wide floats.  The default is 0.7, meaning
      that the height of a 'table*' or 'figure*' environment must not
-     exceed '0.7\textheight' .  If the height of your starred float
+     exceed '0.7\textheight'.  If the height of your starred float
      environment exceeds this then you can take one of the following
      actions to prevent it from floating all the way to the back of the
      document:
@@ -1533,7 +2046,7 @@
 option (*note Document class options::).
 
 
-File: latex2e.info,  Node: Page layout parameters,  Next: Floats,  Prev: \raggedbottom,  Up: Layout
+File: latex2e.info,  Node: Page layout parameters,  Next: \baselineskip & \baselinestretch,  Prev: \raggedbottom,  Up: Layout
 
 5.5 Page layout parameters
 ==========================
@@ -1555,8 +2068,8 @@
      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'.
+     document is set at 10pt then it is '0.25in', and at 11pt or 12pt it
+     is '0.275in'.
 
 '\footskip'
      Distance from the baseline of the last line of text to the baseline
@@ -1600,12 +2113,12 @@
 
 '\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
+     The '\oddsidemargin' length 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'.
+     '\evensidemargin'.
 
      LaTeX's default is that '\oddsidemargin' is 40% of the difference
      between '\paperwidth' and '\textwidth', and '\evensidemargin' is
@@ -1669,9 +2182,102 @@
      is the same as the font size, e.g., '10pt' at a type size of 10pt.
 
 
-File: latex2e.info,  Node: Floats,  Prev: Page layout parameters,  Up: Layout
+File: latex2e.info,  Node: \baselineskip & \baselinestretch,  Next: Floats,  Prev: Page layout parameters,  Up: Layout
 
-5.6 Floats
+5.6 '\baselineskip' & '\baselinestretch'
+========================================
+
+The '\baselineskip' is a rubber length (*note Lengths::).  It gives the
+leading, the normal distance between lines in a paragraph, from baseline
+to baseline.
+
+   Ordinarily document authors do not directly change '\baselineskip'
+while writing.  Instead, it is set by the low level font selection
+command '\fontsize' (*note low level font commands fontsize::).  The
+'\baselineskip''s value is reset every time a font change happens and so
+any direct change to '\baselineskip' would vanish the next time there
+was a font switch.  For how to influence line spacing, see the
+discussion of '\baselinestretch' below.
+
+   Usually, a font's size and baseline skip is assigned by the font
+designer.  These numbers are nominal in the sense that if, for instance,
+a font's style file has the command '\fontsize{10pt}{12pt}' then that
+does not mean that the characters in the font are 10pt tall; for
+instance, parentheses and accented capitals may be taller.  Nor does it
+mean that if the lines are spaced less than 12pt apart then they risk
+touching.  Rather these numbers are typographic judgements.  (Often, the
+'\baselineskip' is about twenty percent larger than the font size.)
+
+   The '\baselineskip' is not a property of each line but of the entire
+paragraph.  As a result, large text in the middle of a paragraph, such
+as a single '{\Huge Q}', will be squashed into its line.  TeX will make
+sure it doesn't scrape up against the line above but won't change the
+'\baselineskip' for that one line to make extra room above.  For the
+fix, use a '\strut' (*note \strut::).
+
+   The value of '\baselineskip' that TeX uses for the paragraph is the
+value in effect at the blank line or command that ends the paragraph
+unit.  So if a document contains this paragraph then its lines will be
+scrunched together, compared to lines in surrounding paragraphs.
+
+     Many people see a page break between text and a displayed equation as
+     bad style, so in effect the display is part of the paragraph.
+     Because this display is in footnotesize, the entire paragraph has the
+     baseline spacing matching that size.
+     {\footnotesize $$a+b = c$$}
+
+   The process for making paragraphs is that when a new line is added,
+if the depth of the previous line plus the height of the new line is
+less than '\baselineskip' then TeX inserts vertical glue to make up the
+difference.  There are two fine points.  The first is that if the lines
+would be too close together, closer than '\lineskiplimit', then TeX
+instead uses '\lineskip' as the interline glue.  The second is that TeX
+doesn't actually use the depth of the previous line.  Instead it uses
+'\prevdepth', which usually contains that depth.  But at the beginning
+of the paragraph (or any vertical list) or just after a rule,
+'\prevdepth' has the value -1000pt and this special value tells TeX not
+to insert any interline glue at the paragraph start.
+
+   In the standard classes '\lineskiplimit' is 0pt and '\lineskip' is
+1pt.  By the prior paragraph then, the distance between lines can
+approach zero but if it becomes zero (or less than zero) then the lines
+jump to 1pt apart.
+
+   Sometimes authors must, for editing purposes, put the document in
+double space or one-and-a-half space.  The right way to influence the
+interline distance is via '\baselinestretch'.  It scales
+'\baselineskip', and has a default value of 1.0.  It is a command, not a
+length, so change the scale factor as in
+'\renewcommand{\baselinestretch}{1.5}\selectfont'.
+
+   The most straightforward way to change the line spacing for an entire
+document is to put '\linespread{FACTOR}' in the preamble.  For double
+spacing, take FACTOR to be 1.6 and for one-and-a-half spacing use 1.3.
+These number are rough: for instance, since the '\baselineskip' is about
+1.2 times the font size, multiplying by 1.6 gives a font size to
+baseline ratio of about 2.  (The '\linespread' command is defined as
+'\renewcommand{\baselinestretch}{FACTOR}' so it won't take effect until
+a font setting happens.  But that always takes place at the start of a
+document, so there you don't need to follow it with '\selectfont'.)
+
+   A simpler approach is the 'setspace' package.  The basic example:
+
+     \usepackage{setspace}
+     \doublespacing  % or \onehalfspacing for 1.5
+
+   In the preamble these will start the document off with that sizing.
+But you can also use these declarations in the document body to change
+the spacing from that point forward, and consequently there is
+'\singlespacing' to return the spacing to normal.  In the document body,
+a better practice than using the declarations is to use environments,
+such as '\begin{doublespace} ... \end{doublespace}'.  The package also
+has commands to do arbitrary spacing: '\setstretch{FACTOR}' and
+'\begin{spacing}{FACTOR} ... \end{spacing}'.
+
+
+File: latex2e.info,  Node: Floats,  Prev: \baselineskip & \baselinestretch,  Up: Layout
+
+5.7 Floats
 ==========
 
 Some typographic elements, such as figures and tables, cannot be broken
@@ -1713,7 +2319,7 @@
      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>.
+     <https://www.texfaq.org/FAQ-2colfloat>.
 
 'h'
      (Here)--at the position in the text where the 'figure' environment
@@ -1723,7 +2329,7 @@
      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>.
+     <https://www.texfaq.org/FAQ-figurehere>.
 
 'p'
      (Page of floats)--on a separate "float page", which is a page
@@ -1814,12 +2420,12 @@
      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 explanation of the
-float placement algorithm is in Frank Mittelbach's article "How to
-influence the position of float environments like figure and table in
-LaTeX?"  (<http://latex-project.org/papers/tb111mitt-float.pdf>).
+<https://www.texfaq.org/FAQ-floats> contains suggestions for relaxing
+LaTeX's default parameters to reduce the problem of floats being pushed
+to the end.  A full explanation of the float placement algorithm is in
+Frank Mittelbach's article "How to influence the position of float
+environments like figure and table in LaTeX?"
+(<https://www.latex-project.org/publications/2014-FMi-TUB-tb111mitt-float-placement.pdf>).
 
 
 File: latex2e.info,  Node: Sectioning,  Next: Cross references,  Prev: Layout,  Up: Top
@@ -1852,9 +2458,9 @@
 Paragraph          '\paragraph'       4
 Subparagraph       '\subparagraph'    5
 
-   All these commands have a '*'-form that prints TITLE as usual but is
-not numbered and does not make an entry in the table of contents.  An
-example of using this is for an appendix in an 'article' .  The input
+   All these commands have a '*'-form that prints TITLE as usual but
+does not number it and does not make an entry in the table of contents.
+An example of using this is for an appendix in an 'article'.  The input
 '\appendix\section{Appendix}' gives the output 'A Appendix' (*note
 \appendix::).  You can lose the numbering 'A' by instead entering
 '\section*{Appendix}' (articles often omit a table of contents and have
@@ -1877,17 +2483,24 @@
 Sectioning/tocdepth::).
 
    LaTeX expects that before you have a '\subsection' you will have a
-'\section' and, in a book, that before a '\section' you will have a
-'\chapter'.  Otherwise you can get a something like a subsection
-numbered '3.0.1'.
+'\section' and, in a 'book' class document, that before a '\section' you
+will have a '\chapter'.  Otherwise you can get something like a
+subsection numbered '3.0.1'.
 
-   Two counters relate to the appearance of sectioning commands.
+   LaTeX lets you change the appearance of the sectional units.  As a
+simple example, you can change the section numbering to upper-case
+letters with '\renewcommand\thesection{\Alph{section}}' in the preamble
+(*note \alph \Alph \arabic \roman \Roman \fnsymbol::).  CTAN has many
+packages that make this adjustment easier, notably 'titlesec'.
 
+   Two counters relate to the appearance of headings made by sectioning
+commands.
+
 'secnumdepth'
-     Controls which sectioning commands are numbered.  Suppress
-     numbering of sectioning at any depth greater than LEVEL
-     '\setcounter{secnumdepth}{LEVEL}' (*note \setcounter::).  See the
-     above table for the level numbers.  For instance, if the
+     Controls which sectioning unit are numbered.  Setting the counter
+     with '\setcounter{secnumdepth}{LEVEL}' will suppress numbering of
+     sectioning at any depth greater than LEVEL (*note \setcounter::).
+     See the above table for the level numbers.  For instance, if the
      'secnumdepth' is 1 in an 'article' then a '\section{Introduction}'
      command will produce output like '1 Introduction' while
      '\subsection{Discussion}' will produce output like 'Discussion',
@@ -1900,8 +2513,8 @@
      sectioning units at LEVEL be the smallest ones listed (*note
      \setcounter::).  See the above table for the level numbers.  For
      instance, if 'tocdepth' is 1 then the table of contents will list
-     sections but not subsections.  LaTeX's default 'secnumdepth' is 3
-     in 'article' class and  2 in the 'book' and 'report' classes.
+     sections but not subsections.  LaTeX's default 'tocdepth' is 3 in
+     'article' class and  2 in the 'book' and 'report' classes.
 
 * Menu:
 
@@ -1912,7 +2525,7 @@
 * \subsubsection & \paragraph & \subparagraph::   Lower divisions.
 * \appendix::                                     Start appendices.
 * \frontmatter & \mainmatter & \backmatter::      The three parts of a book.
-* \@startsection::                               Layout of sectional units.
+* \@startsection::                               Sectional unit headings.
 
 
 File: latex2e.info,  Node: \part,  Next: \chapter,  Up: Sectioning
@@ -1962,7 +2575,7 @@
 
    For determining which sectional units are numbered and which appear
 in the table of contents, the level number of a part is -1 (*note
-Sectioning/secnumdepth:: and *note Sectioning/tocdepth::).
+Sectioning/secnumdepth::, and *note Sectioning/tocdepth::).
 
    In the class 'article', if a paragraph immediately follows the part
 title then it is not indented.  To get an indent you can use the package
@@ -2023,7 +2636,7 @@
 title but that doesn't work well with running headers so it omits the
 break in the contents
 
-     \chapter[Given it all\\ my story]{Given it all\\ my story}
+     \chapter[Given it all; my story]{Given it all\\ my story}
 
    For determining which sectional units are numbered and which appear
 in the table of contents, the level number of a chapter is 0 (*note
@@ -2178,19 +2791,19 @@
 '\large').  The same holds in 'article' except that there are no
 chapters in that class so it looks like '2.3 TITLE'.
 
-   The '*' form shows TITLE.  But it does not show the section number,
-does not increment the 'section' counter, and produces no table of
-contents entry.
+   The '*' form shows TITLE.  But it does not show the subsection
+number, does not increment the 'subsection' counter, and produces no
+table of contents entry.
 
-   The optional argument TOC-TITLE will appear as the section title in
-the table of contents (*note Table of contents etc.::).  If it is not
-present then TITLE will be there.  This shows the full name in the title
-of the section,
+   The optional argument TOC-TITLE will appear as the subsection title
+in the table of contents (*note Table of contents etc.::).  If it is not
+present then TITLE will be there.  This shows the full text in the title
+of the subsection,
 
      \subsection[$\alpha,\beta,\gamma$ paper]{\textit{The Origin of
        Chemical Elements} by R.A.~Alpher, H.~Bethe, and G.~Gamow}
 
-but only 'U+03B1,U+03B2,U+03B3 paper' on the contents page.
+but only 'α,β,γ paper' on the contents page.
 
    For determining which sectional units are numbered and which appear
 in the table of contents, the level number of a subsection is 2 (*note
@@ -2310,12 +2923,12 @@
 
 the first two will generate output numbered 'Chapter 1' and 'Chapter 2'.
 After the '\appendix' the numbering will be 'Appendix A' and 'Appendix
-B'.  *Note Larger book template:: for another example.
+B'.  *Note Larger book template::, for another example.
 
    The 'appendix' package adds the command '\appendixpage' to put a
 separate 'Appendices' in the document body before the first appendix,
 and the command '\addappheadtotoc' to do the same in the table of
-contents.  You can reset the name 'Appendix' with a command like
+contents.  You can reset the name 'Appendices' with a command like
 '\renewcommand{\appendixname}{Specification}', as well as a number of
 other features.  See the documentation on CTAN.
 
@@ -2325,11 +2938,14 @@
 6.7 '\frontmatter', '\mainmatter', '\backmatter'
 ================================================
 
-Synopsis, one of:
+Synopsis, one or more of:
 
      \frontmatter
+     ...
      \mainmatter
+     ...
      \backmatter
+     ...
 
    Format a 'book' class document differently according to which part of
 the document is being produced.  All three commands are optional.
@@ -2341,20 +2957,25 @@
 numbered.)  The back matter may contain such things as a glossary,
 notes, a bibliography, and an index.
 
-   The '\frontmatter' declaration makes the pages numbered in lowercase
+   The '\frontmatter' command makes the pages numbered in lowercase
 roman, and makes chapters not numbered, although each chapter's title
 appears in the table of contents; if you use other sectioning commands
-here, use the '*'-version (*note Sectioning::).  The '\mainmatter'
-changes the behavior back to the expected version, and resets the page
-number.  The '\backmatter' leaves the page numbering alone but switches
-the chapters back to being not numbered.  *Note Larger book template::
-for an example using the three.
+here, use the '*'-version (*note Sectioning::).
 
+   The '\mainmatter' command changes the behavior back to the expected
+version, and resets the page number.
+
+   The '\backmatter' command leaves the page numbering alone but
+switches the chapters back to being not numbered.
+
+   *Note Larger book template::, for an example using these three
+commands.
+
 
 File: latex2e.info,  Node: \@startsection,  Prev: \frontmatter & \mainmatter & \backmatter,  Up: Sectioning
 
-6.8 '\@startsection'
-====================
+6.8 '\@startsection', typesetting sectional unit headings
+=========================================================
 
 Synopsis:
 
@@ -2388,11 +3009,11 @@
        {AFTERSKIP}
        {STYLE}}
 
-redefines '\section' to have the form '\section*[TOCTITLE]{TITLE}' (here
-too, the star '*' is optional).  *Note Sectioning::.  This implies that
-when you write a command like '\renewcommand{section}{...}', the
-'\@startsection{...}' must come last in the definition.  See the
-examples below.
+redefines '\section' while keeping its standard calling form
+'\section*[TOCTITLE]{TITLE}' (in which, for reminder, the star '*' is
+optional).  *Note Sectioning::.  This implies that when you write a
+command like '\renewcommand{\section}{...}', the '\@startsection{...}'
+must come last in the definition.  See the examples below.
 
 NAME
      Name of the counter used to number the sectioning header.  This
@@ -2406,7 +3027,7 @@
 
 LEVEL
      An integer giving the depth of the sectioning command.  *Note
-     Sectioning:: for the list of standard level numbers.
+     Sectioning::, for the list of standard level numbers.
 
      If LEVEL is less than or equal to the value of the counter
      'secnumdepth' then titles for this sectioning command will be
@@ -2432,7 +3053,7 @@
      The absolute value of this length is the amount of vertical space
      that is inserted before this sectioning unit's title.  This space
      will be discarded if the sectioning unit happens to start at the
-     top of a fresh page.  If this number is negative then the first
+     beginning of a page.  If this number is negative then the first
      paragraph following the header is not indented, if it is
      non-negative then the first paragraph is indented.  (Note that the
      negative of '1pt plus 2pt minus 3pt' is '-1pt plus -2pt minus
@@ -2491,19 +3112,23 @@
 
    These are LaTeX's defaults for the first three sectioning units that
 are defined with '\@startsection', for the 'article', 'book', and
-'report' classes.  For section, the LEVEL is 1, the INDENT is 0pt, the
-BEFORESKIP is '-3.5ex plus -1ex minus -0.2ex', the AFTERSKIP is '2.3ex
-plus 0.2ex', and the STYLE is '\normalfont\Large\bfseries'.  For
-subsection, the LEVEL is 2, the INDENT is 0pt, the BEFORESKIP is
-'-3.25ex plus -1ex minus -0.2ex', the AFTERSKIP is '1.5ex plus 0.2ex',
-and the STYLE is '\normalfont\large\bfseries'.  For subsubsection, the
-LEVEL is 3, the INDENT is 0pt, the BEFORESKIP is '-3.25ex plus -1ex
-minus -0.2ex', the AFTERSKIP is '1.5ex plus 0.2ex', and the STYLE is
-'\normalfont\normalsize\bfseries'.
+'report' classes.
 
-   Here are examples.  They go either in a package or class file or in
-the preamble of a LaTeX document.  If you put them in the preamble they
-must go between a '\makeatletter' command and a '\makeatother'.
+   * For 'section': LEVEL is 1, INDENT is 0pt, BEFORESKIP is '-3.5ex
+     plus -1ex minus -0.2ex', AFTERSKIP is '2.3ex plus 0.2ex', and STYLE
+     is '\normalfont\Large\bfseries'.
+
+   * For 'subsection': LEVEL is 2, INDENT is 0pt, BEFORESKIP is '-3.25ex
+     plus -1ex minus -0.2ex', AFTERSKIP is '1.5ex plus 0.2ex', and STYLE
+     is '\normalfont\large\bfseries'.
+
+   * For 'subsubsection': LEVEL is 3, INDENT is 0pt, BEFORESKIP is
+     '-3.25ex plus -1ex minus -0.2ex', AFTERSKIP is '1.5ex plus 0.2ex',
+     and STYLE is '\normalfont\normalsize\bfseries'.
+
+   Some examples follow.  These go either in a package or class file or
+in the preamble of a LaTeX document.  If you put them in the preamble
+they must go between a '\makeatletter' command and a '\makeatother'.
 (Probably the error message 'You can't use `\spacefactor' in vertical
 mode.' means that you forgot this.)  *Note \makeatletter &
 \makeatother::.
@@ -2600,6 +3225,7 @@
 * \label::      Assign a symbolic name to a piece of text.
 * \pageref::    Refer to a page number.
 * \ref::        Refer to a section, figure or similar.
+* xr package::        References from another document.
 
 
 File: latex2e.info,  Node: \label,  Next: \pageref,  Up: Cross references
@@ -2690,7 +3316,7 @@
      \end{equation}
 
 
-File: latex2e.info,  Node: \ref,  Prev: \pageref,  Up: Cross references
+File: latex2e.info,  Node: \ref,  Next: xr package,  Prev: \pageref,  Up: Cross references
 
 7.3 '\ref'
 ==========
@@ -2722,6 +3348,64 @@
 reference.  See the documentation on CTAN.
 
 
+File: latex2e.info,  Node: xr package,  Prev: \ref,  Up: Cross references
+
+7.4 'xr' package
+================
+
+Synopsis:
+
+     \usepackage{xr}
+       \externaldocument{DOCUMENT-BASENAME}
+
+   or
+
+     \usepackage{xr}
+       \externaldocument[REFERENCE-PREFIX]{DOCUMENT-BASENAME}
+
+   Make cross references to the external document
+'DOCUMENT-BASENAME.tex'.
+
+   Here is an example.  If 'lectures.tex' has this in the preamble
+
+     \usepackage{xr}
+       \externaldocument{exercises}
+       \externaldocument[H-]{hints}
+       \externaldocument{answers}
+
+   then it can use cross reference labels from the other three
+documents.  Suppose that 'exercises.tex' has an enumerated list
+containing this,
+
+     \item \label{exer:EulersThm} What if every vertex has odd degree?
+
+   and 'hints.tex' has an enumerated list with this,
+
+     \item \label{exer:EulersThm} Distinguish the case of two vertices.
+
+   and 'answers.tex' has an enumerated list with this.
+
+     \item \label{ans:EulersThm} There is no Euler path, except if there
+       are exactly two vertices.
+
+   After compiling the exercises, hints, and answers documents, entering
+this in the body of 'lectures.tex' will result in the lectures getting
+the reference numbers used in the other documents.
+
+     See Exercise~\ref{exer:EulersThm}, with Hint~\ref{H-exer:EulersThm}.
+     The solution is Answer~\ref{ans:EulersThm}.
+
+   The prefix 'H-' for the reference from the hints file is needed
+because the label in the hints file is the same as the label in the
+exercises file.  Without that prefix, both references would get the
+number from the later file.
+
+   Note: if the document uses the 'hyperref' package then in place of
+'xr', put '\usepackage{xr-hyper}' before the '\usepackage{hyperref}'.
+Also, if any of the multiple documents uses 'hyperref' then they all
+must use it.
+
+
 File: latex2e.info,  Node: Environments,  Next: Line breaking,  Prev: Cross references,  Up: Top
 
 8 Environments
@@ -2942,7 +3626,7 @@
      \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
+       I grew up in that belief.  ---Richard Burton
      \end{center}
 
    A double backslash after the final line is optional.  If present it
@@ -3023,10 +3707,10 @@
    This example shows the environment used for a sequence of
 definitions.
 
-     \begin{definition}
+     \begin{description}
        \item[lama] A priest.
        \item[llama] A beast.
-     \end{definition}
+     \end{description}
 
 The labels 'lama' and 'llama' are output in boldface, with the left edge
 on the left margin.
@@ -3071,9 +3755,9 @@
        MATHEMATICAL TEXT
      \end{displaymath}
 
-   Environment to typeset the math text on its own line, in display
-style and centered.  To make the text be flush-left use the global
-option 'fleqn'; see *note Document class options::.
+   Environment to typeset the MATHEMATICAL TEXT on its own line, in
+display style and centered.  To make the text be flush-left use the
+global option 'fleqn'; see *note Document class options::.
 
    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'
@@ -3085,17 +3769,17 @@
 displayed equation facilities.  For example, there are a number of ways
 in that package for having math text broken across lines.
 
-   The construct '\[MATH TEXT\]' is essentially a synonym for
-'\begin{displaymath}MATH TEXT\end{displaymath}' but the latter is easier
-to work with in the source file; for instance, searching for a square
-bracket may get false positives but the word 'displaymath' will likely
-be unique.  (The construct '$$MATH TEXT$$' from Plain TeX is sometimes
+   The construct '\[MATH\]' is a synonym for the environment
+'\begin{displaymath} MATH \end{displaymath}' but the latter is easier to
+work with in the source; for instance, searching for a square bracket
+may get false positives but the word 'displaymath' will likely be
+unique.
+
+   (Aside: The construct '$$MATH$$' 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.)
+and is not officially supported in LaTeX at all; '$$' doesn't support
+the 'fleqn' option (*note Document class options::), has different
+vertical spacing, and doesn't perform consistency checks.)
 
    The output from this example is centered and alone on its line.
 
@@ -3237,7 +3921,7 @@
 The 'eqnarray' environment is obsolete.  It has infelicities, including
 spacing that is inconsistent with other mathematics elements.  (See
 "Avoid eqnarray!" by Lars Madsen
-<http://tug.org/TUGboat/tb33-1/tb103madsen.pdf>).  New documents should
+<https://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.  We
 include a description only for completeness and for working with old
@@ -3372,40 +4056,54 @@
 
 File: latex2e.info,  Node: filecontents,  Next: flushleft,  Prev: figure,  Up: Environments
 
-8.11 'filecontents': Write an external file
-===========================================
+8.11 'filecontents'
+===================
 
 Synopsis:
 
-     \begin{filecontents}{FILENAME}
+     \begin{filecontents}[OPTION]{FILENAME}
        TEXT
      \end{filecontents}
 
 or
 
-     \begin{filecontents*}{FILENAME}
+     \begin{filecontents*}[OPTION]{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.
+   Create a file named FILENAME in the current directory (or the output
+directory, if specified; *note output directory::) and write TEXT to it.
+By default, an existing file is not overwritten.
 
+   The unstarred version of the environment 'filecontents' prefixes the
+content of the created file with a header of TeX comments; see the
+example below.  The starred version 'filecontents*' does not include the
+header.
+
+   The possible options are:
+
+'force'
+'overwrite'
+     Overwrite an existing file.
+
+'noheader'
+     Omit the header.  Equivalent to using 'filecontents*'.
+
+'nosearch'
+     Only check the current directory (and the output directory, if
+     specified) for an existing file, not the entire search path.
+
+   These options were added in a 2019 release of LaTeX.
+
    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.
+often appears before the '\documentclass' command.  It is commonly used
+to create a '.bib' or other such data file from the main document
+source, to make the source file self-contained.  Similarly, it can be
+used to create a custom style or class file, again making the source
+self-contained.
 
-   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.
+   For example, this document:
 
-   For example, this document
-
      \documentclass{article}
      \begin{filecontents}{JH.sty}
      \newcommand{\myname}{Jim Hef{}feron}
@@ -3415,7 +4113,7 @@
      Article by \myname.
      \end{document}
 
-produces this file 'JH.sty'.
+produces this file 'JH.sty':
 
      %% LaTeX2e file `JH.sty'
      %% generated by the `filecontents' environment
@@ -3440,8 +4138,9 @@
    An environment that creates a paragraph whose lines are flush to the
 left-hand margin, and ragged right.  If you have lines that are too long
 then LaTeX will linebreak them in a way that avoids hyphenation and
-stretching or shrinking spaces.  To force a new line use a double
-backslash, '\\'.  For the declaration form see *note \raggedright::.
+stretching or shrinking interword spaces.  To force a new line use a
+double backslash, '\\'.  For the declaration form see *note
+\raggedright::.
 
    This creates a box of text that is at most 3 inches wide, with the
 text flush left and ragged right.
@@ -3475,7 +4174,7 @@
      \end{ENVIRONMENT}
 
    A declaration which causes lines to be flush to the left margin and
-ragged right.  It can be used inside an environment such as 'quote' or
+ragged right.  It can be used inside an ENVIRONMENT such as 'quote' or
 in a 'parbox'.  For the environment form see *note flushleft::.
 
    Unlike the 'flushleft' environment, the '\raggedright' command does
@@ -3509,11 +4208,13 @@
    An environment that creates a paragraph whose lines are flush to the
 right-hand margin and ragged left.  If you have lines that are too long
 to fit the margins then LaTeX will linebreak them in a way that avoids
-hyphenation and stretching or shrinking spaces.  To force a new line use
-a double backslash, '\\'.  For the declaration form see *note
-\raggedleft::.
+hyphenation and stretching or shrinking inter-word spaces.  To force a
+new line use a double backslash, '\\'.  For the declaration form
+see *note \raggedleft::.
 
-   For an example related to this environment, see *note flushleft::.
+   For an example related to this environment, see *note flushleft::,
+where one just have mutatis mutandis to replace 'flushleft' by
+'flushright'.
 
 * Menu:
 
@@ -3536,7 +4237,7 @@
      \end{ENVIRONMENT}
 
    A declaration which causes lines to be flush to the right margin and
-ragged left.  It can be used inside an environment such as 'quote' or in
+ragged left.  It can be used inside an ENVIRONMENT such as 'quote' or in
 a 'parbox'.  For the environment form see *note flushright::.
 
    Unlike the 'flushright' environment, the '\raggedleft' command does
@@ -3545,7 +4246,9 @@
 declaration must contain the blank line or '\end' command that ends the
 paragraph unit.
 
-   For an example related to this environment, see *note \raggedright::.
+   For an example related to this environment, see *note \raggedright::,
+where one just have mutatis mutandis to replace '\raggedright' by
+'\raggedleft'.
 
 
 File: latex2e.info,  Node: itemize,  Next: letter,  Prev: flushright,  Up: Environments
@@ -3561,9 +4264,9 @@
        ...
      \end{itemize}
 
-   Produce a list that is unordered, sometimes called a bullet list.
-The environment must have at least one '\item'; having none causes the
-LaTeX error 'Something's wrong--perhaps a missing \item'.
+   Produce an "unordered list", sometimes called a bullet list.  There
+must be at least one '\item' within the environment; having none causes
+the LaTeX error 'Something's wrong--perhaps a missing \item'.
 
    This gives a two-item list.
 
@@ -3572,28 +4275,32 @@
       \item Rice portrait
      \end{itemize}
 
-As a top-level list each label would come out as a bullet, *.  The
-format of the labeling depends on the nesting level; see below.
+With the default locale--without loading e.g. 'babel' package with
+another language than USenglish--as a top-level list each label would
+come out as a bullet, *.  The format of the labeling depends on the
+nesting level; see below.
 
    Start list items with the '\item' command (*note \item::).  If you
 give '\item' an optional argument by following it with square brackets,
-as in '\item[Optional label]', then by default it will appear in bold
-and be flush right, so it could extend into the left margin.  For labels
-that are flush left see the *note description:: environment.  Following
-the '\item' is optional text, which may contain multiple paragraphs.
+as in '\item[OPTIONAL LABEL]', then by default OPTIONAL LABEL will
+appear in bold and be flush right, so it could extend into the left
+margin.  For labels that are flush left see the *note description::
+environment.  Following the '\item' is the text of the item, which may
+be empty or contain multiple paragraphs.
 
-   Itemized lists can be nested within one another, up to four levels
+   Unordered lists can be nested within one another, up to four levels
 deep.  They can also be nested within other paragraph-making
-environments, such as 'enumerate' (*note enumerate::).  The 'itemize'
-environment uses the commands '\labelitemi' through '\labelitemiv' to
-produce the default label (this also uses the convention of lowercase
-roman numerals at the end of the command names that signify the nesting
-level).  These are the default marks at each level.
+environments, such as 'enumerate' (*note enumerate::).
 
+   The 'itemize' environment uses the commands '\labelitemi' through
+'\labelitemiv' to produce the default label (note the convention of
+lowercase roman numerals at the end of the command names that signify
+the nesting level).  These are the default marks at each level.
+
   1. * (bullet, from '\textbullet')
   2. -- (bold en-dash, from '\normalfont\bfseries\textendash')
   3. * (asterisk, from '\textasteriskcentered')
-  4. .  (centered dot, rendered here as a period, from
+  4. .  (vertically centered dot, rendered here as a period, from
      '\textperiodcentered')
 
    Change the labels with '\renewcommand'.  For instance, this makes the
@@ -3603,15 +4310,16 @@
 
    The distance between the left margin of the enclosing environment and
 the left margin of the 'itemize' list is determined by the parameters
-'\leftmargini' through '\leftmarginvi'.  (Note the convention of using
-lowercase roman numerals a the end of the command name to denote the
-nesting level.)  The defaults are: '2.5em' in level 1 ('2em' in
-two-column mode), '2.2em' in level 2, '1.87em' in level 3, and '1.7em'
-in level 4, with smaller values for more deeply nested levels.
+'\leftmargini' through '\leftmarginvi'.  (This also uses the convention
+of using lowercase roman numerals a the end of the command name to
+denote the nesting level.)  The defaults are: '2.5em' in level 1 ('2em'
+in two-column mode), '2.2em' in level 2, '1.87em' in level 3, and
+'1.7em' in level 4, with smaller values for more deeply nested levels.
 
    For other major LaTeX labeled list environments, see *note
-description:: and *note enumerate::.  For information about list layout
-parameters, including the default values, and for information about
+description:: and *note enumerate::.  The 'itemize', 'enumerate' and
+'description' environment use the same list layout parameters.  For a
+description, including the default values, and for information about
 customizing list layout, see *note list::.  The package 'enumitem' is
 useful for customizing lists.
 
@@ -3689,9 +4397,10 @@
 it contains both 'Item' and '\Roman{...}'.  LaTeX forms the label by
 putting the LABELING argument in a box of width '\labelwidth'.  If the
 label is wider than that, the additional material extends to the right.
-When making an instance of a list you can override the default labeling
-by giving '\item' an optional argument by including square braces and
-the text, as in the above '\item[Special label.]'; *note \item::.
+When making an instance of a 'list' you can override the default
+labeling by giving '\item' an optional argument by including square
+braces and the text, as in the above '\item[Special label.]'; *note
+\item::.
 
    The mandatory second argument SPACING has a list of commands.  This
 list can be empty.  A command that can go in here is
@@ -3708,7 +4417,7 @@
 'named' example, before the definition of the environment add
 '\newcommand{\namedmakelabel}[1]{\textsc{#1}}', and between the
 '\setlength' command and the parenthesis that closes the SPACING
-argument also add '\let\makelabel\namedmakelabel'.  Then the items will
+argument also add '\let\makelabel\namedmakelabel'.  Then the labels will
 be typeset in small caps.  Similarly, changing the second code line to
 '\let\makelabel\fbox' puts the labels inside a framed box.  Another
 example of the '\makelabel' command is below, in the definition of the
@@ -3735,7 +4444,7 @@
      '\parsep' (that is, '2pt plus1pt minus1pt'), and '\topsep' (that
      is, '2pt plus1pt minus1pt').  The defaults at 11 point are: '4.5pt
      plus2pt minus1pt', '\parsep' (that is, '2pt plus1pt minus1pt'), and
-     'topsep' (that is, '2pt plus1pt minus1pt').  The defaults at 12
+     '\topsep' (that is, '2pt plus1pt minus1pt').  The defaults at 12
      point are: '5pt plus2.5pt minus1pt', '\parsep' (that is, '2.5pt
      plus1pt minus1pt'), and '\topsep' (that is, '2.5pt plus1pt
      minus1pt').
@@ -3789,13 +4498,13 @@
      is '0pt'.
 
 '\parsep'
-     Vertical space between paragraphs within an item.  In the 'book'
-     and 'article' classes The defaults for the first three levels in
-     LaTeX's 'article', 'book', and 'report' classes at 10 point size
-     are: '4pt plus2pt minus1pt', '2pt plus1pt minus1pt', and '0pt'.
-     The defaults at 11 point size are: '4.5pt plus2pt minus1pt', '2pt
-     plus1pt minus1pt', and '0pt'.  The defaults at 12 point size are:
-     '5pt plus2.5pt minus1pt', '2.5pt plus1pt minus1pt', and '0pt'.
+     Vertical space between paragraphs within an item.  The defaults for
+     the first three levels in LaTeX's 'article', 'book', and 'report'
+     classes at 10 point size are: '4pt plus2pt minus1pt', '2pt plus1pt
+     minus1pt', and '0pt'.  The defaults at 11 point size are: '4.5pt
+     plus2pt minus1pt', '2pt plus1pt minus1pt', and '0pt'.  The defaults
+     at 12 point size are: '5pt plus2.5pt minus1pt', '2.5pt plus1pt
+     minus1pt', and '0pt'.
 
 '\partopsep'
      Vertical space added, beyond '\topsep'+'\parskip', to the top and
@@ -3932,7 +4641,7 @@
           \let\makelabel=\makeredlabel
          }
        }
-     {\end{list} }
+     {\end{list}}
 
 * Menu:
 
@@ -3957,7 +4666,7 @@
 default depends on the list type.
 
    Because the optional label is surrounded by square brackets '[...]',
-if you have an item whose text starts with '[', you have to hide the
+if you have an item whose text starts with [, you have to hide the
 bracket inside curly braces, as in: '\item {[} is an open square
 bracket'; otherwise, LaTeX will think it marks the start of an optional
 label.
@@ -3994,7 +4703,7 @@
    A restricted version of the list environment, in which margins are
 not indented and an '\item' without an optional argument produces no
 text.  It is most often used in macros, to define an environment where
-the '\item' command as part of the environment's definition.  For
+the '\item' command is part of the environment's definition.  For
 instance, the 'center' environment is defined essentially like this:
 
      \newenvironment{center}
@@ -4076,8 +4785,9 @@
 
    There are three optional arguments, POSITION, HEIGHT, and INNER-POS.
 You need not include all three.  For example, get the default POSITION
-and set the HEIGHT with '\begin{minipage}[c][2.54cm] CONTENTS
-\end{minipage}'.  (Get the natural height with an empty argument, '[]'.)
+and set the HEIGHT with '\begin{minipage}[c][2.54cm]{\columnwidth}
+CONTENTS \end{minipage}'.  (Get the natural height with an empty
+argument, '[]'.)
 
    The optional argument POSITION governs how the 'minipage' vertically
 aligns with the surrounding material.
@@ -4084,16 +4794,15 @@
 
 'c'
      (synonym 'm') Default.  Positions the 'minipage' so its vertical
-     center lines up with the center of the adjacent text line (what
-     Plain TeX calls '\vcenter').
+     center lines up with the center of the adjacent text line.
 
 't'
      Match the top line in the 'minipage' with the baseline of the
-     surrounding text (Plain TeX's '\vtop'.
+     surrounding text (plain TeX's '\vtop').
 
 'b'
      Match the bottom line in the 'minipage' with the baseline of the
-     surrounding text (Plain TeX's '\vbox'.
+     surrounding text (plain TeX's '\vbox').
 
    To see the effects of these, contrast running this
 
@@ -4110,11 +4819,11 @@
 zero or a negative value.
 
    The final optional argument INNER-POS controls the placement of
-CONTENT inside the box.  These are the possible values are (the default
+CONTENTS inside the box.  These are the possible values are (the default
 is the value of POSITION).
 
 't'
-     Place CONTENT at the top of the box.
+     Place CONTENTS at the top of the box.
 
 'c'
      Place it in the vertical center.
@@ -4172,6 +4881,9 @@
    This puts a table containing data side by side with a map graphic.
 They are vertically centered.
 
+     % siunitx to have the S column specifier,
+     % which aligns numbers on their decimal point.
+     \usepackage{siunitx}
      \newcommand*{\vcenteredhbox}[1]{\begin{tabular}{@{}c@{}}#1\end{tabular}}
        ...
      \begin{center}
@@ -4178,13 +4890,17 @@
        \vcenteredhbox{\includegraphics[width=0.3\textwidth]{nyc.png}}
        \hspace{0.1\textwidth}
        \begin{minipage}{0.5\textwidth}
-         \begin{tabular}{r|l}
-           \multicolumn{1}{r}{Borough} &Pop (million)  \\ \hline
-           The Bronx      &$1.5$  \\
-           Brooklyn       &$2.6$  \\
-           Manhattan      &$1.6$  \\
-           Queens         &$2.3$  \\
-           Staten Island  &$0.5$
+         \begin{tabular}{r|S}
+           % \multicolumn to remove vertical bar between column headers
+           \multicolumn{1}{r}{Borough} &
+           % braces to prevent siunitx from misinterpreting the
+           % period as a decimal separator
+           {Pop. (million)}  \\ \hline
+           The Bronx      &1.5  \\
+           Brooklyn       &2.6  \\
+           Manhattan      &1.6  \\
+           Queens         &2.3  \\
+           Staten Island  &0.5
          \end{tabular}
        \end{minipage}
      \end{center}
@@ -4197,22 +4913,25 @@
 
 Synopses:
      \begin{picture}(WIDTH,HEIGHT)
-        PICTURE COMMANDS
+        PICTURE COMMAND
      \end{picture}
 
 or
 
      \begin{picture}(WIDTH,HEIGHT)(XOFFSET,YOFFSET)
-       PICTURE COMMANDS
+       PICTURE COMMAND
      \end{picture}
 
+Where there may be any number of PICTURE COMMAND's.
+
    An environment to create simple pictures containing lines, arrows,
-boxes, circles, and text.  Note that while this environment is not
-obsolete, new documents typically use much more powerful graphics
-creation systems, such as 'TikZ', 'PSTricks', 'MetaPost', or
-'Asymptote'.  These are not covered in this document; see CTAN.
+boxes, circles, and text.  This environment is not obsolete, but new
+documents typically use much more powerful graphics creation systems,
+such as TikZ, PSTricks, MetaPost, or Asymptote.  None of these are
+covered in this document; see CTAN.
 
-   This shows the parallelogram law for adding vectors.
+   To start, here's an example showing the parallelogram law for adding
+vectors.
 
      \setlength{\unitlength}{1cm}
      \begin{picture}(6,6)      % picture box will be 6cm wide by 6cm tall
@@ -4220,39 +4939,23 @@
          \put(2,1){\makebox(0,0)[l]{\ first leg}}
        \put(4,2){\vector(1,2){2}}
          \put(5,4){\makebox(0,0)[l]{\ second leg}}
-       \put(0,0){\line(1,1){6}}
+       \put(0,0){\vector(1,1){6}}
          \put(3,3){\makebox(0,0)[r]{sum\ }}
      \end{picture}
 
-   You can also use this environment to place arbitrary material at an
-exact location.
-
-     \usepackage{color,graphicx}  % in preamble
-       ...
-     \begin{center}
-     \setlength{\unitlength}{\textwidth}
-     \begin{picture}(1,1)      % leave space, \textwidth wide and tall
-       \put(0,0){\includegraphics[width=\textwidth]{desertedisland.jpg}}
-       \put(0.25,0.35){\textcolor{red}{X Treasure here}}
-     \end{picture}
-     \end{center}
-
-The red X will be precisely a quarter of the '\linewidth' from the left
-margin, and '0.35\linewidth' up from the bottom.  Another example of
-this usage is to put similar code in the page header to get repeat
-material on each of a document's pages.
-
    The 'picture' environment has one required argument, a pair of
-numbers (WIDTH,HEIGHT).  Multiply these by the value '\unitlength' to
-get the nominal size of the output, the space that LaTeX reserves on the
-output page.  This nominal size need not be how large the picture really
-is; LaTeX will draw things from the picture outside the picture's box.
+positive real numbers (WIDTH,HEIGHT).  Multiply these by the value
+'\unitlength' to get the nominal size of the output, i.e. the space that
+LaTeX reserves on the output page.  This nominal size need not be how
+large the picture really is; LaTeX will draw things from the picture
+outside the picture's box.
 
    This environment also has an optional argument (XOFFSET,YOFFSET).  It
 is used to shift the origin.  Unlike most optional arguments, this one
 is not contained in square brackets.  As with the required argument, it
-consists of two real numbers.  Multiply these by '\unitlength' to get
-the point at the lower-left corner of the picture.
+consists of a pair of two real numbers, but these may also be negative
+or null.  Multiply these by '\unitlength' to get the coordinates of the
+point at the lower-left corner of the picture.
 
    For example, if '\unitlength' has been set to '1mm', the command
 
@@ -4266,26 +4969,29 @@
 picture by shifting everything, you can just add the appropriate
 optional argument.
 
-   Each PICTURE COMMAND tells LaTeX where to put something by naming its
-position.  A "position" is a pair such as '(2.4,-5)' giving the x- and
-y-coordinates.  A "coordinate" is a not a length, it is a real number
-(it may have a decimal point or a minus sign).  It specifies a length in
-multiples of the unit length '\unitlength', so if '\unitlength' has been
-set to '1cm', then the coordinate 2.54 specifies a length of 2.54
-centimeters.
+   Each PICTURE COMMAND tells LaTeX where to put something by providing
+its position.  A "position" is a pair such as '(2.4,-5)' giving the x-
+and y-coordinates.  A "coordinate" is a not a length, it is a real
+number (it may have a decimal point or a minus sign).  It specifies a
+length in multiples of the unit length '\unitlength', so if
+'\unitlength' has been set to '1cm', then the coordinate '2.54'
+specifies a length of 2.54 centimeters.
 
-   LaTeX's default for '\unitlength' is '1pt'.  it is a rigid length
+   LaTeX's default for '\unitlength' is '1pt'.  It is a rigid length
 (*note Lengths::).  Change it with the '\setlength' command (*note
 \setlength::).  Make this change only outside of a 'picture'
 environment.
 
-   Coordinates are given 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, as with '\put(1,2){...}', it is not enclosed in braces
-since the parentheses serve to delimit the argument.  Also, unlike in
-some computer graphics systems, larger y-coordinates are further up the
-page.
+   The 'picture' environment supports using standard arithmetic
+expressions as well as numbers.
 
+   Coordinates are given with respect to an origin, which is by default
+at the lower-left corner of the picture.  Note that when a position
+appears as an argument, as with '\put(1,2){...}', it is not enclosed in
+braces since the parentheses serve to delimit the argument.  Also,
+unlike in some computer graphics systems, larger y-coordinates are
+further up the page, for example, y = 1 is _above_ y = 0.
+
    There are four ways to put things in a picture: '\put', '\multiput',
 '\qbezier', and '\graphpaper'.  The most often used is '\put'.  This
 
@@ -4311,26 +5017,29 @@
    The '\multiput', 'qbezier', and 'graphpaper' commands are described
 below.
 
-   This draws a rectangle with a wavy top, using '\qbezier' for that
-curve.
+   You can also use this environment to place arbitrary material at an
+exact location.  For example:
 
-     \begin{picture}(3,1.5)
-       \put(0,0){\vector(1,0){8}}  % x axis
-       \put(0,0){\vector(0,1){4}}  % y axis
-       \put(2,0){\line(0,1){3}}       % left side rectangle
-       \put(4,0){\line(0,1){3.5}}     % right side
-       \qbezier(2,3)(2.5,2.9)(3,3.25)
-         \qbezier(3,3.25)(3.5,3.6)(4,3.5)
-       \thicklines                 % below here, lines are twice as thick
-       \put(2,3){\line(4,1){2}}
-       \put(4.5,2.5){\framebox{Trapezoidal Rule}}
+     \usepackage{color,graphicx}  % in preamble
+       ...
+     \begin{center}
+     \setlength{\unitlength}{\textwidth}
+     \begin{picture}(1,1)      % leave space, \textwidth wide and tall
+       \put(0,0){\includegraphics[width=\textwidth]{desertedisland.jpg}}
+       \put(0.25,0.35){\textcolor{red}{X Treasure here}}
      \end{picture}
+     \end{center}
 
+The red X will be precisely a quarter of the '\textwidth' from the left
+margin, and '0.35\textwidth' up from the bottom of the picture.  Another
+example of this usage is to put similar code in the page header to get
+repeat material on each of a document's pages.
+
 * Menu:
 
 * \put::                Place an object at a specified place.
 * \multiput::           Draw multiple instances of an object.
-* \qbezier::            Draw a quadratic Bezier curve.
+* \qbezier::            Draw a quadratic Bézier curve.
 * \graphpaper::         Draw graph paper.
 * \line::               Draw a straight line.
 * \linethickness::      Set thickness of horizontal and vertical lines.
@@ -4420,6 +5129,21 @@
 points.  The default is to draw a smooth curve whose maximum number of
 points is '\qbeziermax' (change this value with '\renewcommand').
 
+   This draws a rectangle with a wavy top, using '\qbezier' for that
+curve.
+
+     \begin{picture}(8,4)
+       \put(0,0){\vector(1,0){8}}  % x axis
+       \put(0,0){\vector(0,1){4}}  % y axis
+       \put(2,0){\line(0,1){3}}       % left side
+       \put(4,0){\line(0,1){3.5}}     % right side
+       \qbezier(2,3)(2.5,2.9)(3,3.25)
+         \qbezier(3,3.25)(3.5,3.6)(4,3.5)
+       \thicklines                 % below here, lines are twice as thick
+       \put(2,3){\line(4,1){2}}
+       \put(4.5,2.5){\framebox{Trapezoidal Rule}}
+     \end{picture}
+
 
 File: latex2e.info,  Node: \graphpaper,  Next: \line,  Prev: \qbezier,  Up: picture
 
@@ -4458,7 +5182,7 @@
      \line(X_RUN,Y_RISE){TRAVEL}
 
    Draw a line.  It slopes such that it vertically rises Y_RISE for
-every horizontal X_RUN.  The TRAVEL is the total horizontal change -- it
+every horizontal X_RUN.  The TRAVEL is the total horizontal change--it
 is not the length of the vector, it is the change in x.  In the special
 case of vertical lines, where (X_RUN,Y_RISE)=(0,1), the TRAVEL gives the
 change in y.
@@ -4489,9 +5213,10 @@
 (X_RUN,Y_RISE) can be (2,1) but not (4,2) (if you choose the latter then
 instead of lines you get sequences of arrowheads; the solution is to
 switch to the former).  To get lines of arbitrary slope and plenty of
-other shapes in a system like 'picture', see the package 'pict2e' on
-CTAN. Another solution is to use a full-featured graphics system such as
-'TikZ', or 'PSTricks', or 'MetaPost', or 'Asymptote'
+other shapes in a system like 'picture', see the package 'pict2e'
+(<https://ctan.org/pkg/pict2e>).  Another solution is to use a
+full-featured graphics system such as TikZ, PSTricks, MetaPost, or
+Asymptote.
 
 
 File: latex2e.info,  Node: \linethickness,  Next: \thinlines,  Prev: \line,  Up: picture
@@ -4548,9 +5273,9 @@
 
      \put(5,7){\circle{6}}
 
-   The available radii for 'circle' are, in points, the even numbers
-from 2 to 20, inclusive.  For 'circle*' they are all the integers from 1
-to 15.
+   The available radii for '\circle' are, in points, the even numbers
+from 2 to 20, inclusive.  For '\circle*' they are all the integers from
+1 to 15.
 
 
 File: latex2e.info,  Node: \oval,  Next: \shortstack,  Prev: \circle,  Up: picture
@@ -4648,7 +5373,7 @@
 
    Draw a line ending in an arrow.  The slope of that line is: it
 vertically rises Y_RISE for every horizontal X_RUN.  The TRAVEL is the
-total horizontal change -- it is not the length of the vector, it is the
+total horizontal change--it is not the length of the vector, it is the
 change in x.  In the special case of vertical vectors, if
 (X_RUN,Y_RISE)=(0,1), then TRAVEL gives the change in y.
 
@@ -4846,12 +5571,12 @@
 widths, ended by a '\kill' command (which is described below):
 
      \begin{tabbing}
-     \hspace{0.75in}     \= \hspace{0.40in}  \= \hspace{0.40in}    \kill
-     Ship                \> Guns             \> Year    \\
-     \textit{Sophie}     \> 14               \> 1800    \\
-     \textit{Polychrest} \> 24               \> 1803    \\
-     \textit{Lively}     \> 38               \> 1804    \\
-     \textit{Surprise}   \> 28               \> 1805    \\
+     \hspace{1.2in}\=\hspace{1in}\=\kill
+     Ship                \>Guns             \>Year    \\
+     \textit{Sophie}     \>14               \>1800    \\
+     \textit{Polychrest} \>24               \>1803    \\
+     \textit{Lively}     \>38               \>1804    \\
+     \textit{Surprise}   \>28               \>1805    \\
      \end{tabbing}
 
    Both the 'tabbing' environment and the more widely-used 'tabular'
@@ -4860,13 +5585,13 @@
 while in 'tabbing' the user sets the tab stops.  Another distinction is
 that 'tabular' generates a box, but 'tabbing' can be broken across
 pages.  Finally, while 'tabular' can be used in any mode, 'tabbing' can
-be used only in paragraph mode and it starts a new paragraph.
+be used only in paragraph mode and it always starts a new paragraph,
+without indentation.
 
-   A 'tabbing' environment always starts a new paragraph, without
-indentation.  Moreover, as shown in the example above, there is no need
-to use the starred form of the '\hspace' command at the beginning of a
-tabbed row.  The right margin of the 'tabbing' environment is the end of
-line, so that the width of the environment is '\linewidth'.
+   Moreover, as shown in the example above, there is no need to use the
+starred form of the '\hspace' command at the beginning of a tabbed row.
+The right margin of the 'tabbing' environment is the end of line, so
+that the width of the environment is '\linewidth'.
 
    The 'tabbing' environment contains a sequence of "tabbed rows".  The
 first tabbed row begins immediately after '\begin{tabbing}' and each row
@@ -4873,8 +5598,8 @@
 ends with '\\' or '\kill'.  The last row may omit the '\\' and end with
 just '\end{tabbing}'.
 
-   At any point the 'tabbing' environment has a current tab stop
-pattern, a sequence of N > 0 tab stops, numbered 0, 1, etc.  These
+   At any point the 'tabbing' environment has a "current tab stop
+pattern", a sequence of N > 0 tab stops, numbered 0, 1, etc.  These
 create N corresponding columns.  Tab stop 0 is always the left margin,
 defined by the enclosing environment.  Tab stop number I is set if it is
 assigned a horizontal position on the page.  Tab stop number I can only
@@ -5008,20 +5733,18 @@
        \label{tab:cello}
      \end{table}
 
-but you can put many different kinds of content in a 'table', including
-text, LaTeX commands, etc.
+but you can put many different kinds of content in a 'table': the TABLE
+BODY may contain text, LaTeX commands, graphics, etc.  It is typeset in
+a 'parbox' of width '\textwidth'.
 
    For the possible values of PLACEMENT and their effect on the float
 placement algorithm, see *note Floats::.
 
-   The table body is typeset in a 'parbox' of width '\textwidth'.  It
-can contain text, commands, graphics, etc.
-
    The label is optional; it is used for cross references (*note Cross
 references::).  The '\caption' command is also optional.  It specifies
-caption text for the table.  By default it is numbered.  If its optional
-LOTTITLE is present then that text is used in the list of tables instead
-of TITLE (*note Table of contents etc.::).
+caption text TITLE for the table.  By default it is numbered.  If its
+optional LOTTITLE is present then that text is used in the list of
+tables instead of TITLE (*note Table of contents etc.::).
 
    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.
@@ -5174,8 +5897,8 @@
           (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.  Instead, to get a line break in there use
-          '\newline' (*note \newline::).
+          ending the tabular row.  Instead, to get a line break in there
+          use '\newline' (*note \newline::).
 
      '*{NUM}{COLS}'
           Equivalent to NUM copies of COLS, where NUM is a positive
@@ -5399,7 +6122,7 @@
    Produce a bibliography or reference list.  There are two ways to
 produce bibliographic lists.  This environment is suitable when you have
 only a few references and can maintain the list by hand.  *Note Using
-BibTeX:: for a more sophisticated approach.
+BibTeX::, for a more sophisticated approach.
 
    This shows the environment with two entries.
 
@@ -5417,10 +6140,10 @@
        Addison-Wesley, Reading, Massachusetts, 1983.
      \end{thebibliography}
 
-This styles the first reference as '[1] Leslie ...', and so that
-'\cite{latexdps}' produces the matching '... based on [1]'.  The second
-'\cite' produces '[1, 2]'.  You must compile the document twice to
-resolve these references.
+This styles the first reference as '[1] Leslie ...', and so that '...
+based on \cite{latexdps}' produces the matching '... based on [1]'.  The
+second '\cite' produces '[1, 2]'.  You must compile the document twice
+to resolve these references.
 
    The mandatory argument WIDEST-LABEL is text that, when typeset, is as
 wide as the widest item label produced by the '\bibitem' commands.  The
@@ -5433,12 +6156,14 @@
 'Bibliography', that title is in the macro '\bibname'.  For 'article',
 where the class's top level sectioning is '\section' and the default is
 'References', the title is in macro '\refname'.  Change it by redefining
-the command, as with '\renewcommand{\refname}{Cited references}' after
+the command, as with '\renewcommand{\refname}{Cited references}', after
 '\begin{document}'.
 
    Language support packages such as 'babel' will automatically redefine
 '\refname' or '\bibname' to fit the selected language.
 
+   *Note list::, for the list layout control parameters.
+
 * Menu:
 
 * \bibitem::            Specify a bibliography item.
@@ -5460,15 +6185,14 @@
 
      \bibitem[LABEL]{CITE_KEY}
 
-   Generate an entry labeled by LABEL.  The default is for LaTeX to
-generates a number using the 'enumi' counter.  The "citation key"
-CITE_KEY is a string of letters, numbers, and punctuation symbols (but
-not comma).
+   Generate an entry labeled by default by a number generated using the
+'enumi' counter.  The "citation key" CITE_KEY can be any string of
+letters, numbers, and punctuation symbols (but not comma).
 
-   *Note thebibliography:: for an example.
+   *Note thebibliography::, for an example.
 
-   The optional LABEL changes the default label from an integer to the
-given string.  With this
+   When provided, the optional LABEL becomes the entry label and the
+'enumi' counter is not incremented.  With this
 
      \begin{thebibliography}
      \bibitem[Lamport 1993]{latexdps}
@@ -5496,13 +6220,13 @@
 were multiply-defined labels'.
 
    Under the hood, LaTeX remembers the CITE_KEY and LABEL information
-because '\bibitem' writes it to the auxiliary file 'FILENAME.aux'.  For
-instance, the above example causes '\bibcite{latexdps}{Lamport, 1993}'
-and '\bibcite{texbook}{1}' to appear in that file.  The '.aux' file is
-read by the '\begin{document}' command and then the information is
-available for '\cite' commands.  This explains why you need to run LaTeX
-twice to resolve references: once to write it out and once to read it
-in.
+because '\bibitem' writes it to the auxiliary file 'JOBNAME.aux' (*note
+Jobname::).  For instance, the above example causes the two
+'\bibcite{latexdps}{Lamport, 1993}' and '\bibcite{texbook}{1}' to appear
+in that file.  The '.aux' file is read by the '\begin{document}' command
+and then the information is available for '\cite' commands.  This
+explains why you need to run LaTeX twice to resolve references: once to
+write it out and once to read it in.
 
    Because of this two-pass algorithm, when you add a '\bibitem' or
 change its CITE_KEY you may get 'LaTeX Warning: Label(s) may have
@@ -5537,9 +6261,10 @@
        Addison-Wesley, Reading, Massachusetts, 1983.
      \end{thebibliography}
 
-produces output like '... source is [1]'.  (You can change the
-appearance of the citation with bibliography styles.  More is in *note
-Using BibTeX::.)
+produces output like '... source is [1]'.  You can change the appearance
+of the citation and of the reference by using bibliography styles if you
+generate automatically the 'thebibliography' environment.  More
+information in *note Using BibTeX::.
 
    The optional argument SUBCITE is appended to the citation.  For
 example, 'See 14.3 in \cite[p.~314]{texbook}' might produce 'See 14.3 in
@@ -5546,10 +6271,10 @@
 [1, p. 314]'.
 
    In addition to what appears in the output, '\cite' writes information
-to the auxiliary file 'FILENAME.aux'.  For instance, '\cite{latexdps}'
-writes '\citation{latexdps}' to that file.  This information is used by
-BibTeX to include in your reference list only those works that you have
-actually cited; see *note \nocite:: also.
+to the auxiliary file 'JOBNAME.aux' (*note Jobname::).  For instance,
+'\cite{latexdps}' writes '\citation{latexdps}' to that file.  This
+information is used by BibTeX to include in your reference list only
+those works that you have actually cited; see *note \nocite:: also.
 
    If KEYS is not in your bibliography information then you get 'LaTeX
 Warning: There were undefined references', and in the output the
@@ -5571,12 +6296,12 @@
      \nocite{KEYS}
 
    Produces no output but writes KEYS to the auxiliary file
-'DOC-FILENAME.aux'.
+'JOBNAME.aux' (*note Jobname::).
 
    The mandatory argument KEYS is a comma-separated list of one or more
 citation keys (*note \bibitem::).  This information is used by BibTeX to
 include these works in your reference list even though you have not
-cited them (*note \cite::).
+explicitly cited them (*note \cite::).
 
 
 File: latex2e.info,  Node: Using BibTeX,  Prev: \nocite,  Up: thebibliography
@@ -5587,7 +6312,7 @@
 As described in 'thebibliography' (*note thebibliography::), a
 sophisticated approach to managing bibliographies is provided by the
 BibTeX program.  This is only an introduction; see the full
-documentation on CTAN.
+documentation on CTAN (*note CTAN::).
 
    With BibTeX, you don't use 'thebibliography' (*note
 thebibliography::).  Instead, include these lines.
@@ -5611,7 +6336,7 @@
 
 Many, many other BibTeX style files exist, tailored to the demands of
 various publications.  See CTAN's listing
-<http://mirror.ctan.org/biblio/bibtex/contrib>.
+<https://mirror.ctan.org/biblio/bibtex/contrib>.
 
    The '\bibliography' command is what actually produces the
 bibliography.  Its argument is a comma-separated list, referring to
@@ -5741,8 +6466,13 @@
 
    You cannot use the verbatim environment in the argument to macros,
 for instance in the argument to a '\section'.  This is not the same as
-commands being fragile (*note \protect::), instead it just cannot appear
-there.  (But the 'cprotect' package can help with this.)
+commands being fragile (*note \protect::), instead it just cannot work,
+as the 'verbatim' environment changes the catcode regime before
+processing its contents, and restore it immediately afterward,
+nevertheless with a macro argument the content of the argument has
+already be converted to a token list along the catcode regime in effect
+when the macro was called.  However, the 'cprotect' package can help
+with this.
 
    One common use of verbatim input is to typeset computer code.  There
 are packages that are an improvement the 'verbatim' environment.  For
@@ -5753,7 +6483,7 @@
    A package that provides many more options for verbatim environments
 is 'fancyvrb'.  Another is 'verbatimbox'.
 
-   For a list of all the relevant packages, see CTAN.
+   For a list of all the relevant packages, see CTAN (*note CTAN::).
 
 * Menu:
 
@@ -5782,7 +6512,7 @@
 point, '!'.  The second instead uses plus, '+', because the exclamation
 point is part of 'literal-text'.
 
-   The single-character delimiter CHAR surrounds LITERAL-TEXT -- it must
+   The single-character delimiter CHAR surrounds LITERAL-TEXT--it must
 be the same character before and after.  No spaces come between '\verb'
 or '\verb*' and CHAR, or between CHAR and LITERAL-TEXT, or between
 LITERAL-TEXT and the second occurrence of CHAR (the synopsis shows a
@@ -5793,13 +6523,13 @@
    The '*'-form differs only in that spaces are printed with a visible
 space character.
 
-   The output from this will include a character showing the spaces.
+   The output from this will include a visible space on both side of
+word 'with':
 
-     The commands's first argument is \verb*!filename with extension! and ...
+     The command's first argument is \verb*!filename with extension! and ...
 
-   For typesetting Internet addresses, urls, the package 'url' provides
-an option that is better than the '\verb' command, since it allows line
-breaks.
+   For typesetting Internet addresses, urls, the package 'url' is a
+better option than the '\verb' command, since it allows line breaks.
 
    For computer code there are many packages with advantages over
 '\verb'.  One is 'listings', another is 'minted'.
@@ -5806,8 +6536,12 @@
 
    You cannot use '\verb' in the argument to a macro, for instance in
 the argument to a '\section'.  It is not a question of '\verb' being
-fragile (*note \protect::), instead it just cannot appear there.  (But
-the 'cprotect' package can help with this.)
+fragile (*note \protect::), instead it just cannot work, as the '\verb'
+command changes the catcode regime before reading its argument, and
+restore it immediately afterward, nevertheless with a macro argument the
+content of the argument has already be converted to a token list along
+the catcode regime in effect when the macro was called.  However, the
+'cprotect' package can help with this.
 
 
 File: latex2e.info,  Node: verse,  Prev: verbatim,  Up: Environments
@@ -5955,8 +6689,8 @@
 the input will also be a new line in the output.  The '\restorecr'
 command restores normal line-breaking behavior.
 
-   This is not the way to show verbatim text or computer code.  *Note
-verbatim:: instead.
+   This is not the way to show verbatim text or computer code.  Use
+'verbatim' (*note verbatim::) instead.
 
    With LaTeX's usual defaults, this
 
@@ -6181,8 +6915,8 @@
      underrepresented groups.
 
    When you issue '\linebreak', the spaces in the line are stretched out
-so that it extends to the right margin.  *Note \\:: and *note \newline::
-to have the spaces not stretched out.
+so that it extends to the right margin.  *Note \\:: and *note
+\newline::, to have the spaces not stretched out.
 
 
 File: latex2e.info,  Node: Page breaking,  Next: Footnotes,  Prev: Line breaking,  Up: Top
@@ -6216,7 +6950,7 @@
 ahead as the next page break.  So occasionally you may want to influence
 page breaks while preparing a final version of a document.
 
-   *Note Layout:: for more material that is relevant to page breaking.
+   *Note Layout::, for more material that is relevant to page breaking.
 
 * Menu:
 
@@ -6301,7 +7035,7 @@
      \noindent a new nation, conceived in Liberty, and dedicated to the
      proposition that all men are created equal.
 
-makes a new page start after 'continent,' and the cut-off line is not
+makes a new page start after 'continent', and the cut-off line is not
 right justified.  In addition, '\newpage' does not vertically stretch
 out the page, as '\pagebreak' does.
 
@@ -6369,13 +7103,13 @@
      a new nation, conceived in Liberty, and dedicated to the proposition
      that all men are created equal.
 
-does not give a page break at 'continent,' but instead at 'nation,'
+does not give a page break at 'continent', but instead at 'nation',
 since that is where LaTeX breaks that line.  In addition, with
 '\pagebreak' the vertical space on the page is stretched out where
 possible so that it extends to the normal bottom margin.  This can look
 strange, and if '\flushbottom' is in effect this can cause you to get
 'Underfull \vbox (badness 10000) has occurred while \output is active'.
-*Note \newpage:: for a command that does not have these effects.
+*Note \newpage::, for a command that does not have these effects.
 
 
 File: latex2e.info,  Node: Footnotes,  Next: Definitions,  Prev: Page breaking,  Up: Top
@@ -6385,7 +7119,7 @@
 
 Place a footnote at the bottom of the current page, as here.
 
-     Noe"l Coward quipped that having to read a footnote is like having
+     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.}
@@ -6552,7 +7286,7 @@
 command, but must appear in outer paragraph mode (*note Modes::).  The
 optional argument NUMBER changes the number of the footnote mark.
 
-   *Note \footnotemark:: and *note Footnotes in a table:: for usage
+   *Note \footnotemark:: and *note Footnotes in a table::, for usage
 examples.
 
 
@@ -6691,6 +7425,7 @@
 * \newfont::                       Define a new font name.
 * \protect::                       Using tricky commands.
 * \ignorespaces & \ignorespacesafterend:: Discard extra spaces.
+* xspace package::                 Space after a macro, conditionally.
 
 
 File: latex2e.info,  Node: \newcommand & \renewcommand,  Next: \providecommand,  Up: Definitions
@@ -6716,11 +7451,13 @@
      \renewcommand*{\CMD}[NARGS]{DEFN}
      \renewcommand*{\CMD}[NARGS][OPTARGDEFAULT]{DEFN}
 
-   Define or redefine a command.  See also the discussion of
-'\DeclareRobustCommand' in *note Class and package commands::.  The
-starred form of these two requires that the arguments not contain
-multiple paragraphs of text (in plain TeX terms that it not be '\long').
+   Define or redefine a command (see also the discussion of
+'\DeclareRobustCommand' in *note Class and package commands::).
 
+   The starred form of these two forbids the arguments from containing
+multiple paragraphs of text (in plain TeX terms, the commands are not
+'\long').  With the default form, arguments can be multiple paragraphs.
+
    These are the parameters:
 
 CMD
@@ -6741,7 +7478,7 @@
 OPTARGDEFAULT
      Optional; if this argument is present then the first argument of
      '\CMD' is optional, with default value OPTARGDEFAULT (which may be
-     the empty string).  If this argument is not present then '\CMD'
+     the empty string).  If OPTARGSDEFAULT is not present then '\CMD'
      does not take an optional argument.
 
      That is, if '\CMD' is used with square brackets, as in
@@ -6840,13 +7577,13 @@
 as '\newcommand'.  If a command of this name already exists then this
 definition does nothing.  This is particularly useful in a file that may
 be loaded more than once, such as a style file.  *Note \newcommand &
-\renewcommand:: for the description of the arguments.
+\renewcommand::, for the description of the arguments.
 
    This example
 
      \providecommand{\myaffiliation}{Saint Michael's College}
      \providecommand{\myaffiliation}{Saint Michael's College}
-     From \myaffiliation.
+     >From \myaffiliation.
 
 outputs 'From Saint Michael's College'.  Unlike '\newcommand', the
 repeated use of '\providecommand' does not give an error.
@@ -6882,16 +7619,15 @@
 or class from accidentally replacing such a command with one of their
 own, because by default the at-sign has catcode 12.
 
-   The pair '\makeatletter' and '\makeatother' changes the default code
-and then changes it back.  Use them inside a '.tex' file, in the
-preamble, when you are defining or redefining commands named with '@',
-by having them surround your definition.  Don't use these inside '.sty'
-or '.cls' files since the '\usepackage' and '\documentclass' commands
-already arrange that the at-sign has the character code of a letter,
-catcode 11.
+   Use the pair '\makeatletter' and '\makeatother' inside a '.tex' file,
+typically in the preamble, when you are defining or redefining commands
+named with '@', by having them surround your definition.  Don't use
+these inside '.sty' or '.cls' files since the '\usepackage' and
+'\documentclass' commands already arrange that the at-sign has the
+character code of a letter, catcode 11.
 
    For a comprehensive list of macros with an at-sign in their names see
-<http://ctan.org/pkg/macros2e>.
+<https://ctan.org/pkg/macros2e>.
 
    In this example the class file has a command '\thesis at universityname'
 that the user wants to change.  These three lines should go in the
@@ -6920,26 +7656,31 @@
 
    When defining environments, following this pattern is straightforward
 because '\newenvironment' and '\renewenvironment' allow the environment
-name to contain a star.  For commands the situation is more complex.  As
-in the synopsis above, there will be a user-called command, given above
-as '\mycmd', which peeks ahead to see if it is followed by a star.  For
+name to contain a star.  So you just have to write
+'\newenvironment{MYENV}' or '\newenvironment{MYENV*}' and continue the
+definition as usual.  For commands the situation is more complex as the
+star not being a letter cannot be part of the command name.  As in the
+synopsis above, there will be a user-called command, given above as
+'\mycmd', which peeks ahead to see if it is followed by a star.  For
 instance, LaTeX does not really have a '\section*' command; instead, the
 '\section' command peeks ahead.  This command does not accept arguments
 but instead expands to one of two commands that do accept arguments.  In
 the synopsis these two are '\mycmd at nostar' and '\mycmd at star'.  They
 could take the same number of arguments or a different number, or no
-arguments at all.  As always, in a LaTeX document a command using
-at-sign '@' must be enclosed inside a '\makeatletter ... \makeatother'
-block (*note \makeatletter & \makeatother::).
+arguments at all.  As always, in a LaTeX document a command using an
+at-sign '@' in its name must be enclosed inside a '\makeatletter ...
+\makeatother' block (*note \makeatletter & \makeatother::).
 
    This example of '\@ifstar' defines the command '\ciel' and a variant
-'\ciel*'.  Both have one required argument.  A call to '\ciel{night}'
-will return "starry night sky" while '\ciel*{blue}' will return "starry
-not blue sky".
+'\ciel*'.  Both have one required argument.  A call to '\ciel{blue}'
+will return "not starry blue sky" while '\ciel*{night}' will return
+"starry night sky".
 
-     \newcommand*{\ciel at unstarred}[1]{starry #1 sky}
-     \newcommand*{\ciel at starred}[1]{starry not #1 sky}
+     \makeatletter
+     \newcommand*{\ciel at unstarred}[1]{not starry #1 sky}
+     \newcommand*{\ciel at starred}[1]{starry #1 sky}
      \newcommand*{\ciel}{\@ifstar{\ciel at starred}{\ciel at unstarred}}
+     \makeatother
 
    In the next example, the starred variant takes a different number of
 arguments than the unstarred one.  With this definition, Agent 007's
@@ -6952,15 +7693,23 @@
      \newcommand*{\agentsecret}{%
        \@ifstar{\agentsecret at starred}{\agentsecret at unstarred}}
 
-   There are two sometimes more convenient ways to accomplish the work
-of '\@ifstar'.  The 'suffix' package allows the construct
-'\newcommand\mycommand{UNSTARRED VERSION}' followed by
-'\WithSuffix\newcommand\mycommand*{STARRED VERSION}'.  And LaTeX3 has
-the 'xparse' package that allows this code.
+   After a command name, a star is handled similarly to an optional
+argument.  (This differs from environment names in which the star is
+part of the name itself and as such could be in any position.)  Thus, it
+is technically possible to put any number of spaces between the command
+and the star.  Thus '\agentsecret*{Bond}' and '\agentsecret *{Bond}' are
+equivalent.  However, the standard practice is not to insert any such
+spaces.
 
+   There are two alternative ways to accomplish the work of '\@ifstar'.
+(1) The 'suffix' package allows the construct
+'\newcommand\mycommand{UNSTARRED-VARIANT}' followed by
+'\WithSuffix\newcommand\mycommand*{STARRED-VARIANT}'.  (2) LaTeX
+provides the 'xparse' package, which allows this code:
+
      \NewDocumentCommand\foo{s}{\IfBooleanTF#1
-       {STARRED VERSION}%
-       {UNSTARRED VERSION}%
+       {STARRED-VARIANT}%
+       {UNSTARRED-VARIANT}%
        }
 
 
@@ -7406,7 +8155,7 @@
      ...
 
 
-File: latex2e.info,  Node: \ignorespaces & \ignorespacesafterend,  Prev: \protect,  Up: Definitions
+File: latex2e.info,  Node: \ignorespaces & \ignorespacesafterend,  Next: xspace package,  Prev: \protect,  Up: Definitions
 
 12.12 '\ignorespaces & \ignorespacesafterend'
 =============================================
@@ -7421,7 +8170,7 @@
 
    Both commands cause LaTeX to ignore spaces after the end of the
 command up until the first non-space character.  The first is a command
-from Plain TeX, and the second is LaTeX-specific.
+from plain TeX, and the second is LaTeX-specific.
 
    The 'ignorespaces' is often used when defining commands via
 '\newcommand', or '\newenvironment', or '\def'.  The example below
@@ -7446,10 +8195,9 @@
 But, as given, if a title accidentally starts with a space then
 '\fullname' will reproduce that.
 
-     \makeatletter
-     \newcommand{\honorific}[1]{\def\@honorific{#1}} % remember title
-     \newcommand{\fullname}[1]{\@honorific~#1}       % put title before name
-     \makeatother
+     \newcommand{\honorific}[1]{\def\honorific{#1}} % remember title
+     \newcommand{\fullname}[1]{\honorific~#1}       % put title before name
+
      \begin{tabular}{|l|}
      \honorific{Mr/Ms}  \fullname{Jones} \\  % no extra space here
      \honorific{ Mr/Ms} \fullname{Jones}     % extra space before title
@@ -7456,11 +8204,11 @@
      \end{tabular}
 
 To fix this, change to
-'\newcommand{\fullname}[1]{\ignorespaces\@honorific~#1}'.
+'\newcommand{\fullname}[1]{\ignorespaces\honorific~#1}'.
 
    The '\ignorespaces' is also often used in a '\newenvironment' at the
-end of the BEGIN clause, that is, as part of the second argument, as in
-'\begin{newenvironment}{ENV NAME}{... \ignorespaces}{...}'.
+end of the BEGIN clause, as in '\begin{newenvironment}{ENV NAME}{...
+\ignorespaces}{...}'.
 
    To strip spaces off the end of an environment use
 '\ignorespacesafterend'.  An example is that this will show a much
@@ -7484,6 +8232,58 @@
 '\newenvironment{eq}{\begin{equation}}{\end{equation}\ignorespacesafterend}'.
 
 
+File: latex2e.info,  Node: xspace package,  Prev: \ignorespaces & \ignorespacesafterend,  Up: Definitions
+
+12.13 xspace package
+====================
+
+Synopsis:
+
+     \usepackage{xspace}
+       ...
+     \newcommand{...}{...\xspace}
+
+   The '\xspace' macro, when used at the end of a command, adds a space
+unless the command is followed by certain punctuation characters.
+
+   After a command name that uses letters (as opposed to single
+character command names using non-letters such as '\$'), TeX gobbles
+white space.  Thus, in the first sentence below, the output has
+'Vermont' placed snugly against the period, without any intervening
+space.
+
+     \newcommand{\VT}{Vermont}
+     Our college is in \VT .
+     The \VT{} summers are nice.
+
+   But because of the gobbling, the second sentence needs the dummy
+curly braces or else there would be no space separating 'Vermont' from
+'summers'.  (Many authors instead instead use a backslash-space '\ ' for
+this.  *Note \(SPACE)::.)
+
+   The 'xspace' package provides '\xspace'.  It is for writing commands
+which are designed to be used mainly in text.  It inserts a space after
+that command unless what immediately follows is in a list of exceptions.
+In this example, the dummy braces are not needed.
+
+     \newcommand{\VT}{Vermont\xspace}
+     Our college is in \VT .
+     \VT summers are nice.
+
+   The default exception list contains the characters ',.'/?;:!~-)', the
+open curly brace and the backslash-space command discussed above, and
+the commands '\footnote' or '\footnotemark'.  Add to that list as with
+'\xspaceaddexceptions{\myfni \myfnii}' and remove from that list as with
+'\xspaceremoveexception{!}'.
+
+   A comment: many experts prefer not to use '\xspace'.  Putting it in a
+definition means that the command will usually get the spacing right.
+But it isn't easy to predict when to enter dummy braces because
+'\xspace' will get it wrong, such as when it is followed by another
+command, and so '\xspace' can make editing material harder and more
+error-prone than instead always remembering the dummy braces.
+
+
 File: latex2e.info,  Node: Counters,  Next: Lengths,  Prev: Definitions,  Up: Top
 
 13 Counters
@@ -7574,14 +8374,14 @@
      Number  Name                   Command                Symbol
      -----------------------------------------------------------------------------
      1       asterisk               '\ast'                 *
-     2       dagger                 '\dagger'              U+2020
-     3       ddagger                '\ddagger'             U+2021
-     4       section-sign           '\S'                   U+00A7
-     5       paragraph-sign         '\P'                   U+00B6
-     6       double-vert            '\parallel'            U+2016
+     2       dagger                 '\dagger'              †
+     3       ddagger                '\ddagger'             ‡
+     4       section-sign           '\S'                   §
+     5       paragraph-sign         '\P'                   ¶
+     6       double-vert            '\parallel'            ‖
      7       double-asterisk        '\ast\ast'             **
-     8       double-dagger          '\dagger\dagger'       U+2020U+2020
-     9       double-ddagger         '\ddagger\ddagger'     U+2021U+2021
+     8       double-dagger          '\dagger\dagger'       ††
+     9       double-ddagger         '\ddagger\ddagger'     ‡‡
 
 
 File: latex2e.info,  Node: \usecounter,  Next: \value,  Prev: \alph \Alph \arabic \roman \Roman \fnsymbol,  Up: Counters
@@ -7677,7 +8477,7 @@
 
 Synopsis:
 
-     \addtocounter{COUNTER}{VALUE 
+     \addtocounter{COUNTER}{VALUE}
 
    Globally increment COUNTER by the amount specified by the VALUE
 argument, which may be negative.
@@ -7724,8 +8524,8 @@
 \newcounter::.)
 
    This command differs from '\refstepcounter' in that this one does not
-influence references -- it does not define the current '\ref' value to
-be the result of '\thecounter' (*note \refstepcounter::).
+influence references; that is, it does not define the current '\ref'
+value to be the result of '\thecounter' (*note \refstepcounter::).
 
 
 File: latex2e.info,  Node: \day & \month & \year,  Prev: \stepcounter,  Up: Counters
@@ -7760,11 +8560,11 @@
 
    Lengths come in two types.  A "rigid length" such as '10pt' does not
 contain a 'plus' or 'minus' component.  (Plain TeX calls this a
-"dimen".)  A "rubber length" (what Plain TeX calls a "skip") such as as
-with '1cm plus0.05cm minus0.01cm' can contain either or both of those
-components.  In that rubber length, the '1cm' is the "natural length"
-while the other two, the 'plus' and 'minus' components, allow TeX to
-stretch or shrink the length to optimize placement.
+"dimen".)  A "rubber length" (what plain TeX calls a "skip" or "glue")
+such as with '1cm plus0.05cm minus0.01cm' can contain either or both of
+those components.  In that rubber length, the '1cm' is the "natural
+length" while the other two, the 'plus' and 'minus' components, allow
+TeX to stretch or shrink the length to optimize placement.
 
    The illustrations below use these two commands.
 
@@ -7857,6 +8657,8 @@
 * \settodepth::         Set a length to the depth of something.
 * \settoheight::        Set a length to the height of something.
 * \settowidth::         Set a length to the width of something.
+* \stretch::            Add infinite stretchability.
+* Expressions::         Compute with lengths and integers.
 
 
 File: latex2e.info,  Node: Units of length,  Next: \setlength,  Up: Lengths
@@ -7868,8 +8670,8 @@
 mode.
 
 'pt'
-     Point, 1/72.27 inch.  The conversion to metric units, to two
-     decimal places, is 1point = 2.85mm = 28.45cm.
+     Point, 1/72.27 inch.  The conversion to metric units is 1point =
+     2.845mm = .2845cm.
 
 'pc'
      Pica, 12 pt
@@ -8029,7 +8831,7 @@
 number, treated as zero. <to be read again> \setbox'.
 
 
-File: latex2e.info,  Node: \settowidth,  Prev: \settoheight,  Up: Lengths
+File: latex2e.info,  Node: \settowidth,  Next: \stretch,  Prev: \settoheight,  Up: Lengths
 
 14.6 '\settowidth'
 ==================
@@ -8056,6 +8858,143 @@
 number, treated as zero. <to be read again> \setbox'.
 
 
+File: latex2e.info,  Node: \stretch,  Next: Expressions,  Prev: \settowidth,  Up: Lengths
+
+14.7 '\stretch'
+===============
+
+Synopsis:
+
+     \stretch{NUMBER}
+
+   Produces a rubber length with zero natural length and NUMBER times
+'\fill' units of stretchability (*note Lengths::).  The NUMBER can be
+positive or negative.  This command is robust (*note \protect::).
+
+   It works for both vertical and horizontal spacing.  In this
+horizontal example, LaTeX produces three tick marks, and the distance
+between the first and second is half again as long as the distance
+between the second and third.
+
+     \rule{0.4pt}{1ex}\hspace{\stretch{1.5}}%
+       \rule{0.4pt}{1ex}\hspace{\stretch{1}}%
+       \rule{0.4pt}{1ex}
+
+   In this vertical example, the 'We dedicate ...' will have three times
+as much space under it as above it.
+
+     \newenvironment{dedication}{% in document preamble
+       \clearpage\thispagestyle{empty}%
+       \vspace*{\stretch{1}} % stretchable space at top
+       \it
+     }{%
+       \vspace{\stretch{3}}  % space at bot is 3x as at top
+       \clearpage
+     }
+       ...
+     \begin{dedication}  % in document body
+     We dedicate this book to our wives.
+     \end{dedication}
+
+
+File: latex2e.info,  Node: Expressions,  Prev: \stretch,  Up: Lengths
+
+14.8 Expressions
+================
+
+Synopsis, one of:
+
+     \numexpr EXPRESSION
+     \dimexpr EXPRESSION
+     \glueexpr EXPRESSION
+     \muglue EXPRESSION
+
+   Any place where you may write an integer, or a TeX dimen, or TeX
+glue, or muglue, you can instead write an expression to compute that
+type of quantity.
+
+   An example is that '\the\dimexpr\linewidth-4pt\relax' will produce as
+output the length that is four points less than width of a line (the
+only purpose of '\the' is to show the result in the document).
+Analogously, '\romannumeral\numexpr6+3\relax' will produce 'ix', and
+'\the\glueexpr 5pt plus 1pt * 2 \relax' will produce '10.0pt plus
+2.0pt'.
+
+   A convenience here over doing calculations by allocating registers
+and then using '\advance', etc., is that the evaluation of expressions
+does not involve assignments and can therefore be performed in places
+where assignments are not allowed.  The next example computes the width
+of the '\parbox'.
+
+     \newlength{\offset}\setlength{\offset}{2em}
+     \begin{center}
+     \parbox{\dimexpr\linewidth-\offset*3}{With malice toward none
+     with charity for all with firmness in the right as God gives us to see
+     the right let us strive on to finish the work we are in to bind up the
+     nation's wounds, to care for him who shall have borne the battle and
+     for his widow and his orphan \textasciitilde\ to do all which may
+     achieve and cherish a just and lasting peace among ourselves and with
+     all nations.  ---Abraham Lincoln, Second Inaugural Address, from the
+     memorial}
+     \end{center}
+
+   The EXPRESSION consists of one or more terms of the same type
+(integer, dimension, etc.)  that are added or subtracted.  A term that
+is a type of number, dimension, etc., consists of a factor of that type,
+optionally multiplied or divided by factors.  A factor of a type is
+either a quantity of that type or a parenthesized subexpression.  The
+expression produces a result of the given type, so that '\numexpr'
+produces an integer, '\dimexpr' produces a dimension, etc.
+
+   In the quotation example above, changing to
+'\dimexpr\linewidth-3*\offset' gives the error 'Illegal unit of measure
+(pt inserted)'.  This is because for '\dimexpr' and '\glueexpr', the
+input consists of a dimension or glue value followed by an optional
+multiplication factor, and not the other way around.  Thus '\the\dimexpr
+1pt*10\relax' is valid and produces '10.0pt', but '\the\dimexpr
+10*1pt\relax' gives the 'Illegal unit' error.
+
+   The expressions absorb tokens and carry out appropriate mathematics
+up to a '\relax' (which will be absorbed), or up to the first non-valid
+token.  Thus, '\the\numexpr2+3px' will print '5px', because LaTeX reads
+the '\numexpr2+3', which is made up of numbers, and then finds the
+letter 'p', which cannot be part of a number.  It therefore terminates
+the expression and produces the '5', followed by the regular text 'px'.
+
+   This termination behavior is useful in comparisons.  In
+'\ifnum\numexpr\parindent*2 < 10pt Yes\else No\fi', the less than sign
+terminates the expression and the result is 'No' (in a standard LaTeX
+article).
+
+   Expressions may use the operators '+', '-', '*' and '/' along with
+parentheses for subexpressions, '(...)'.  In glue expressions the 'plus'
+and 'minus' parts do not need parentheses to be affected by a factor.
+So '\the\glueexpr 5pt plus 1pt * 2 \relax' results in '10pt plus 2pt'.
+
+   TeX will coerce other numerical types in the same way as it does when
+doing register assignment.  Thus '\the\numexpr\dimexpr 1pt\relax\relax'
+will result in '65536', which is '1pt' converted to scaled points (TeX's
+internal unit) and then coerced into an integer.  With a '\glueexpr'
+here, the stretch and shrink would be dropped.  Going the other way, a
+'\numexpr' inside a '\dimexpr' or '\glueexpr' will need appropriate
+units, as in '\the\dimexpr\numexpr 1 + 2\relax pt\relax', which produces
+'3.0pt'.
+
+   The details of the arithmetic: each factor is checked to be in the
+allowed range, numbers must be less than 2^{31} in absolute value, and
+dimensions or glue components must be less than 2^{14} points, or 'mu',
+or 'fil', etc.  The arithmetic operations are performed individually,
+except for a scaling operation (a multiplication immediately followed by
+a division) which is done as one combined operation with a 64-bit
+product as intermediate value.  The result of each operation is again
+checked to be in the allowed range.
+
+   Finally, division and scaling take place with rounding (unlike TeX's
+'\divide', which truncates).  Thus '\the\dimexpr 5pt*(3/2)\relax' puts
+'10.0pt' in the document, because it rounds '3/2' to '2', while
+'\the\dimexpr 5pt*(4/3)\relax' produces '5.0pt'.
+
+
 File: latex2e.info,  Node: Making paragraphs,  Next: Math formulas,  Prev: Lengths,  Up: Top
 
 15 Making paragraphs
@@ -8183,7 +9122,7 @@
 robust (*note \protect::).
 
    Ordinarily you create a new paragraph by putting in a blank line.
-*Note \par:: for the difference between this command and '\par'.  To
+*Note \par::, for the difference between this command and '\par'.  To
 start a paragraph without an indent, or to continue an interrupted
 paragraph, use '\noindent'.
 
@@ -8224,28 +9163,33 @@
 
 Synopsis:
 
-     \setlength{\parskip}{HORIZONTAL LEN}
-     \setlength{\parinden}{VERTICAL LEN}
+     \setlength{\parindent}{HORIZONTAL LEN}
+     \setlength{\parskip}{VERTICAL LEN}
 
-   Both are a rubber lengths (*note Lengths::).  They give the
+   Both are rubber lengths (*note Lengths::).  They affect the
 indentation of ordinary paragraphs, not paragraphs inside minipages
-(*note minipage::), and the vertical space between paragraphs.
+(*note minipage::), and the vertical space between paragraphs,
+respectively.
 
-   This, put in the preamble,
+   For example, if this is put in the preamble:
 
      \setlength{\parindent}{0em}
      \setlength{\parskip}{1ex}
 
-arranges that the document will have paragraphs that are not indented,
-but instead are vertically separated by about the height of a lowercase
-'x'.
+The document will have paragraphs that are not indented, but instead are
+vertically separated by about the height of a lowercase 'x'.
 
    In standard LaTeX documents, the default value for '\parindent' in
-one-column documents is '15pt' when the default text size is '10pt' ,
+one-column documents is '15pt' when the default text size is '10pt',
 '17pt' for '11pt', and '1.5em' for '12pt'.  In two-column documents it
-is '1em'.  The default value for '\parskip' in LaTeX's standard document
-styles is '0pt plus1pt'.
+is '1em'.  (These values are set before LaTeX calls '\normalfont' so
+'em' is derived from the default font, Computer Modern.  If you use a
+different font then to set '\parindent' in units matching that font, do
+'\AtBeginDocument{\setlength{\parindent}{1em}}'.)
 
+   The default value for '\parskip' in LaTeX's standard document styles
+is '0pt plus1pt'.
+
 
 File: latex2e.info,  Node: Marginal notes,  Prev: \parindent & \parskip,  Up: Making paragraphs
 
@@ -8283,7 +9227,8 @@
 
 '\marginparpush'
      Minimum vertical space between notes; default '7pt' for '12pt'
-     documents, '5pt' else.
+     documents, '5pt' else.  See also *note page layout parameters
+     marginparpush::.
 
 '\marginparsep'
      Horizontal space between the main text and the note; default '11pt'
@@ -8460,12 +9405,12 @@
 something to attach to and keeps it from accidentally attaching to a
 prior symbols.
 
-   Using the subscript or superscript command outside of math mode or
+   Using the subscript or superscript character outside of math mode or
 display math mode, as in 'the expression x^2', will get you the error
 'Missing $ inserted'.
 
    A common reason to want subscripts outside of a mathematics mode is
-to typeset chemical formulas.  There are packages for that such as
+to typeset chemical formulas.  There are packages for that, such as
 'mhchem'; see CTAN.
 
 
@@ -8476,8 +9421,8 @@
 
 LaTeX provides almost any mathematical or technical symbol that anyone
 uses.  For example, if you include '$\pi$' in your source, you will get
-the pi symbol U+03C0.  See the 'Comprehensive LaTeX Symbol List' at
-<https://ctan.org/tex-archive/info/symbols/comprehensive/>.
+the pi symbol π.  See the "Comprehensive LaTeX Symbol List" package at
+<https://ctan.org/pkg/comprehensive>.
 
    Here is a list of commonly-used symbols.  It is by no means
 exhaustive.  Each symbol is described with a short phrase, and its
@@ -8487,26 +9432,26 @@
 whatever the current mode, see *note \ensuremath::.
 
 '\|'
-     U+2225 Parallel (relation).  Synonym: '\parallel'.
+     ∥ Parallel (relation).  Synonym: '\parallel'.
 
 '\aleph'
-     U+2135 Aleph, transfinite cardinal (ordinary).
+     ℵ Aleph, transfinite cardinal (ordinary).
 
 '\alpha'
-     U+03B1 Lowercase Greek letter alpha (ordinary).
+     α Lowercase Greek letter alpha (ordinary).
 
 '\amalg'
-     U+2A3F Disjoint union (binary)
+     ⨿ Disjoint union (binary)
 
 '\angle'
-     U+2220 Geometric angle (ordinary).  Similar: less-than sign '<' and
+     ∠ Geometric angle (ordinary).  Similar: less-than sign '<' and
      angle bracket '\langle'.
 
 '\approx'
-     U+2248 Almost equal to (relation).
+     ≈ Almost equal to (relation).
 
 '\ast'
-     U+2217 Asterisk operator, convolution, six-pointed (binary).
+     ∗ 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
@@ -8513,7 +9458,7 @@
      reserved for cross-correlation.
 
 '\asymp'
-     U+224D Asymptotically equivalent (relation).
+     ≍ Asymptotically equivalent (relation).
 
 '\backslash'
      \ Backslash (ordinary).  Similar: set minus '\setminus', and
@@ -8520,210 +9465,205 @@
      '\textbackslash' for backslash outside of math mode.
 
 '\beta'
-     U+03B2 Lowercase Greek letter beta (ordinary).
+     β Lowercase Greek letter beta (ordinary).
 
 '\bigcap'
-     U+22C2 Variable-sized, or n-ary, intersection (operator).  Similar:
+     ⋂ Variable-sized, or n-ary, intersection (operator).  Similar:
      binary intersection '\cap'.
 
 '\bigcirc'
-     U+26AA Circle, larger (binary).  Similar: function
-     composition '\circ'.
+     ⚪ Circle, larger (binary).  Similar: function composition '\circ'.
 
 '\bigcup'
-     U+22C3 Variable-sized, or n-ary, union (operator).  Similar: binary
+     ⋃ Variable-sized, or n-ary, union (operator).  Similar: binary
      union '\cup'.
 
 '\bigodot'
-     U+2A00 Variable-sized, or n-ary, circled dot operator (operator).
+     ⨀ Variable-sized, or n-ary, circled dot operator (operator).
 
 '\bigoplus'
-     U+2A01 Variable-sized, or n-ary, circled plus operator (operator).
+     ⨁ Variable-sized, or n-ary, circled plus operator (operator).
 
 '\bigotimes'
-     U+2A02 Variable-sized, or n-ary, circled times operator (operator).
+     ⨂ Variable-sized, or n-ary, circled times operator (operator).
 
 '\bigtriangledown'
-     U+25BD Variable-sized, or n-ary, open triangle pointing down
-     (operator).
+     ▽ Variable-sized, or n-ary, open triangle pointing down (operator).
 
 '\bigtriangleup'
-     U+25B3 Variable-sized, or n-ary, open triangle pointing up
-     (operator).
+     △ Variable-sized, or n-ary, open triangle pointing up (operator).
 
 '\bigsqcup'
-     U+2A06 Variable-sized, or n-ary, square union (operator).
+     ⨆ Variable-sized, or n-ary, square union (operator).
 
 '\biguplus'
-     U+2A04 Variable-sized, or n-ary, union operator with a plus
-     (operator).  (Note that the name has only one p.)
+     ⨄ Variable-sized, or n-ary, union operator with a plus (operator).
+     (Note that the name has only one p.)
 
 '\bigvee'
-     U+22C1 Variable-sized, or n-ary, logical-and (operator).
+     ⋁ Variable-sized, or n-ary, logical-or (operator).
 
 '\bigwedge'
-     U+22C0 Variable-sized, or n-ary, logical-or (operator).
+     ⋀ Variable-sized, or n-ary, logical-and (operator).
 
 '\bot'
-     U+22A5 Up tack, bottom, least element of a partially ordered set,
-     or a contradiction (ordinary).  See also '\top'.
+     ⊥, Up tack, bottom, least element of a partially ordered set, or a
+     contradiction (ordinary).  See also '\top'.
 
 '\bowtie'
-     U+22C8 Natural join of two relations (relation).
+     ⋈ Natural join of two relations (relation).
 
 '\Box'
-     U+25A1 Modal operator for necessity; square open box (ordinary).
-     Not available in plain TeX.  In LaTeX you need to load the
-     'amssymb' package.
+     □ Modal operator for necessity; square open box (ordinary).  Not
+     available in plain TeX.  In LaTeX you need to load the 'amssymb'
+     package.
 
 '\bullet'
-     U+2022 Bullet (binary).  Similar: multiplication dot '\cdot'.
+     • Bullet (binary).  Similar: multiplication dot '\cdot'.
 
 '\cap'
-     U+2229 Intersection of two sets (binary).  Similar: variable-sized
+     ∩ Intersection of two sets (binary).  Similar: variable-sized
      operator '\bigcap'.
 
 '\cdot'
-     U+22C5 Multiplication (binary).  Similar: Bullet dot '\bullet'.
+     ⋅ Multiplication (binary).  Similar: Bullet dot '\bullet'.
 
 '\chi'
-     U+03C7 Lowercase Greek chi (ordinary).
+     χ Lowercase Greek chi (ordinary).
 
 '\circ'
-     U+2218 Function composition, ring operator (binary).  Similar:
+     ∘ Function composition, ring operator (binary).  Similar:
      variable-sized operator '\bigcirc'.
 
 '\clubsuit'
-     U+2663 Club card suit (ordinary).
+     ♣ Club card suit (ordinary).
 
 '\complement'
-     U+2201 Set complement, used as a superscript as in
-     '$S^\complement$' (ordinary).  Not available in plain TeX.  In
-     LaTeX you need to load the 'amssymb' package.  Also used:
-     '$S^{\mathsf{c}}$' or '$\bar{S}$'.
+     ∁, Set complement, used as a superscript as in '$S^\complement$'
+     (ordinary).  Not available in plain TeX.  In LaTeX you need to load
+     the 'amssymb' package.  Also used: '$S^{\mathsf{c}}$'
+     or '$\bar{S}$'.
 
 '\cong'
-     U+2245 Congruent (relation).
+     ≅ Congruent (relation).
 
 '\coprod'
-     U+2210 Coproduct (operator).
+     ∐ Coproduct (operator).
 
 '\cup'
-     U+222A Union of two sets (binary).  Similar: variable-sized
+     ∪ Union of two sets (binary).  Similar: variable-sized
      operator '\bigcup'.
 
 '\dagger'
-     U+2020 Dagger relation (binary).
+     † Dagger relation (binary).
 
 '\dashv'
-     U+22A3 Dash with vertical, reversed turnstile (relation).  Similar:
+     ⊣ Dash with vertical, reversed turnstile (relation).  Similar:
      turnstile '\vdash'.
 
 '\ddagger'
-     U+2021 Double dagger relation (binary).
+     ‡ Double dagger relation (binary).
 
 '\Delta'
-     U+0394 Greek uppercase delta, used for increment (ordinary).
+     Δ Greek uppercase delta, used for increment (ordinary).
 
 '\delta'
-     U+03B4 Greek lowercase delta (ordinary).
+     δ Greek lowercase delta (ordinary).
 
 '\Diamond'
-     U+25C7 Large diamond operator (ordinary).  Not available in plain
-     TeX.  In LaTeX you need to load the 'amssymb' package.
+     ◇ Large diamond operator (ordinary).  Not available in plain TeX.
+     In LaTeX you need to load the 'amssymb' package.
 
 '\diamond'
-     U+22C4 Diamond operator (binary).  Similar: large
-     diamond '\Diamond', circle bullet '\bullet'.
+     ⋄ Diamond operator (binary).  Similar: large diamond '\Diamond',
+     circle bullet '\bullet'.
 
 '\diamondsuit'
-     U+2662 Diamond card suit (ordinary).
+     ♢ Diamond card suit (ordinary).
 
 '\div'
-     U+00F7 Division sign (binary).
+     ÷ Division sign (binary).
 
 '\doteq'
-     U+2250 Approaches the limit (relation).  Similar: geometrically
-     equal to '\Doteq'.
+     ≐ Approaches the limit (relation).  Similar: geometrically equal
+     to '\Doteq'.
 
 '\downarrow'
-     U+2193 Down arrow, converges (relation).  Similar: '\Downarrow'
-     double line down arrow.
+     ↓ Down arrow, converges (relation).  Similar: '\Downarrow' double
+     line down arrow.
 
 '\Downarrow'
-     U+21D3 Double line down arrow (relation).  Similar: '\downarrow'
-     single line down arrow.
+     ⇓ Double line down arrow (relation).  Similar: '\downarrow' single
+     line down arrow.
 
 '\ell'
-     U+2113 Lowercase cursive letter l (ordinary).
+     ℓ Lowercase cursive letter l (ordinary).
 
 '\emptyset'
-     U+2205 Empty set symbol (ordinary).  The variant form is
-     '\varnothing'.
+     ∅ Empty set symbol (ordinary).  The variant form is '\varnothing'.
 
 '\epsilon'
-     U+03F5 Lowercase lunate epsilon (ordinary).  Similar to Greek text
+     ϵ Lowercase lunate epsilon (ordinary).  Similar to Greek text
      letter.  More widely used in mathematics is the script small letter
-     epsilon '\varepsilon' U+03B5.  Related: the set membership relation
-     '\in' U+2208.
+     epsilon '\varepsilon' ε.  Related: the set membership relation
+     '\in' ∈.
 
 '\equiv'
-     U+2261 Equivalence (relation).
+     ≡ Equivalence (relation).
 
 '\eta'
-     U+03B7 Lowercase Greek letter (ordinary).
+     η Lowercase Greek letter (ordinary).
 
 '\exists'
-     U+2203 Existential quantifier (ordinary).
+     ∃ Existential quantifier (ordinary).
 
 '\flat'
-     U+266D Musical flat (ordinary).
+     ♭ Musical flat (ordinary).
 
 '\forall'
-     U+2200 Universal quantifier (ordinary).
+     ∀ Universal quantifier (ordinary).
 
 '\frown'
-     U+2322 Downward curving arc (ordinary).
+     ⌢ Downward curving arc (ordinary).
 
 '\Gamma'
-     U+0393 uppercase Greek letter (ordinary).
+     Γ uppercase Greek letter (ordinary).
 
 '\gamma'
-     U+03B3 Lowercase Greek letter (ordinary).
+     γ Lowercase Greek letter (ordinary).
 
 '\ge'
-     U+2265 Greater than or equal to (relation).  This is a synonym
+     ≥ Greater than or equal to (relation).  This is a synonym
      for '\geq'.
 
 '\geq'
-     U+2265 Greater than or equal to (relation).  This is a synonym
+     ≥ Greater than or equal to (relation).  This is a synonym
      for '\ge'.
 
 '\gets'
-     U+2190 Is assigned the value (relation).  Synonym: '\leftarrow'.
+     ← Is assigned the value (relation).  Synonym: '\leftarrow'.
 
 '\gg'
-     U+226B Much greater than (relation).  Similar: much less
-     than '\ll'.
+     ≫ Much greater than (relation).  Similar: much less than '\ll'.
 
 '\hbar'
-     U+210F Planck constant over two pi (ordinary).
+     ℏ Planck constant over two pi (ordinary).
 
 '\heartsuit'
-     U+2661 Heart card suit (ordinary).
+     ♡ Heart card suit (ordinary).
 
 '\hookleftarrow'
-     U+21A9 Hooked left arrow (relation).
+     ↩ Hooked left arrow (relation).
 
 '\hookrightarrow'
-     U+21AA Hooked right arrow (relation).
+     ↪ Hooked right arrow (relation).
 
 '\iff'
-     U+27F7 If and only if (relation).  It is '\Longleftrightarrow' with
-     a '\thickmuskip' on either side.
+     ⟷ If and only if (relation).  It is '\Longleftrightarrow' with a
+     '\thickmuskip' on either side.
 
 '\Im'
-     U+2111 Imaginary part (ordinary).  See: real part '\Re'.
+     ℑ Imaginary part (ordinary).  See: real part '\Re'.
 
 '\imath'
      Dotless i; used when you are putting an accent on an i (*note Math
@@ -8730,22 +9670,20 @@
      accents::).
 
 '\in'
-     U+2208 Set element (relation).  See also: lowercase lunate
-     epsilon '\epsilon'U+03F5 and small letter script
-     epsilon '\varepsilon'.
+     ∈ Set element (relation).  See also: lowercase lunate
+     epsilon '\epsilon'ϵ and small letter script epsilon '\varepsilon'.
 
 '\infty'
-     U+221E Infinity (ordinary).
+     ∞ Infinity (ordinary).
 
 '\int'
-     U+222B Integral (operator).
+     ∫ Integral (operator).
 
 '\iota'
-     U+03B9 Lowercase Greek letter (ordinary).
+     ι Lowercase Greek letter (ordinary).
 
 '\Join'
-     U+2A1D Condensed bowtie symbol (relation).  Not available in Plain
-     TeX.
+     ⨝ Condensed bowtie symbol (relation).  Not available in Plain TeX.
 
 '\jmath'
      Dotless j; used when you are putting an accent on a j (*note Math
@@ -8752,119 +9690,111 @@
      accents::).
 
 '\kappa'
-     U+03BA Lowercase Greek letter (ordinary).
+     κ Lowercase Greek letter (ordinary).
 
 '\Lambda'
-     U+039B uppercase Greek letter (ordinary).
+     Λ uppercase Greek letter (ordinary).
 
 '\lambda'
-     U+03BB Lowercase Greek letter (ordinary).
+     λ Lowercase Greek letter (ordinary).
 
 '\land'
-     U+2227 Logical and (binary).  This is a synonym for '\wedge'.  See
-     also logical or '\lor'.
+     ∧ Logical and (binary).  Synonym: '\wedge'.  See also
+     logical or '\lor'.
 
 '\langle'
-     U+27E8 Left angle, or sequence, bracket (opening).  Similar:
+     ⟨ Left angle, or sequence, bracket (opening).  Similar:
      less-than '<'.  Matches '\rangle'.
 
 '\lbrace'
-     U+007B Left curly brace (opening).  Synonym: '\{'.
-     Matches '\rbrace'.
+     { Left curly brace (opening).  Synonym: '\{'.  Matches '\rbrace'.
 
 '\lbrack'
-     U+005B Left square bracket (opening).  Synonym: '['.
-     Matches '\rbrack'.
+     [ Left square bracket (opening).  Synonym: '['.  Matches '\rbrack'.
 
 '\lceil'
-     U+2308 Left ceiling bracket, like a square bracket but with the
-     bottom shaved off (opening).  Matches '\rceil'.
+     ⌈ Left ceiling bracket, like a square bracket but with the bottom
+     shaved off (opening).  Matches '\rceil'.
 
 '\le'
-     U+2264 Less than or equal to (relation).  This is a synonym
-     for '\leq'.
+     ≤ Less than or equal to (relation).  This is a synonym for '\leq'.
 
 '\leadsto'
-     U+21DD Squiggly right arrow (relation).  Not available in plain
-     TeX.  In LaTeX you need to load the 'amssymb' package.  To get this
-     symbol outside of math mode you can put
+     ⇝ Squiggly right arrow (relation).  To get this symbol outside of
+     math mode you can put
      '\newcommand*{\Leadsto}{\ensuremath{\leadsto}}' in the preamble and
      then use '\Leadsto' instead.
 
 '\Leftarrow'
-     U+21D0 Is implied by, double-line left arrow (relation).  Similar:
+     ⇐ Is implied by, double-line left arrow (relation).  Similar:
      single-line left arrow '\leftarrow'.
 
 '\leftarrow'
-     U+2190 Single-line left arrow (relation).  Synonym: '\gets'.
-     Similar: double-line left arrow '\Leftarrow'.
+     ← Single-line left arrow (relation).  Synonym: '\gets'.  Similar:
+     double-line left arrow '\Leftarrow'.
 
 '\leftharpoondown'
-     U+21BD Single-line left harpoon, barb under bar (relation).
+     ↽ Single-line left harpoon, barb under bar (relation).
 
 '\leftharpoonup'
-     U+21BC Single-line left harpoon, barb over bar (relation).
+     ↼ Single-line left harpoon, barb over bar (relation).
 
 '\Leftrightarrow'
-     U+21D4 Bi-implication; double-line double-headed arrow (relation).
+     ⇔ Bi-implication; double-line double-headed arrow (relation).
      Similar: single-line double headed arrow '\leftrightarrow'.
 
 '\leftrightarrow'
-     U+2194 Single-line double-headed arrow (relation).  Similar:
-     double-line double headed arrow '\Leftrightarrow'.
+     ↔ Single-line double-headed arrow (relation).  Similar: double-line
+     double headed arrow '\Leftrightarrow'.
 
 '\leq'
-     U+2264 Less than or equal to (relation).  This is a synonym
-     for '\le'.
+     ≤ Less than or equal to (relation).  This is a synonym for '\le'.
 
 '\lfloor'
-     U+230A Left floor bracket (opening).  Matches: '\floor'.
+     ⌊ Left floor bracket (opening).  Matches: '\floor'.
 
 '\lhd'
-     U+25C1 Arrowhead, that is, triangle, pointing left (binary).  Not
-     available in plain TeX.  In LaTeX you need to load the 'amssymb'
-     package.  For the normal subgroup symbol you should load 'amssymb'
-     and use '\vartriangleleft' (which is a relation and so gives better
+     ◁ Arrowhead, that is, triangle, pointing left (binary).  For the
+     normal subgroup symbol you should load 'amssymb' and
+     use '\vartriangleleft' (which is a relation and so gives better
      spacing).
 
 '\ll'
-     U+226A Much less than (relation).  Similar: much greater
-     than '\gg'.
+     ≪ Much less than (relation).  Similar: much greater than '\gg'.
 
 '\lnot'
-     U+00AC Logical negation (ordinary).  Synonym: '\neg'.
+     ¬ Logical negation (ordinary).  Synonym: '\neg'.
 
 '\longleftarrow'
-     U+27F5 Long single-line left arrow (relation).  Similar: long
+     ⟵ Long single-line left arrow (relation).  Similar: long
      double-line left arrow '\Longleftarrow'.
 
 '\longleftrightarrow'
-     U+27F7 Long single-line double-headed arrow (relation).  Similar:
-     long double-line double-headed arrow '\Longleftrightarrow'.
+     ⟷ Long single-line double-headed arrow (relation).  Similar: long
+     double-line double-headed arrow '\Longleftrightarrow'.
 
 '\longmapsto'
-     U+27FC Long single-line left arrow starting with vertical bar
+     ⟼ Long single-line left arrow starting with vertical bar
      (relation).  Similar: shorter version '\mapsto'.
 
 '\longrightarrow'
-     U+27F6 Long single-line right arrow (relation).  Similar: long
+     ⟶ Long single-line right arrow (relation).  Similar: long
      double-line right arrow '\Longrightarrow'.
 
 '\lor'
-     U+2228 Logical or (binary).  Synonym: wedge '\wedge'.
+     ∨ Logical or (binary).  Synonym: '\vee'.  See also
+     logical and '\land'.
 
 '\mapsto'
-     U+21A6 Single-line left arrow starting with vertical bar
-     (relation).  Similar: longer version '\longmapsto'.
+     ↦ Single-line left arrow starting with vertical bar (relation).
+     Similar: longer version '\longmapsto'.
 
 '\mho'
-     U+2127 Conductance, half-circle rotated capital omega (ordinary).
-     Not available in plain TeX.  In LaTeX you need to load the
-     'amssymb' package.
+     ℧ Conductance, half-circle rotated capital omega (ordinary).
 
 '\mid'
-     U+2223 Single-line vertical bar (relation).  A typical use of
-     '\mid' is for a set '\{\, x \mid x\geq 5 \,\}'.
+     ∣ 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
@@ -8873,41 +9803,41 @@
      for '\vert' and for norm see the entry for '\Vert'.
 
 '\models'
-     U+22A8 Entails, or satisfies; double turnstile, short double dash
+     ⊨ Entails, or satisfies; double turnstile, short double dash
      (relation).  Similar: long double dash '\vDash'.
 
 '\mp'
-     U+2213 Minus or plus (relation).
+     ∓ Minus or plus (relation).
 
 '\mu'
-     U+03BC Lowercase Greek letter (ordinary).
+     μ Lowercase Greek letter (ordinary).
 
 '\nabla'
-     U+2207 Hamilton's del, or differential, operator (ordinary).
+     ∇ Hamilton's del, or differential, operator (ordinary).
 
 '\natural'
-     U+266E Musical natural notation (ordinary).
+     ♮ Musical natural notation (ordinary).
 
 '\ne'
-     U+2260 Not equal (relation).  Synonym: '\neq'.
+     ≠ Not equal (relation).  Synonym: '\neq'.
 
 '\nearrow'
-     U+2197 North-east arrow (relation).
+     ↗ North-east arrow (relation).
 
 '\neg'
-     U+00AC Logical negation (ordinary).  Synonym: '\lnot'.  Sometimes
+     ¬ Logical negation (ordinary).  Synonym: '\lnot'.  Sometimes
      instead used for negation: '\sim'.
 
 '\neq'
-     U+2260 Not equal (relation).  Synonym: '\ne'.
+     ≠ Not equal (relation).  Synonym: '\ne'.
 
 '\ni'
-     U+220B Reflected membership epsilon; has the member (relation).
+     ∋ Reflected membership epsilon; has the member (relation).
      Synonym: '\owns'.  Similar: is a member of '\in'.
 
 '\not'
-     U+0020    Long solidus, or slash, used to overstrike a following
-     operator (relation).
+         Long solidus, or slash, used to overstrike a following operator
+     (relation).
 
      Many negated operators are available that don't require '\not',
      particularly with the 'amssymb' package.  For example, '\notin' is
@@ -8914,430 +9844,403 @@
      typographically preferable to '\not\in'.
 
 '\notin'
-     U+2209 Not an element of (relation).  Similar: not subset
+     ∉ Not an element of (relation).  Similar: not subset
      of '\nsubseteq'.
 
 '\nu'
-     U+03BD Lowercase Greek letter (ordinary).
+     ν Lowercase Greek letter (ordinary).
 
 '\nwarrow'
-     U+2196 North-west arrow (relation).
+     ↖ North-west arrow (relation).
 
 '\odot'
-     U+2299 Dot inside a circle (binary).  Similar: variable-sized
+     ⊙ Dot inside a circle (binary).  Similar: variable-sized
      operator '\bigodot'.
 
 '\oint'
-     U+222E Contour integral, integral with circle in the middle
-     (operator).
+     ∮ Contour integral, integral with circle in the middle (operator).
 
 '\Omega'
-     U+03A9 uppercase Greek letter (ordinary).
+     Ω uppercase Greek letter (ordinary).
 
 '\omega'
-     U+03C9 Lowercase Greek letter (ordinary).
+     ω Lowercase Greek letter (ordinary).
 
 '\ominus'
-     U+2296 Minus sign, or dash, inside a circle (binary).
+     ⊖ Minus sign, or dash, inside a circle (binary).
 
 '\oplus'
-     U+2295 Plus sign inside a circle (binary).  Similar: variable-sized
+     ⊕ Plus sign inside a circle (binary).  Similar: variable-sized
      operator '\bigoplus'.
 
 '\oslash'
-     U+2298 Solidus, or slash, inside a circle (binary).
+     ⊘ Solidus, or slash, inside a circle (binary).
 
 '\otimes'
-     U+2297 Times sign, or cross, inside a circle (binary).  Similar:
+     ⊗ Times sign, or cross, inside a circle (binary).  Similar:
      variable-sized operator '\bigotimes'.
 
 '\owns'
-     U+220B Reflected membership epsilon; has the member (relation).
+     ∋ Reflected membership epsilon; has the member (relation).
      Synonym: '\ni'.  Similar: is a member of '\in'.
 
 '\parallel'
-     U+2225 Parallel (relation).  Synonym: '\|'.
+     ∥ Parallel (relation).  Synonym: '\|'.
 
 '\partial'
-     U+2202 Partial differential (ordinary).
+     ∂ Partial differential (ordinary).
 
 '\perp'
-     U+27C2 Perpendicular (relation).  Similar: '\bot' uses the same
-     glyph but the spacing is different because it is in the class
-     ordinary.
+     ⟂ Perpendicular (relation).  Similar: '\bot' uses the same glyph
+     but the spacing is different because it is in the class ordinary.
 
+'\Phi'
+     Φ Uppercase Greek letter (ordinary).
+
 '\phi'
-     U+03D5 Lowercase Greek letter (ordinary).  The variant form is
-     '\varphi' U+03C6.
+     ϕ Lowercase Greek letter (ordinary).  The variant form is
+     '\varphi' φ.
 
 '\Pi'
-     U+03A0 uppercase Greek letter (ordinary).
+     Π uppercase Greek letter (ordinary).
 
 '\pi'
-     U+03C0 Lowercase Greek letter (ordinary).  The variant form is
-     '\varpi' U+03D6.
+     π Lowercase Greek letter (ordinary).  The variant form is
+     '\varpi' ϖ.
 
 '\pm'
-     U+00B1 Plus or minus (binary).
+     ± Plus or minus (binary).
 
 '\prec'
-     U+227A Precedes (relation).  Similar: less than '<'.
+     ≺ Precedes (relation).  Similar: less than '<'.
 
 '\preceq'
-     U+2AAF Precedes or equals (relation).  Similar: less than or
+     ⪯ Precedes or equals (relation).  Similar: less than or
      equals '\leq'.
 
 '\prime'
-     U+2032 Prime, or minute in a time expression (ordinary).  Typically
-     used as a superscript: '$f^\prime$'; '$f^\prime$' and '$f'$'
-     produce the same result.  An advantage of the second is that
-     '$f'''$' produces the desired symbol, that is, the same result as
+     ′ Prime, or minute in a time expression (ordinary).  Typically used
+     as a superscript: '$f^\prime$'; '$f^\prime$' and '$f'$' produce the
+     same result.  An advantage of the second is that '$f'''$' produces
+     the desired symbol, that is, the same result as
      '$f^{\prime\prime\prime}$', but uses rather less typing.  You can
      only use '\prime' in math mode.  Using the right single quote '''
      in text mode produces a different character (apostrophe).
 
 '\prod'
-     U+220F Product (operator).
+     ∏ Product (operator).
 
 '\propto'
-     U+221D Is proportional to (relation)
+     ∝ Is proportional to (relation)
 
 '\Psi'
-     U+03A8 uppercase Greek letter (ordinary).
+     Ψ uppercase Greek letter (ordinary).
 
 '\psi'
-     U+03C8 Lowercase Greek letter (ordinary).
+     ψ Lowercase Greek letter (ordinary).
 
 '\rangle'
-     U+27E9 Right angle, or sequence, bracket (closing).  Similar:
-     greater than '>'.  Matches:'\langle'.
+     ⟩ Right angle, or sequence, bracket (closing).  Similar: greater
+     than '>'.  Matches:'\langle'.
 
 '\rbrace'
-     U+007D Right curly brace (closing).  Synonym: '\}'.
-     Matches '\lbrace'.
+     } Right curly brace (closing).  Synonym: '\}'.  Matches '\lbrace'.
 
 '\rbrack'
-     U+005D Right square bracket (closing).  Synonym: ']'.
+     ] Right square bracket (closing).  Synonym: ']'.
      Matches '\lbrack'.
 
 '\rceil'
-     U+2309 Right ceiling bracket (closing).  Matches '\lceil'.
+     ⌉ Right ceiling bracket (closing).  Matches '\lceil'.
 
 '\Re'
-     U+211C Real part, real numbers, cursive capital R (ordinary).
-     Related: double-line, or blackboard bold, R '\mathbb{R}'; to access
-     this, load the 'amsfonts' package.
+     ℜ 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'
-     U+21BE Restriction of a function (relation).  Synonym:
+     ↾, Restriction of a function (relation).  Synonym:
      '\upharpoonright'.  Not available in plain TeX.  In LaTeX you need
      to load the 'amssymb' package.
 
 '\revemptyset'
-     U+29B0 Reversed empty set symbol (ordinary).  Related:
-     '\varnothing'.  Not available in plain TeX.  In LaTeX you need to
-     load the 'stix' package.
+     ⦰, Reversed empty set symbol (ordinary).  Related: '\varnothing'.
+     Not available in plain TeX.  In LaTeX you need to load the 'stix'
+     package.
 
 '\rfloor'
-     U+230B Right floor bracket, a right square bracket with the top cut
-     off (closing).  Matches '\lfloor'.
+     ⌋ Right floor bracket, a right square bracket with the top cut off
+     (closing).  Matches '\lfloor'.
 
 '\rhd'
-     U+25C1 Arrowhead, that is, triangle, pointing right (binary).  Not
-     available in plain TeX.  In LaTeX you need to load the 'amssymb'
-     package.  For the normal subgroup symbol you should instead load
-     'amssymb' and use '\vartriangleright' (which is a relation and so
-     gives better spacing).
+     ◁ Arrowhead, that is, 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).
 
 '\rho'
-     U+03C1 Lowercase Greek letter (ordinary).  The variant form is
-     '\varrho' U+03F1.
+     ρ Lowercase Greek letter (ordinary).  The variant form is
+     '\varrho' ϱ.
 
 '\Rightarrow'
-     U+21D2 Implies, right-pointing double line arrow (relation).
-     Similar: right single-line arrow '\rightarrow'.
+     ⇒ Implies, right-pointing double line arrow (relation).  Similar:
+     right single-line arrow '\rightarrow'.
 
 '\rightarrow'
-     U+2192 Right-pointing single line arrow (relation).
-     Synonym: '\to'.  Similar: right double line arrow '\Rightarrow'.
+     → Right-pointing single line arrow (relation).  Synonym: '\to'.
+     Similar: right double line arrow '\Rightarrow'.
 
 '\rightharpoondown'
-     U+21C1 Right-pointing harpoon with barb below the line (relation).
+     ⇁ Right-pointing harpoon with barb below the line (relation).
 
 '\rightharpoonup'
-     U+21C0 Right-pointing harpoon with barb above the line (relation).
+     ⇀ Right-pointing harpoon with barb above the line (relation).
 
 '\rightleftharpoons'
-     U+21CC Right harpoon up above left harpoon down (relation).
+     ⇌ Right harpoon up above left harpoon down (relation).
 
 '\searrow'
-     U+2198 Arrow pointing southeast (relation).
+     ↘ Arrow pointing southeast (relation).
 
 '\setminus'
-     U+29F5 Set difference, reverse solidus or reverse slash, like \
+     ⧵ Set difference, reverse solidus or reverse slash, like \
      (binary).  Similar: backslash '\backslash' and also
      '\textbackslash' outside of math mode.
 
 '\sharp'
-     U+266F Musical sharp (ordinary).
+     ♯ Musical sharp (ordinary).
 
 '\Sigma'
-     U+03A3 uppercase Greek letter (ordinary).
+     Σ uppercase Greek letter (ordinary).
 
 '\sigma'
-     U+03C3 Lowercase Greek letter (ordinary).  The variant form is
-     '\varsigma' U+03C2.
+     σ Lowercase Greek letter (ordinary).  The variant form is
+     '\varsigma' ς.
 
 '\sim'
-     U+223C Similar, in a relation (relation).
+     ∼ Similar, in a relation (relation).
 
 '\simeq'
-     U+2243 Similar or equal to, in a relation (relation).
+     ≃ Similar or equal to, in a relation (relation).
 
 '\smallint'
-     U+222B Integral sign that does not change to a larger size in a
-     display (operator).
+     ∫ Integral sign that does not change to a larger size in a display
+     (operator).
 
 '\smile'
-     U+2323 Upward curving arc, smile (ordinary).
+     ⌣ Upward curving arc, smile (ordinary).
 
 '\spadesuit'
-     U+2660 Spade card suit (ordinary).
+     ♠ Spade card suit (ordinary).
 
 '\sqcap'
-     U+2293 Square intersection symbol (binary).  Similar:
+     ⊓ Square intersection symbol (binary).  Similar:
      intersection 'cap'.
 
 '\sqcup'
-     U+2294 Square union symbol (binary).  Similar: union 'cup'.
-     Related: variable-sized operator '\bigsqcup'.
+     ⊔ Square union symbol (binary).  Similar: union 'cup'.  Related:
+     variable-sized operator '\bigsqcup'.
 
 '\sqsubset'
-     U+228F Square subset symbol (relation).  Similar: subset '\subset'.
+     ⊏, Square subset symbol (relation).  Similar: subset '\subset'.
      Not available in plain TeX.  In LaTeX you need to load the
      'amssymb' package.
 
 '\sqsubseteq'
-     U+2291 Square subset or equal symbol (binary).  Similar: subset or
-     equal to '\subseteq'.
+     ⊑ Square subset or equal symbol (binary).  Similar: subset or equal
+     to '\subseteq'.
 
 '\sqsupset'
-     U+2290 Square superset symbol (relation).  Similar:
-     superset '\supset'.  Not available in plain TeX.  In LaTeX you need
-     to load the 'amssymb' package.
+     ⊐, Square superset symbol (relation).  Similar: superset '\supset'.
+     Not available in plain TeX.  In LaTeX you need to load the
+     'amssymb' package.
 
 '\sqsupseteq'
-     U+2292 Square superset or equal symbol (binary).  Similar: superset
-     or equal '\supseteq'.
+     ⊒ Square superset or equal symbol (binary).  Similar: superset or
+     equal '\supseteq'.
 
 '\star'
-     U+22C6 Five-pointed star, sometimes used as a general binary
-     operation but sometimes reserved for cross-correlation (binary).
-     Similar: the synonyms asterisk '*' and '\ast', which are
-     six-pointed, and more often appear as a superscript or subscript,
-     as with the Kleene star.
+     ⋆ 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'
-     U+2282 Subset (occasionally, is implied by) (relation).
+     ⊂ Subset (occasionally, is implied by) (relation).
 
 '\subseteq'
-     U+2286 Subset or equal to (relation).
+     ⊆ Subset or equal to (relation).
 
 '\succ'
-     U+227B Comes after, succeeds (relation).  Similar: is less
-     than '>'.
+     ≻ Comes after, succeeds (relation).  Similar: is less than '>'.
 
 '\succeq'
-     U+2AB0 Succeeds or is equal to (relation).  Similar: less than or
-     equal to '\leq'.
+     ⪰ Succeeds or is equal to (relation).  Similar: less than or equal
+     to '\leq'.
 
 '\sum'
-     U+2211 Summation (operator).  Similar: Greek capital
-     sigma '\Sigma'.
+     ∑ Summation (operator).  Similar: Greek capital sigma '\Sigma'.
 
 '\supset'
-     U+2283 Superset (relation).
+     ⊃ Superset (relation).
 
 '\supseteq'
-     U+2287 Superset or equal to (relation).
+     ⊇ Superset or equal to (relation).
 
 '\surd'
-     U+221A Radical symbol (ordinary).  The LaTeX command '\sqrt{...}'
+     √ Radical symbol (ordinary).  The LaTeX command '\sqrt{...}'
      typesets the square root of the argument, with a bar that extends
      to cover the argument.
 
 '\swarrow'
-     U+2199 Southwest-pointing arrow (relation).
+     ↙ Southwest-pointing arrow (relation).
 
 '\tau'
-     U+03C4 Lowercase Greek letter (ordinary).
+     τ Lowercase Greek letter (ordinary).
 
 '\theta'
-     U+03B8 Lowercase Greek letter (ordinary).  The variant form is
-     '\vartheta' U+03D1.
+     θ Lowercase Greek letter (ordinary).  The variant form is
+     '\vartheta' ϑ.
 
 '\times'
-     U+00D7 Primary school multiplication sign (binary).  See
-     also '\cdot'.
+     × Primary school multiplication sign (binary).  See also '\cdot'.
 
 '\to'
-     U+2192 Right-pointing single line arrow (relation).
+     → Right-pointing single line arrow (relation).
      Synonym: '\rightarrow'.
 
 '\top'
-     U+22A4 Top, greatest element of a partially ordered set (ordinary).
-     See also '\bot'.
+     ⊤ Top, greatest element of a partially ordered set (ordinary).  See
+     also '\bot'.
 
 '\triangle'
-     U+25B3 Triangle (ordinary).
+     △ Triangle (ordinary).
 
 '\triangleleft'
-     U+25C1 Not-filled triangle pointing left (binary).
-     Similar: '\lhd'.  For the normal subgroup symbol you should load
-     'amssymb' and use '\vartriangleleft' (which is a relation and so
-     gives better spacing).
+     ◁ 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'
-     U+25B7 Not-filled triangle pointing right (binary).  For the normal
+     ▷ 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'
-     U+22B4 Left-pointing not-filled underlined arrowhead, that is,
-     triangle, with a line under (binary).  Not available in plain TeX.
-     In LaTeX you need to load the 'amssymb' package.  For the normal
-     subgroup symbol load 'amssymb' and use '\vartrianglelefteq' (which
-     is a relation and so gives better spacing).
+     ⊴ Left-pointing not-filled underlined arrowhead, that is, triangle,
+     with a line under (binary).  For the normal subgroup symbol load
+     'amssymb' and use '\vartrianglelefteq' (which is a relation and so
+     gives better spacing).
 
 '\unrhd'
-     U+22B5 Right-pointing not-filled underlined arrowhead, that is,
-     triangle, with a line under (binary).  Not available in plain TeX.
-     In LaTeX you need to load the 'amssymb' package.  For the normal
-     subgroup symbol load 'amssymb' and use '\vartrianglerighteq' (which
-     is a relation and so gives better spacing).
+     ⊵ Right-pointing not-filled underlined arrowhead, that is,
+     triangle, with a line under (binary).  For the normal subgroup
+     symbol load 'amssymb' and use '\vartrianglerighteq' (which is a
+     relation and so gives better spacing).
 
 '\Uparrow'
-     U+21D1 Double-line upward-pointing arrow (relation).  Similar:
+     ⇑ Double-line upward-pointing arrow (relation).  Similar:
      single-line up-pointing arrow '\uparrow'.
 
 '\uparrow'
-     U+2191 Single-line upward-pointing arrow, diverges (relation).
-     Similar: double-line up-pointing arrow '\Uparrow'.
+     ↑ Single-line upward-pointing arrow, diverges (relation).  Similar:
+     double-line up-pointing arrow '\Uparrow'.
 
 '\Updownarrow'
-     U+21D5 Double-line upward-and-downward-pointing arrow (relation).
+     ⇕ Double-line upward-and-downward-pointing arrow (relation).
      Similar: single-line upward-and-downward-pointing
      arrow '\updownarrow'.
 
 '\updownarrow'
-     U+2195 Single-line upward-and-downward-pointing arrow (relation).
+     ↕ Single-line upward-and-downward-pointing arrow (relation).
      Similar: double-line upward-and-downward-pointing
      arrow '\Updownarrow'.
 
 '\upharpoonright'
-     U+21BE Up harpoon, with barb on right side (relation).
+     ↾, Up harpoon, with barb on right side (relation).
      Synonym: '\restriction'.  Not available in plain TeX.  In LaTeX you
      need to load the 'amssymb' package.
 
 '\uplus'
-     U+228E Multiset union, a union symbol with a plus symbol in the
-     middle (binary).  Similar: union '\cup'.  Related: variable-sized
+     ⊎ Multiset union, a union symbol with a plus symbol in the middle
+     (binary).  Similar: union '\cup'.  Related: variable-sized
      operator '\biguplus'.
 
 '\Upsilon'
-     U+03A5 uppercase Greek letter (ordinary).
+     Υ uppercase Greek letter (ordinary).
 
 '\upsilon'
-     U+03C5 Lowercase Greek letter (ordinary).
+     υ Lowercase Greek letter (ordinary).
 
 '\varepsilon'
-     U+03B5 Small letter script epsilon (ordinary).  This is more widely
-     used in mathematics than the non-variant lunate epsilon form
-     '\epsilon' U+03F5.  Related: set membership '\in'.
+     ε Small letter script epsilon (ordinary).  This is more widely used
+     in mathematics than the non-variant lunate epsilon form
+     '\epsilon' ϵ.  Related: set membership '\in'.
 
 '\vanothing'
-     U+2205 Empty set symbol.  Similar: '\emptyset'.  Related:
+     ∅, Empty set symbol.  Similar: '\emptyset'.  Related:
      '\revemptyset'.  Not available in plain TeX.  In LaTeX you need to
      load the 'amssymb' package.
 
 '\varphi'
-     U+03C6 Variant on the lowercase Greek letter (ordinary).  The
-     non-variant form is '\phi' U+03D5.
+     φ Variant on the lowercase Greek letter (ordinary).  The
+     non-variant form is '\phi' ϕ.
 
 '\varpi'
-     U+03D6 Variant on the lowercase Greek letter (ordinary).  The
-     non-variant form is '\pi' U+03C0.
+     ϖ Variant on the lowercase Greek letter (ordinary).  The
+     non-variant form is '\pi' π.
 
 '\varrho'
-     U+03F1 Variant on the lowercase Greek letter (ordinary).  The
-     non-variant form is '\rho' U+03C1.
+     ϱ Variant on the lowercase Greek letter (ordinary).  The
+     non-variant form is '\rho' ρ.
 
 '\varsigma'
-     U+03C2 Variant on the lowercase Greek letter (ordinary).  The
-     non-variant form is '\sigma' U+03C3.
+     ς Variant on the lowercase Greek letter (ordinary).  The
+     non-variant form is '\sigma' σ.
 
 '\vartheta'
-     U+03D1 Variant on the lowercase Greek letter (ordinary).  The
-     non-variant form is '\theta' U+03B8.
+     ϑ Variant on the lowercase Greek letter (ordinary).  The
+     non-variant form is '\theta' θ.
 
 '\vdash'
-     U+22A2 Provable; turnstile, vertical and a dash (relation).
-     Similar: turnstile rotated a half-circle '\dashv'.
+     ⊢ Provable; turnstile, vertical and a dash (relation).  Similar:
+     turnstile rotated a half-circle '\dashv'.
 
 '\vee'
-     U+2228 Logical or; a downwards v shape (binary).  Related: logical
+     ∨ Logical or; a downwards v shape (binary).  Related: logical
      and '\wedge'.  Similar: variable-sized operator '\bigvee'.
 
 '\Vert'
-     U+2016 Vertical double bar (ordinary).  Similar: vertical single
-     bar '\vert'.
+     ‖ Vertical double bar (ordinary).  *Note Delimiters::, for how to
+     use the 'mathtools' package to create flexibly-sized norm symbols.
 
-     For a norm symbol, you can use the 'mathtools' package and put in
-     your preamble '\DeclarePairedDelimiter\norm{\lVert}{\rVert}'.  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'
-     U+007C Single line vertical bar (ordinary).  Similar: double-line
-     vertical bar '\Vert'.  For such that, as in the definition of a
-     set, use '\mid' because it is a relation.
+     | Single line vertical bar (ordinary).  For "such that", as in the
+     definition of a set, use '\mid' because it is a relation.  *Note
+     Delimiters::, for how to use the 'mathtools' package to create
+     flexibly-sized absolute-value symbols.
 
-     For absolute value you can use the 'mathtools' package and in your
-     preamble put '\DeclarePairedDelimiter\abs{\lvert}{\rvert}'.  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'
-     U+2227 Logical and (binary).  Synonym: '\land'.  See also logical
-     or '\vee'.  Similar: variable-sized operator '\bigwedge'.
+     ∧ Logical and (binary).  Synonym: '\land'.  See also logical or
+     '\vee'.  Similar: variable-sized operator '\bigwedge'.
 
 '\wp'
-     U+2118 Weierstrass p (ordinary).
+     ℘ Weierstrass p (ordinary).
 
 '\wr'
-     U+2240 Wreath product (binary).
+     ≀ Wreath product (binary).
 
 '\Xi'
-     U+039E uppercase Greek letter (ordinary).
+     Ξ uppercase Greek letter (ordinary).
 
 '\xi'
-     U+03BE Lowercase Greek letter (ordinary).
+     ξ Lowercase Greek letter (ordinary).
 
 '\zeta'
-     U+03B6 Lowercase Greek letter (ordinary).
+     ζ Lowercase Greek letter (ordinary).
 
    The following symbols are most often used in plain text but LaTeX
 provides versions to use in mathematical text.
@@ -9346,13 +10249,13 @@
      Dollar sign in math mode: $.
 
 '\mathparagraph'
-     Paragraph sign (pilcrow) in math mode, U+00B6.
+     Paragraph sign (pilcrow) in math mode, ¶.
 
 '\mathsection'
-     Section sign in math mode U+00A7.
+     Section sign in math mode §.
 
 '\mathsterling'
-     Sterling sign in math mode: #.
+     Sterling sign in math mode: £.
 
 '\mathunderscore'
      Underscore in math mode: _.
@@ -9359,15 +10262,105 @@
 
 * Menu:
 
+* Arrows::                     List of arrows.
+* \boldmath & \unboldmath::    Symbols in boldface.
 * Blackboard bold::            Doublestruck characters.
 * Calligraphic::               Cursive characters.
-* \boldmath & \unboldmath::    Symbols in boldface.
+* Delimiters::                 Parentheses, braces, etc.
 * Dots::                       Ellipses, etc.
+* Greek letters::              List of Greek letters.
 
 
-File: latex2e.info,  Node: Blackboard bold,  Next: Calligraphic,  Up: Math symbols
+File: latex2e.info,  Node: Arrows,  Next: \boldmath & \unboldmath,  Up: Math symbols
 
-16.2.1 Blackboard bold
+16.2.1 Arrows
+-------------
+
+These are the arrows that come with standard LaTeX.  The 'latexsym' and
+'amsfonts' packages contain many more.
+
+Symbol  Command
+---------------------------------------------------------------------------
+⇓       '\Downarrow'
+↓       '\downarrow'
+↩       '\hookleftarrow'
+↪       '\hookrightarrow'
+←       '\leftarrow'
+⇐       '\Leftarrow'
+⇔       '\Leftrightarrow'
+↔       '\leftrightarrow'
+⟵       '\longleftarrow'
+⟸       '\Longleftarrow'
+⟷       '\longleftrightarrow'
+⟺       '\Longleftrightarrow'
+⟼       '\longmapsto'
+⟹       '\Longrightarrow'
+⟶       '\longrightarrow'
+↦       '\mapsto'
+↗       '\nearrow'
+↖       '\nwarrow'
+⇒       '\Rightarrow'
+→       '\rightarrow', or '\to'
+↘       '\searrow'
+↙       '\swarrow'
+↑       '\uparrow'
+⇑       '\Uparrow'
+↕       '\updownarrow'
+⇕       '\Updownarrow'
+
+   An example of the difference between '\to' and '\mapsto' is: '\(
+f\colon D\to C \) given by \( n\mapsto n^2 \)'.
+
+   For commutative diagrams there are a number of packages, including
+'tikz-cd' and 'amscd'.
+
+
+File: latex2e.info,  Node: \boldmath & \unboldmath,  Next: Blackboard bold,  Prev: Arrows,  Up: Math symbols
+
+16.2.2 '\boldmath' & '\unboldmath'
+----------------------------------
+
+Synopsis (used in paragraph mode or LR mode):
+
+     \boldmath \( MATH \)
+
+or
+
+     \unboldmath \( MATH \)
+
+   Declarations to change the letters and symbols in MATH to be in a
+bold font, or to countermand that and bring back the regular (non-bold)
+default.  They must be used when not in math mode or display math mode
+(*note Modes::).  Both commands are fragile (*note \protect::).
+
+   In this example each '\boldmath' command takes place inside an
+'\mbox',
+
+     we have $\mbox{\boldmath \( v \)} = 5\cdot\mbox{\boldmath \( u \)$}$
+
+which means '\boldmath' is only called in a text mode, here LR mode, and
+explains why LaTeX must switch to math mode to set 'v' and 'u'.
+
+   If you use either command inside math mode, as with 'Trouble: \(
+\boldmath x \)', then you get something like 'LaTeX Font Warning:
+Command \boldmath invalid in math mode on input line 11' and 'LaTeX Font
+Warning: Command \mathversion invalid in math mode on input line 11'.
+
+   There are many issues with '\boldmath'.  New documents should use the
+'bm' package provided by the LaTeX Project team.  A complete description
+is outside the scope of this document (see the full documentation on
+CTAN) but even this small example
+
+     \usepackage{bm}   % in preamble
+     ...
+     we have $\bm{v} = 5\cdot\bm{u}$
+
+shows that it is an improvement over '\boldmath'.
+
+
+File: latex2e.info,  Node: Blackboard bold,  Next: Calligraphic,  Prev: \boldmath & \unboldmath,  Up: Math symbols
+
+16.2.3 Blackboard bold
 ----------------------
 
 Synopsis:
@@ -9384,7 +10377,7 @@
 
      \( \forall n \in \mathbb{N}, n^2 \geq 0 \)
 
-the '\mathbb{N}' gives blackboard bold symbol U+2115 representing the
+the '\mathbb{N}' gives blackboard bold symbol ℕ, representing the
 natural numbers.
 
    If you use other than an uppercase letter then you do not get an
@@ -9394,9 +10387,9 @@
 capital letters; look on CTAN.
 
 
-File: latex2e.info,  Node: Calligraphic,  Next: \boldmath & \unboldmath,  Prev: Blackboard bold,  Up: Math symbols
+File: latex2e.info,  Node: Calligraphic,  Next: Delimiters,  Prev: Blackboard bold,  Up: Math symbols
 
-16.2.2 Calligraphic
+16.2.4 Calligraphic
 -------------------
 
 Synopsis:
@@ -9410,57 +10403,270 @@
      Let the graph be \( \mathcal{G} \).
 
    If you use something other than an uppercase letter then you do not
-get an error.  Instead you get unexpected output.  For instance,
-'\mathcal{g}' outputs a close curly brace symbol, while '\mathcal{+}'
-outputs a plus sign.
+get an error but you also do not get math calligraphic output.  For
+instance, '\mathcal{g}' outputs a close curly brace symbol.
 
 
-File: latex2e.info,  Node: \boldmath & \unboldmath,  Next: Dots,  Prev: Calligraphic,  Up: Math symbols
+File: latex2e.info,  Node: Delimiters,  Next: Dots,  Prev: Calligraphic,  Up: Math symbols
 
-16.2.3 '\boldmath' & '\unboldmath'
-----------------------------------
+16.2.5 Delimiters
+-----------------
 
-Synopsis (used in paragraph mode or LR mode):
+Delimiters are parentheses, braces, or other characters used to mark the
+start and end of subformulas.  This formula has three sets of
+parentheses delimiting the three subformulas.
 
-     \boldmath \( MATH \)
+     (z-z_0)^2 = (x-x_0)^2 + (y-y_0)^2
 
-or
+The delimiters do not need to match, so you can enter '\( [0,1) \)'.
 
-     \unboldmath \( MATH \)
+   Here are the common delimiters:
 
-   Declarations to change the letters and symbols in MATH to be in a
-bold font, or to countermand that and bring back the regular (non-bold)
-default.  They must be used when not in math mode or display math mode
-(*note Modes::).  Both commands are fragile (*note \protect::).
+DelimiterCommand        Name
+------------------------------------------------------
+(        '('            Left parenthesis
+)        ')'            Right parenthesis
+\}       '{' or         Left brace
+         '\lbrace'
+\{       '}' or         Right brace
+         '\rbrace'
+[        '[' or         Left bracket
+         '\lbrack'
+]        ']' or         Right bracket
+         '\rbrack'
+⌊        '\lfloor'      Left floor bracket
+⌋        '\rfloor'      Right floor bracket
+⌈        '\lceil'       Left ceiling bracket
+⌉        '\rceil'       Right ceiling bracket
+⟨        '\langle'      Left angle bracket
+⟩        '\rangle'      Right angle bracket
+/        '/'            Slash, or forward slash
+\        '\backslash'   Reverse slash, or backslash
+|        '|' or         Vertical bar
+         '\vert'
+‖        '\|' or        Double vertical bar
+         '\Vert'
 
-   In this example each '\boldmath' command takes place inside an
-'\mbox',
+   The 'mathtools' package allows you to create commands for paired
+delimiters.  For instance, if you put
+'\DeclarePairedDelimiter\abs{\lvert}{\rvert}' in your preamble then you
+get two commands for single-line vertical bars (they only work in math
+mode).  The starred version, such as '\abs*{\frac{22}{7}}', has the
+height of the vertical bars match the height of the argument.  The
+unstarred version, such as '\abs{\frac{22}{7}}', has the bars fixed at a
+default height.  This version accepts an optional argument, as in
+'\abs[SIZE COMMAND]{\frac{22}{7}}', where the height of the bars is
+given in SIZE COMMAND, such as '\Bigg'.  Using '\lVert' and '\rVert' as
+the symbols will give you a norm symbol with the same behavior.
 
-     we have $\mbox{\boldmath \( v \)} = 5\cdot\mbox{\boldmath \( u \)$}$
+* Menu:
 
-which means '\boldmath' is only called in a text mode, here LR mode, and
-explains why LaTeX must switch to math mode to set 'v' and 'u'.
+* \left & \right::      Automatically sized delimiters.
+* \bigl & \bigr etc.::  Manually sized delimiters.
 
-   If you use either command inside math mode, as with 'Trouble: \(
-\boldmath x \)', then you get something like 'LaTeX Font Warning:
-Command \boldmath invalid in math mode on input line 11' and 'LaTeX Font
-Warning: Command \mathversion invalid in math mode on input line 11'.
+
+File: latex2e.info,  Node: \left & \right,  Next: \bigl & \bigr etc.,  Up: Delimiters
 
-   There are many issues with '\boldmath'.  New documents should use the
-'bm' package provided by the LaTeX Project team.  A complete description
-is outside the scope of this document (see the full documentation on
-CTAN) but even this small example
+16.2.5.1 '\left' & '\right'
+...........................
 
-     \usepackage{bm}   % in preamble
-     ...
-     we have $\bm{v} = 5\cdot\bm{u}$
+Synopsis:
 
-shows that it is an improvement over '\boldmath'.
+     \left DELIMITER1 ... \right DELIMITER2
 
+   Make matching parentheses, braces, or other delimiters.  LaTeX makes
+the delimiters tall enough to just cover the size of the formula that
+they enclose.
+
+   This makes a unit vector surrounded by parentheses tall enough to
+cover the entries.
+
+     \begin{equation}
+       \left(\begin{array}{c}
+         1   \\
+         0   \\
+       \end{array}\right)
+     \end{equation}
+
+   *Note Delimiters::, for a list of the common delimiters.
+
+   Every '\left' must have a matching '\right'.  In the above example,
+leaving out the '\left(' gets the error message 'Extra \right'.  Leaving
+out the '\right)' gets 'You can't use `\eqno' in math mode'.
+
+   However, DELIMITER1 and DELIMITER2 need not match.  A common case is
+that you want an unmatched brace, as below.  Use a period, '.', as a
+null delimiter.
+
+     \begin{equation}
+       f(n)=\left\{\begin{array}{ll}
+                     1             &\mbox{--if \(n=0\)} \\
+                     f(n-1)+3n^2   &\mbox{--else}
+            \end{array}\right.
+     \end{equation}
+
+Note that to get a curly brace as a delimiter you must prefix it with a
+backslash, '\{'.  (The packages 'amsmath' and 'mathtools' allow you to
+get the above construct through in a 'cases' environment.)
+
+   The '\left ... \right' pair make a group.  One consequence is that
+the formula enclosed in the '\left ... \right' pair cannot have line
+breaks in the output.  This includes both manual line breaks and
+LaTeX-generated automatic ones.  In this example, LaTeX breaks the
+equation to make the formula fit the margins.
+
+     Lorem ipsum dolor sit amet
+     \( (a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z) \)
+
+But with '\left' and '\right'
+
+     Lorem ipsum dolor sit amet
+     \( \left(a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z\right) \)
+
+LaTeX won't break the line, causing the formula to extend into the
+margin.
+
+   Because '\left ... \right' make a group, all the usual grouping rules
+hold.  Here, the value of '\testlength' set inside the equation will be
+forgotten, and the output is '1.2pt'.
+
+     \newlength{\testlength} \setlength{\testlength}{1.2pt}
+     \begin{equation}
+       \left( a+b=c \setlength{\testlength}{3.4pt} \right)
+       \the\testlength
+     \end{equation}
+
+   The '\left ... \right' pair affect the horizontal spacing of the
+enclosed formula, in two ways.  The first is that in '\( \sin(x) =
+\sin\left(x\right) \)' the one after the equals sign has more space
+around the 'x'.  That's because '\left( ... \right)' inserts an inner
+node while '( ... )' inserts an opening node.  The second way that the
+pair affect the horizontal spacing is that because they form a group,
+the enclosed subformula will be typeset at its natural width, with no
+stretching or shrinking to make the line fit better.
+
+   TeX scales the delimiters according to the height and depth of the
+contained formula.  Here LaTeX grows the brackets to extend the full
+height of the integral.
+
+     \begin{equation}
+       \left[ \int_{x=r_0}^{\infty} -G\frac{Mm}{r^2}\, dr \right]
+     \end{equation}
+
+   Manual sizing is often better.  For instance, although below the rule
+has no depth, TeX will create delimiters that extend far below the rule.
+
+     \begin{equation}
+       \left( \rule{1pt}{1cm} \right)
+     \end{equation}
+
+TeX can choose delimiters that are too small, as in '\( \left| |x|+|y|
+\right| \)'.  It can also choose delimiters that are too large, as here.
+
+     \begin{equation}
+       \left( \sum_{0\leq i<n} i^k \right)
+     \end{equation}
+
+A third awkward case is when a long displayed formula is on more than
+one line and you must match the sizes of the opening and closing
+delimiter; you can't use '\left' on the first line and '\right' on the
+last because they must be paired.
+
+   To size the delimiters manually, see *note \bigl & \bigr etc.::.
+
 
-File: latex2e.info,  Node: Dots,  Prev: \boldmath & \unboldmath,  Up: Math symbols
+File: latex2e.info,  Node: \bigl & \bigr etc.,  Prev: \left & \right,  Up: Delimiters
 
-16.2.4 Dots, horizontal or vertical
+16.2.5.2 '\bigl', '\bigr', etc.
+...............................
+
+Synopsis, one of:
+
+     \biglDELIMITER1 ... \bigrDELIMITER2
+     \BiglDELIMITER1 ... \bigrDELIMITER2
+     \bigglDELIMITER1 ... \biggrDELIMITER2
+     \BigglDELIMITER1 ... \BiggrDELIMITER2
+
+(as with '\bigl[...\bigr]'; strictly speaking they need not be paired,
+see below), or one of:
+
+     \bigmDELIMITER
+     \BigmDELIMITER
+     \biggmDELIMITER
+     \BiggmDELIMITER
+
+(as with '\bigm|'), or one of:
+
+     \bigDELIMITER
+     \BigDELIMITER
+     \biggDELIMITER
+     \BiggDELIMITER
+
+(as with '\big[').
+
+   Produce manually-sized delimiters.  For delimiters that are
+automatically sized see *note \left & \right::).
+
+   This produces slightly larger outer vertical bars.
+
+       \bigl| |x|+|y| \bigr|
+
+   The commands above are listed in order of increasing size.  You can
+use the smallest size such as '\bigl...\bigr' in a paragraph without
+causing LaTeX to spread the lines apart.  The larger sizes are meant for
+displayed equations.
+
+   *Note Delimiters::, for a list of the common delimiters.  In the
+family of commands with 'l' and 'r', DELIMITER1 and DELIMITER2 need not
+be the same.
+
+   The 'l' and 'r' commands produce open and close delimiters that
+insert no horizontal space between a preceding atom and the delimiter,
+while the commands without 'l' and 'r' insert some space (because each
+delimiter is set as an ordinary variable).  Compare these two.
+
+     \begin{tabular}{l}
+       \(\displaystyle \sin\biggl(\frac{1}{2}\biggr) \)  \\  % good
+       \(\displaystyle \sin\bigg(\frac{1}{2}\bigg)  \)   \\  % bad
+     \end{tabular}
+
+The traditional typographic treatment is on the first line.  On the
+second line the output will have some extra space between the '\sin' and
+the open parenthesis.
+
+   Commands without 'l' or 'r' do give correct spacing in some
+circumstances, as with this large vertical line
+
+     \begin{equation}
+       \int_{x=a}^b x^2\,dx = \frac{1}{3} x^3 \Big|_{x=a}^b
+     \end{equation}
+
+(many authors would replace '\frac' with the '\tfrac' command from the
+'amsmath' package), and as with this larger slash.
+
+     \begin{equation}
+       \lim_{n\to\infty}\pi(n) \big/ (n/\log n) = 1
+     \end{equation}
+
+   Unlike the '\left...\right' pair (*note \left & \right::), the
+commands here with 'l' and 'r' do not make a group.  Strictly speaking
+they need not be matched so you can write something like this.
+
+     \begin{equation}
+       \Biggl[ \pi/6 ]
+     \end{equation}
+
+   The commands with 'm' are for relations, which are in the middle of
+formulas, as here.
+
+     \begin{equation}
+       \biggl\{ a\in B \biggm| a=\sum_{0\leq i<n}3i^2+4 \biggr\}
+     \end{equation}
+
+
+File: latex2e.info,  Node: Dots,  Next: Greek letters,  Prev: Delimiters,  Up: Math symbols
+
+16.2.6 Dots, horizontal or vertical
 -----------------------------------
 
 Ellipses are the three dots (usually three) indicating that a pattern
@@ -9476,15 +10682,14 @@
 
 '\cdots'
      Horizontal ellipsis with the dots raised to the center of the line,
-     as in U+22EF. Used as: '\( a_0\cdot a_1\cdots a_{n-1} \)'.
+     as in ⋯.  Used as: '\( a_0\cdot a_1\cdots a_{n-1} \)'.
 
 '\ddots'
-     Diagonal ellipsis, U+22F1.  See the above array example for a
-     usage.
+     Diagonal ellipsis, ⋱.  See the above array example for a usage.
 
 '\ldots'
-     Ellipsis on the baseline, U+2026.  Used as: '\( x_0,\ldots x_{n-1}
-     \)'.  Another example is the above array example.  A synonym is
+     Ellipsis on the baseline, ….  Used as: '\( x_0,\ldots x_{n-1} \)'.
+     Another example is the above array example.  A synonym is
      '\mathellipsis'.  A synonym from the 'amsmath' package is '\hdots'.
 
      You can also use this command outside of mathematical text, as in
@@ -9492,7 +10697,7 @@
      or LR mode a synonym for '\ldots' is '\dots'.)
 
 '\vdots'
-     Vertical ellipsis, U+22EE. See the above array example for a usage.
+     Vertical ellipsis, ⋮.  See the above array example for a usage.
 
    The 'amsmath' package has the command '\dots' to semantically mark up
 ellipses.  This example produces two different-looking outputs for the
@@ -9516,6 +10721,52 @@
 for dots with integrals, or '\dotso' for others.
 
 
+File: latex2e.info,  Node: Greek letters,  Prev: Dots,  Up: Math symbols
+
+16.2.7 Greek letters
+--------------------
+
+The upper case versions of these Greek letters are only shown when they
+differ from Roman upper case letters.
+
+Symbol  Command                Name
+----------------------------------------------------------------------------
+α       '\alpha'               Alpha
+β       '\beta'                Beta
+γ, Γ    '\gamma', '\Gamma'     Gamma
+δ, Δ    '\delta', '\Delta'     Delta
+ε, ϵ    '\varepsilon',         Epsilon
+        '\epsilon'
+ζ       '\zeta'                Zeta
+η       '\eta'                 Eta
+θ, ϑ    '\theta',              Theta
+        '\vartheta'
+ι       '\iota'                Iota
+κ       '\kappa'               Kappa
+λ, Λ    '\lambda', '\Lambda'   Lambda
+μ       '\mu'                  Mu
+ν       '\nu'                  Nu
+ξ, Ξ    '\xi', '\Xi'           Xi
+π, Π    '\pi', '\Pi'           Pi
+ρ, ϱ    '\rho', '\varrho'      Rho
+σ, Σ    '\sigma', '\Sigma'     Sigma
+τ       '\tau'                 Tau
+ϕ, φ,   '\phi', '\varphi',     Phi
+Φ       '\Phi'
+χ       '\chi'                 chi
+ψ, Ψ    '\psi', '\Psi'         Psi
+ω, Ω    '\omega', '\Omega'     Omega
+
+   For omicron, if you are using LaTeX's default Computer Modern font
+then enter omicron just as 'o' or 'O'.  If you like having the name or
+if your font shows a difference then you can use something like
+'\newcommand\omicron{o}'.  The package 'unicode-math' has '\upomicron'
+for upright omicron and '\mitomicron' for math italic.
+
+   While the set membership relation symbol ∈ generated by '\in' is
+related to epsilon, it is never used for a variable.
+
+
 File: latex2e.info,  Node: Math functions,  Next: Math accents,  Prev: Math symbols,  Up: Math formulas
 
 16.3 Math functions
@@ -9654,7 +10905,7 @@
      Math breve accent
 
 '\check'
-     Math ha'c<ek (check) accent
+     Math háček (check) accent
 
 '\ddot'
      Math dieresis accent
@@ -9743,9 +10994,9 @@
 normal rules for mathematics texts.  If you enter 'y=m x' then LaTeX
 ignores the space and in the output the m is next to the x, as y=mx.
 
-   But LaTeX's rules sometimes need tweaking.  For example, in an
+   But LaTeX's rules occasionally need tweaking.  For example, in an
 integral the tradition is to put a small extra space between the 'f(x)'
-and the 'dx', here done with the '\,' command.
+and the 'dx', here done with the '\,' command:
 
      \int_0^1 f(x)\,dx
 
@@ -9756,14 +11007,26 @@
 something like 5/18 times the width of a 'M'.
 
 '\;'
-     Synonym: '\thickspace'.  Normally '5.0mu plus 5.0mu'.  Math mode
-     only.
+     Synonym: '\thickspace'.  Normally '5.0mu plus 5.0mu'.  With
+     'amsmath', or as of the 2020-10-01 LaTeX release, can be used in
+     text mode as well as math mode; before that, in math mode only.
 
+'\negthickspace'
+     Normally '-5.0mu plus 2.0mu minus 4.0mu'.  With 'amsmath', or as of
+     the 2020-10-01 LaTeX release, can be used in text mode as well as
+     math mode; before that, in math mode only.
+
 '\:'
 '\>'
      Synonym: '\medspace'.  Normally '4.0mu plus 2.0mu minus 4.0mu'.
-     Math mode only.
+     With 'amsmath', or as of the 2020-10-01 LaTeX release, can be used
+     in text mode as well as math mode; before that, in math mode only.
 
+'\negmedspace'
+     Normally '-4.0mu plus 2.0mu minus 4.0mu'.  With 'amsmath', or as of
+     the 2020-10-01 LaTeX release, can be used in text mode as well as
+     math mode; before that, in math mode only.
+
 '\,'
      Synonym: '\thinspace'.  Normally '3mu', which is 1/6em.  Can be
      used in both math mode and text mode (*note \thinspace &
@@ -9779,9 +11042,11 @@
           \end{equation}
 
 '\!'
-     A negative thin space.  Normally '-3mu'.  The '\!' command is math
-     mode only but the '\negthinspace' command is available for text
-     mode (*note \thinspace & \negthinspace::).
+     A negative thin space.  Normally '-3mu'.  With 'amsmath', or as of
+     the 2020-10-01 LaTeX release, can be used in text mode as well as
+     math mode; before that, The '\!' command is math mode only but the
+     '\negthinspace' command has always worked in text mode (*note
+     \thinspace & \negthinspace::).
 
 '\quad'
      This is 18mu, that is, 1em.  This is often used for space
@@ -9795,8 +11060,9 @@
 
 * Menu:
 
-* \smash::                            Eliminate height or depth of a subformula.
-* \phantom & \vphantom & \hphantom::  Make empty box with the same size as the argument.
+* \smash::                           Eliminate height or depth of a subformula.
+* \phantom & \vphantom & \hphantom:: Make empty box same size as argument.
+* \mathstrut::                       Add some vertical space to a formula.
 
 
 File: latex2e.info,  Node: \smash,  Next: \phantom & \vphantom & \hphantom,  Up: Spacing in math mode
@@ -9862,7 +11128,7 @@
 over smashing a subformula box.
 
 
-File: latex2e.info,  Node: \phantom & \vphantom & \hphantom,  Prev: \smash,  Up: Spacing in math mode
+File: latex2e.info,  Node: \phantom & \vphantom & \hphantom,  Next: \mathstrut,  Prev: \smash,  Up: Spacing in math mode
 
 16.6.2 '\phantom' & '\vphantom' & '\hphantom'
 ---------------------------------------------
@@ -9881,22 +11147,32 @@
 
    The '\phantom' command creates a box with the same height, depth, and
 width as SUBFORMULA, but empty.  That is, this command causes LaTeX to
-typeset the box but not its ink.  The '\vphantom' variant also produces
-an invisible box with the same height and depth as SUBFORMULA, but it
-has width zero.  And '\hphantom' makes a box with the same width as
-SUBFORMULA but with height and depth zero.
+typeset the space but not fill it with the material.  Here LaTeX will
+put a box of the right size for the quotation, but empty.
 
-   Without the '\vphantom' in this example, the top bars of the two
-square roots would be at different heights.
+     \fbox{\phantom{Conservatism is the fear-filled worship of dead radicals.
+                    --- Mark Twain}}
 
-     \( \sqrt{\vphantom{a^3}a}\cdot\sqrt{a^3} \)
+   The '\vphantom' variant produces an invisible box with the same
+vertical size as SUBFORMULA, the same height and depth, but having zero
+width.  And '\hphantom' makes a box with the same width as SUBFORMULA
+but with zero height and depth.
 
-   The '\vphantom{a^3}' causes the first '\sqrt' to have inside it a box
-of the same height as the second '\sqrt', so LaTeX makes the bars align.
+   In this example, the tower of exponents in the second summand
+expression is so tall that TeX places this expression further down than
+its default.  Without adjustment, the two summand expressions would be
+at different levels.  The '\vphantom' in the first expression tells TeX
+to leave as much vertical room as it does for the tower, so the two
+expressions come out at the same level.
 
-   These commands often are combined with '\smash'.  *Note \smash:: for
-another example of the use of '\vphantom'.
+     \begin{displaymath}
+         \sum_{j\in\{0,\ldots\, 10\}\vphantom{3^{3^{3^j}}}}
+           \sum_{i\in\{0,\ldots\, 3^{3^{3^j}}\}} i\cdot j
+     \end{displaymath}
 
+   These commands are often used in conjunction with '\smash'.  *Note
+\smash::, which includes another example of '\vphantom'.
+
    The three phantom commands appear often but note that LaTeX provides
 a suite of other commands to work with box sizes that may be more
 convenient, including '\makebox' (*note \mbox & \makebox::) as well as
@@ -9916,6 +11192,31 @@
 with '\leavevmode'.
 
 
+File: latex2e.info,  Node: \mathstrut,  Prev: \phantom & \vphantom & \hphantom,  Up: Spacing in math mode
+
+16.6.3 '\mathstrut'
+-------------------
+
+Synopsis:
+
+     \mathstrut
+
+   The analogue of '\strut' for mathematics.  *Note \strut::.
+
+   The input '$\sqrt{x} + \sqrt{x^i}$' gives output where the second
+radical is taller than the first.  To add extra vertical space without
+any horizontal space, so that the two have the same height, use
+'$\sqrt{x\mathstrut} + \sqrt{x^i\mathstrut}$'.
+
+   The '\mathstrut' command adds the vertical height of an open
+parenthesis, '(', but no horizontal space.  It is defined as
+'\vphantom{(}', so see *note \phantom & \vphantom & \hphantom:: for
+more.  An advantage over '\strut' is that '\mathstrut' adds no depth,
+which is often the right thing for formulas.  Using the height of an
+open parenthesis is just a convention; for complete control over the
+amount of space, use '\rule' with a width of zero.  *Note \rule::.
+
+
 File: latex2e.info,  Node: Math miscellany,  Prev: Spacing in math mode,  Up: Math formulas
 
 16.7 Math miscellany
@@ -9929,7 +11230,6 @@
 * Colon character & \colon::    Colon.
 * \*::                            Discretionary multiplication.
 * \frac::                         Fraction.
-* \left & \right::                Paired delimiters.
 * \sqrt::                         Radicals.
 * \stackrel::                     Text over a relation.
 
@@ -9967,7 +11267,7 @@
      \*
 
    A multiplication symbol that allows a line break.  If there is a
-break then LaTeX puts a '\times' symbol, U+00D7, before that break.
+break then LaTeX puts a '\times' symbol, ×, before that break.
 
    In '\( A_1\* A_2\* A_3\* A_4 \)', if there is no line break then
 LaTeX outputs it as though it were '\( A_1 A_2 A_3 A_4 \)'.  If a line
@@ -9976,7 +11276,7 @@
 '\( A_3 A_4 \)'.
 
 
-File: latex2e.info,  Node: \frac,  Next: \left & \right,  Prev: \*,  Up: Math miscellany
+File: latex2e.info,  Node: \frac,  Next: \sqrt,  Prev: \*,  Up: Math miscellany
 
 16.7.3 '\frac'
 --------------
@@ -9991,47 +11291,9 @@
 formulas::).
 
 
-File: latex2e.info,  Node: \left & \right,  Next: \sqrt,  Prev: \frac,  Up: Math miscellany
+File: latex2e.info,  Node: \sqrt,  Next: \stackrel,  Prev: \frac,  Up: Math miscellany
 
-16.7.4 '\left' & '\right'
--------------------------
-
-Synopsis:
-
-     \left DELIMITER1 ... \right DELIMITER2
-
-   Make matching parentheses, braces, or other delimiters.  The
-delimiters are sized according to the math they enclose.  This makes a
-unit vector surrounded by appropriate-height parentheses.
-
-     \begin{equation}
-       \left(\begin{array}{c}
-         1   \\
-         0   \\
-       \end{array}\right)
-
-   Every '\left' must have a matching '\right'.  Leaving out the
-'\left(' in the above gets 'Extra \right'.  Leaving off the '\right)'
-gets 'You can't use `\eqno' in math mode'.
-
-   However, the two delimiters DELIMITER1 and DELIMITER2 need not match.
-A common case is that you want an unmatched brace, as below.  Use a
-period, '.', as a null delimiter.
-
-     \begin{equation}
-       f(n)=\left\{\begin{array}{ll}
-                     1             &\mbox{--if \(n=0\)} \\
-                     f(n-1)+3n^2   &\mbox{--else}
-            \end{array}\right.
-     \end{equation}
-
-Note that to get a curly brace as a delimiter you must prefix it with a
-backslash, '\{'.
-
-
-File: latex2e.info,  Node: \sqrt,  Next: \stackrel,  Prev: \left & \right,  Up: Math miscellany
-
-16.7.5 '\sqrt'
+16.7.4 '\sqrt'
 --------------
 
 Synopsis, one of:
@@ -10050,7 +11312,7 @@
 
 File: latex2e.info,  Node: \stackrel,  Prev: \sqrt,  Up: Math miscellany
 
-16.7.6 '\stackrel'
+16.7.5 '\stackrel'
 ------------------
 
 Synopsis, one of:
@@ -10178,7 +11440,7 @@
 
    Generate a title.  In the standard classes the title appears on a
 separate page, except in the 'article' class where it is at the top of
-the first page.  (*Note Document class options:: for information about
+the first page.  (*Note Document class options::, for information about
 the 'titlepage' document class option.)
 
    This example shows '\maketitle' appearing in its usual place,
@@ -10438,7 +11700,7 @@
 * \hfill::                Stretchable horizontal space.
 * \hss::                  Infinitely stretchable/shrinkable horizontal space.
 * \spacefactor::          Stretchability of following space
-* \(SPACE)::              Backslash-space; and explicit space.
+* \(SPACE)::              Backslash-space, and explicit space.
 * ~::                     Tie, an unbreakable space.
 * \thinspace & \negthinspace::  One-sixth of an em, and negative one-sixth.
 * \/::                    Italic correction.
@@ -10477,7 +11739,7 @@
        \qquad\includegraphics{mensmile.png}
      \end{center}
 
-*Note Spacing in math mode:: for '\quad' and '\qquad'.  These are
+*Note Spacing in math mode::, for '\quad' and '\qquad'.  These are
 lengths from centuries of typesetting and so may be a better choice in
 many circumstances than arbitrary lengths, such as you get with
 '\hspace'.
@@ -10733,7 +11995,7 @@
 space between sentences (or spaces following a question mark,
 exclamation point, comma, or colon) more than the space between words
 that are in the middle of a sentence.  Declaring '\frenchspacing' (the
-command is from Plain TeX) switches to the tradition that all spaces are
+command is from plain TeX) switches to the tradition that all spaces are
 treated equally.
 
 
@@ -10788,7 +12050,7 @@
 '\TeX{} is best', has the advantage of still working if the next
 character is a period.)  The other common use is that it marks a period
 as ending an abbreviation instead of ending a sentence, as in 'So says
-Prof.\ Smith' (*note \@::).
+Prof.\ Smith' or 'Jones et al.\ (1993)' (*note \@::).
 
    Under normal circumstances, '\'<tab> and '\'<newline> are equivalent
 to backslash-space, '\ '.
@@ -10815,22 +12077,29 @@
 spacing (*note \@::).
 
    Ties prevent the end of line separation of things where that could
-cause confusion.  But they also reduce LaTeX's options when it breaks
-lines into paragraphs, so you can use too many.  They are also matters
-of taste, sometimes alarmingly dogmatic taste, among readers.
-Nevertheless, here are some usage models, many of them from the TeXbook.
+cause confusion.  They also still allow hyphenation (of either of the
+tied words), so they are generally preferable to putting consecutive
+words in an '\mbox' (*note \mbox & \makebox::).
 
+   They are also matters of taste, sometimes alarmingly dogmatic taste,
+among readers.  Nevertheless, here are some usage models, many of them
+from 'The TeXbook'.
+
    * Between an enumerator and its item, such as in references:
      'Chapter~12', or 'Theorem~\ref{th:Wilsons}', or
-     'Figure~\ref{fig:KGraph}'.  When cases are enumerated inline:
-     '(b)~Show that $f(x)$ is (1)~continuous, and (2)~bounded'.
+     'Figure~\ref{fig:KGraph}'.
 
+   * When cases are enumerated inline: '(b)~Show that $f(x)$ is
+     (1)~continuous, and (2)~bounded'.
+
    * Between a number and its unit: '$745.7.8$~watts' (the 'siunitx'
      package has a special facility for this) or '144~eggs'.  This
      includes between a month and a date: 'October~12' or '12~Oct'.  In
      general, in any expressions where numbers and abbreviations or
      symbols are separated by a space: 'AD~565', or '2:50~pm', or
-     'Boeing~747', or '268~Plains Road', or '\$$1.4$~billion'.
+     'Boeing~747', or '268~Plains Road', or '\$$1.4$~billion'.  Other
+     common choices here are a thin space (*note \thinspace &
+     \negthinspace::) and no space at all.
 
    * When mathematical phrases are rendered in words: 'equals~$n$', or
      'less than~$\epsilon$', or 'given~$X$', or 'modulo~$p^e$ for all
@@ -10844,14 +12113,11 @@
    * Between symbols in series: '$1$,~$2$, or~$3$' or '$1$,~$2$,
      \ldots,~$n$'.
 
-   * Between a person's forenames and between multiple surnames:
-     'Donald~E. Knuth', or 'Luis~I. Trabb~Pardo', or 'Charles~XII' (but
-     you must give TeX places to break the line so you may do 'Charles
-     Louis Xavier~Joseph de~la Vall\'ee~Poussin').
+   * Between a person's given names and between multiple surnames:
+     'Donald~E. Knuth', or 'Luis~I. Trabb~Pardo', or 'Charles~XII'--but
+     you must give TeX places to break the line so you might do 'Charles
+     Louis Xavier~Joseph de~la Vall\'ee~Poussin'.
 
-   * Before a dash: 'pages 12~--14' or 'it is~--- it must be said~---
-     plausible'.
-
 
 File: latex2e.info,  Node: \thinspace & \negthinspace,  Next: \/,  Prev: ~,  Up: Spaces
 
@@ -10863,22 +12129,26 @@
      \thinspace
      \negthinspace
 
-   Produce an unbreakable and unstretchable space of 1/6em and -1/6em.
-These are the text mode equivalents of '\,' and '\!' (*note Spacing in
-math mode/\thinspace::).  You can use '\,' as a synonym for '\thinspace'
-in text mode.
+   These produce unbreakable and unstretchable spaces of 1/6em and
+-1/6em, respectively.  These are the text mode equivalents of '\,' and
+'\!' (*note Spacing in math mode/\thinspace::).
 
-   The '\negthinspace' command is used in text mode mostly for fiddling
-with spaces.  One common use of '\thinspace' is as the space between
-nested quotes.
+   You can use '\,' as a synonym for '\thinspace' in text mode.
 
+   One common use of '\thinspace' is as the space between nested quotes:
+
      Killick replied, ``I heard the Captain say, `Ahoy there.'\thinspace''
 
 Another use is that some style guides call for a '\thinspace' between an
-ellipsis and a sentence ending period (other style guides, though, think
-the three dots are quite enough already).  Still another use is between
-initials, as in 'D.\thinspace E.\ Knuth'.
+ellipsis and a sentence ending period (other style guides, think the
+three dots and/or four dots are plenty).  Another style-specific use is
+between initials, as in 'D.\thinspace E.\ Knuth'.
 
+   LaTeX provides a variety of similar spacing commands (*note Spacing
+in math mode::).  With 'amsmath', or as of the 2020-10-01 LaTeX release,
+they can be used in text mode as well as math mode, including '\!' for
+'\negthinspace'; before that, they were available only in math mode.
+
 
 File: latex2e.info,  Node: \/,  Next: \hrulefill & \dotfill,  Prev: \thinspace & \negthinspace,  Up: Spaces
 
@@ -10890,10 +12160,10 @@
      BEFORE-CHARACTER\/AFTER-CHARACTER
 
    Insert an "italic correction", a small space defined by the font
-designer for each character, to avoid the character colliding with
-whatever follows.  When you use '\/', LaTeX takes the correction from
-the font metric file, scales it by any scaling that has been applied to
-the font, and then inserts that much horizontal space.
+designer for each character (possibly zero), to avoid the character
+colliding with whatever follows.  When you use '\/', LaTeX takes the
+correction from the font metric file, scales it by any scaling that has
+been applied to the font, and then inserts that much horizontal space.
 
    Here, were it not for the '\/', the BEFORE-CHARACTER italic f would
 hit the AFTER-CHARACTER roman H
@@ -10900,23 +12170,33 @@
 
      \newcommand{\companylogo}{{\it f}\/H}
 
-because the italic letter leans far to the right.
+because the italic letter f leans far to the right.
 
    If AFTER-CHARACTER is a period or comma then don't insert an italic
-correction since those punctuation symbols have a very small height.
-However, with semicolons or colons as well as with normal letters, the
-italic correction can help.
+correction since those punctuation symbols are so low to the baseline
+already.  However, with semicolons or colons, as well as with normal
+letters, the italic correction can help.  It is typically used between a
+switch from italic or slanted fonts to an upright font.
 
-   When you use commands such as '\textit' or '\itshape' to change
-fonts, LaTeX will automatically insert any needed italic correction
-(*note Font styles::).
+   When you use commands such as '\emph' and '\textit' and '\textsl' to
+change fonts, LaTeX automatically inserts the italic correction when
+needed (*note Font styles::).  However, declarations such as '\em' and
+'\itshape' and '\slshape' do not automatically insert italic
+corrections.
 
-   Roman characters can also have an italic correction.  An example is
-in the name 'pdf\/\TeX'.
+   Upright characters can also have an italic correction.  An example
+where this is needed is the name 'pdf\/\TeX'.  However, most upright
+characters have a zero italic correction.  Some font creators do not
+include italic correction values even for italic fonts.
 
-   There is no concept of italic correction in math mode; spacing is
-done in a different way.
+   Technically, LaTeX uses another font-specific value, the so-called
+slant parameter (namely '\fontdimen1'), to determine whether to possibly
+insert an italic correction, rather than tying the action to particular
+font commands.
 
+   There is no concept of italic correction in math mode; math spacing
+is done in a different way.
+
 
 File: latex2e.info,  Node: \hrulefill & \dotfill,  Next: \bigskip & \medskip & \smallskip,  Prev: \/,  Up: Spaces
 
@@ -11161,7 +12441,7 @@
      \vspace{1ex plus 0.5ex}
      The new day dawned cold.
 
-(*Note \bigskip & \medskip & \smallskip:: for common inter-paragraph
+(*Note \bigskip & \medskip & \smallskip::, for common inter-paragraph
 spaces.)
 
    The '*'-version inserts vertical space that non-discardable.  More
@@ -11261,7 +12541,7 @@
 
 Now uncomment the second '\addvspace'.  It does not make the gap 20pt
 longer; instead the gap is the sum of '\baselineskip' and 20pt.  So
-'\addvspace' in a sense does the opposite of its name -- it makes sure
+'\addvspace' in a sense does the opposite of its name--it makes sure
 that multiple vertical spaces do not accumulate, but instead that only
 the largest one is used.
 
@@ -11315,14 +12595,14 @@
 command is robust, while '\makebox' is fragile (*note \protect::).
 
    Because 'text' is not broken into lines, you can use '\mbox' to
-prevent hyphenation.  In this example, LaTeX will not hyphenate the
-table name, 'T-4'.
+prevent hyphenation.  In this example, LaTeX will not hyphenate the tank
+name, 'T-34'.
 
-     See Table~\mbox{T-4}
+     The soviet tank \mbox{T-34} is a symbol of victory against nazism.
 
-   The first two command versions, '\mbox' and '\makebox', are roughly
-equivalent.  They create a box just wide enough to contain the TEXT.
-(They are like plain TeX's '\hbox'.)
+   The first two command synopsis versions, '\mbox' and '\makebox', are
+roughly equivalent.  They create a box just wide enough to contain the
+TEXT.  (They are like plain TeX's '\hbox'.)
 
    In the third version the optional argument WIDTH specifies the width
 of the box.  Note that the space occupied by the text need not equal the
@@ -11342,8 +12622,9 @@
 
      \makebox[2\width]{Get a stretcher}
 
-   For the fourth command version the optional argument POSITION gives
-position of the text within the box.  It may take the following values:
+   For the fourth command synopsis version the optional argument
+POSITION gives position of the text within the box.  It may take the
+following values:
 
 'c'
      The TEXT is centered (default).
@@ -11370,11 +12651,11 @@
      \pts{90}An African or European swallow?
 
 
-   The right edge of the output '10 points ' (note the ending space)
-will be just before the 'What' (note the space after 'points').  You can
-use '\makebox' similarly when making graphics, such as in 'TikZ' or
-'Asymptote', where you put the edge of the text at a known location,
-regardless of the length of that text.
+   The right edge of the output '10 points ' (note the ending space
+after 'points') will be just before the 'What'.  You can use '\makebox'
+similarly when making graphics, such as in 'TikZ' or 'Asymptote', where
+you put the edge of the text at a known location, regardless of the
+length of that text.
 
    For boxes with frames see *note \fbox & \framebox::.  For colors
 see *note Colored boxes::.
@@ -11383,11 +12664,11 @@
 'picture' environment, where the length is given in terms of
 '\unitlength' (*note \makebox (picture)::).
 
-   If you put a double-backslash into TEXT then LaTeX will not give you
-a new line; for instance '\makebox{abc def \\ ghi}' outputs 'abc defghi'
-while '\makebox{abc def \par ghi}' outputs 'abc def ghi', but neither go
-to a second line.  To get multiple lines see *note \parbox:: and *note
-minipage::.
+   As TEXT is typeset in LR mode, neither a double backslash '\\' nor
+'\par' will give you a new line; for instance '\makebox{abc def \\ ghi}'
+outputs 'abc defghi' while '\makebox{abc def \par ghi}' outputs 'abc def
+ghi', both on a single line.  To get multiple lines see *note \parbox::
+and *note minipage::.
 
 
 File: latex2e.info,  Node: \fbox & \framebox,  Next: \parbox,  Prev: \mbox & \makebox,  Up: Boxes
@@ -11417,7 +12698,7 @@
 are roughly the same.  As to the third and fourth invocations, the
 optional arguments allow you to specify the box width as WIDTH and the
 position of the text inside that box as POSITION.  *Note \mbox &
-\makebox:: for the full description but here is an example creating an
+\makebox::, for the full description but here is an example creating an
 empty box that is 1/4in wide.
 
      \setlength{\fboxsep}{0pt}\framebox[0.25in]{\strut}}
@@ -11454,7 +12735,7 @@
          And if you wish to go anywhere you must run twice as fast as that.
        \end{minipage}}
 
-   *Note Colored boxes:: for colors other than black and white.
+   *Note Colored boxes::, for colors other than black and white.
 
    The 'picture' environment has a version of this command where the
 units depend on 'picture''s '\unitlength' (*note \framebox (picture)::).
@@ -11497,12 +12778,12 @@
 should not have any paragraph-making components.
 
    There are three optional arguments, POSITION, HEIGHT, and INNER-POS.
-The POSITION gives the vertical alignment of the 'parbox' with respect
-to the surrounding material.  The possible values are 'c' or 'm' to make
-the vertical center of the 'parbox' lines up with the center of the
-adjacent line (this is the default), or 't' to match the top line of the
-'parbox' with the baseline of the surrounding material, or 'b' to match
-the bottom line.
+The POSITION gives the vertical alignment of the "parbox" with respect
+to the surrounding material.  The supported values are 'c' or 'm' to
+make the vertical center of the parbox lines up with the center of the
+adjacent text line (this is the default), or 't' to match the top line
+of the parbox with the baseline of the surrounding material, or 'b' to
+match the bottom line.
 
    The optional argument HEIGHT overrides the natural height of the box.
 
@@ -11527,10 +12808,10 @@
 
    Raise or lower TEXT.  This command is fragile (*note \protect::).
 
-   This example makes a command for the restriction of a function by
-lowering the vertical bar symbol.
+   This example makes a command for denoting the restriction of a
+function by lowering the vertical bar symbol.
 
-     \newcommand\restricted[1]{\raisebox{-.5ex}{$|$}_{#1}}
+     \newcommand*\restricted[1]{\raisebox{-.5ex}{$|$}_{#1}}
      $f\restricted{A}$
 
    The first mandatory argument DISTANCE specifies how far to raise the
@@ -11549,7 +12830,7 @@
 
    This will align two graphics on their top (*note Graphics::).
 
-     \usepackage{graphicx} \usepackage{calc}  % in preamble
+     \usepackage{graphicx,calc}  % in preamble
         ...
      \begin{center}
        \raisebox{1ex-\height}{%
@@ -11576,13 +12857,14 @@
      \savebox{BOX-CMD}[WIDTH][POS]{TEXT}
 
    Typeset TEXT just as with '\makebox' (*note \mbox & \makebox::)
-except that LaTeX does not output it but instead saves it in a storage
-bin named BOX-CMD.  The bin name BOX-CMD begins with a backslash, '\'.
-You must have previously allocated the bin BOX-CMD with '\newsavebox'
-(*note \newsavebox::).The '\sbox' command is robust while '\savebox' is
+except that LaTeX does not output it but instead saves it in a box
+register referred to by a variable named BOX-CMD.  The variable name
+BOX-CMD begins with a backslash, '\'.  You must have previously
+allocated the box register BOX-CMD with '\newsavebox' (*note
+\newsavebox::).  The '\sbox' command is robust while '\savebox' is
 fragile (*note \protect::).
 
-   This creates and uses a bin.
+   This creates and uses a box register.
 
      \newsavebox{\fullname}
      \sbox{\fullname}{John Jacob Jingleheimer Schmidt}
@@ -11589,27 +12871,27 @@
        ...
      \usebox{\fullname}! His name is my name, too!
      Whenever we go out, the people always shout!
-     There goes \\usebox{\fullname}!  Ya da da da da da da.
+     There goes \usebox{\fullname}!  Ya da da da da da da.
 
-One advantage of using and reusing a bin over a '\newcommand' is
-efficiency, that LaTeX need not repeatedly retypeset the contents.  See
-the example below.
+One advantage of using and reusing a box register over a '\newcommand'
+macro variable is efficiency, that LaTeX need not repeatedly retypeset
+the contents.  See the example below.
 
    The first two command invocations, '\sbox{BOX-CMD}{TEXT}' and
 '\savebox{BOX-CMD}{TEXT}', are roughly equivalent.  As to the third and
 fourth, the optional arguments allow you to specify the box width as
 WIDTH, and the position of the text inside that box as POSITION.  *Note
-\mbox & \makebox:: for the full description.
+\mbox & \makebox::, for the full description.
 
    In the '\sbox' and '\savebox' commands the TEXT is typeset in LR mode
 so it does not have line breaks (*note Modes::).  If you use these then
 LaTeX doesn't give you an error but it ignores what you want: if you
-enter '\sbox{\newbin}{test \\ test}' and '\usebox{\newbin}' then you get
-'testtest', while if you enter '\sbox{\newbin}{test \par test}' and
-'\usebox{\newbin}' then you get 'test test', but no error or warning.
+enter '\sbox{\newreg}{test \\ test}' and '\usebox{\newreg}' then you get
+'testtest', while if you enter '\sbox{\newreg}{test \par test}' and
+'\usebox{\newreg}' then you get 'test test', but no error or warning.
 To fix this use a '\parbox' or 'minipage' as here.
 
-     \savebox{\abin}{%
+     \savebox{\areg}{%
        \begin{minipage}{\linewidth}
          \begin{enumerate}
            \item First item
@@ -11617,15 +12899,15 @@
          \end{enumerate}
        \end{minipage}}
        ...
-     \usebox{\abin}
+     \usebox{\areg}
 
-   As an example of the efficiency of reusing a bin's contents, this
-puts the same picture on each page of the document by putting it in the
-header.  LaTeX only typesets it once.
+   As an example of the efficiency of reusing a register's contents,
+this puts the same picture on each page of the document by putting it in
+the header.  LaTeX only typesets it once.
 
      \usepackage{graphicx}  % all this in the preamble
-     \newsavebox{\sealbin}
-     \savebox{\sealbin}{%
+     \newsavebox{\sealreg}
+     \savebox{\sealreg}{%
        \setlength{\unitlength}{1in}%
        \begin{picture}(0,0)%
           \put(1.5,-2.5){%
@@ -11635,13 +12917,13 @@
             \end{tabular}}
        \end{picture}%
      }
-     \markright{\usebox{\sealbin}}
+     \markright{\usebox{\sealreg}}
      \pagestyle{headings}
 
 The 'picture' environment is good for fine-tuning the placement.
 
-   If the bin has not already been defined then you get something like
-'Undefined control sequence. <argument> \nobin'.
+   If the register '\noreg' has not already been defined then you get
+something like 'Undefined control sequence. <argument> \noreg'.
 
 
 File: latex2e.info,  Node: lrbox,  Next: \usebox,  Prev: \sbox & \savebox,  Up: Boxes
@@ -11655,17 +12937,18 @@
        TEXT
      \end{lrbox}
 
-   The TEXT inside the environment is saved in the bin 'BOX-CMD'.  The
-BOX-CMD must begin with a backslash.  You must create this bin in
-advance with '\newsavebox' (*note \newsavebox::).  This is the
-environment form of the '\sbox' and '\savebox' commands, and is
-equivalent to them.  *Note \sbox & \savebox:: for the full information.
+   This is the environment form of the '\sbox' and '\savebox' commands,
+and is equivalent to them.  for the full description, *Note \sbox &
+\savebox::.
 
-   In this example the environment is convenient for entering the
-'tabular'.
+   The TEXT inside the environment is saved in the box register referred
+to by variable 'BOX-CMD'.  The variable name BOX-CMD must begin with a
+backslash, '\'.  You must allocate this box register in advance with
+'\newsavebox' (*note \newsavebox::).  In this example the environment is
+convenient for entering the 'tabular'.
 
-     \newsavebox{\jhbin}
-     \begin{lrbox}{\jhbin}
+     \newsavebox{\jhreg}
+     \begin{lrbox}{\jhreg}
        \begin{tabular}{c}
          \includegraphics[height=1in]{jh.png} \\
          Jim Hef{}feron
@@ -11672,7 +12955,7 @@
        \end{tabular}
      \end{lrbox}
        ...
-     \usebox{\jhbin}
+     \usebox{\jhreg}
 
 
 File: latex2e.info,  Node: \usebox,  Prev: lrbox,  Up: Boxes
@@ -11684,10 +12967,11 @@
 
      \usebox{BOX-CMD}
 
-   Produce the box most recently saved in the bin BOX-CMD by the
-commands '\sbox' or '\savebox', or the 'lrbox' environment.  *Note \sbox
-& \savebox:: for more information and examples.  (Note that BOX-CMD
-starts with a backslash.)  This command is robust (*note \protect::).
+   Produce the box most recently saved in the box register BOX-CMD by
+the commands '\sbox' or '\savebox', or the 'lrbox' environment.  For
+more information and examples, *Note \sbox & \savebox::.  (Note that the
+variable name BOX-CMD starts with a backslash, '\'.)  This command is
+robust (*note \protect::).
 
 
 File: latex2e.info,  Node: Color,  Next: Graphics,  Prev: Boxes,  Up: Top
@@ -11904,7 +13188,7 @@
 the synopses.
 
      Colors of \textcolor[rgb]{0.33,0.14,0.47}{Purple} and
-     {\color[rgb]{0.72,0.60,0.37} Gold} for the team.
+     {\color[rgb]{0.72,0.60,0.37}Gold} for the team.
 
    The format of COLOR SPECIFICATION depends on the color model (*note
 Color models::).  For instance, while 'rgb' takes three numbers, 'gray'
@@ -12071,7 +13355,7 @@
      '\includegraphics' command).
 
 'draft'
-     For each graphic file, it is not shown but instead the file name is
+     For each graphic file, it is not shown but instead its file name is
      printed in a box of the correct size.  In order to determine the
      size, the file must be present.
 
@@ -12124,14 +13408,15 @@
 
 Synopsis:
 
-     \graphicspath{LIST OF DIR NAMES INSIDE CURLY BRACKETS}
+     \graphicspath{LIST OF DIRECTORIES INSIDE CURLY BRACES}
 
    Declare a list of directories to search for graphics files.  This
 allows you to later say something like '\includegraphics{lion.png}'
 instead of having to give its path.
 
-   LaTeX always looks for graphic files first in the current directory.
-The declaration below tells the system to then look in the subdirectory
+   LaTeX always looks for graphic files first in the current directory
+(and the output directory, if specified; *note output directory::).  The
+declaration below tells the system to then look in the subdirectory
 'pix', and then '../pix'.
 
      \usepackage{graphicx}   % or graphics; put in preamble
@@ -12159,9 +13444,9 @@
      ...
      \usepackage{lion.png}
 
-for each of the listed directories, LaTeX concatenates it with the file
-name and searches for the result, checking for 'pix/lion.png' and then
-'../pix/lion.png'.  This algorithm means that the '\graphicspath'
+for each of the listed directories, LaTeX concatenates it with the
+filename and searches for the result, checking for 'pix/lion.png' and
+then '../pix/lion.png'.  This algorithm means that the '\graphicspath'
 command does not recursively search subdirectories: if you issue
 '\graphicspath{{a/}}' and the graphic is in 'a/b/lion.png' then LaTeX
 will not find it.  It also means that you can use absolute paths such as
@@ -12203,7 +13488,7 @@
        ...
      \includegraphics{lion}   % will find lion.png before lion.pdf
 
-Because the file name 'lion' does not have a period, LaTeX uses the
+Because the filename 'lion' does not have a period, LaTeX uses the
 extension list.  For each directory in the graphics path (*note
 \graphicspath::), LaTeX will try the extensions in the order given.  If
 it does not find such a file after trying all the directories and
@@ -12218,8 +13503,10 @@
 document; the printer driver has a sensible default.  For example, the
 most recent 'pdftex.def' has this extension list.
 
-     .png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2
+     .pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2
 
+   To change the order, use the 'grfext' package.
+
    You can use this command anywhere in the document.  You can use it
 more than once.  Show its value with
 '\makeatletter\typeout{\Gin at extensions}\makeatother'.
@@ -12256,7 +13543,7 @@
 EXTENSION
      The file extension to which this rule applies.  The extension is
      anything after and including the first dot in the filename.  Use
-     the Kleene star, '*', to denote the default behaviour for all
+     the Kleene star, '*', to denote the default behavior for all
      undeclared extensions.
 
 TYPE
@@ -12287,7 +13574,7 @@
 
 COMMAND
      A command that will be applied to the file.  This is very often
-     left blank.  This command must start with a single backward quote.
+     left empty.  This command must start with a single backward quote.
      Thus, '\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c #1}'
      specifies that any file with the extension '.eps.gz' should be
      treated as an 'eps' file, with the BoundingBox information stored
@@ -12360,10 +13647,10 @@
 example is '\includegraphics{"sister picture.jpg"}'.
 
    The '\includegraphics{FILENAME}' command decides on the type of
-graphic by splitting FILENAME on the first dot.  You can use FILENAME
-with no dot, as in '\includegraphics{turing}' and then LaTeX tries a
-sequence of extensions such as '.png' and '.pdf' until it finds a file
-with that extension (*note \DeclareGraphicsExtensions::).
+graphic by splitting FILENAME on the first dot.  You can instead use
+FILENAME with no dot, as in '\includegraphics{turing}', and then LaTeX
+tries a sequence of extensions such as '.png' and '.pdf' until it finds
+a file with that extension (*note \DeclareGraphicsExtensions::).
 
    If your file name contains dots before the extension then you can
 hide them with curly braces, as in
@@ -12372,9 +13659,9 @@
 below.  This and other filename issues are also handled with the package
 'grffile'.
 
-   This example puts a graphic in a figure environment so LaTeX can move
-it to the next page if fitting it on the current page is awkward (*note
-figure::).
+   This example puts a graphic in a 'figure' environment so LaTeX can
+move it to the next page if fitting it on the current page is awkward
+(*note figure::).
 
      \begin{figure}
        \centering
@@ -12438,7 +13725,7 @@
    There are many options.  The primary ones are listed first.
 
    Note that a graphic is placed by LaTeX into a box, which is
-traditionally referred to as its bounding box (distinct from the
+traditionally referred to as its "bounding box" (distinct from the
 PostScript BoundingBox described below).  The graphic's printed area may
 go beyond this box, or sit inside this box, but when LaTeX makes up a
 page it puts together boxes and this is the box allocated for the
@@ -12451,7 +13738,7 @@
      convenient is '\linewidth', or in a two-column document,
      '\columnwidth' (*note Page layout parameters::).  An example is
      that by using the 'calc' package you can make the graphic be 1 cm
-     narrow than the width of the text with
+     narrower than the width of the text with
      '\includegraphics[width=\linewidth-1.0cm]{hefferon.jpg}'.
 
 'height'
@@ -12482,7 +13769,7 @@
 'scale'
      Factor by which to scale the graphic.  To make a graphic twice its
      nominal size, enter '\includegraphics[scale=2.0]{...}'.  This
-     number may be any value; a number between 1 and 0 will shrink the
+     number may be any value; a number between 0 and 1 will shrink the
      graphic and a negative number will reflect it.
 
 'angle'
@@ -12510,10 +13797,10 @@
 'viewport'
      Pick out a subregion of the graphic to show.  Takes four arguments,
      separated by spaces and given in TeX dimensions, as with
-     '\includegraphics[.., viewport=0in 0in 1in 0.618in]{...}'.  The
-     dimensions default to big points, 'bp'.  They are taken relative to
-     the origin specified by the bounding box.  See also the 'trim'
-     option.
+     '\includegraphics[.., viewport=0in 0in 1in 0.618in]{...}'.  When
+     the unit is omitted, the dimensions default to big points, 'bp'.
+     They are taken relative to the origin specified by the bounding
+     box.  See also the 'trim' option.
 
 'trim'
      Gives parts of the graphic to not show.  Takes four arguments,
@@ -12561,7 +13848,7 @@
 'quiet'
      Do not write information to the log.  You can set it with
      'quiet=true' or just specified it with
-     '\includegraphics[...,quite,...]{...}',
+     '\includegraphics[...,quiet,...]{...}',
 
 'draft'
      If you set it with 'draft=true' or just specify it with
@@ -12630,7 +13917,7 @@
 
 'command'
      Specify a command to be applied to this file.  Only use this in
-     conjunction with the option 'type'.  *Note Command line options::
+     conjunction with the option 'type'.  *Note Command line options::,
      for a discussion of enabling the '\write18' functionality to run
      external commands.
 
@@ -12651,7 +13938,7 @@
 
    Put MATERIAL in a box and rotate it ANGLE degrees counterclockwise.
 
-   This example rotates the table column heads forty five degrees.
+   This example rotates the table column heads forty-five degrees.
 
      \begin{tabular}{ll}
        \rotatebox{45}{Character} &\rotatebox{45}{NATO phonetic}   \\
@@ -12788,6 +14075,7 @@
 * Text symbols::                Inserting other non-letter symbols in text.
 * Accents::                     Inserting accents.
 * Additional Latin letters::    Inserting other non-English characters.
+* inputenc package::            Set the input file text encoding.
 * \rule::                       Inserting lines and rectangles.
 * \today::                      Inserting today's date.
 
@@ -12799,7 +14087,8 @@
 
 LaTeX sets aside the following characters for special purposes.  For
 example, the percent sign '%' is for comments.  They are called
-"reserved characters" or "special characters".
+"reserved characters" or "special characters".  They are all discussed
+elsewhere in this manual.
 
      # $ % & { } _ ~ ^ \
 
@@ -12810,12 +14099,13 @@
 
    As to the last three characters, to get a tilde in the text body font
 use '\~{}' (omitting the curly braces would result in the next character
-receiving a tilde accent).  Similarly, to get a get a text body font
+receiving a tilde accent).  Similarly, to get a text body font
 circumflex use '\^{}'.  To get a backslash in the font of the text body,
 enter '\textbackslash{}'.
 
    To produce the reserved characters in a typewriter font use '\verb!!'
-as below (the double backslash '\\' is only there to split the lines).
+as below (the double backslash '\\' is only there to split the lines in
+the output).
 
      \begin{center}
        \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \\
@@ -12835,12 +14125,13 @@
      \MakeUppercase{TEXT}
      \MakeLowercase{TEXT}
 
-   Change the case of characters.  The TeX primitives commands
-'\uppercase' and '\lowercase' only work for American characters.  The
-LaTeX commands '\MakeUppercase' and '\MakeLowercase' commands also
-change characters accessed by commands such as '\ae' or '\aa'.  The
-commands '\MakeUppercase' and '\MakeLowercase' are robust but they have
-moving arguments (*note \protect::).
+   Change the case of characters.  The TeX primitive commands
+'\uppercase' and '\lowercase' are set up by default to work only with
+the 26 letters a-z and A-Z. The LaTeX commands '\MakeUppercase' and
+'\MakeLowercase' commands also change characters accessed by commands
+such as '\ae' or '\aa'.  The commands '\MakeUppercase' and
+'\MakeLowercase' are robust but they have moving arguments (*note
+\protect::).
 
    These commands do not change the case of letters used in the name of
 a command within TEXT.  But they do change the case of every other Latin
@@ -12869,6 +14160,14 @@
    To uppercase only the first letter of words, you can use the package
 'mfirstuc'.
 
+   Handling all the casing rules specified by Unicode, e.g., for
+non-Latin scripts, is a much bigger job than anything envisioned in the
+original TeX and LaTeX.  It has been implemented in the 'expl3' package
+as of 2020.  The article "Case changing: From TeX primitives to the
+Unicode algorithm", (Joseph Wright, 'TUGboat' 41:1,
+<https://tug.org/TUGboat/tb41-1/tb127wright-case.pdf>), gives a good
+overview of the topic, past and present.
+
 
 File: latex2e.info,  Node: Symbols by font position,  Next: Text symbols,  Prev: Upper and lower case,  Up: Special insertions
 
@@ -12877,12 +14176,12 @@
 
 You can access any character of the current font using its number with
 the '\symbol' command.  For example, the visible space character used in
-the '\verb*' command has the code decimal 32, so it can be typed as
-'\symbol{32}'.
+the '\verb*' command has the code decimal 32 in the standard Computer
+Modern typewriter font, so it can be typed as '\symbol{32}'.
 
    You can also specify numbers in octal (base 8) by using a ''' prefix,
-or hexadecimal (base 16) with a '"' prefix, so the previous example
-could also be written as '\symbol{'40}' or '\symbol{"20}'.
+or hexadecimal (base 16) with a '"' prefix, so the visible space at 32
+decimal could also be written as '\symbol{'40}' or '\symbol{"20}'.
 
 
 File: latex2e.info,  Node: Text symbols,  Next: Accents,  Prev: Symbols by font position,  Up: Special insertions
@@ -12892,8 +14191,10 @@
 
 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.  Unless you are using XeLaTeX or LuaLaTeX then you may
-need to load the 'textcomp' package.
+available in OT1.  As of the LaTeX February 2020 release, all symbols
+are available by default; before that, it was necessary to use the
+'textcomp' package for some (technically, those in the 'TS1' font
+encoding).
 
 '\copyright'
 '\textcopyright'
@@ -12900,10 +14201,10 @@
      (C) The copyright symbol.
 
 '\dag'
-     U+2020 The dagger symbol (in text).
+     † The dagger symbol (in text).
 
 '\ddag'
-     U+2021 The double dagger symbol (in text).
+     ‡ The double dagger symbol (in text).
 
 '\LaTeX'
      The LaTeX logo.
@@ -12911,11 +14212,11 @@
 '\LaTeXe'
      The LaTeX2e logo.
 
-'\guillemotleft (<<)'
-'\guillemotright (>>)'
-'\guilsinglleft (<)'
-'\guilsinglright (>)'
-     <<, >>, <, > Double and single angle quotation marks, commonly used
+'\guillemotleft («)'
+'\guillemotright (»)'
+'\guilsinglleft (‹)'
+'\guilsinglright (›)'
+     «, », ‹, › Double and single angle quotation marks, commonly used
      in French.
 
 '\ldots'
@@ -12929,15 +14230,15 @@
 
 '\P'
 '\textparagraph'
-     U+00B6 Paragraph sign (pilcrow).
+     ¶ Paragraph sign (pilcrow).
 
 '\pounds'
 '\textsterling'
-     # English pounds sterling.
+     £ English pounds sterling.
 
-'\quotedblbase (,,)'
-'\quotesinglbase (,)'
-     ,, and , Double and single quotation marks on the baseline.
+'\quotedblbase („)'
+'\quotesinglbase (‚)'
+     „ and ‚ Double and single quotation marks on the baseline.
 
 '\rq'
      ' Right (closing) quote.
@@ -12944,7 +14245,7 @@
 
 '\S'
 '\textsection'
-     U+00A7 Section sign.
+     § Section sign.
 
 '\TeX'
      The TeX logo.
@@ -12965,10 +14266,10 @@
      | Vertical bar.
 
 '\textbardbl'
-     U+23F8 Double vertical bar.
+     ⏸ Double vertical bar.
 
 '\textbigcircle'
-     U+25EF Big circle symbol.
+     ◯, Big circle symbol.
 
 '\textbraceleft'
      { Left brace.
@@ -12980,7 +14281,7 @@
      * Bullet.
 
 '\textcircled{LETTER}'
-     U+24B6 Circle around LETTER.
+     Ⓐ, Circle around LETTER.
 
 '\textcompwordmark'
 '\textcapitalcompwordmark'
@@ -12992,49 +14293,70 @@
      while the '\textascendercompwordmark' form has the ascender height.
 
 '\textdagger'
-     U+2020 Dagger.
+     † Dagger.
 
 '\textdaggerdbl'
-     U+2021 Double dagger.
+     ‡ Double dagger.
 
 '\textdollar (or '\$')'
      $ Dollar sign.
 
 '\textemdash (or '---')'
-     -- Em-dash (used for punctuation, as in 'The playoffs --- if you
-     are fortunate enough to make the playoffs --- is more like a
-     sprint.').
+     -- Em-dash.  Used for punctuation, usually similar to commas or
+     parentheses, as in ''The playoffs---if you're lucky enough to make
+     the playoffs---are more like a sprint.'' Conventions for spacing
+     around em-dashes vary widely.
 
 '\textendash (or '--')'
-     - En-dash (used for ranges, as in 'See pages 12--14').
+     - En-dash.  Used for ranges, as in ''see pages 12--14''.
 
 '\texteuro'
 
-     The Euro symbol: Euro.  For an alternative glyph design, try the
-     'eurosym' package; also, most fonts nowadays come with their own
-     Euro symbol (Unicode U+20AC).
+     The Euro currency symbol: €.
 
+     For an alternative glyph design, try the 'eurosym' package; also,
+     most fonts nowadays come with their own Euro symbol (Unicode
+     U+20AC).
+
 '\textexclamdown (or '!`')'
-     !  Upside down exclamation point.
+     ¡  Upside down exclamation point.
 
+'\textfiguredash'
+     Dash used between numerals, Unicode U+2012.  Defined in the June
+     2021 release of LaTeX.  When used in pdfTeX, approximated by an
+     en-dash; with a Unicode engine, either typesets the glyph if
+     available in the current font, or writes the usual "Missing
+     character" warning to the log file.
+
 '\textgreater'
      > Greater than symbol.
 
+'\texthorizontalbar'
+     Horizontal bar character, Unicode U+2015.  Defined in the June 2021
+     release of LaTeX.  Behavior as with '\textfiguredash' above; the
+     pdfTeX approximation is an em-dash.
+
 '\textless'
      < Less than symbol.
 
 '\textleftarrow'
-     U+2190 Left arrow.
+     ←, Left arrow.
 
+'\textnonbreakinghyphen'
+     Non-breaking hyphen character, Unicode U+2011.  Defined in the June
+     2021 release of LaTeX.  Behavior as with '\textfiguredash' above;
+     the pdfTeX approximation is a regular ASCII hyphen (with breaks
+     disallowed after).
+
 '\textordfeminine'
 '\textordmasculine'
-     a, o Feminine and masculine ordinal symbols.
+     ª, º Feminine and masculine ordinal symbols.
 
 '\textperiodcentered'
-     U+00B7 Centered period.
+     · Centered period.
 
 '\textquestiondown (or '?`')'
-     ?  Upside down question mark.
+     ¿  Upside down question mark.
 
 '\textquotedblleft (or '``')'
      " Double left quote.
@@ -13049,7 +14371,7 @@
      ' Single right quote.
 
 '\textquotesingle'
-     U+0027 Straight single quote.  (From TS1 encoding.)
+     ', Straight single quote.  (From TS1 encoding.)
 
 '\textquotestraightbase'
 '\textquotestraightdblbase'
@@ -13059,22 +14381,22 @@
      (R) Registered symbol.
 
 '\textrightarrow'
-     U+2192 Right arrow.
+     →, Right arrow.
 
 '\textthreequartersemdash'
-     U+FE58 "Three-quarters" em-dash, between en-dash and em-dash.
+     ﹘, "Three-quarters" em-dash, between en-dash and em-dash.
 
 '\texttrademark'
-     U+2122 Trademark symbol.
+     ™ Trademark symbol.
 
 '\texttwelveudash'
-     U+FE58 "Two-thirds" em-dash, between en-dash and em-dash.
+     ﹘, "Two-thirds" em-dash, between en-dash and em-dash.
 
 '\textunderscore'
      _ Underscore.
 
 '\textvisiblespace'
-     U+2423 Visible space symbol.
+     ␣, Visible space symbol.
 
 
 File: latex2e.info,  Node: Accents,  Next: Additional Latin letters,  Prev: Text symbols,  Up: Special insertions
@@ -13083,13 +14405,15 @@
 ============
 
 LaTeX has wide support for many of the world's scripts and languages,
-through the 'babel' package and related support if you are using
-pdfLaTeX, or 'polyglossia' if you are using XeLaTeX or LuaLaTeX.  This
-section does not cover that support.  It only lists the core LaTeX
-commands for creating accented characters.  The '\capital...' commands
-shown here produce alternative forms for use with capital letters.
-These are not available with OT1.
+provided through the core 'babel' package, which supports pdfLaTeX,
+XeLaTeX and LuaLaTeX.  The 'polyglossia' package provides similar
+support with the latter two engines.
 
+   This section does not cover that support.  It only lists the core
+LaTeX commands for creating accented characters.  The '\capital...'
+commands shown here produce alternative forms for use with capital
+letters.  These are not available with OT1.
+
    Below, to make them easier to find, the accents are all illustrated
 with lowercase 'o'.
 
@@ -13099,33 +14423,33 @@
 
 '\"'
 '\capitaldieresis'
-     o" Umlaut (dieresis).
+     ö Umlaut (dieresis).
 
 '\''
 '\capitalacute'
-     o' Acute accent.
+     ó Acute accent.
 
 '\.'
-     o. Dot accent.
+     ȯ Dot accent.
 
 '\='
 '\capitalmacron'
-     o= Macron (overbar) accent.
+     ō Macron (overbar) accent.
 
 '\^'
 '\capitalcircumflex'
-     o^ Circumflex (hat) accent.
+     ô Circumflex (hat) accent.
 
 '\`'
 '\capitalgrave'
-     o` Grave accent.
+     ò Grave accent.
 
 '\~'
 '\capitaltilde'
-     n~ Tilde accent.
+     ñ Tilde accent.
 
 '\b'
-     o_ Bar accent underneath.
+     o̲ Bar accent underneath.
 
      Related to this, '\underbar{TEXT}' produces a bar under TEXT.  The
      argument is always processed in LR mode (*note Modes::).  The bar
@@ -13135,41 +14459,92 @@
 
 '\c'
 '\capitalcedilla'
-     c, Cedilla accent underneath.
+     ç Cedilla accent underneath.
 
 '\d'
 '\capitaldotaccent'
-     .o Dot accent underneath.
+     ọ Dot accent underneath.
 
 '\H'
 '\capitalhungarumlaut'
-     o'' Long Hungarian umlaut accent.
+     ő Long Hungarian umlaut accent.
 
 '\k'
 '\capitalogonek'
-     o; Ogonek.  Not available in the OT1 encoding.
+     ǫ Ogonek.  Not available in the OT1 encoding.
 
 '\r'
 '\capitalring'
-     o* Ring accent.
+     o̊ Ring accent.
 
 '\t'
 '\capitaltie'
 '\newtie'
 '\capitalnewtie'
-     oo[ Tie-after accent.  The '\newtie' form is centered in its box.
+     oo͡ Tie-after accent.  The '\newtie' form is centered in its box.
 
 '\u'
 '\capitalbreve'
-     o( Breve accent.
+     ŏ Breve accent.
 
 '\v'
 '\capitalcaron'
-     o< Ha'c<ek (check, caron) accent.
+     ǒ Háček (check, caron) accent.
 
+* Menu:
+
+* \accent::                 Low level command to produce an accented character.
+
 
-File: latex2e.info,  Node: Additional Latin letters,  Next: \rule,  Prev: Accents,  Up: Special insertions
+File: latex2e.info,  Node: \accent,  Up: Accents
 
+23.5.1 '\accent'
+----------------
+
+Synopsis:
+
+     \accent NUMBER CHARACTER
+
+   A TeX primitive command used to generate accented characters from
+accent marks and letters.  The accent mark is selected by NUMBER, a
+numeric argument, followed by a space and then a CHARACTER argument
+constructs the accented character in the current font.
+
+   These are accented 'e' characters.
+
+     \accent18 e
+     \accent20 e
+     \accent21 e
+     \accent22 e
+     \accent23 e
+
+The first is a grave, the second is breve, etc.
+
+   The position of the accent is determined by the font designer and so
+the outcome of '\accent' use may differ between fonts.  In LaTeX it is
+desirable to have glyphs for accented characters rather than building
+them using '\accent'.  Using glyphs that already contain the accented
+characters (as in T1 encoding) allows correct hyphenation whereas
+'\accent' disables hyphenation (specifically with OT1 font encoding
+where accented glyphs are absent).
+
+   There can be an optional font change between NUMBER and CHARACTER.
+Note also that this command sets the '\spacefactor' to 1000 (*note
+\spacefactor::).
+
+   An unavoidable characteristic of some Cyrillic letters and the
+majority of accented Cyrillic letters is that they must be assembled
+from multiple elements (accents, modifiers, etc.)  while '\accent'
+provides for a single accent mark and a single letter combination.
+There are also cases where accents must appear between letters that
+\accent does not support.  Still other cases exist where the letters I
+and J have dots above their lowercase counterparts that conflict with
+dotted accent marks.  The use of '\accent' in these cases will not work
+as it cannot analyze upper/lower case.
+
+
+File: latex2e.info,  Node: Additional Latin letters,  Next: inputenc package,  Prev: Accents,  Up: Special insertions
+
 23.6 Additional Latin letters
 =============================
 
@@ -13179,15 +14554,15 @@
 
 '\aa'
 '\AA'
-     aa and AA.
+     å and Å.
 
 '\ae'
 '\AE'
-     ae and AE.
+     æ and Æ.
 
 '\dh'
 '\DH'
-     Icelandic letter eth: d and D. Not available with OT1 encoding, you
+     Icelandic letter eth: ð and Ð. Not available with OT1 encoding, you
      need the 'fontenc' package to select an alternate font encoding,
      such as T1.
 
@@ -13203,7 +14578,7 @@
 
 '\l'
 '\L'
-     /l and /L.
+     ł and Ł.
 
 '\ng'
 '\NG'
@@ -13211,26 +14586,82 @@
 
 '\o'
 '\O'
-     /o and /O.
+     ø and Ø.
 
 '\oe'
 '\OE'
-     oe and OE.
+     œ and Œ.
 
 '\ss'
 '\SS'
-     ss and SS.
+     ß and SS.
 
 '\th'
 '\TH'
-     Icelandic letter thorn: th and TH. Not available with OT1 encoding,
+     Icelandic letter thorn: þ and Þ. Not available with OT1 encoding,
      you need the 'fontenc' package to select an alternate font
      encoding, such as T1.
 
 
-File: latex2e.info,  Node: \rule,  Next: \today,  Prev: Additional Latin letters,  Up: Special insertions
+File: latex2e.info,  Node: inputenc package,  Next: \rule,  Prev: Additional Latin letters,  Up: Special insertions
 
-23.7 '\rule'
+23.7 'inputenc' package
+=======================
+
+Synopsis:
+
+     \usepackage[ENCODING-NAME]{inputenc}
+
+   Declare the input file's text encoding to be ENCODING-NAME.  The
+default, if this package is not loaded, is UTF-8.  Technically,
+specifying the encoding name is optional, but in practice it is not
+useful to omit it.
+
+   In a computer file, the characters are stored according to a scheme
+called the "encoding".  There are many different encodings.  The
+simplest is ASCII, which supports 95 printable characters, not enough
+for most of the world's languages.  For instance, to typeset the
+a-umlaut character ä in an ASCII-encoded LaTeX source file, the sequence
+'\"a' is used.  This would make source files for anything but English
+hard to read; even for English, often a more extensive encoding is more
+convenient.
+
+   The modern encoding standard, in some ways a union of the others, is
+UTF-8, one of the representations of Unicode.  This is the default for
+LaTeX since 2018.
+
+   The 'inputenc' package is how LaTeX knows what encoding is used.  For
+instance, the following command explicitly says that the input file is
+UTF-8 (note the lack of a dash).
+
+     \usepackage[utf8]{inputenc}
+
+   Caution: use 'inputenc' only with the pdfTeX engine (*note TeX
+engines::).  (The XeTeX and LuaTeX engines assume that the input file is
+UTF-8 encoded.)  If you invoke LaTeX with either the 'xelatex' command
+or the 'lualatex' command, and try to declare a non-UTF-8 encoding with
+'inputenc', such as 'latin1', then you will get the error 'inputenc is
+not designed for xetex or luatex'.
+
+   An 'inputenc' package error such as 'Invalid UTF-8 byte "96' means
+that some of the material in the input file does not follow the encoding
+scheme.  Often these errors come from copying material from a document
+that uses a different encoding than the input file; this one is a left
+single quote from a web page using 'latin1' inside a LaTeX input file
+that uses UTF-8.  The simplest solution is to replace the non-UTF-8
+character with its UTF-8 equivalent, or use a LaTeX equivalent command
+or character.
+
+   In some documents, such as a collection of journal articles from a
+variety of authors, changing the encoding in mid-document may be
+necessary.  Use the command '\inputencoding{ENCODING-NAME}'.  The most
+common values for ENCODING-NAME are: 'ascii', 'latin1', 'latin2',
+'latin3', 'latin4', 'latin5', 'latin9', 'latin10', and 'utf8'.
+
+
+File: latex2e.info,  Node: \rule,  Next: \today,  Prev: inputenc package,  Up: Special insertions
+
+23.8 '\rule'
 ============
 
 Synopsis, one of:
@@ -13240,8 +14671,8 @@
 
    Produce a "rule", a filled-in rectangle.
 
-   This produces a rectangular blob, sometimes called a Halmos symbol,
-often used to mark the end of a proof.
+   This example produces a rectangular blob, sometimes called a Halmos
+symbol, or just "qed", often used to mark the end of a proof:
 
      \newcommand{\qedsymbol}{\rule{0.4em}{2ex}}
 
@@ -13263,12 +14694,12 @@
 
    A rule that has zero width, or zero thickness, will not show up in
 the output, but can cause LaTeX to change the output around it.  *Note
-\strut:: for examples.
+\strut::, for examples.
 
 
 File: latex2e.info,  Node: \today,  Prev: \rule,  Up: Special insertions
 
-23.8 '\today'
+23.9 '\today'
 =============
 
 Synopsis:
@@ -13335,7 +14766,7 @@
 
 This will bring in material from 'pref.tex', 'chap1.tex', 'chap2.tex',
 'append.tex', and 'bib.tex'.  If you compile this file, and then comment
-out all of the lines inside '\includeonly{...}' except for 'chap1,' and
+out all of the lines inside '\includeonly{...}' except for 'chap1', and
 compile again, then LaTeX will only process the material in the first
 chapter.  Thus, your output will appear more quickly and be shorter to
 print.  However, the advantage of the '\includeonly' command is that
@@ -13343,7 +14774,7 @@
 information from the other parts of the document so these will appear in
 your output correctly.
 
-   *Note Larger book template:: for another example of '\includeonly'.
+   *Note Larger book template::, for another example of '\includeonly'.
 
 * Menu:
 
@@ -13374,12 +14805,13 @@
      This will not appear.
 
    This can be useful for putting documentation or comments at the end
-of a file, or for avoiding junk characters that can be added during
-mailing.  It is also useful for debugging: one strategy to localize
-errors is to put '\endinput' halfway through the included file and see
-if the error disappears.  Now, knowing which half contains the error,
-moving '\endinput' to halfway through that area further narrows down the
-location.  This process rapidly finds the offending line.
+of a file, or for avoiding junk characters that can be added if the file
+is transmitted in the body of an email.  It is also useful for
+debugging: one strategy to localize errors is to put '\endinput' halfway
+through the included file and see if the error disappears.  Now, knowing
+which half contains the error, moving '\endinput' to halfway through
+that area further narrows down the location.  This process rapidly finds
+the offending line.
 
    After reading '\endinput', LaTeX continues to read to the end of the
 line, so something can follow this command and be read nonetheless.
@@ -13407,11 +14839,13 @@
    The '\include' command does three things: it executes '\clearpage'
 (*note \clearpage & \cleardoublepage::), then it inputs the material
 from 'FILENAME.tex' into the document, and then it does another
-'\clearpage'.  This command can only appear in the document body.  The
-'\includeonly' command controls which files will be read by LaTeX under
-subsequent '\include' commands.  Its list of filenames is
-comma-separated, and it can only appear in the preamble.
+'\clearpage'.  This command can only appear in the document body.
 
+   The '\includeonly' command controls which files will be read by LaTeX
+under subsequent '\include' commands.  Its list of filenames is
+comma-separated.  It must appear in the preamble or even earlier, e.g.,
+the command line; it can't appear in the document body.
+
    This example root document, 'constitution.tex', brings in three
 files, 'preamble.tex', 'articles.tex', and 'amendments.tex'.
 
@@ -13437,7 +14871,7 @@
 
 Running LaTeX on 'constitution.tex' makes the material from the three
 files appear in the document but also generates the auxiliary files
-'preamble.aux', 'articles.aux', and 'amendments.tex'.  These contain
+'preamble.aux', 'articles.aux', and 'amendments.aux'.  These contain
 information such as page numbers and cross-references (*note Cross
 references::).  If you now comment out '\includeonly''s lines with
 'preamble' and 'amendments' and run LaTeX again then the resulting
@@ -13452,9 +14886,9 @@
    The '\include' command makes a new page.  To avoid that, see *note
 \input:: (which, however, does not retain the auxiliary information).
 
-   *Note Larger book template:: for another example using '\include' and
-'\includeonly'.  That example also uses '\input' for some material that
-will not necessarily start on a new page.
+   *Note Larger book template::, for another example using '\include'
+and '\includeonly'.  That example also uses '\input' for some material
+that will not necessarily start on a new page.
 
    File names can involve paths.
 
@@ -13502,7 +14936,7 @@
    If you '\include' the root file in itself then you first get 'LaTeX
 Error: Can be used only in preamble.' Later runs get 'TeX capacity
 exceeded, sorry [text input levels=15]'.  To fix this, you must remove
-the inclusion '\include{root}' but also delete the file 'ROOT.aux' and
+the inclusion '\include{ROOT}' but also delete the file 'ROOT.aux' and
 rerun LaTeX.
 
 
@@ -13591,7 +15025,7 @@
 
 Uncommenting the second line would cause that table to contain chapter
 and section listings but not subsection listings, because the '\section'
-command has level 1.  *Note Sectioning:: for level numbers of the
+command has level 1.  *Note Sectioning::, for level numbers of the
 sectioning units.  For more on the 'tocdepth' *note
 Sectioning/tocdepth::.
 
@@ -13601,7 +15035,7 @@
    If you want a page break after the table of contents, write a
 '\newpage' command after the '\tableofcontents' command, as above.
 
-   To make the table of contents LaTeX stores the information in an
+   To make the table of contents, LaTeX stores the information in an
 auxiliary file named 'ROOT-FILE.toc' (*note Splitting the input::).  For
 example, this LaTeX file 'test.tex'
 
@@ -13612,55 +15046,127 @@
      \subsection{First subsection}
        ...
 
-writes the following line to 'test.toc'.
+writes these lines to 'test.toc'.
 
      \contentsline {section}{\numberline {1}First section}{2}
      \contentsline {subsection}{\numberline {1.1}First subsection}{2}
 
-The 'section' or 'subsection' is the sectioning unit.  The hook
-'\numberline' lets you to change how the information appears in the
-table of contents.  Of its two arguments, '1' or '1.1' is the sectioning
-unit number and 'First section' or 'First subsection' is the title.
-Finally, '2' is the page number on which the sectioning units start.
+Each line contains a single command, '\contentsline' (*note
+\contentsline::).  The first argument, the 'section' or 'subsection', is
+the sectioning unit.  The second argument has two components.  The hook
+'\numberline' determines how the sectioning number, '1' or '1.1',
+appears in the table of contents (*note \numberline::).  The remainder
+of the second argument of '\contentsline', 'First section' or 'First
+subsection', is the sectioning title text.  Finally, the third argument,
+'2', is the page number on which this sectioning unit starts.
 
-   One consequence of this auxiliary file storage strategy is that to
-get the contents page correct you must run LaTeX twice, once to store
-the information and once to get it.  In particular, the first time that
-you run LaTeX on a new document, the table of contents page will be
-empty except for its 'Contents' header.  Just run it again.
+   To typeset these lines, the document class provides '\l at SECTION-UNIT'
+commands such as '\l at section{TEXT}{PAGENUMBER}' and
+'\l at subsection{TEXT}{PAGENUMBER}'.  These commands often use the
+'\@dottedtocline' command (*note \@dottedtocline::).
 
+   A consequence of LaTeX's strategy of using auxiliary files is that to
+get the correct information in the document you must run LaTeX twice,
+once to store the information and the second time to retrieve it.  In
+the ordinary course of writing a document authors run LaTeX a number of
+times, but you may notice that the first time that you compile a new
+document, the table of contents page will be empty except for its
+'Contents' header.  Just run LaTeX again.
+
    The commands '\listoffigures' and '\listoftables' produce a list of
-figures and a list of tables.  They work the same way as the contents
-commands; for instance, these work with information stored in '.lof' and
-'.lot' files.
+figures and a list of tables.  Their information is stored in files with
+extension '.lof' and '.lot'.  They work the same way as
+'\tableofcontents' but the latter is more common, so we use it for most
+examples.
 
-   To change the header for the table of contents page do something like
-the first line here.
+   You can manually add material to the table of contents, the list of
+figures, and the list of tables.  For instance, add a line about a
+section to the table of contents with
+'\addcontentsline{toc}{section}{TEXT}'.  (*note \addcontentsline::).
+Add arbitrary material, that is, non-line material, with
+'\addtocontents', as with the command
+'\addtocontents{lof}{\protect\vspace{2ex}}', which adds vertical space
+to the list of figures (*note \addtocontents::).
 
-     \renewcommand{\contentsname}{Table of contents}
+   Lines in the table of contents, the list of figures, and the list of
+tables, have four parts.  First is an indent.  Next is a box into which
+sectioning numbers are placed, and then the third box holds the title
+text, such as 'First section'.  Finally there is a box up against the
+right margin, inside of which LaTeX puts the page number box.  For the
+indent and the width of the number box, *note \@dottedtocline::.  The
+right margin box has width '\@tocrmarg' and the page number is flush
+right in that space, inside a box of width '\@pnumwidth'.  By default
+'\@tocrmarg' is '2.55em' and '\@pnumwidth' is '1.55em'.  Change these as
+with '\renewcommand{\@tocrmarg}{3.5em}'.
+
+   CTAN has many packages for the table of contents and lists of figures
+and tables (*note CTAN::).  The package 'tocloft' is convenient for
+adjusting some aspects of the default such as spacing.  And,
+'tocbibbind' will automatically add the bibliography, index, etc.  to
+the table of contents.
+
+   To change the header for the table of contents page, do something
+like these commands before you call '\tableofcontents', etc.
+
+     \renewcommand{\contentsname}{Table of Contents}
      \renewcommand{\listfigurename}{Plots}
-     \renewcommand{\listtablename}{Tables}
+     \renewcommand{\listtablename}{Specifications}
 
-Similarly, the other two lines will do the other two.
-Internationalization packages such as 'babel' or 'polyglossia' will
-change the headers depending on the chosen base language.
 
-   CTAN has many packages for the table of contents and lists of figures
-and tables.  One convenient one for adjusting some aspects of the
-default, such as spacing, is 'tocloft'.  And, 'tocbibbind' will
-automatically add the bibliography, index, etc.  to the table of
-contents.
+   Internationalization packages such as 'babel' or 'polyglossia' will
+change these headers depending on the chosen base language.
 
 * Menu:
 
+* \@dottedtocline::    Format entry line in table of contents, etc.
 * \addcontentsline::    Add an entry to table of contents, etc.
 * \addtocontents::      Add text directly to table of contents file, etc.
+* \contentsline::       Set line in table of contents, etc.
 * \nofiles::            Prevent writing to auxiliary files.
+* \numberline::         Put its number argument flush left in a box.
 
 
-File: latex2e.info,  Node: \addcontentsline,  Next: \addtocontents,  Up: Table of contents etc.
+File: latex2e.info,  Node: \@dottedtocline,  Next: \addcontentsline,  Up: Table of contents etc.
 
-25.1.1 '\addcontentsline'
+25.1.1 '\@dottedtocline'
+------------------------
+
+Synopsis:
+
+     \@dottedtocline{SECTION-LEVEL-NUM}{INDENT}{NUMWIDTH}{TEXT}{PAGENUMBER}
+
+   Used internally by LaTeX to format an entry line in the table of
+contents, list of figures, or list of tables.  Authors do not directly
+enter '\@dottedtocline' commands.
+
+   This command is typically used by '\l at section', '\l at subsection',
+etc., to format the content lines.  For example, the 'article.cls' file
+contains these definitions:
+
+     \newcommand*\l at section{\@dottedtocline{1}{1.5em}{2.3em}}
+     \newcommand*\l at subsection{\@dottedtocline{2}{3.8em}{3.2em}}
+     \newcommand*\l at subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
+
+In this example, '\@dottedcline' appears to have been given only three
+arguments.  But tracing the internal code shows that it picks up the
+final TEXT and PAGENUMBER arguments in the synopsis from a call to
+'\contentsline'.
+
+   Between the box for the title text of a section and the right margin
+box, these '\@dottedtocline' commands insert "leaders", that is,
+evenly-spaced dots.  The dot-to-dot space is given by the command
+'\@dotsep'.  By default it is 4.5 (it is in math units, which are
+'1/18' em.  Change it using '\renewcommand', as in
+'\renewcommand{\@dotsep}{3.5}'.
+
+   In the default book class, LaTeX does not use dotted leaders for the
+Part and Chapter table entries, and in the default article class it does
+not use dotted leaders for Section entries.
+
+
+File: latex2e.info,  Node: \addcontentsline,  Next: \addtocontents,  Prev: \@dottedtocline,  Up: Table of contents etc.
+
+25.1.2 '\addcontentsline'
 -------------------------
 
 Synopsis:
@@ -13667,9 +15173,7 @@
 
      \addcontentsline{EXT}{UNIT}{TEXT}
 
-   Add an entry to the file specified by EXT.  Usually EXT is one of
-'toc' for the table of contents, 'lof' for the list of figures, or 'lot'
-for the list of tables.
+   Add an entry to the auxiliary file with extension EXT.
 
    The following will result in an 'Appendices' line in the table of
 contents.
@@ -13683,20 +15187,23 @@
    The '\addcontentsline' command writes information to the file
 'ROOT-NAME.EXT'.  It writes that information as the text of the command
 '\contentsline{UNIT}{TEXT}{NUM}', where 'NUM' is the current value of
-counter 'UNIT'.  The most common case is the table of contents and there
-NUM is the page number of the first page of UNIT.
+counter 'UNIT' (*note \contentsline::).  The most common case is the
+table of contents and there NUM is the page number of the first page of
+UNIT.
 
    This command is invoked by the sectioning commands '\chapter', etc.,
 and also by '\caption' inside a float environment.  But it is also used
-by authors.  For example, in a book to have the preface unnumbered, you
-may use the starred '\chapter*'.  But that does not put in table of
-contents information, so you can enter it manually, as here.
+by authors.  For example, an author writing a book whose style is to
+have an unnumbered preface may use the starred '\chapter*'.  But that
+command leaves out table of contents information, which can be entered
+manually, as here.
 
      \chapter*{Preface}
      \addcontentsline{toc}{chapter}{\protect\numberline{}Preface}
 
 In the '.toc' file LaTeX will put the line '\contentsline
-{chapter}{\numberline {}Preface}{3}'; note the page number '3'.
+{chapter}{\numberline {}Preface}{3}'; note that the page number '3' is
+automatically generated by the system, not entered manually.
 
    All of the arguments for '\addcontentsline' are required.
 
@@ -13736,9 +15243,9 @@
 will not make sense.
 
 
-File: latex2e.info,  Node: \addtocontents,  Next: \nofiles,  Prev: \addcontentsline,  Up: Table of contents etc.
+File: latex2e.info,  Node: \addtocontents,  Next: \contentsline,  Prev: \addcontentsline,  Up: Table of contents etc.
 
-25.1.2 '\addtocontents'
+25.1.3 '\addtocontents'
 -----------------------
 
 Synopsis:
@@ -13747,8 +15254,8 @@
 
    Add TEXT, which may be text or formatting commands, directly to the
 auxiliary file with extension EXT.  This is most commonly used for the
-table of contents so that is the discussion here, but this also applies
-to the list of figures and list of tables.
+table of contents so that is the discussion here, but it also applies to
+the list of figures and list of tables.
 
    This will put some vertical space in the table of contents after the
 'Contents' header.
@@ -13756,6 +15263,24 @@
      \tableofcontents\newpage
      \addtocontents{toc}{\protect\vspace*{3ex}}
 
+This puts the word 'Page', in boldface, above the column of page numbers
+and after the header.
+
+     \tableofcontents
+     \addtocontents{toc}{~\hfill\textbf{Page}\par}
+     \chapter{...}
+
+This adds a line announcing work by a new author.
+
+     \addtocontents{toc}{%
+       \protect\vspace{2ex}
+       \textbf{Chapters by N. Other Author}\par}
+
+   The difference between '\addtocontents' and '\addcontentsline' is
+that the latter is strictly for lines, such as with a line giving the
+page number for the start of a new subset of the chapters.  As the above
+examples show, '\addtocontents' is for material such as spacing.
+
    The '\addtocontents' command has two arguments.  Both are required.
 
 EXT
@@ -13779,9 +15304,52 @@
 '\addtocontents' into the file being included.
 
 
-File: latex2e.info,  Node: \nofiles,  Prev: \addtocontents,  Up: Table of contents etc.
+File: latex2e.info,  Node: \contentsline,  Next: \nofiles,  Prev: \addtocontents,  Up: Table of contents etc.
 
-25.1.3 '\nofiles'
+25.1.4 '\contentsline'
+----------------------
+
+Synopsis:
+
+     \contentsline{UNIT}{TEXT}{PAGENUMBER}
+
+   Used internally by LaTeX to typeset an entry of the table of
+contents, list of figures, or list of tables (*note Table of contents
+etc.::).  Authors do not directly enter '\contentsline' commands.
+
+   Usually adding material to these lists is done automatically by the
+commands '\chapter', '\section', etc.  for the table of contents, or by
+the '\caption' command inside of a '\figure' or '\table' environment
+(*note figure:: and *note table::).  Thus, where the base file is
+'thesis.tex', and contains the declaration '\tableofcontents', the
+command '\chapter{Chapter One}' produces something like this in the file
+'thesis.toc'.
+
+     \contentsline {chapter}{\numberline {1}Chapter One}{3}
+
+   If the file contains the declaration '\listoffigures' then a figure
+environment involving '\caption{Test}' will produce something like this
+in 'thesis.lof'.
+
+     \contentsline {figure}{\numberline {1.1}{\ignorespaces Test}}{6}
+
+   To manually add material, use
+'\addcontentsline{FILETYPE}{UNIT}{TEXT}', where FILETYPE is 'toc',
+'lof', or 'lot' (*note \addcontentsline::).
+
+   For manipulating how the '\contentline' material is typeset, see the
+'tocloft' package.
+
+   Note that the 'hyperref' package changes the definition of
+'\contentsline' (and '\addcontentsline') to add more arguments, to make
+hyperlinks.  This is the source of the error 'Argument of \contentsline
+has an extra }'.  Fix this error by deleting the '.toc' or '.lof' or
+'.lot' file, and running LaTeX again.
+
+
+File: latex2e.info,  Node: \nofiles,  Next: \numberline,  Prev: \contentsline,  Up: Table of contents etc.
+
+25.1.5 '\nofiles'
 -----------------
 
 Synopsis:
@@ -13807,6 +15375,38 @@
 the table of contents page will continue to show the old information.
 
 
+File: latex2e.info,  Node: \numberline,  Prev: \nofiles,  Up: Table of contents etc.
+
+25.1.6 '\numberline'
+--------------------
+
+Synopsis:
+
+     \numberline{NUMBER}
+
+   Typeset its argument flush left in a box.  This is used in a
+'\contentsline' command to typeset the section number (*note
+\contentsline::).
+
+   For example, this line in a '.toc' file causes the '1' to be typeset
+flush left.
+
+     \contentsline {subsection}{\numberline {1.1}Motivation}{2}
+
+   By default, LaTeX typesets the section numbers in a box of length
+'\@tempdima'.  That length is set by the commands '\l at section',
+'\l at subsection', etc.  Put section numbers inside a natural-width box
+with '\renewcommand{\numberline}[1]{#1~}'.
+
+   This command is fragile, so you may need to precede it with
+'\protect' (*note \protect::).  An example is the use of '\protect' in
+the command
+'\addcontentsline{toc}{section}{\protect\numberline{}Summary}' to get
+the '\numberline' into this command in the '.toc' file: '\contentsline
+{section}{\numberline {}Summary}{6}' (the page number '6' is
+automatically added by LaTeX; *note \addcontentsline::).
+
+
 File: latex2e.info,  Node: Indexes,  Next: Glossaries,  Prev: Table of contents etc.,  Up: Front/back matter
 
 25.2 Indexes
@@ -13838,12 +15438,12 @@
 Finally, you bring the information back into your document and typeset
 it with the '\printindex' command (*note \printindex::).
 
-   There are many packages that apply to indexing commands.  The
-'showidx' package causes each index entries to be shown in the margin on
-the page where the entry appears.  This can help in preparing the index.
-The 'multind' package supports multiple indexes.  See also the TeX FAQ
-entry on this topic,
-<http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind>.
+   There are many packages in the area of indexing.  The 'showidx'
+package causes each index entries to be shown in the margin on the page
+where the entry appears.  This can help in preparing the index.  The
+'multind' package, among others, supports multiple indexes.  See also
+the TeX FAQ entry on this topic, <https://www.texfaq.org/FAQ-multind>,
+and the CTAN topic, <https://ctan.org/topic/index-multi>.
 
 * Menu:
 
@@ -13938,7 +15538,7 @@
 which outputs an index entry like 'function, 23--27' where the page
 number range is in blue.
 
-   Consider an index entry such as 'U+03B1-ring'.  Entering it as
+   Consider an index entry such as 'α-ring'.  Entering it as
 '$\alpha$-ring' will cause it to be alphabetized according to the dollar
 sign.  You can instead enter it using an at-sign, as
 '\index{alpha-ring@$\alpha$-ring}'.  If you specify an entry with an
@@ -14030,8 +15630,8 @@
      Traditionally index items are broken into groups, typically a group
      for entries starting with 'a', etc.  This specifier gives what is
      inserted when a new group begins.  Default: '"\n\n \\indexspace\n"'
-     ('\indexspace' is a rubber length with default value '10pt plus5pt
-     minus3pt').
+     ('\indexspace' is a command inserting a rubber length, by default
+     '10pt plus5pt minus3pt').
 
 'lethead_flag'
      An integer.  It governs what is inserted for a new group or letter.
@@ -14121,11 +15721,15 @@
      '"rnaRA"'.
 
    There are a number of other programs that do the job 'makeindex'
-does.  One is 'xindy', which does internationalization and can process
-indexes for documents marked up using LaTeX and a number of other
-languages.  It is highly configurable, both in markup terms and in terms
-of the collating order of the text, as described in its documentation.
+does.  One is 'xindy' (https://ctan.org/pkg/xindy), which does
+internationalization and can process indexes for documents marked up
+using LaTeX and a number of other languages.  It is written in Lisp,
+highly configurable, both in markup terms and in terms of the collating
+order of the text, as described in its documentation.
 
+   A more recent indexing program supporting Unicode is 'xindex',
+written in Lua (<https://ctan.org/pkg/xindex>).
+
 
 File: latex2e.info,  Node: \printindex,  Prev: makeindex,  Up: Indexes
 
@@ -14141,7 +15745,7 @@
    To get an index you must first include
 '\usepackage{makeidx}\makeindex' in the document preamble and compile
 the document, then run the system command 'makeindex', and then compile
-the document again.  *Note Indexes:: for further discussion and an
+the document again.  *Note Indexes::, for further discussion and an
 example of the use of '\printindex'.
 
 
@@ -14228,8 +15832,8 @@
 document.  The settings associated with the label are pairs:
 'KEY=VALUE'.
 
-   This puts the blackboard bold symbol for the real numbers U+211D in
-the glossary.
+   This puts the blackboard bold symbol for the real numbers ℝ, in the
+glossary.
 
      \newglossaryentry{R}
      {
@@ -14296,7 +15900,7 @@
 plural.
 
 
-File: latex2e.info,  Node: Letters,  Next: Terminal input/output,  Prev: Front/back matter,  Up: Top
+File: latex2e.info,  Node: Letters,  Next: Input/output,  Prev: Front/back matter,  Up: Top
 
 26 Letters
 **********
@@ -14641,20 +16245,130 @@
 page.
 
 
-File: latex2e.info,  Node: Terminal input/output,  Next: Command line,  Prev: Letters,  Up: Top
+File: latex2e.info,  Node: Input/output,  Next: Command line interface,  Prev: Letters,  Up: Top
 
-27 Terminal input/output
-************************
+27 Input/output
+***************
 
+LaTeX uses the ability to write to a file and later read it back in to
+build document components such as a table of contents or index.  You can
+also read a file that other programs written, or write a file for others
+to read.  You can communicate with users through the terminal.  And, you
+can issue instructions for the operating system.
+
 * Menu:
 
+* \openin & \openout::  Open a file.
+* \read::               Read text from a file.
 * \typein::             Read text from the terminal.
 * \typeout::            Write text to the terminal.
+* \write::              Write text to a file or terminal.
 
 
-File: latex2e.info,  Node: \typein,  Next: \typeout,  Up: Terminal input/output
+File: latex2e.info,  Node: \openin & \openout,  Next: \read,  Up: Input/output
 
-27.1 '\typein'
+27.1 '\openin' & '\openout'
+===========================
+
+Synopsis:
+
+     \openin NUMBER=FILENAME
+
+   or:
+
+     \openout NUMBER=FILENAME
+
+   Open a file for reading material, or for writing it.  The NUMBER must
+be between 0 and 15, as in '\openin3' (in LuaLaTeX NUMBER can be between
+0 and 255).
+
+   Here TeX opens the file 'presidents.tex' for reading.
+
+     \newread\presidentsfile
+     \openin\presidentsfile=presidents
+     \typeout{presidentsfile is \the\presidentsfile}
+     \read\presidentsfile to\presidentline
+     \typeout{\presidentline}
+
+The '\newread' command allocates input stream numbers from 0 to 15
+(there is also a '\newwrite').  The '\presidentsfile' is more memorable
+but under the hood it is still a number; the first '\typeout' gives
+something like 'presidentsfile is 1'.  In addition, '\newread' keeps
+track of the allocation so that if you use too many then you get an
+error like '! No room for a new \read'.  The second '\typeout' gives the
+first line of the file, something like '1 Washington, George'.
+
+   Ordinarily TeX will not try to open the file until the next page
+shipout.  To change this, use '\immediate\openin NUMBER=FILENAME' or
+'\immediate\openout NUMBER=FILENAME'.
+
+   Close files with '\closein NUMBER' and '\closeout NUMBER'.
+
+   How LaTeX handles filenames varies among distributions, and even can
+vary among versions of a distribution.  If the file does not have an
+extension then TeX will add a '.tex'.  This creates 'presidents.tex',
+writes one line to it, and closes it.
+
+     \newwrite\presidentsfile
+     \openout\presidentsfile=presidents
+     \write\presidentsfile{1 Washington, George}
+     \closeout\presidentsfile
+
+But filenames with a period can cause trouble: if TeX finds a FILENAME
+of 'presidents.dat' it could look first for 'presidents.dat.tex' and
+later for 'presidents.dat', or it could do the opposite.  Your
+distribution's documentation should say more, and if you find something
+that works for you then you are good, but to ensure complete portability
+the best thing is to use file names containing only the twenty six ASCII
+letters (not case-sensitive) and the ten digits, along with underscore
+and dash, and in particular with no dot or space.
+
+   For '\openin', if TeX cannot find the file then it does not give an
+error.  It just considers that the stream is not open (test for this
+with '\ifeof'; one recourse is the command '\InputIfFileExists', *note
+Class and package commands::).  If you try to use the same number twice,
+LaTeX won't give you an error.  If you try to use a bad number then you
+get an error message like '! Bad number (16). <to be read again> = l.30
+\openin16=test.jh'.
+
+
+File: latex2e.info,  Node: \read,  Next: \typein,  Prev: \openin & \openout,  Up: Input/output
+
+27.2 '\read'
+============
+
+Synopsis:
+
+     \read NUMBER toMACRO
+
+   Make the command MACRO contain the next line of input from text
+stream NUMBER, as in '\read5 to\data'.
+
+   This opens the file 'email.tex' for reading, puts the contents of the
+first line into the command '\email', and then closes the file.
+
+     \newread\recipientfile
+     \openin\recipientfile=email
+     \read\recipientfile to\email
+     \typeout{Email address: \email}
+     \closein\recipientfile
+
+   If NUMBER is outside the range from 0 to 15 or if no file of that
+number is open, or if the file has ended, then '\read' will take input
+from the terminal (or exit if interaction is not allowed, e.g.,
+'\nonstopmode'; *note interaction modes::).  (However, the natural way
+in LaTeX to take input from the terminal is '\typein' (*note \typein::.)
+
+   To read an entire file as additional LaTeX source, use '\input'
+(*note \input::) or '\include' (*note \include & \includeonly::).
+
+   A common reason to want to read from a data file is to do mail
+merges.  CTAN has a number of packages for that; one is 'datatool'.
+
+
+File: latex2e.info,  Node: \typein,  Next: \typeout,  Prev: \read,  Up: Input/output
+
+27.3 '\typein'
 ==============
 
 Synopsis, one of:
@@ -14683,8 +16397,8 @@
 in place of the '\typein' command.
 
    In the second command version the optional argument 'CMD' argument
-must be a command name -- it must begin with a backslash, \.  This
-command name is then defined or redefined to be the input that you
+must be a command name, that is, it must begin with a backslash, \.
+This command name is then defined or redefined to be the input that you
 typed.  For example, this
 
      \typein[\student]{Enter student name:}
@@ -14700,9 +16414,9 @@
 where the user has entered 'John Dee.'
 
 
-File: latex2e.info,  Node: \typeout,  Prev: \typein,  Up: Terminal input/output
+File: latex2e.info,  Node: \typeout,  Next: \write,  Prev: \typein,  Up: Input/output
 
-27.2 '\typeout'
+27.4 '\typeout'
 ===============
 
 Synopsis:
@@ -14736,17 +16450,305 @@
 produces on the command line 'The length is 5.0pt'.
 
 
-File: latex2e.info,  Node: Command line,  Next: Document templates,  Prev: Terminal input/output,  Up: Top
+File: latex2e.info,  Node: \write,  Prev: \typeout,  Up: Input/output
 
-28 Command line
-***************
+27.5 '\write'
+=============
 
+Synopsis:
+
+     \write NUMBER{STRING}
+
+   Write STRING to the log file, to the terminal, or to a file opened by
+'\openout'.  For instance, '\write6' writes to text stream number 6.
+
+   If the following appears in 'BASEFILE.tex' then it opens
+'BASEFILE.jh', writes 'Hello World!' and a newline to it, and closes
+that file.
+
+     \newwrite\myfile
+     \immediate\openout\myfile=\jobname.jh  % \jobname is root file basename
+     ...
+     \immediate\write\myfile{Hello world!}
+     ...
+     \immediate\closeout\myfile
+
+The '\newwrite' allocates a stream number, giving it a symbolic name to
+make life easier, so that 'stream \newwrite\myfile\the\myfile' produces
+something like 'stream 3'.  Then '\openout' associates the stream number
+with the given file name.  TeX ultimately executed '\write3' which puts
+the string in the file.
+
+   Typically NUMBER is between 0 and 15, because typically LaTeX authors
+follow the prior example and the number is allocated by the system.  If
+NUMBER is outside the range from 0 to 15 or if it is not associated with
+an open file then LaTeX writes STRING to the log file.  If NUMBER is
+positive then in addition LaTeX writes STRING to the terminal.
+
+   Thus, 'test \write-1{Hello World!}' puts 'Hello World!' followed by a
+newline in the log file.  (This is what the '\wlog' command does; *note
+\wlog::).  And '\write100{Hello World!}' puts the same in the log file
+but also puts 'Hello World!' followed by a newline in the terminal
+output.  (But 16, 17, and 18 are special as NUMBER; see below.)
+
+   In LuaTeX, instead of 16 output streams there are 256 (*note TeX
+engines::).
+
+   Use '\write\@auxout{STRING}' to write to the current '.aux' file,
+which is associated with either the root file or with the current
+include file; and use '\write\@mainaux{STRING}' to write to the main
+'.aux'.  These symbolic names are defined by LaTeX.
+
+   By default LaTeX does not write STRING to the file right away.  This
+is because, for example, you may need '\write' to save the current page
+number, but when TeX comes across a '\write' it typically does not know
+what the page number is, since it has not yet done the page breaking.
+So, you use '\write' in one of three contexts:
+
+     \immediate\write\@auxout{STRING}      %1
+     \write\@auxout{STRING}                %2
+     \protected at write\@auxout{}{STRING}    %3
+
+  1. With the first, LaTeX writes STRING to the file immediately.  Any
+     macros in STRING are fully expanded (just as in '\edef') so to
+     prevent expansion you must use '\noexpand', 'toks', etc., except
+     that you should use '#' instead of '##').
+
+  2. With the second, STRING is stored on the current list of things (as
+     a TeX "whatsit" item) and kept until the page is shipped out and
+     likewise the macros are unexpanded until '\shipout'.  At
+     '\shipout', STRING is fully expanded.
+
+  3. The third, '\protected at write', is like the second except that you
+     can use '\protect' to avoid expansion.  The extra first argument
+     allows you to locally insert extra definitions to make more macros
+     protected or to have some other special definition for the write.
+
+   As a simple example of expansion with '\write', STRING here contains
+a control sequence '\triplex' which we've defined to be the text 'XYZ':
+
+     \newwrite\jhfile
+     \openout\jhfile=test.jh
+     \newcommand{\triplex}{XYZ}
+     \write\jhfile{test \triplex test}
+
+This results in the file 'test.jh' containing the text 'test XYZtest'
+followed by a newline.
+
+   The cases where NUMBER is 16, 17, or 18 are special.  Because of
+'\write''s behavior when NUMBER is outside the range from 0 to 15
+described above, in Plain TeX '\write16' and '\write17' were sometimes
+used to write to the log file and the terminal; however, in LaTeX, the
+natural way to do that is with '\typeout' (*note \typeout::).  The
+'\write18' command is even more special; modern TeX systems use it for
+giving commands to the operating system (*note \write18::).
+
+   Ordinarily '\write' outputs a single line.  You can include a newline
+with '^^J'.  Thus, this produces two lines in the log file:
+
+     \wlog{Parallel lines have a lot in common.^^JBut they never meet.}
+
+   A common case where authors need to write their own file is for
+answers to exercises, or another situation where you want to write out
+verbatim, without expanding the macros.  CTAN has a number of packages
+for this; one is 'answers'.
+
+* Menu:
+
+* \write and security:: Security.
+* \message::          Write text to the log file and terminal.
+* \wlog::             Write text to the log file.
+* \write18::          Run an operating system command.
+
+
+File: latex2e.info,  Node: \write and security,  Next: \message,  Up: \write
+
+27.5.1 '\write' and security
+----------------------------
+
+The ability to write files raises security issues.  If you compiled a
+downloaded LaTeX file and it overwrote your password file then you would
+be justifiably troubled.
+
+   Thus, by default TeX systems only allow you to open files for writing
+that are in the current directory or output directory, if specified
+(*note output directory::), or in a subdirectory of those.  So, this
+code
+
+     \newwrite\jhfile
+     \openout\jhfile=../test.jh
+
+gives an error like:
+     Not writing to ../test.jh (openout_any = p).
+     ! I can't write on file `../test.jh'
+
+   You can get just such an error when using commands such as
+'\include{../filename}' because LaTeX will try to open
+'../filename.aux'.  The simplest solution is to put the included files
+in the same directory as the root file, or in subdirectories.
+
+
+File: latex2e.info,  Node: \message,  Next: \wlog,  Prev: \write and security,  Up: \write
+
+27.5.2 '\message'
+-----------------
+
+Synopsis:
+
+     \message{STRING}
+
+   Write STRING to the log file and the terminal.
+
+   Typically, LaTeX authors use '\typeout' (*note \typeout::).  It
+allows you to use '\protect' on any fragile commands in STRING (*note
+\protect::).  But '\typeout' always inserts a newline at the end of
+STRING while '\message' does not, so the latter can be useful.
+
+   With this example document body.
+
+     before\message{One Two}\message{Three}\message{Four^^JI}
+     \message{declare a thumb war.}After
+
+under some circumstances (see below) LaTeX writes the following to both
+the terminal and the log file.
+
+     One Two Three Four
+     I declare a thumb war.
+
+The '^^J' produces a newline.  Also, in the output document, between
+'before' and 'After' will be a single space (from the end of line
+following 'I}').
+
+   While '\message' allows you more control over formatting, a gotcha is
+that LaTeX may mess up that formatting because it inserts line breaks
+depending on what it has already written.  Contrast this document body,
+where the 'Two' has moved, to the one given above.
+
+     before\message{One}\message{Two Three}\message{Four^^JI}
+     \message{declare a thumb war.}After
+
+   This can happen: when LaTeX is outputting the messages to the
+terminal, now the message with 'One' is shorter and it fits at the end
+of the output terminal line, and so LaTeX breaks the line between it and
+the 'Two Three'.  That line break appears also in the log file.  This
+line break insertion can depend on, for instance, the length of the full
+path names of included files.  So producing finely-formatted lines in a
+way that is portable is hard, likely requiring starting your message at
+the beginning of a line.
+
+
+File: latex2e.info,  Node: \wlog,  Next: \write18,  Prev: \message,  Up: \write
+
+27.5.3 '\wlog'
+--------------
+
+Synopsis:
+
+     \wlog{STRING}
+
+   Write STRING to the log file.
+
+     \wlog{Did you hear about the mathematician who hates negatives?}
+     \wlog{He'll stop at nothing to avoid them.}
+
+   Ordinarily STRING appears in a single separate line.  Use '^^J' to
+insert a newline.
+
+     \wlog{Helvetica and Times Roman walk into a bar.}
+     \wlog{The barman says,^^JWe don't serve your type.}
+
+
+File: latex2e.info,  Node: \write18,  Prev: \wlog,  Up: \write
+
+27.5.4 '\write18'
+-----------------
+
+Synopsis:
+
+     \write18{SHELL_COMMAND}
+
+   Issue a command to the operating system shell.  The operating system
+runs the command and LaTeX's execution is blocked until that finishes.
+
+   This sequence (on Unix)
+
+     \usepackage{graphicx}  % in preamble
+       ...
+     \newcommand{\fignum}{1}
+     \immediate\write18{cd pix && asy figure\fignum}
+     \includegraphics{pix\figure\fignum.pdf}
+
+will run Asymptote (the 'asy' program) on 'pix/figure1.asy', so that the
+document can later read in the resulting graphic (*note
+\includegraphics::).  Like any '\write', here LaTeX expands macros in
+SHELL_COMMAND so that '\fignum' is replaced by '1'.
+
+   Another example is that you can automatically run BibTeX at the start
+of each LaTeX run (*note Using BibTeX::) by including
+'\immediate\write18{bibtex8 \jobname}' as the first line of the file.
+Note that '\jobname' expands to the basename of the root file unless the
+'--jobname' option is passed on the command line, in which case this is
+the option argument.
+
+   You sometimes need to do a multi-step process to get the information
+that you want.  This will insert into the input a list of all PDF files
+in the current directory (but see 'texosquery' below):
+
+     \immediate\write18{ls *.pdf > tmp.dat}
+     \input{tmp.dat}
+
+   The standard behavior of any '\write' is to wait until a page is
+being shipped out before expanding the macros or writing to the stream
+(*note \write::).  But sometimes you want it done now.  For this, use
+'\immediate\write18{SHELL_COMMAND}'.
+
+   There are obvious security issues with allowing system commands
+inside a LaTeX file.  If you download a file off the net and it contains
+commands to delete all your files then you would be unhappy.  The
+standard settings in modern distributions turn off full shell access.
+You can turn it on, if you are sure the shell commands are safe, by
+compiling with 'latex --enable-write18 FILENAME' (*note Command line
+options::).  (The '--shell-escape' option is a synonym, in TeX Live.)
+
+   In the place of full shell access, modern distributions by default
+use a restricted version that allows some commands to work, such as
+those that run Metafont to generate missing fonts, even if you do not
+use the 'enable-write18' option.  By default this list of allowed
+commands is short and features only commands that are under the control
+of the distribution maintainers (*note Command line options::).
+
+   The SHELL_COMMAND text is always passed to '/bin/sh' on Unix-like
+operating systems, and the DOS command interpreter 'cmd.exe' on Windows.
+Any different shell set by the user, and the 'SHELL' environment
+variable, is ignored.
+
+   If what you need is system information, such as the operating system
+name, locale information, or directory contents, take a look at the
+'texosquery' package, which provides a convenient and secure interface
+for this, unlike the above examples using the raw '\write18':
+<https://ctan.org/pkg/texosquery>.
+
+   LaTeX provides a package 'shellesc' on top of the primitive
+'\write18' command.  Its primary purpose is to provide a command
+'\ShellEscape' which works identically on all TeX engines; LuaTeX
+intentionally did not retain '\write18' as a way to invoke a shell
+command, so some engine-specific code is needed.  The 'shellesc' package
+also provides a command '\DelayedShellEscape', executed at '\output'
+time, for the same reason.
+
+
+File: latex2e.info,  Node: Command line interface,  Next: Document templates,  Prev: Input/output,  Up: Top
+
+28 Command line interface
+*************************
+
 Synopsis (from a terminal command line):
 
      pdflatex OPTIONS ARGUMENT
 
-   Run LaTeX on ARGUMENT.  In place of 'pdflatex' you can also use
-'xelatex', or 'lualatex', or 'dviluatex', or 'latex'.
+   Run LaTeX on ARGUMENT.  In place of 'pdflatex' you can also use (for
+PDF output) 'xelatex' or 'lualatex', or (for DVI output) 'latex' or
+'dvilualatex', among others (*note TeX engines::).
 
    For example, this will run LaTeX on the file 'thesis.tex', creating
 the output 'thesis.pdf'.
@@ -14753,18 +16755,19 @@
 
      pdflatex thesis
 
-Note that '.tex' is the default file extension.
+Note that '.tex' is the default file name extension.
 
-   pdfTeX is a development of the original TeX program, as are XeTeX and
-LuaTeX (*note TeX engines::).  They are completely backward compatible.
-But the original program had a custom output format, DVI, while the
-newer ones can output directly to PDF. This allows them to take
-advantage of the extra features in PDF such as hyperlinks, support for
-modern image formats such as JPG and PNG, and ubiquitous viewing
-programs.  In short, if you run 'pdflatex' or 'xelatex' or 'lualatex'
-then you will by default get PDF and have access to all its modern
-features.  If you run 'latex', or 'dvilualatex', then you will get DVI.
-The description here assumes pdfLaTeX.
+   pdfTeX is an extension of the original TeX program, as are XeTeX and
+LuaTeX (*note TeX engines::).  The first two are completely backward
+compatible and the latter, almost so.  Perhaps the most fundamental new
+feature for all three is that the original TeX output its own DVI
+format, while the newer ones can output directly to PDF. This allows
+them to take advantage of the extra features in PDF such as hyperlinks,
+support for modern image formats such as JPG and PNG, and ubiquitous
+viewing programs.  In short, if you run 'pdflatex' or 'xelatex' or
+'lualatex' then you will by default get PDF and have access to all its
+modern features.  If you run 'latex', or 'dvilualatex', then you will
+get DVI. The description here assumes pdfLaTeX.
 
    *Note Command line options::, for a selection of the most useful
 command line options.  As to ARGUMENT, the usual case is that it does
@@ -14774,20 +16777,21 @@
 used for special effects (*note Command line input::).
 
    If you gave no arguments or options then 'pdflatex' prompts for input
-from the terminal.  You can escape from this by entering '<control>-D'.
+from the terminal.  You can escape from this by entering 'CTRL-D'.
 
    If LaTeX finds an error in your document then by default it stops and
-asks you about it.  *Note Recovering from errors:: for an outline of
+asks you about it.  *Note Recovering from errors::, for an outline of
 what to do.
 
 * Menu:
 
-* Command line options::     Read text from the terminal.
-* Command line input::       Write text to the terminal.
+* Command line options::     Commonly used command line options.
+* Command line input::       Specify LaTeX code on the command line.
+* Jobname::                  How TeX sets the current job name.
 * Recovering from errors::   When something goes wrong.
 
 
-File: latex2e.info,  Node: Command line options,  Next: Command line input,  Up: Command line
+File: latex2e.info,  Node: Command line options,  Next: Command line input,  Up: Command line interface
 
 28.1 Command line options
 =========================
@@ -14798,7 +16802,11 @@
 
    With many implementations you can specify command line options by
 prefixing them with '-' or '--'.  This is the case for both TeX Live
-(and MacTeX) and MiKTeX.  We will use both conventions interchangeably.
+(including MacTeX) and MiKTeX.  We will use both conventions
+interchangeably.  If an option takes a value, it can be specified either
+as a separate argument ('--foo val'), or as one argument with an '='
+sign ('--foo=val'), but there can be no spaces around the '='.  We will
+generally use the '=' syntax.
 
 '-version'
      Show the current version, like 'pdfTeX 3.14159265-2.6-1.40.16 (TeX
@@ -14811,13 +16819,13 @@
 '-interaction=MODE'
      TeX compiles a document in one of four interaction modes:
      'batchmode', 'nonstopmode', 'scrollmode', 'errorstopmode'.  In
-     "errorstop mode" (the default), TeX stops at each error and asks
-     for user intervention.  In "batch mode" it prints nothing on the
-     terminal, errors are scrolled as if the user hit '<return>' at
-     every error, and missing files cause the job to abort.  In "nonstop
-     mode", diagnostic message appear on the terminal but as in batch
-     mode there is no user interaction.  In "scroll mode", TeX only
-     stops for missing files or keyboard input.
+     "errorstopmode" (the default), TeX stops at each error and asks for
+     user intervention.  In "batchmode" it prints nothing on the
+     terminal, errors are scrolled as if the user hit 'RETURN' at every
+     error, and missing files cause the job to abort.  In "nonstopmode",
+     diagnostic message appear on the terminal but as in batch mode
+     there is no user interaction.  In "scrollmode", TeX stops for
+     missing files or keyboard input, but nothing else.
 
      For instance, starting LaTeX with this command line
 
@@ -14826,44 +16834,41 @@
      eliminates most terminal output.
 
 '-jobname=STRING'
-     Set the value of TeX's 'jobname' to the string.  The log file and
+     Set the value of TeX's "jobname" to the string.  The log file and
      output file will then be named 'STRING.log' and 'STRING.pdf'.
+     *note Jobname::.
 
-     When you run 'pdflatex OPTIONS ARGUMENT', if ARGUMENT does not
-     start with a backslash then TeX considers it the name of a file to
-     input.  Otherwise it waits for the first '\input' instruction and
-     the name of the input file will be the job name.  This is used to
-     name the log file the output file.  The 'jobname' option overrides
-     that process and directly specifies the name.  *Note Command line
-     input:: for an example of its use.
-
 '-output-directory=DIRECTORY'
      Write files in the directory DIRECTORY.  It must already exist.
+     This applies to all external files created by TeX or LaTeX, such as
+     the '.log' file for the run, the '.aux', '.toc', etc., files
+     created by LaTeX, as well as the main '.pdf' or '.dvi' output file
+     itself.
 
+     When specified, the output directory DIRECTORY is also
+     automatically checked first for any file that it is input, so that
+     the external files can be read back in, if desired.  The true
+     current directory (in which LaTeX was run) remains unchanged, and
+     is also checked for input files.
+
+'--enable-write18'
+'--disable-write18'
 '--shell-escape'
 '--no-shell-escape'
-'--enable-write18'
-'--disable-write18'
-     Enable or disable '\write18{SHELL COMMAND}'.  The first two options
-     are for with TeX Live or MacTeX while the second two are for
-     MiKTeX.
+     Enable or disable '\write18{SHELL_COMMAND}' (*note \write18::).
+     The first two options are supported by both TeX Live and MiKTeX,
+     while the second two are synonyms supported by TeX Live.
 
-     Sometimes you want to run external system commands from inside a
-     LaTeX file.  For instance the package 'sagetex' allows you to have
-     the mathematics software system Sage do calculations or draw graphs
-     and then incorporate that output in your document.  For this TeX
-     provides the '\write18' command.
+     Enabling this functionality has major security implications, since
+     it allows a LaTeX file to run any command whatsoever.  Thus, by
+     default, unrestricted '\write18' is not allowed.  (The default for
+     TeX Live, MacTeX, and MiKTeX is to allow the execution of a limited
+     number of TeX-related programs, which they distribute.)
 
-     But with this functionality enabled, security issues could happen
-     if you compiled a LaTeX file from the Internet.  By default
-     '\write18' is disabled.  (More precisely, by default TeX Live,
-     MacTeX, and MiKTeX only allow the execution of a limited number of
-     TeX-related programs, which they distribute.)
+     For example, if you invoke LaTeX with the option 'no-shell-escape',
+     and in your document you call '\write18{ls -l}', then you do not
+     get an error but the log file says 'runsystem(ls -l)...disabled'.
 
-     If you invoke LaTeX with the option 'no-shell-escape', and in your
-     document you call '\write18{ls -l}', then you do not get an error
-     but the log file says 'runsystem(ls -l)...disabled'.
-
 '-halt-on-error'
      Stop processing at the first error.
 
@@ -14873,18 +16878,22 @@
      These are only available with TeX Live or MacTeX.
 
 
-File: latex2e.info,  Node: Command line input,  Next: Recovering from errors,  Prev: Command line options,  Up: Command line
+File: latex2e.info,  Node: Command line input,  Next: Jobname,  Prev: Command line options,  Up: Command line interface
 
 28.2 Command line input
 =======================
 
-As part of the command line invocation 'pdflatex OPTIONS ARGUMENT' you
-can specify arbitrary LaTeX input by starting ARGUMENT with a backslash.
-This allows you to do some special effects.
+As part of the command line invocation
 
+     LATEX-ENGINE OPTIONS ARGUMENT
+
+you can specify arbitrary LaTeX input by starting ARGUMENT with a
+backslash.  (All the engines support this.)  This allows you to do some
+special effects.
+
    For example, this file (which uses the 'hyperref' package for
-hyperlinks) can produce two kinds of output, one for paper and one for a
-PDF.
+hyperlinks) can produce two kinds of output, one to be read on physical
+paper and one to be read online.
 
      \ifdefined\paperversion        % in preamble
      \newcommand{\urlcolor}{black}
@@ -14897,11 +16906,15 @@
        ...
 
 Compiling this document 'book.tex' with the command line 'pdflatex book'
-will give the 'CTAN' link in blue.  But compiling it with 'pdflatex
-"\def\paperversion{}\input book.tex"' has the link in black.  (Note the
-use of double quotes to prevent interpretation of the symbols by the
-command line shell; your system may do this differently.)
+will give the 'CTAN' link in blue.  But compiling it with
 
+     pdflatex "\def\paperversion{}\input book.tex"
+
+has the link in black.  We use double quotes to prevent interpretation
+of the symbols by the command line shell.  (This usually works on both
+Unix and Windows systems, but there are many peculiarities to shell
+quoting, so read your system documentation if need be.)
+
    In a similar way, from the single file 'main.tex' you can compile two
 different versions.
 
@@ -14909,22 +16922,88 @@
      pdflatex -jobname=teachers "\def\teachers{}\input{main}"
 
 The 'jobname' option is there because otherwise both files would be
-called 'main.pdf' and the second would overwrite the first.
+called 'main.pdf' and the second would overwrite the first.  (See the
+next section.)
 
-   A final example.  This loads the package 'graphicx' with the option
-'draft'
+   In this example, we pass the 'draft' option to the 'graphicx'
+package:
 
-     pdflatex -jobname=aa "\RequirePackage[draft]{graphicx}\input{aa.tex}"
+     pdflatex "\PassOptionsToPackage{draft}{graphicx}\input{aa.tex}"
 
-so the graphic files are read for their size information but not
-incorporated into the PDF. (The 'jobname' option is there because
-otherwise the output file would be 'graphicx.pdf', as '\RequirePackage'
-does an '\input' of its own.)
+so the graphic files are read for their bounding box size information
+but replaced in the PDF by a box with same size and that contains only
+the file name, which speeds up compilation time and saves printer ink.
 
 
-File: latex2e.info,  Node: Recovering from errors,  Prev: Command line input,  Up: Command line
+File: latex2e.info,  Node: Jobname,  Next: Recovering from errors,  Prev: Command line input,  Up: Command line interface
 
-28.3 Recovering from errors
+28.3 Jobname
+============
+
+Running LaTeX creates a number of files, including the main PDF (or DVI)
+output but also including others.  These files are named with the
+so-called "jobname".  The most common case is also the simplest, where
+for instance the command 'pdflatex thesis' creates 'thesis.pdf' and also
+'thesis.log' and 'thesis.aux'.  Here the job name is 'thesis'.
+
+   In general, LaTeX is invoked as 'LATEX-ENGINE OPTIONS ARGUMENT',
+where LATEX-ENGINE is 'pdflatex', 'lualatex', etc. (*note TeX
+engines::).  If ARGUMENT does not start with a backslash, as is the case
+above with 'thesis', then TeX considers it to be the name of the file to
+input as the main document.  The name of that root file, without the
+'.tex' extension, is the jobname.  If ARGUMENT does start with a
+backslash, or if TeX is in interactive mode, then it waits for the first
+'\input' command, and the jobname is the argument to '\input'.
+
+   There are two more possibilities for the jobname.  It can be directly
+specified with the '-jobname' option, as in 'pdflatex -jobname=myname'
+(*note Command line input:: for a real example).
+
+   The final possibility is 'texput', which is the final fallback
+default if no other name is available to TeX.  For example, if no
+'-jobname' option was specified, and the compilation stops before there
+is any output, then the log file will be named 'texput.log'.
+
+   A special case of this is that in LaTeX versions of (approximately)
+2020 or later, the jobname is also 'texput' if the first '\input' occurs
+as a result of being called by either '\documentclass' or
+'\RequirePackage'.  So this will produce a file named 'texput.pdf':
+
+     pdflatex "\documentclass{minimal}\begin{document}Hello!\end{document}"
+
+   However, this special case only applies to those two commands.  Thus,
+with
+
+     pdflatex "\documentclass{article}\usepackage{lipsum}\input{thesis}"
+
+the output file is 'lipsum.pdf', as '\usepackage' calls '\input'.
+
+   Within the document, the macro '\jobname' expands to the jobname.
+(When you run LaTeX on a file whose name contains spaces, the string
+returned by '\jobname' contains matching start and end quotes.)  In the
+expansion of that macro, all characters are of catcode 12 (other) except
+that spaces are category 10, including letters that are normally
+catcode 11.
+
+   Because of this catcode situation, using the jobname in a conditional
+can become complicated.  One solution is to use the macro '\IfBeginWith'
+from the 'xstring' package in its star variant, which is insensitive to
+catcode.  For example, in the following text the footnote "Including
+Respublica Bananensis Francorum." is only present if the task name
+starts with 'my-doc'.
+
+     If a democracy is just a regime where citizens vote then
+     all banana republics \IfBeginWith*{\jobname}{my-doc}%
+     {\footnote{Including Respublica Bananensis Francorum.}}{} are
+     democracies.
+
+   Manipulating the value of '\jobname' inside of a document does not
+change the name of the output file or the log file.
+
+
+File: latex2e.info,  Node: Recovering from errors,  Prev: Jobname,  Up: Command line interface
+
+28.4 Recovering from errors
 ===========================
 
 If LaTeX finds an error in your document then it gives you an error
@@ -14941,15 +17020,16 @@
                 {} problem is a million dollar one.
      ?
 
-The simplest thing is to enter 'x' and '<return>' and fix the typo.  You
-could instead enter '?' and '<return>' to see other options.
+The simplest thing is to enter 'x' and 'RETURN' and fix the typo.  You
+could instead enter '?' and 'RETURN' to see other options.
 
    There are two other error scenarios.  The first is that you forgot to
 include the '\end{document}' or misspelled it.  In this case LaTeX gives
 you a '*' prompt.  You can get back to the command line by typing
-'\stop' and '<return>'.
+'\stop' and 'RETURN'; this command does its best to exit LaTeX
+immediately, whatever state it may be in.
 
-   The last scenario is that you mistyped the file name.  For instance,
+   The last scenario is that you mistyped the filename.  For instance,
 instead of 'pdflatex test' you might type 'pdflatex tste'.
 
      ! I can't find file `tste'.
@@ -14958,18 +17038,18 @@
      (Press Enter to retry, or Control-D to exit)
      Please type another input file name:
 
-The simplest thing is to enter '<Control>' and 'd' (holding them down at
-the same time), and then retype the correct command line.
+The simplest thing is to enter 'CTRL d' (holding the Control and d keys
+down at the same time), and then retype the correct command line.
 
 
-File: latex2e.info,  Node: Document templates,  Next: Index,  Prev: Command line,  Up: Top
+File: latex2e.info,  Node: Document templates,  Next: Index,  Prev: Command line interface,  Up: Top
 
 Appendix A Document templates
 *****************************
 
-Although not reference material, perhaps these document templates will
-be useful.  Additional template resources are listed at
-<http://tug.org/interest.html#latextemplates>.
+Although illustrative material, perhaps these document templates will be
+useful.  Additional template resources are listed at
+<https://tug.org/interest.html#latextemplates>.
 
 * Menu:
 
@@ -14977,7 +17057,6 @@
 * article template::
 * book template::
 * Larger book template::
-* tugboat template::
 
 
 File: latex2e.info,  Node: beamer template,  Next: article template,  Up: Document templates
@@ -14992,7 +17071,7 @@
 
 \title{Beamer Class template}
 \author{Alex Author}
-\date{July 31, 2007}
+\date{July 31, 2020}
 
 \begin{document}
 
@@ -15010,8 +17089,7 @@
 
 \end{document}
 
-   One web resource for this:
-<http://robjhyndman.com/hyndsight/beamer/>.
+   The Beamer package on CTAN: <https://ctan.org/pkg/beamer>.
 
 
 File: latex2e.info,  Node: article template,  Next: book template,  Prev: beamer template,  Up: Document templates
@@ -15019,6 +17097,8 @@
 A.2 'article' template
 ======================
 
+A simple template for an article.
+
 \documentclass{article}
 \title{Article Class Template}
 \author{Alex Author}
@@ -15034,6 +17114,7 @@
 
 \section{Second section}
 Some more text.
+
 \end{document}
 
 
@@ -15042,8 +17123,8 @@
 A.3 'book' template
 ===================
 
-This is a straightforward template for a book.  See *Note Larger book
-template:: for a more elaborate one.
+This is a straightforward template for a book.  *Note Larger book
+template::, for a more elaborate one.
 
 \documentclass{book}
 \title{Book Class Template}
@@ -15060,26 +17141,30 @@
 
 \section{A subtopic}
 The end.
+
 \end{document}
 
 
-File: latex2e.info,  Node: Larger book template,  Next: tugboat template,  Prev: book template,  Up: Document templates
+File: latex2e.info,  Node: Larger book template,  Prev: book template,  Up: Document templates
 
 A.4 Larger 'book' template
 ==========================
 
-This is a more elaborate template for a book.  It has '\frontmatter',
-'\mainmatter', and '\backmatter' to control the typography of the three
-main areas of a book (*note \frontmatter & \mainmatter & \backmatter::).
-The book has a bibliography and an index.
+This is a somewhat elaborate template for a book.  *Note book
+template::, for a simpler one.
 
-   Notable is that it uses '\include' and '\includeonly' (*note
+   This template uses '\frontmatter', '\mainmatter', and '\backmatter'
+to control the typography of the three main areas of a book (*note
+\frontmatter & \mainmatter & \backmatter::).  The book has a
+bibliography and an index.
+
+   Also notable is that it uses '\include' and '\includeonly' (*note
 Splitting the input::).  While you are working on a chapter you can
 comment out all the other chapter entries from the argument to
 '\includeonly'.  That will speed up compilation without losing any
 information such as cross-references.  (Material that does not need to
 come on a new page is brought in with '\input' instead of '\include'.
-You don't get the cross-reference benefit this way.)
+You don't get the cross-reference benefit with '\input'.)
 
 \documentclass[titlepage]{book}
 \usepackage{makeidx}\makeindex
@@ -15088,11 +17173,12 @@
 \author{Alex Author}
 
 \includeonly{%
-  frontcover,
+% frontcover,
   preface,
   chap1,
-  ...
+% appenA,
   }
+
 \begin{document}
 \frontmatter
 \include{frontcover}
@@ -15100,12 +17186,14 @@
 \maketitle \input{dedication} \input{copyright}
 \tableofcontents
 \include{preface}
+
 \mainmatter
 \include{chap1}
 ...
 \appendix
-\include{appena}
+\include{appenA}
 ...
+
 \backmatter
 \bibliographystyle{apalike}
 \addcontentsline{toc}{chapter}{Bibliography}
@@ -15112,99 +17200,11 @@
 \bibliography
 \addcontentsline{toc}{chapter}{Index}
 \printindex
+
 \include{backcover}
 \end{document}
 
 
-File: latex2e.info,  Node: tugboat template,  Prev: Larger book template,  Up: Document templates
-
-A.5 'tugboat' template
-======================
-
-'TUGboat' is the journal of the TeX Users Group,
-<http://tug.org/TUGboat>.
-
-\documentclass{ltugboat}
-
-\usepackage{graphicx}
-\usepackage{ifpdf}
-\ifpdf
-\usepackage[breaklinks,hidelinks]{hyperref}
-\else
-\usepackage{url}
-\fi
-
-%%% Start of metadata %%%
-
-\title{Example \TUB\ article}
-
-% repeat info for each author.
-\author{First Last}
-\address{Street Address \\ Town, Postal \\ Country}
-\netaddress{user (at) example dot org}
-\personalURL{http://example.org/~user/}
-
-%%% End of metadata %%%
-
-\begin{document}
-
-\maketitle
-
-\begin{abstract}
-This is an example article for \TUB{}.
-Please write an abstract.
-\end{abstract}
-
-\section{Introduction}
-
-This is an example article for \TUB, linked from
-\url{http://tug.org/TUGboat/location.html}.
-
-We recommend the \texttt{graphicx} package for image inclusions, and the
-\texttt{hyperref} package if active urls are desired (in the \acro{PDF}
-output).  Nowadays \TUB\ is produced using \acro{PDF} files exclusively.
-
-The \texttt{ltugboat} class provides these abbreviations (and many more):
-% verbatim blocks are often better in \small
-\begin{verbatim}[\small]
-\AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW
-\BibTeX \CTAN \DTD \HTML
-\ISBN \ISSN \LaTeXe
-\mf \MFB
-\plain \POBox \PS
-\SGML \TANGLE \TB \TP
-\TUB \TUG \tug
-\UNIX \XeT \WEB \WEAVE
-
-\, \bull \Dash \dash \hyph
-
-\acro{FRED} -> {\small[er] fred}  % please use!
-\cs{fred}   -> \fred
-\meta{fred} -> <fred>
-\nth{n}     -> 1st, 2nd, ...
-\sfrac{3/4} -> 3/4
-\booktitle{Book of Fred}
-\end{verbatim}
-
-For references to other \TUB\ issue, please use the format
-\textsl{volno:issno}, e.g., ``\TUB\ 32:1'' for our \nth{100} issue.
-
-This file is just a template.  The \TUB\ style documentation is the
-\texttt{ltubguid} document at \url{http://ctan.org/pkg/tugboat}.  (For
-\CTAN\ references, where sensible we recommend that form of url, using
-\texttt{/pkg/}; or, if you need to refer to a specific file location,
-\texttt{http://mirror.ctan.org/\textsl{path}}.)
-
-Email \verb|tugboat at tug.org| if problems or questions.
-
-\bibliographystyle{plain}  % we recommend the plain bibliography style
-\nocite{book-minimal}      % just making the bibliography non-empty
-\bibliography{xampl}       % xampl.bib comes with BibTeX
-
-\makesignature
-\end{document}
-
-
 File: latex2e.info,  Node: Index,  Prev: Document templates,  Up: Top
 
 Index
@@ -15213,7 +17213,9 @@
  [index ]
 * Menu:
 
-* &:                                     tabular.             (line  32)
+* $ inline math:                         math.                (line  12)
+* $$...$$ plain TeX display math:        displaymath.         (line  32)
+* & for table cells:                     tabular.             (line  32)
 * * prompt:                              Recovering from errors.
                                                               (line  23)
 * *-form of environment commands:        \newenvironment & \renewenvironment.
@@ -15220,33 +17222,35 @@
                                                               (line  27)
 * *-form of sectioning commands:         Sectioning.          (line  31)
 * *-form, defining new commands:         \newcommand & \renewcommand.
-                                                              (line  25)
+                                                              (line  27)
 * --disable-write18 command-line option: Command line options.
-                                                              (line  54)
+                                                              (line  61)
 * --enable-write18 command-line option:  Command line options.
-                                                              (line  54)
+                                                              (line  61)
 * --file-line-error command-line option: Command line options.
-                                                              (line  81)
+                                                              (line  82)
 * --halt-on-error command-line option:   Command line options.
-                                                              (line  78)
+                                                              (line  79)
 * --help command-line option:            Command line options.
-                                                              (line  19)
+                                                              (line  23)
 * --interaction command-line option:     Command line options.
-                                                              (line  22)
+                                                              (line  26)
 * --jobname command-line option:         Command line options.
-                                                              (line  39)
+                                                              (line  43)
 * --no-file-line-error command-line option: Command line options.
-                                                              (line  81)
+                                                              (line  82)
 * --no-shell-escape command-line option: Command line options.
-                                                              (line  54)
+                                                              (line  61)
 * --output-directory command-line option: Command line options.
-                                                              (line  51)
+                                                              (line  48)
 * --shell-escape command-line option:    Command line options.
-                                                              (line  54)
+                                                              (line  61)
 * --version command-line option:         Command line options.
-                                                              (line  14)
+                                                              (line  18)
+* -1, write stream number:               \write.              (line  30)
 * .aux file:                             Output files.        (line  33)
 * .dvi file:                             Output files.        (line  10)
+* .fmt file:                             TeX engines.         (line   6)
 * .glo file:                             Glossaries.          (line  43)
 * .idx file:                             Indexes.             (line   6)
 * .idx file <1>:                         makeindex.           (line   6)
@@ -15255,16 +17259,21 @@
 * .lof file:                             Output files.        (line  43)
 * .lof file <1>:                         Table of contents etc..
                                                               (line   6)
+* .lof file <2>:                         \contentsline.       (line   6)
 * .log file:                             Output files.        (line  28)
 * .lot file:                             Output files.        (line  43)
 * .lot file <1>:                         Table of contents etc..
                                                               (line   6)
+* .lot file <2>:                         \contentsline.       (line   6)
 * .pdf file:                             Output files.        (line  20)
-* .tex, default extension:               Command line.        (line  18)
+* .tex, default extension:               Command line interface.
+                                                              (line  19)
 * .toc file:                             Output files.        (line  43)
 * .toc file <1>:                         Table of contents etc..
                                                               (line   6)
-* .xdv file:                             TeX engines.         (line  39)
+* .toc file <2>:                         \contentsline.       (line   6)
+* .xdv file:                             TeX engines.         (line  42)
+* /bin/sh, used by \write18:             \write18.            (line  60)
 * 10pt option:                           Document class options.
                                                               (line  14)
 * 11pt option:                           Document class options.
@@ -15271,56 +17280,60 @@
                                                               (line  14)
 * 12pt option:                           Document class options.
                                                               (line  14)
-* ::                                     Colon character & \colon.
+* : for math:                            Colon character & \colon.
                                                               (line   6)
-* : <1>:                                 Colon character & \colon.
-                                                              (line   6)
 * [...] for optional arguments:          LaTeX command syntax.
                                                               (line   6)
+* \ (backslash-space):                   \(SPACE).            (line   6)
 * \ character starting commands:         LaTeX command syntax.
                                                               (line   6)
 * \!:                                    Spacing in math mode.
-                                                              (line  46)
-* \" (umlaut accent):                    Accents.             (line  23)
-* \#:                                    Reserved characters. (line  13)
-* \$:                                    Reserved characters. (line  13)
-* \%:                                    Reserved characters. (line  13)
-* \&:                                    Reserved characters. (line  13)
-* \' (acute accent):                     Accents.             (line  27)
+                                                              (line  58)
+* \" (umlaut accent):                    Accents.             (line  25)
+* \#:                                    Reserved characters. (line  14)
+* \$:                                    Reserved characters. (line  14)
+* \%:                                    Reserved characters. (line  14)
+* \&:                                    Reserved characters. (line  14)
+* \' (acute accent):                     Accents.             (line  29)
 * \' (tabbing):                          tabbing.             (line  87)
+* \(...\) inline math:                   math.                (line  12)
 * \*:                                    \*.                  (line   6)
 * \+:                                    tabbing.             (line  79)
 * \,:                                    Spacing in math mode.
-                                                              (line  32)
+                                                              (line  44)
 * \-:                                    tabbing.             (line  83)
 * \- (hyphenation):                      \- (hyphenation).    (line   6)
-* \. (dot-over accent):                  Accents.             (line  30)
+* \. (dot-over accent):                  Accents.             (line  32)
 * \/:                                    \/.                  (line   6)
 * \::                                    Spacing in math mode.
-                                                              (line  28)
+                                                              (line  34)
 * \;:                                    Spacing in math mode.
                                                               (line  23)
 * \<:                                    tabbing.             (line  75)
-* \= (macron accent):                    Accents.             (line  34)
+* \= (macron accent):                    Accents.             (line  36)
 * \= (tabbing):                          tabbing.             (line  69)
 * \>:                                    tabbing.             (line  73)
 * \> <1>:                                Spacing in math mode.
-                                                              (line  28)
+                                                              (line  34)
 * \> (tabbing):                          tabbing.             (line  72)
 * \@:                                    \@.                  (line   6)
-* \@beginparpenalty:                     list.                (line 241)
-* \@endparpenalty:                       list.                (line 249)
+* \@auxout:                              \write.              (line  45)
+* \@beginparpenalty:                     list.                (line 242)
+* \@dottedtocline:                       \@dottedtocline.     (line   6)
+* \@endparpenalty:                       list.                (line 250)
 * \@fnsymbol:                            \footnote.           (line  24)
 * \@ifstar:                              \@ifstar.            (line   6)
-* \@itempenalty:                         list.                (line 245)
+* \@itempenalty:                         list.                (line 246)
+* \@mainaux:                             \write.              (line  45)
 * \@startsection:                        \@startsection.      (line   6)
 * \a (tabbing):                          tabbing.             (line 102)
 * \a' (acute accent in tabbing):         tabbing.             (line 103)
 * \a= (macron accent in tabbing):        tabbing.             (line 103)
-* \aa (aa):                              Additional Latin letters.
+* \aa (å):                               Additional Latin letters.
                                                               (line  12)
-* \AA (AA):                              Additional Latin letters.
+* \AA (Å):                               Additional Latin letters.
                                                               (line  12)
+* \accent:                               \accent.             (line   6)
 * \acute:                                Math accents.        (line  10)
 * \addcontentsline:                      \addcontentsline.    (line   6)
 * \address:                              \address.            (line   6)
@@ -15328,9 +17341,9 @@
 * \addtocounter:                         \addtocounter.       (line   6)
 * \addtolength:                          \addtolength.        (line   6)
 * \addvspace:                            \addvspace.          (line   6)
-* \ae (ae):                              Additional Latin letters.
+* \ae (æ):                               Additional Latin letters.
                                                               (line  16)
-* \AE (AE):                              Additional Latin letters.
+* \AE (Æ):                               Additional Latin letters.
                                                               (line  16)
 * \aleph:                                Math symbols.        (line  21)
 * \Alph example:                         enumerate.           (line  61)
@@ -15355,7 +17368,7 @@
 * \arrayrulewidth:                       tabular.             (line 157)
 * \arraystretch:                         tabular.             (line 163)
 * \ast:                                  Math symbols.        (line  38)
-* \asymp:                                Math symbols.        (line  47)
+* \asymp:                                Math symbols.        (line  46)
 * \AtBeginDocument:                      \AtBeginDocument.    (line   6)
 * \AtBeginDvi:                           Class and package commands.
                                                               (line   9)
@@ -15366,25 +17379,28 @@
                                                               (line  14)
 * \author{NAME1 \and NAME2 \and ...}:    \maketitle.          (line  42)
 * \a` (grave accent in tabbing):         tabbing.             (line 103)
-* \b (bar-under accent):                 Accents.             (line  49)
+* \b (bar-under accent):                 Accents.             (line  51)
 * \backmatter:                           \frontmatter & \mainmatter & \backmatter.
                                                               (line   6)
-* \backslash:                            Math symbols.        (line  50)
+* \backslash:                            Math symbols.        (line  49)
 * \bar:                                  Math accents.        (line  13)
 * \baselineskip:                         Low-level font commands.
                                                               (line 101)
-* \baselinestretch:                      Low-level font commands.
-                                                              (line 111)
+* \baselineskip <1>:                     \baselineskip & \baselinestretch.
+                                                              (line   6)
+* \baselinestretch:                      \baselineskip & \baselinestretch.
+                                                              (line   6)
 * \begin:                                Environments.        (line   6)
-* \beta:                                 Math symbols.        (line  54)
-* \bf:                                   Font styles.         (line  74)
-* \bfseries:                             Font styles.         (line  39)
+* \beta:                                 Math symbols.        (line  53)
+* \bf:                                   Font styles.         (line  75)
+* \bfseries:                             Font styles.         (line  40)
 * \bibitem:                              \bibitem.            (line   6)
 * \bibliography:                         Using BibTeX.        (line   6)
 * \bibliographystyle:                    Using BibTeX.        (line   6)
-* \bigcap:                               Math symbols.        (line  57)
+* \bibname:                              thebibliography.     (line  44)
+* \bigcap:                               Math symbols.        (line  56)
 * \bigcirc:                              Math symbols.        (line  61)
-* \bigcup:                               Math symbols.        (line  65)
+* \bigcup:                               Math symbols.        (line  64)
 * \bigodot:                              Math symbols.        (line  69)
 * \bigoplus:                             Math symbols.        (line  72)
 * \bigotimes:                            Math symbols.        (line  75)
@@ -15392,46 +17408,46 @@
                                                               (line  28)
 * \bigskipamount:                        \bigskip & \medskip & \smallskip.
                                                               (line  29)
-* \bigsqcup:                             Math symbols.        (line  86)
+* \bigsqcup:                             Math symbols.        (line  84)
 * \bigtriangledown:                      Math symbols.        (line  78)
-* \bigtriangleup:                        Math symbols.        (line  82)
-* \biguplus:                             Math symbols.        (line  89)
-* \bigvee:                               Math symbols.        (line  93)
-* \bigwedge:                             Math symbols.        (line  96)
+* \bigtriangleup:                        Math symbols.        (line  81)
+* \biguplus:                             Math symbols.        (line  87)
+* \bigvee:                               Math symbols.        (line  91)
+* \bigwedge:                             Math symbols.        (line  94)
 * \bmod:                                 Math functions.      (line  21)
 * \boldmath:                             \boldmath & \unboldmath.
                                                               (line   6)
 * \boldmath <1>:                         \boldmath & \unboldmath.
                                                               (line  14)
-* \bot:                                  Math symbols.        (line  99)
+* \bot:                                  Math symbols.        (line  97)
 * \bottomfraction:                       Floats.              (line  94)
 * \bottomfraction <1>:                   Floats.              (line  95)
-* \bowtie:                               Math symbols.        (line 104)
-* \Box:                                  Math symbols.        (line 107)
+* \bowtie:                               Math symbols.        (line 102)
+* \Box:                                  Math symbols.        (line 105)
 * \breve:                                Math accents.        (line  16)
-* \bullet:                               Math symbols.        (line 112)
-* \c (cedilla accent):                   Accents.             (line  59)
-* \cal:                                  Font styles.         (line  77)
-* \cap:                                  Math symbols.        (line 115)
-* \capitalacute:                         Accents.             (line  27)
-* \capitalbreve:                         Accents.             (line  85)
-* \capitalcaron:                         Accents.             (line  89)
-* \capitalcedilla:                       Accents.             (line  59)
-* \capitalcircumflex:                    Accents.             (line  38)
-* \capitaldieresis:                      Accents.             (line  23)
-* \capitaldotaccent:                     Accents.             (line  63)
-* \capitalgrave:                         Accents.             (line  42)
-* \capitalhungarumlaut:                  Accents.             (line  67)
-* \capitalmacron:                        Accents.             (line  34)
-* \capitalnewtie:                        Accents.             (line  81)
-* \capitalogonek:                        Accents.             (line  71)
-* \capitalring:                          Accents.             (line  75)
-* \capitaltie:                           Accents.             (line  81)
-* \capitaltilde:                         Accents.             (line  46)
+* \bullet:                               Math symbols.        (line 110)
+* \c (cedilla accent):                   Accents.             (line  61)
+* \cal:                                  Font styles.         (line  78)
+* \cap:                                  Math symbols.        (line 113)
+* \capitalacute:                         Accents.             (line  29)
+* \capitalbreve:                         Accents.             (line  87)
+* \capitalcaron:                         Accents.             (line  91)
+* \capitalcedilla:                       Accents.             (line  61)
+* \capitalcircumflex:                    Accents.             (line  40)
+* \capitaldieresis:                      Accents.             (line  25)
+* \capitaldotaccent:                     Accents.             (line  65)
+* \capitalgrave:                         Accents.             (line  44)
+* \capitalhungarumlaut:                  Accents.             (line  69)
+* \capitalmacron:                        Accents.             (line  36)
+* \capitalnewtie:                        Accents.             (line  83)
+* \capitalogonek:                        Accents.             (line  73)
+* \capitalring:                          Accents.             (line  77)
+* \capitaltie:                           Accents.             (line  83)
+* \capitaltilde:                         Accents.             (line  48)
 * \caption:                              figure.              (line  44)
-* \caption <1>:                          table.               (line  44)
+* \caption <1>:                          table.               (line  42)
 * \cc:                                   \cc.                 (line   6)
-* \cdot:                                 Math symbols.        (line 120)
+* \cdot:                                 Math symbols.        (line 118)
 * \cdots:                                Dots.                (line  17)
 * \centering:                            \centering.          (line   6)
 * \chapter:                              Sectioning.          (line   6)
@@ -15441,8 +17457,8 @@
                                                               (line  21)
 * \CheckCommand*:                        Class and package commands.
                                                               (line  21)
-* \chi:                                  Math symbols.        (line 123)
-* \circ:                                 Math symbols.        (line 126)
+* \chi:                                  Math symbols.        (line 121)
+* \circ:                                 Math symbols.        (line 124)
 * \circle:                               \circle.             (line   6)
 * \cite:                                 \cite.               (line   6)
 * \ClassError:                           Class and package commands.
@@ -15460,8 +17476,10 @@
 * \clearpage:                            \clearpage & \cleardoublepage.
                                                               (line   6)
 * \cline:                                \cline.              (line   6)
+* \closein:                              \openin & \openout.  (line   6)
+* \closeout:                             \openin & \openout.  (line   6)
 * \closing:                              \closing.            (line   6)
-* \clubsuit:                             Math symbols.        (line 131)
+* \clubsuit:                             Math symbols.        (line 129)
 * \colon:                                Colon character & \colon.
                                                               (line   6)
 * \columnsep:                            \twocolumn.          (line  20)
@@ -15479,24 +17497,27 @@
                                                               (line   8)
 * \columnwidth <2>:                      Page layout parameters.
                                                               (line   9)
-* \complement:                           Math symbols.        (line 134)
-* \cong:                                 Math symbols.        (line 140)
-* \contentsline:                         \addcontentsline.    (line  10)
-* \coprod:                               Math symbols.        (line 143)
-* \copyright:                            Text symbols.        (line  11)
+* \complement:                           Math symbols.        (line 132)
+* \cong:                                 Math symbols.        (line 138)
+* \contentsline:                         Table of contents etc..
+                                                              (line  63)
+* \contentsline <1>:                     \addcontentsline.    (line  10)
+* \contentsline <2>:                     \contentsline.       (line   6)
+* \coprod:                               Math symbols.        (line 141)
+* \copyright:                            Text symbols.        (line  13)
 * \cos:                                  Math functions.      (line  24)
 * \cosh:                                 Math functions.      (line  27)
 * \cot:                                  Math functions.      (line  30)
 * \coth:                                 Math functions.      (line  33)
 * \csc:                                  Math functions.      (line  36)
-* \cup:                                  Math symbols.        (line 146)
+* \cup:                                  Math symbols.        (line 144)
 * \CurrentOption:                        Class and package commands.
                                                               (line  60)
-* \d (dot-under accent):                 Accents.             (line  63)
-* \dag:                                  Text symbols.        (line  15)
-* \dagger:                               Math symbols.        (line 151)
+* \d (dot-under accent):                 Accents.             (line  65)
+* \dag:                                  Text symbols.        (line  17)
+* \dagger:                               Math symbols.        (line 148)
 * \dashbox:                              \dashbox.            (line   6)
-* \dashv:                                Math symbols.        (line 154)
+* \dashv:                                Math symbols.        (line 151)
 * \date{TEXT}:                           \maketitle.          (line  50)
 * \day:                                  \day & \month & \year.
                                                               (line   6)
@@ -15505,10 +17526,12 @@
 * \dbltextfloatsep:                      \twocolumn.          (line  79)
 * \dbltopfraction:                       \twocolumn.          (line  45)
 * \dbltopnumber:                         \twocolumn.          (line  84)
-* \ddag:                                 Text symbols.        (line  18)
-* \ddagger:                              Math symbols.        (line 158)
+* \ddag:                                 Text symbols.        (line  20)
+* \ddagger:                              Math symbols.        (line 156)
 * \ddot:                                 Math accents.        (line  22)
 * \ddots:                                Dots.                (line  21)
+* \DeclareFontEncoding:                  \DeclareFontEncoding.
+                                                              (line   6)
 * \DeclareGraphicsExtensions:            \DeclareGraphicsExtensions.
                                                               (line   6)
 * \DeclareGraphicsRule:                  \DeclareGraphicsRule.
@@ -15521,35 +17544,59 @@
                                                               (line  96)
 * \DeclareRobustCommand*:                Class and package commands.
                                                               (line  96)
+* \DeclareTextAccent:                    \DeclareTextAccent.  (line   6)
+* \DeclareTextAccent <1>:                \DeclareTextAccentDefault.
+                                                              (line   6)
+* \DeclareTextAccentDefault:             \DeclareTextAccentDefault.
+                                                              (line   6)
+* \DeclareTextCommand:                   \DeclareTextCommand & \ProvideTextCommand.
+                                                              (line   6)
+* \DeclareTextCommand <1>:               \DeclareTextCommandDefault & \ProvideTextCommandDefault.
+                                                              (line   6)
+* \DeclareTextCommandDefault:            \DeclareTextCommand & \ProvideTextCommand.
+                                                              (line   6)
+* \DeclareTextCommandDefault <1>:        \DeclareTextCommandDefault & \ProvideTextCommandDefault.
+                                                              (line   6)
+* \DeclareTextComposite:                 \DeclareTextComposite.
+                                                              (line   6)
+* \DeclareTextCompositeCommand:          \DeclareTextCompositeCommand.
+                                                              (line   6)
+* \DeclareTextSymbol:                    \DeclareTextSymbol.  (line   6)
+* \DeclareTextSymbol <1>:                \DeclareTextSymbolDefault.
+                                                              (line   6)
+* \DeclareTextSymbolDefault:             \DeclareTextSymbolDefault.
+                                                              (line   6)
 * \deg:                                  Math functions.      (line  39)
-* \Delta:                                Math symbols.        (line 161)
-* \delta:                                Math symbols.        (line 164)
+* \DelayedShellEscape:                   \write18.            (line  71)
+* \Delta:                                Math symbols.        (line 159)
+* \delta:                                Math symbols.        (line 162)
 * \det:                                  Math functions.      (line  42)
-* \dh (d):                               Additional Latin letters.
+* \dh (ð):                               Additional Latin letters.
                                                               (line  20)
-* \DH (D):                               Additional Latin letters.
+* \DH (Ð):                               Additional Latin letters.
                                                               (line  20)
-* \Diamond:                              Math symbols.        (line 167)
-* \diamond:                              Math symbols.        (line 171)
-* \diamondsuit:                          Math symbols.        (line 175)
+* \Diamond:                              Math symbols.        (line 165)
+* \diamond:                              Math symbols.        (line 169)
+* \diamondsuit:                          Math symbols.        (line 174)
 * \dim:                                  Math functions.      (line  45)
 * \displaystyle:                         Math formulas.       (line  61)
-* \div:                                  Math symbols.        (line 178)
+* \div:                                  Math symbols.        (line 177)
 * \dj:                                   Additional Latin letters.
                                                               (line  26)
 * \DJ:                                   Additional Latin letters.
                                                               (line  26)
 * \documentclass:                        Document classes.    (line   6)
+* \documentclass, and texput jobname:    Jobname.             (line  30)
 * \dot:                                  Math accents.        (line  25)
-* \doteq:                                Math symbols.        (line 181)
+* \doteq:                                Math symbols.        (line 180)
 * \dotfill:                              \hrulefill & \dotfill.
                                                               (line   6)
-* \dots:                                 Text symbols.        (line  35)
+* \dots:                                 Text symbols.        (line  37)
 * \doublerulesep:                        tabular.             (line 168)
 * \downarrow:                            Math symbols.        (line 185)
 * \Downarrow:                            Math symbols.        (line 189)
 * \ell:                                  Math symbols.        (line 193)
-* \emph:                                 Font styles.         (line  59)
+* \emph:                                 Font styles.         (line  60)
 * \emptyset:                             Math symbols.        (line 196)
 * \encl:                                 \encl.               (line   6)
 * \end:                                  Environments.        (line   6)
@@ -15561,7 +17608,7 @@
 * \enumii:                               enumerate.           (line  47)
 * \enumiii:                              enumerate.           (line  47)
 * \enumiv:                               enumerate.           (line  47)
-* \epsilon:                              Math symbols.        (line 200)
+* \epsilon:                              Math symbols.        (line 199)
 * \equiv:                                Math symbols.        (line 206)
 * \eta:                                  Math symbols.        (line 209)
 * \evensidemargin:                       Document class options.
@@ -15574,6 +17621,7 @@
                                                               (line 172)
 * \exists:                               Math symbols.        (line 212)
 * \exp:                                  Math functions.      (line  48)
+* \externaldocument:                     xr package.          (line   6)
 * \extracolsep:                          tabular.             (line 108)
 * \fbox:                                 \fbox & \framebox.   (line   6)
 * \fboxrule:                             \framebox (picture). (line  31)
@@ -15592,6 +17640,7 @@
 * \fnsymbol, and footnotes:              \footnote.           (line  24)
 * \fnsymbol{COUNTER}:                    \alph \Alph \arabic \roman \Roman \fnsymbol.
                                                               (line  37)
+* \fontdimen1:                           \/.                  (line  40)
 * \fontencoding:                         Low-level font commands.
                                                               (line  11)
 * \fontfamily:                           Low-level font commands.
@@ -15633,13 +17682,13 @@
 * \graphicspath:                         \graphicspath.       (line   6)
 * \graphpaper:                           \graphpaper.         (line   6)
 * \grave:                                Math accents.        (line  28)
-* \guillemotleft (<<):                   Text symbols.        (line  27)
-* \guillemotright (>>):                  Text symbols.        (line  28)
-* \guilsinglleft (<):                    Text symbols.        (line  29)
-* \guilsinglright (>):                   Text symbols.        (line  30)
-* \H (Hungarian umlaut accent):          Accents.             (line  67)
+* \guillemotleft («):                    Text symbols.        (line  29)
+* \guillemotright (»):                   Text symbols.        (line  30)
+* \guilsinglleft (‹):                    Text symbols.        (line  31)
+* \guilsinglright (›):                   Text symbols.        (line  32)
+* \H (Hungarian umlaut accent):          Accents.             (line  69)
 * \hat:                                  Math accents.        (line  31)
-* \hbar:                                 Math symbols.        (line 245)
+* \hbar:                                 Math symbols.        (line 244)
 * \headheight:                           Page layout parameters.
                                                               (line  14)
 * \headheight <1>:                       Page layout parameters.
@@ -15648,25 +17697,26 @@
                                                               (line  19)
 * \headsep <1>:                          Page layout parameters.
                                                               (line  20)
-* \heartsuit:                            Math symbols.        (line 248)
+* \heartsuit:                            Math symbols.        (line 247)
 * \hfill:                                \hfill.              (line   6)
 * \hline:                                \hline.              (line   6)
 * \hom:                                  Math functions.      (line  54)
-* \hookleftarrow:                        Math symbols.        (line 251)
-* \hookrightarrow:                       Math symbols.        (line 254)
+* \hookleftarrow:                        Math symbols.        (line 250)
+* \hookrightarrow:                       Math symbols.        (line 253)
 * \hrulefill:                            \hrulefill & \dotfill.
                                                               (line   6)
 * \hsize:                                Page layout parameters.
                                                               (line 119)
 * \hsize <1>:                            Page layout parameters.
-                                                              (line 119)
+                                                              (line 120)
 * \hspace:                               \hspace.             (line   6)
 * \hss:                                  \hss.                (line   6)
 * \huge:                                 Font sizes.          (line  11)
 * \Huge:                                 Font sizes.          (line  11)
 * \hyphenation:                          \hyphenation.        (line   6)
-* \i (dotless i):                        Accents.             (line  17)
-* \iff:                                  Math symbols.        (line 257)
+* \i (dotless i):                        Accents.             (line  19)
+* \IfBeginWith* macro from xstring:      Jobname.             (line  53)
+* \iff:                                  Math symbols.        (line 256)
 * \IfFileExists:                         Class and package commands.
                                                               (line 128)
 * \ignorespaces:                         \ignorespaces & \ignorespacesafterend.
@@ -15677,9 +17727,10 @@
                                                               (line  32)
 * \IJ (IJ):                              Additional Latin letters.
                                                               (line  32)
-* \Im:                                   Math symbols.        (line 261)
-* \imath:                                Math symbols.        (line 264)
-* \in:                                   Math symbols.        (line 268)
+* \Im:                                   Math symbols.        (line 260)
+* \imath:                                Math symbols.        (line 263)
+* \immediate\write:                      \write.              (line  60)
+* \in:                                   Math symbols.        (line 267)
 * \include:                              \include & \includeonly.
                                                               (line   6)
 * \includegraphics:                      \includegraphics.    (line   6)
@@ -15691,80 +17742,87 @@
 * \indexentry:                           \index.              (line 106)
 * \indexspace:                           makeindex.           (line  58)
 * \inf:                                  Math functions.      (line  57)
-* \infty:                                Math symbols.        (line 273)
+* \infty:                                Math symbols.        (line 271)
 * \input:                                \input.              (line   6)
 * \InputIfFileExists:                    Class and package commands.
                                                               (line 128)
-* \int:                                  Math symbols.        (line 276)
+* \int:                                  Math symbols.        (line 274)
 * \intextsep:                            Floats.              (line 118)
 * \intextsep <1>:                        Floats.              (line 119)
-* \iota:                                 Math symbols.        (line 279)
-* \it:                                   Font styles.         (line  80)
+* \iota:                                 Math symbols.        (line 277)
+* \it:                                   Font styles.         (line  81)
 * \item:                                 description.         (line  31)
 * \item <1>:                             enumerate.           (line  29)
 * \item <2>:                             itemize.             (line   6)
-* \item <3>:                             itemize.             (line  28)
-* \itemindent:                           list.                (line  83)
-* \itemsep:                              list.                (line  87)
-* \itshape:                              Font styles.         (line  33)
-* \j (dotless j):                        Accents.             (line  17)
-* \jmath:                                Math symbols.        (line 286)
-* \Join:                                 Math symbols.        (line 282)
-* \k (ogonek):                           Accents.             (line  71)
-* \kappa:                                Math symbols.        (line 290)
+* \item <3>:                             itemize.             (line  30)
+* \itemindent:                           list.                (line  84)
+* \itemsep:                              list.                (line  88)
+* \itshape:                              Font styles.         (line  34)
+* \j (dotless j):                        Accents.             (line  19)
+* \jmath:                                Math symbols.        (line 283)
+* \jobname:                              Jobname.             (line   6)
+* \jobname <1>:                          Jobname.             (line  44)
+* \Join:                                 Math symbols.        (line 280)
+* \k (ogonek):                           Accents.             (line  73)
+* \kappa:                                Math symbols.        (line 287)
 * \ker:                                  Math functions.      (line  60)
 * \kill:                                 tabbing.             (line 107)
-* \l (/l):                               Additional Latin letters.
+* \l (ł):                                Additional Latin letters.
                                                               (line  36)
-* \L (/L):                               Additional Latin letters.
+* \L (Ł):                                Additional Latin letters.
                                                               (line  36)
+* \l at chapter:                            \contentsline.       (line   6)
+* \l at section:                            \contentsline.       (line   6)
+* \l at subsection:                         \contentsline.       (line   6)
 * \label:                                \label.              (line   6)
 * \labelenumi:                           enumerate.           (line  56)
 * \labelenumii:                          enumerate.           (line  56)
 * \labelenumiii:                         enumerate.           (line  56)
 * \labelenumiv:                          enumerate.           (line  56)
-* \labelitemi:                           itemize.             (line  35)
-* \labelitemii:                          itemize.             (line  35)
-* \labelitemiii:                         itemize.             (line  35)
-* \labelitemiv:                          itemize.             (line  35)
-* \labelsep:                             list.                (line  99)
-* \labelwidth:                           list.                (line 104)
-* \Lambda:                               Math symbols.        (line 293)
-* \lambda:                               Math symbols.        (line 296)
-* \land:                                 Math symbols.        (line 299)
-* \langle:                               Math symbols.        (line 304)
+* \labelitemi:                           itemize.             (line  42)
+* \labelitemii:                          itemize.             (line  42)
+* \labelitemiii:                         itemize.             (line  42)
+* \labelitemiv:                          itemize.             (line  42)
+* \labelsep:                             list.                (line 100)
+* \labelwidth:                           list.                (line 105)
+* \Lambda:                               Math symbols.        (line 290)
+* \lambda:                               Math symbols.        (line 293)
+* \land:                                 Math symbols.        (line 296)
+* \langle:                               Math symbols.        (line 300)
 * \large:                                Font sizes.          (line  11)
 * \Large:                                Font sizes.          (line  11)
 * \LARGE:                                Font sizes.          (line  11)
-* \LaTeX:                                Text symbols.        (line  21)
-* \LaTeXe:                               Text symbols.        (line  24)
-* \lbrace:                               Math symbols.        (line 309)
-* \lbrack:                               Math symbols.        (line 313)
-* \lceil:                                Math symbols.        (line 317)
-* \ldots:                                Dots.                (line  25)
-* \ldots <1>:                            Text symbols.        (line  34)
-* \le:                                   Math symbols.        (line 321)
-* \leadsto:                              Math symbols.        (line 325)
+* \LastDeclaredEncoding:                 \LastDeclaredEncoding.
+                                                              (line   6)
+* \LaTeX:                                Text symbols.        (line  23)
+* \LaTeXe:                               Text symbols.        (line  26)
+* \lbrace:                               Math symbols.        (line 304)
+* \lbrack:                               Math symbols.        (line 307)
+* \lceil:                                Math symbols.        (line 310)
+* \ldots:                                Dots.                (line  24)
+* \ldots <1>:                            Text symbols.        (line  36)
+* \le:                                   Math symbols.        (line 315)
+* \leadsto:                              Math symbols.        (line 318)
 * \left:                                 \left & \right.      (line   6)
-* \Leftarrow:                            Math symbols.        (line 332)
-* \leftarrow:                            Math symbols.        (line 337)
+* \Leftarrow:                            Math symbols.        (line 324)
+* \leftarrow:                            Math symbols.        (line 329)
 * \lefteqn:                              eqnarray.            (line  46)
-* \leftharpoondown:                      Math symbols.        (line 341)
-* \leftharpoonup:                        Math symbols.        (line 344)
-* \leftmargin:                           itemize.             (line  54)
-* \leftmargin <1>:                       list.                (line 124)
-* \leftmargini:                          itemize.             (line  54)
-* \leftmarginii:                         itemize.             (line  54)
-* \leftmarginiii:                        itemize.             (line  54)
-* \leftmarginiv:                         itemize.             (line  54)
-* \leftmarginv:                          itemize.             (line  54)
-* \leftmarginvi:                         itemize.             (line  54)
-* \Leftrightarrow:                       Math symbols.        (line 347)
-* \leftrightarrow:                       Math symbols.        (line 352)
-* \leq:                                  Math symbols.        (line 357)
-* \lfloor:                               Math symbols.        (line 361)
+* \leftharpoondown:                      Math symbols.        (line 333)
+* \leftharpoonup:                        Math symbols.        (line 336)
+* \leftmargin:                           itemize.             (line  58)
+* \leftmargin <1>:                       list.                (line 125)
+* \leftmargini:                          itemize.             (line  58)
+* \leftmarginii:                         itemize.             (line  58)
+* \leftmarginiii:                        itemize.             (line  58)
+* \leftmarginiv:                         itemize.             (line  58)
+* \leftmarginv:                          itemize.             (line  58)
+* \leftmarginvi:                         itemize.             (line  58)
+* \Leftrightarrow:                       Math symbols.        (line 339)
+* \leftrightarrow:                       Math symbols.        (line 344)
+* \leq:                                  Math symbols.        (line 349)
+* \lfloor:                               Math symbols.        (line 352)
 * \lg:                                   Math functions.      (line  63)
-* \lhd:                                  Math symbols.        (line 364)
+* \lhd:                                  Math symbols.        (line 355)
 * \lim:                                  Math functions.      (line  66)
 * \liminf:                               Math functions.      (line  69)
 * \limsup:                               Math functions.      (line  72)
@@ -15771,8 +17829,14 @@
 * \line:                                 \line.               (line   6)
 * \linebreak:                            \linebreak & \nolinebreak.
                                                               (line   6)
+* \lineskip:                             \baselineskip & \baselinestretch.
+                                                              (line  45)
+* \lineskiplimit:                        \baselineskip & \baselinestretch.
+                                                              (line  45)
 * \linespread:                           Low-level font commands.
-                                                              (line 125)
+                                                              (line 112)
+* \linespread <1>:                       \baselineskip & \baselinestretch.
+                                                              (line   6)
 * \linethickness:                        \linethickness.      (line   6)
 * \linewidth:                            Page layout parameters.
                                                               (line  33)
@@ -15780,12 +17844,14 @@
                                                               (line  34)
 * \listoffigures:                        Table of contents etc..
                                                               (line   6)
+* \listoffigures <1>:                    \contentsline.       (line   6)
 * \listoftables:                         Table of contents etc..
                                                               (line   6)
-* \listparindent:                        list.                (line 141)
-* \ll:                                   Math symbols.        (line 372)
+* \listoftables <1>:                     \contentsline.       (line   6)
+* \listparindent:                        list.                (line 142)
+* \ll:                                   Math symbols.        (line 361)
 * \ln:                                   Math functions.      (line  75)
-* \lnot:                                 Math symbols.        (line 376)
+* \lnot:                                 Math symbols.        (line 364)
 * \LoadClass:                            Class and package commands.
                                                               (line 148)
 * \LoadClassWithOptions:                 Class and package commands.
@@ -15792,12 +17858,14 @@
                                                               (line 148)
 * \location:                             \location.           (line   6)
 * \log:                                  Math functions.      (line  78)
-* \longleftarrow:                        Math symbols.        (line 379)
-* \longleftrightarrow:                   Math symbols.        (line 384)
-* \longmapsto:                           Math symbols.        (line 388)
-* \longrightarrow:                       Math symbols.        (line 393)
-* \lor:                                  Math symbols.        (line 398)
-* \lq:                                   Text symbols.        (line  40)
+* \long:                                 \newcommand & \renewcommand.
+                                                              (line  27)
+* \longleftarrow:                        Math symbols.        (line 367)
+* \longleftrightarrow:                   Math symbols.        (line 372)
+* \longmapsto:                           Math symbols.        (line 377)
+* \longrightarrow:                       Math symbols.        (line 382)
+* \lor:                                  Math symbols.        (line 387)
+* \lq:                                   Text symbols.        (line  42)
 * \mainmatter:                           \frontmatter & \mainmatter & \backmatter.
                                                               (line   6)
 * \makebox:                              \mbox & \makebox.    (line   6)
@@ -15805,10 +17873,10 @@
 * \makeglossary:                         Glossaries.          (line   6)
 * \makeglossary <1>:                     Glossaries.          (line  43)
 * \makeindex:                            Indexes.             (line   6)
-* \makelabel:                            list.                (line  60)
+* \makelabel:                            list.                (line  61)
 * \makelabels:                           \makelabels.         (line   6)
 * \maketitle:                            \maketitle.          (line   6)
-* \mapsto:                               Math symbols.        (line 401)
+* \mapsto:                               Math symbols.        (line 391)
 * \marginpar:                            Marginal notes.      (line   6)
 * \marginparpush:                        Page layout parameters.
                                                               (line  40)
@@ -15815,12 +17883,12 @@
 * \marginparpush <1>:                    Page layout parameters.
                                                               (line  43)
 * \marginparpush <2>:                    Marginal notes.      (line  35)
-* \marginparsep:                         Marginal notes.      (line  39)
+* \marginparsep:                         Marginal notes.      (line  40)
 * \marginparwidth:                       Page layout parameters.
                                                               (line  42)
 * \marginparwidth <1>:                   Page layout parameters.
                                                               (line  43)
-* \marginparwidth <2>:                   Marginal notes.      (line  43)
+* \marginparwidth <2>:                   Marginal notes.      (line  44)
 * \marginsep:                            Page layout parameters.
                                                               (line  41)
 * \marginsep <1>:                        Page layout parameters.
@@ -15827,51 +17895,57 @@
                                                               (line  43)
 * \markboth{LEFT-HEAD}{RIGHT-HEAD}:      \pagestyle.          (line  75)
 * \markright{RIGHT}:                     \pagestyle.          (line  84)
-* \mathbf:                               Font styles.         (line 110)
-* \mathcal:                              Font styles.         (line 126)
-* \mathdollar:                           Math symbols.        (line 910)
-* \mathnormal:                           Font styles.         (line 123)
-* \mathparagraph:                        Math symbols.        (line 913)
+* \mathbf:                               Font styles.         (line 111)
+* \mathcal:                              Font styles.         (line 127)
+* \mathdollar:                           Math symbols.        (line 872)
+* \mathnormal:                           Font styles.         (line 124)
+* \mathparagraph:                        Math symbols.        (line 875)
 * \mathring:                             Math accents.        (line  34)
-* \mathrm:                               Font styles.         (line 107)
-* \mathsection:                          Math symbols.        (line 916)
-* \mathsf:                               Font styles.         (line 113)
-* \mathsterling:                         Math symbols.        (line 919)
-* \mathtt:                               Font styles.         (line 116)
-* \mathunderscore:                       Math symbols.        (line 922)
-* \mathversion:                          Font styles.         (line 128)
+* \mathrm:                               Font styles.         (line 108)
+* \mathsection:                          Math symbols.        (line 878)
+* \mathsf:                               Font styles.         (line 114)
+* \mathsterling:                         Math symbols.        (line 881)
+* \mathstrut:                            \mathstrut.          (line   6)
+* \mathtt:                               Font styles.         (line 117)
+* \mathunderscore:                       Math symbols.        (line 884)
+* \mathversion:                          Font styles.         (line 129)
 * \max:                                  Math functions.      (line  81)
 * \mbox:                                 \mbox & \makebox.    (line   6)
-* \mdseries:                             Font styles.         (line  36)
+* \mdseries:                             Font styles.         (line  37)
 * \medskip:                              \bigskip & \medskip & \smallskip.
                                                               (line  33)
 * \medskipamount:                        \bigskip & \medskip & \smallskip.
                                                               (line  34)
 * \medspace:                             Spacing in math mode.
-                                                              (line  28)
-* \mho:                                  Math symbols.        (line 405)
-* \mid:                                  Math symbols.        (line 410)
+                                                              (line  34)
+* \message:                              \message.            (line   6)
+* \mho:                                  Math symbols.        (line 396)
+* \mid:                                  Math symbols.        (line 399)
 * \min:                                  Math functions.      (line  84)
-* \models:                               Math symbols.        (line 420)
+* \models:                               Math symbols.        (line 409)
 * \month:                                \day & \month & \year.
                                                               (line   6)
-* \mp:                                   Math symbols.        (line 425)
-* \mu:                                   Math symbols.        (line 428)
+* \mp:                                   Math symbols.        (line 414)
+* \mu:                                   Math symbols.        (line 417)
 * \multicolumn:                          \multicolumn.        (line   6)
 * \multiput:                             \multiput.           (line   6)
-* \nabla:                                Math symbols.        (line 431)
+* \nabla:                                Math symbols.        (line 420)
 * \name:                                 \name.               (line   6)
-* \natural:                              Math symbols.        (line 434)
-* \ne:                                   Math symbols.        (line 437)
-* \nearrow:                              Math symbols.        (line 440)
+* \natural:                              Math symbols.        (line 423)
+* \ne:                                   Math symbols.        (line 426)
+* \nearrow:                              Math symbols.        (line 429)
 * \NeedsTeXFormat:                       Class and package commands.
                                                               (line 182)
-* \neg:                                  Math symbols.        (line 443)
+* \neg:                                  Math symbols.        (line 432)
+* \negmedspace:                          Spacing in math mode.
+                                                              (line  39)
+* \negthickspace:                        Spacing in math mode.
+                                                              (line  28)
 * \negthinspace:                         Spacing in math mode.
-                                                              (line  46)
+                                                              (line  58)
 * \negthinspace <1>:                     \thinspace & \negthinspace.
                                                               (line   6)
-* \neq:                                  Math symbols.        (line 447)
+* \neq:                                  Math symbols.        (line 436)
 * \newcommand:                           \newcommand & \renewcommand.
                                                               (line   6)
 * \newcounter:                           \newcounter.         (line   6)
@@ -15885,15 +17959,16 @@
 * \newpage:                              \newpage.            (line   6)
 * \newsavebox:                           \newsavebox.         (line   6)
 * \newtheorem:                           \newtheorem.         (line   6)
-* \newtie:                               Accents.             (line  81)
+* \newtie:                               Accents.             (line  83)
+* \newwrite:                             \write.              (line  24)
 * \ng:                                   Additional Latin letters.
                                                               (line  40)
 * \NG:                                   Additional Latin letters.
                                                               (line  40)
-* \ni:                                   Math symbols.        (line 450)
+* \ni:                                   Math symbols.        (line 439)
 * \nocite:                               \nocite.             (line   6)
-* \nocorr:                               Font styles.         (line  21)
-* \nocorrlist:                           Font styles.         (line  21)
+* \nocorr:                               Font styles.         (line  22)
+* \nocorrlist:                           Font styles.         (line  22)
 * \nofiles:                              \nofiles.            (line   6)
 * \noindent:                             \indent & \noindent. (line   6)
 * \nolinebreak:                          \linebreak & \nolinebreak.
@@ -15902,17 +17977,18 @@
 * \nonumber:                             eqnarray.            (line  41)
 * \nopagebreak:                          \pagebreak & \nopagebreak.
                                                               (line   6)
-* \normalfont:                           Font styles.         (line  57)
+* \normalfont:                           Font styles.         (line  58)
 * \normalmarginpar:                      Marginal notes.      (line  22)
 * \normalsfcodes:                        \normalsfcodes.      (line   6)
 * \normalsize:                           Font sizes.          (line  11)
-* \not:                                  Math symbols.        (line 455)
-* \notin:                                Math symbols.        (line 463)
-* \nu:                                   Math symbols.        (line 467)
-* \nwarrow:                              Math symbols.        (line 470)
-* \o (/o):                               Additional Latin letters.
+* \not:                                  Math symbols.        (line 444)
+* \notin:                                Math symbols.        (line 452)
+* \nu:                                   Math symbols.        (line 456)
+* \numberline:                           \numberline.         (line   6)
+* \nwarrow:                              Math symbols.        (line 459)
+* \o (ø):                                Additional Latin letters.
                                                               (line  44)
-* \O (/O):                               Additional Latin letters.
+* \O (Ø):                                Additional Latin letters.
                                                               (line  44)
 * \obeycr:                               \obeycr & \restorecr.
                                                               (line   6)
@@ -15922,30 +17998,32 @@
                                                               (line  66)
 * \oddsidemargin <2>:                    Page layout parameters.
                                                               (line  68)
-* \odot:                                 Math symbols.        (line 473)
-* \oe (oe):                              Additional Latin letters.
+* \odot:                                 Math symbols.        (line 462)
+* \oe (œ):                               Additional Latin letters.
                                                               (line  48)
-* \OE (OE):                              Additional Latin letters.
+* \OE (Œ):                               Additional Latin letters.
                                                               (line  48)
-* \oint:                                 Math symbols.        (line 478)
-* \oldstylenums:                         Font styles.         (line 132)
-* \Omega:                                Math symbols.        (line 482)
-* \omega:                                Math symbols.        (line 485)
-* \ominus:                               Math symbols.        (line 488)
+* \oint:                                 Math symbols.        (line 466)
+* \oldstylenums:                         Font styles.         (line 133)
+* \Omega:                                Math symbols.        (line 469)
+* \omega:                                Math symbols.        (line 472)
+* \ominus:                               Math symbols.        (line 475)
 * \onecolumn:                            \onecolumn.          (line   6)
+* \openin:                               \openin & \openout.  (line   6)
 * \opening:                              \opening.            (line   6)
-* \oplus:                                Math symbols.        (line 491)
+* \openout:                              \openin & \openout.  (line   6)
+* \oplus:                                Math symbols.        (line 478)
 * \OptionNotUsed:                        Class and package commands.
                                                               (line 200)
-* \oslash:                               Math symbols.        (line 495)
-* \otimes:                               Math symbols.        (line 498)
+* \oslash:                               Math symbols.        (line 483)
+* \otimes:                               Math symbols.        (line 486)
 * \oval:                                 \oval.               (line   6)
 * \overbrace{MATH}:                      Over- and Underlining.
                                                               (line  40)
 * \overline{TEXT}:                       Over- and Underlining.
                                                               (line  21)
-* \owns:                                 Math symbols.        (line 503)
-* \P:                                    Text symbols.        (line  43)
+* \owns:                                 Math symbols.        (line 491)
+* \P:                                    Text symbols.        (line  45)
 * \PackageError:                         Class and package commands.
                                                               (line  41)
 * \PackageInfo:                          Class and package commands.
@@ -15973,20 +18051,20 @@
 * \paragraph:                            Sectioning.          (line   6)
 * \paragraph <1>:                        \subsubsection & \paragraph & \subparagraph.
                                                               (line   6)
-* \parallel:                             Math symbols.        (line 508)
+* \parallel:                             Math symbols.        (line 496)
 * \parbox:                               \parbox.             (line   6)
 * \parindent:                            minipage.            (line 103)
 * \parindent <1>:                        \indent & \noindent. (line   6)
 * \parindent <2>:                        \parindent & \parskip.
                                                               (line   6)
-* \parsep:                               list.                (line 147)
+* \parsep:                               list.                (line 148)
 * \parskip:                              \parindent & \parskip.
                                                               (line   6)
-* \parskip example:                      itemize.             (line  73)
+* \parskip example:                      itemize.             (line  78)
 * \part:                                 Sectioning.          (line   6)
 * \part <1>:                             \part.               (line   6)
-* \partial:                              Math symbols.        (line 511)
-* \partopsep:                            list.                (line 156)
+* \partial:                              Math symbols.        (line 499)
+* \partopsep:                            list.                (line 157)
 * \PassOptionsToClass:                   Class and package commands.
                                                               (line 206)
 * \PassOptionsToPackage:                 Class and package commands.
@@ -15995,19 +18073,22 @@
                                                               (line  40)
 * \pdfpagewidth:                         Document class options.
                                                               (line  40)
-* \perp:                                 Math symbols.        (line 514)
-* \phi:                                  Math symbols.        (line 519)
-* \Pi:                                   Math symbols.        (line 523)
-* \pi:                                   Math symbols.        (line 526)
-* \pm:                                   Math symbols.        (line 530)
+* \perp:                                 Math symbols.        (line 502)
+* \Phi:                                  Math symbols.        (line 506)
+* \phi:                                  Math symbols.        (line 509)
+* \Pi:                                   Math symbols.        (line 514)
+* \pi:                                   Math symbols.        (line 517)
+* \pm:                                   Math symbols.        (line 521)
 * \pmod:                                 Math functions.      (line  87)
 * \poptabs:                              tabbing.             (line 113)
 * \poptabs <1>:                          tabbing.             (line 114)
-* \pounds:                               Text symbols.        (line  47)
+* \pounds:                               Text symbols.        (line  49)
 * \Pr:                                   Math functions.      (line  90)
-* \prec:                                 Math symbols.        (line 533)
-* \preceq:                               Math symbols.        (line 536)
-* \prime:                                Math symbols.        (line 541)
+* \prec:                                 Math symbols.        (line 524)
+* \preceq:                               Math symbols.        (line 527)
+* \prevdepth:                            \baselineskip & \baselinestretch.
+                                                              (line  45)
+* \prime:                                Math symbols.        (line 531)
 * \printglossaries:                      Glossaries.          (line   6)
 * \printglossaries <1>:                  Glossaries.          (line  43)
 * \printindex:                           \printindex.         (line   6)
@@ -16016,9 +18097,10 @@
                                                               (line 243)
 * \ProcessOptions*:                      Class and package commands.
                                                               (line 243)
-* \prod:                                 Math symbols.        (line 550)
-* \propto:                               Math symbols.        (line 553)
+* \prod:                                 Math symbols.        (line 540)
+* \propto:                               Math symbols.        (line 543)
 * \protect:                              \protect.            (line   6)
+* \protected at write:                      \write.              (line  70)
 * \providecommand:                       \providecommand.     (line   6)
 * \ProvidesClass:                        Class and package commands.
                                                               (line 281)
@@ -16026,126 +18108,139 @@
                                                               (line 314)
 * \ProvidesPackage:                      Class and package commands.
                                                               (line 281)
+* \ProvideTextCommand:                   \DeclareTextCommand & \ProvideTextCommand.
+                                                              (line   6)
+* \ProvideTextCommand <1>:               \DeclareTextCommandDefault & \ProvideTextCommandDefault.
+                                                              (line   6)
+* \ProvideTextCommandDefault:            \DeclareTextCommandDefault & \ProvideTextCommandDefault.
+                                                              (line   6)
 * \ps:                                   \ps.                 (line   6)
-* \Psi:                                  Math symbols.        (line 556)
-* \psi:                                  Math symbols.        (line 559)
+* \Psi:                                  Math symbols.        (line 546)
+* \psi:                                  Math symbols.        (line 549)
 * \pushtabs:                             tabbing.             (line 116)
 * \put:                                  \put.                (line   6)
 * \qbezier:                              \qbezier.            (line   6)
 * \qquad:                                Spacing in math mode.
-                                                              (line  57)
+                                                              (line  71)
 * \qquad <1>:                            \enspace & \quad & \qquad.
                                                               (line   6)
 * \quad:                                 Spacing in math mode.
-                                                              (line  51)
+                                                              (line  65)
 * \quad <1>:                             \enspace & \quad & \qquad.
                                                               (line   6)
-* \quotedblbase (,,):                    Text symbols.        (line  51)
-* \quotesinglbase (,):                   Text symbols.        (line  52)
-* \r (ring accent):                      Accents.             (line  75)
+* \quotedblbase („):                     Text symbols.        (line  53)
+* \quotesinglbase (‚):                   Text symbols.        (line  54)
+* \r (ring accent):                      Accents.             (line  77)
 * \raggedbottom:                         \raggedbottom.       (line   6)
 * \raggedleft:                           \raggedleft.         (line   6)
 * \raggedright:                          \raggedright.        (line   6)
 * \raisebox:                             \raisebox.           (line   6)
-* \rangle:                               Math symbols.        (line 562)
-* \rbrace:                               Math symbols.        (line 567)
-* \rbrack:                               Math symbols.        (line 571)
-* \rceil:                                Math symbols.        (line 575)
-* \Re:                                   Math symbols.        (line 578)
+* \rangle:                               Math symbols.        (line 552)
+* \rbrace:                               Math symbols.        (line 557)
+* \rbrack:                               Math symbols.        (line 560)
+* \rceil:                                Math symbols.        (line 564)
+* \Re:                                   Math symbols.        (line 567)
+* \read:                                 \read.               (line   6)
 * \ref:                                  \ref.                (line   6)
 * \reflectbox:                           \scalebox.           (line   6)
+* \refname:                              thebibliography.     (line  44)
 * \refstepcounter:                       \refstepcounter.     (line   6)
 * \renewenvironment:                     \newenvironment & \renewenvironment.
                                                               (line   6)
 * \RequirePackage:                       Class and package commands.
                                                               (line 323)
+* \RequirePackage, and texput jobname:   Jobname.             (line  30)
 * \RequirePackageWithOptions:            Class and package commands.
                                                               (line 323)
 * \resizebox:                            \resizebox.          (line   6)
 * \restorecr:                            \obeycr & \restorecr.
                                                               (line   6)
-* \restriction:                          Math symbols.        (line 583)
-* \revemptyset:                          Math symbols.        (line 588)
+* \restriction:                          Math symbols.        (line 573)
+* \revemptyset:                          Math symbols.        (line 578)
 * \reversemarginpar:                     Marginal notes.      (line  22)
-* \rfloor:                               Math symbols.        (line 593)
-* \rhd:                                  Math symbols.        (line 597)
-* \rho:                                  Math symbols.        (line 604)
+* \rfloor:                               Math symbols.        (line 583)
+* \rhd:                                  Math symbols.        (line 588)
+* \rho:                                  Math symbols.        (line 594)
 * \right:                                \left & \right.      (line   6)
-* \Rightarrow:                           Math symbols.        (line 608)
-* \rightarrow:                           Math symbols.        (line 613)
-* \rightharpoondown:                     Math symbols.        (line 617)
-* \rightharpoonup:                       Math symbols.        (line 620)
-* \rightleftharpoons:                    Math symbols.        (line 623)
-* \rightmargin:                          list.                (line 171)
-* \rm:                                   Font styles.         (line  83)
-* \rmfamily:                             Font styles.         (line  30)
+* \Rightarrow:                           Math symbols.        (line 599)
+* \rightarrow:                           Math symbols.        (line 604)
+* \rightharpoondown:                     Math symbols.        (line 608)
+* \rightharpoonup:                       Math symbols.        (line 611)
+* \rightleftharpoons:                    Math symbols.        (line 614)
+* \rightmargin:                          list.                (line 172)
+* \rm:                                   Font styles.         (line  84)
+* \rmfamily:                             Font styles.         (line  31)
 * \roman{COUNTER}:                       \alph \Alph \arabic \roman \Roman \fnsymbol.
                                                               (line  27)
 * \Roman{COUNTER}:                       \alph \Alph \arabic \roman \Roman \fnsymbol.
                                                               (line  32)
 * \rotatebox:                            \rotatebox.          (line   6)
-* \rq:                                   Text symbols.        (line  55)
+* \rq:                                   Text symbols.        (line  57)
 * \rule:                                 \rule.               (line   6)
-* \S:                                    Text symbols.        (line  58)
+* \S:                                    Text symbols.        (line  60)
 * \savebox:                              \sbox & \savebox.    (line   6)
 * \sbox:                                 \sbox & \savebox.    (line   6)
-* \sc:                                   Font styles.         (line  86)
+* \sc:                                   Font styles.         (line  87)
 * \scalebox:                             \scalebox.           (line   6)
 * \scriptsize:                           Font sizes.          (line  11)
-* \scshape:                              Font styles.         (line  51)
-* \searrow:                              Math symbols.        (line 626)
+* \scshape:                              Font styles.         (line  52)
+* \searrow:                              Math symbols.        (line 617)
 * \sec:                                  Math functions.      (line  93)
 * \section:                              Sectioning.          (line   6)
 * \section <1>:                          \section.            (line   6)
 * \seename:                              \index.              (line  56)
 * \selectfont:                           Low-level font commands.
-                                                              (line 131)
+                                                              (line 118)
 * \setcounter:                           \setcounter.         (line   6)
 * \setlength:                            \setlength.          (line   6)
-* \setminus:                             Math symbols.        (line 629)
+* \setminus:                             Math symbols.        (line 620)
 * \settodepth:                           \settodepth.         (line   6)
 * \settoheight:                          \settoheight.        (line   6)
 * \settowidth:                           \settowidth.         (line   6)
-* \sf:                                   Font styles.         (line  89)
-* \sffamily:                             Font styles.         (line  48)
-* \sharp:                                Math symbols.        (line 635)
+* \sf:                                   Font styles.         (line  90)
+* \sffamily:                             Font styles.         (line  49)
+* \sharp:                                Math symbols.        (line 626)
+* \ShellEscape:                          \write18.            (line  71)
+* \shipout and expansion:                \write.              (line  65)
 * \shortstack:                           \shortstack.         (line   6)
-* \Sigma:                                Math symbols.        (line 638)
-* \sigma:                                Math symbols.        (line 641)
+* \Sigma:                                Math symbols.        (line 629)
+* \sigma:                                Math symbols.        (line 632)
 * \signature:                            \signature.          (line  11)
-* \sim:                                  Math symbols.        (line 645)
-* \simeq:                                Math symbols.        (line 648)
+* \sim:                                  Math symbols.        (line 636)
+* \simeq:                                Math symbols.        (line 639)
 * \sin:                                  Math functions.      (line  96)
 * \sinh:                                 Math functions.      (line  99)
-* \sl:                                   Font styles.         (line  92)
+* \sl:                                   Font styles.         (line  93)
 * \sloppy:                               \fussy & \sloppy.    (line   6)
-* \slshape:                              Font styles.         (line  45)
+* \slshape:                              Font styles.         (line  46)
 * \small:                                Font sizes.          (line  11)
-* \smallint:                             Math symbols.        (line 651)
+* \smallint:                             Math symbols.        (line 642)
 * \smallskip:                            \bigskip & \medskip & \smallskip.
                                                               (line  38)
 * \smallskipamount:                      \bigskip & \medskip & \smallskip.
                                                               (line  39)
-* \smile:                                Math symbols.        (line 655)
+* \smile:                                Math symbols.        (line 646)
 * \SPACE:                                \(SPACE).            (line   6)
+* \SPACE <1>:                            \(SPACE).            (line   6)
 * \spacefactor:                          \spacefactor.        (line  10)
-* \spadesuit:                            Math symbols.        (line 658)
-* \sqcap:                                Math symbols.        (line 661)
-* \sqcup:                                Math symbols.        (line 665)
+* \spadesuit:                            Math symbols.        (line 649)
+* \sqcap:                                Math symbols.        (line 652)
+* \sqcup:                                Math symbols.        (line 656)
 * \sqrt:                                 \sqrt.               (line   6)
-* \sqsubset:                             Math symbols.        (line 669)
-* \sqsubseteq:                           Math symbols.        (line 674)
-* \sqsupset:                             Math symbols.        (line 679)
-* \sqsupseteq:                           Math symbols.        (line 684)
-* \ss (ss):                              Additional Latin letters.
+* \sqsubset:                             Math symbols.        (line 660)
+* \sqsubseteq:                           Math symbols.        (line 665)
+* \sqsupset:                             Math symbols.        (line 670)
+* \sqsupseteq:                           Math symbols.        (line 675)
+* \ss (ß):                               Additional Latin letters.
                                                               (line  52)
 * \SS (SS):                              Additional Latin letters.
                                                               (line  52)
 * \stackrel:                             \stackrel.           (line   6)
-* \star:                                 Math symbols.        (line 689)
+* \star:                                 Math symbols.        (line 680)
 * \stepcounter:                          \stepcounter.        (line   6)
 * \stop:                                 Recovering from errors.
                                                               (line  23)
+* \stretch:                              \stretch.            (line   6)
 * \strut:                                \strut.              (line   6)
 * \subparagraph:                         Sectioning.          (line   6)
 * \subparagraph <1>:                     \subsubsection & \paragraph & \subparagraph.
@@ -16152,198 +18247,218 @@
                                                               (line   6)
 * \subsection:                           Sectioning.          (line   6)
 * \subsection <1>:                       \subsection.         (line   6)
-* \subset:                               Math symbols.        (line 697)
-* \subseteq:                             Math symbols.        (line 700)
-* \subsubsection:                        \subsubsection & \paragraph & \subparagraph.
+* \subset:                               Math symbols.        (line 688)
+* \subseteq:                             Math symbols.        (line 691)
+* \subsubsection:                        Sectioning.          (line   6)
+* \subsubsection <1>:                    \subsubsection & \paragraph & \subparagraph.
                                                               (line   6)
-* \succ:                                 Math symbols.        (line 703)
-* \succeq:                               Math symbols.        (line 707)
-* \sum:                                  Math symbols.        (line 712)
+* \succ:                                 Math symbols.        (line 694)
+* \succeq:                               Math symbols.        (line 697)
+* \sum:                                  Math symbols.        (line 702)
 * \sup:                                  Math functions.      (line 102)
 * \suppressfloats:                       Floats.              (line  87)
-* \supset:                               Math symbols.        (line 716)
-* \supseteq:                             Math symbols.        (line 719)
-* \surd:                                 Math symbols.        (line 722)
-* \swarrow:                              Math symbols.        (line 727)
+* \supset:                               Math symbols.        (line 705)
+* \supseteq:                             Math symbols.        (line 708)
+* \surd:                                 Math symbols.        (line 711)
+* \swarrow:                              Math symbols.        (line 716)
 * \symbol:                               Symbols by font position.
                                                               (line   6)
-* \t (tie-after accent):                 Accents.             (line  81)
+* \t (tie-after accent):                 Accents.             (line  83)
 * \TAB:                                  \(SPACE).            (line   6)
 * \tabbingsep:                           tabbing.             (line 121)
 * \tabcolsep:                            tabular.             (line 172)
 * \tableofcontents:                      Table of contents etc..
                                                               (line   6)
+* \tableofcontents <1>:                  \contentsline.       (line   6)
 * \tan:                                  Math functions.      (line 105)
 * \tanh:                                 Math functions.      (line 108)
-* \tau:                                  Math symbols.        (line 730)
+* \tau:                                  Math symbols.        (line 719)
 * \telephone:                            \telephone.          (line   6)
-* \TeX:                                  Text symbols.        (line  62)
-* \textascendercompwordmark:             Text symbols.        (line 100)
-* \textasciicircum:                      Text symbols.        (line  65)
-* \textasciitilde:                       Text symbols.        (line  68)
-* \textasteriskcentered:                 Text symbols.        (line  71)
-* \textbackslash:                        Reserved characters. (line  20)
-* \textbackslash <1>:                    Text symbols.        (line  74)
-* \textbar:                              Text symbols.        (line  77)
-* \textbardbl:                           Text symbols.        (line  80)
-* \textbf:                               Font styles.         (line  39)
-* \textbigcircle:                        Text symbols.        (line  83)
-* \textbraceleft:                        Text symbols.        (line  86)
-* \textbraceright:                       Text symbols.        (line  89)
-* \textbullet:                           Text symbols.        (line  92)
-* \textcapitalcompwordmark:              Text symbols.        (line  99)
-* \textcircled{LETTER}:                  Text symbols.        (line  95)
-* \textcompwordmark:                     Text symbols.        (line  98)
-* \textcopyright:                        Text symbols.        (line  12)
-* \textdagger:                           Text symbols.        (line 107)
-* \textdaggerdbl:                        Text symbols.        (line 110)
-* \textdollar (or \$):                   Text symbols.        (line 113)
-* \textellipsis:                         Text symbols.        (line  36)
-* \textemdash (or ---):                  Text symbols.        (line 116)
-* \textendash (or --):                   Text symbols.        (line 121)
-* \texteuro:                             Text symbols.        (line 124)
-* \textexclamdown (or !`):               Text symbols.        (line 130)
+* \TeX:                                  Text symbols.        (line  64)
+* \textascendercompwordmark:             Text symbols.        (line 102)
+* \textasciicircum:                      Text symbols.        (line  67)
+* \textasciitilde:                       Text symbols.        (line  70)
+* \textasteriskcentered:                 Text symbols.        (line  73)
+* \textbackslash:                        Reserved characters. (line  21)
+* \textbackslash <1>:                    Text symbols.        (line  76)
+* \textbar:                              Text symbols.        (line  79)
+* \textbardbl:                           Text symbols.        (line  82)
+* \textbf:                               Font styles.         (line  40)
+* \textbigcircle:                        Text symbols.        (line  85)
+* \textbraceleft:                        Text symbols.        (line  88)
+* \textbraceright:                       Text symbols.        (line  91)
+* \textbullet:                           Text symbols.        (line  94)
+* \textcapitalcompwordmark:              Text symbols.        (line 101)
+* \textcircled{LETTER}:                  Text symbols.        (line  97)
+* \textcompwordmark:                     Text symbols.        (line 100)
+* \textcopyright:                        Text symbols.        (line  14)
+* \textdagger:                           Text symbols.        (line 109)
+* \textdaggerdbl:                        Text symbols.        (line 112)
+* \textdollar (or \$):                   Text symbols.        (line 115)
+* \textellipsis:                         Text symbols.        (line  38)
+* \textemdash (or ---):                  Text symbols.        (line 118)
+* \textendash (or --):                   Text symbols.        (line 124)
+* \texteuro:                             Text symbols.        (line 127)
+* \textexclamdown (or !`):               Text symbols.        (line 135)
+* \textfiguredash:                       Text symbols.        (line 138)
 * \textfloatsep:                         Floats.              (line 123)
 * \textfloatsep <1>:                     Floats.              (line 124)
 * \textfraction:                         Floats.              (line 102)
 * \textfraction <1>:                     Floats.              (line 103)
-* \textgreater:                          Text symbols.        (line 133)
+* \textgreater:                          Text symbols.        (line 145)
 * \textheight:                           Page layout parameters.
                                                               (line  91)
 * \textheight <1>:                       Page layout parameters.
                                                               (line  92)
-* \textit:                               Font styles.         (line  33)
-* \textleftarrow:                        Text symbols.        (line 139)
-* \textless:                             Text symbols.        (line 136)
-* \textmd:                               Font styles.         (line  36)
-* \textnormal:                           Font styles.         (line  57)
-* \textordfeminine:                      Text symbols.        (line 142)
-* \textordmasculine:                     Text symbols.        (line 143)
-* \textparagraph:                        Text symbols.        (line  44)
-* \textperiodcentered:                   Text symbols.        (line 146)
-* \textquestiondown (or ?`):             Text symbols.        (line 149)
-* \textquotedblleft (or ``):             Text symbols.        (line 152)
-* \textquotedblright (or ''):            Text symbols.        (line 155)
-* \textquoteleft (or `):                 Text symbols.        (line 158)
-* \textquoteright (or '):                Text symbols.        (line 161)
-* \textquotesingle:                      Text symbols.        (line 164)
-* \textquotestraightbase:                Text symbols.        (line 167)
-* \textquotestraightdblbase:             Text symbols.        (line 168)
-* \textregistered:                       Text symbols.        (line 171)
-* \textrightarrow:                       Text symbols.        (line 174)
-* \textrm:                               Font styles.         (line  30)
-* \textsc:                               Font styles.         (line  51)
-* \textsection:                          Text symbols.        (line  59)
-* \textsf:                               Font styles.         (line  48)
-* \textsl:                               Font styles.         (line  45)
-* \textsterling:                         Text symbols.        (line  48)
-* \textthreequartersemdash:              Text symbols.        (line 177)
-* \texttrademark:                        Text symbols.        (line 180)
-* \texttt:                               Font styles.         (line  54)
-* \texttwelveudash:                      Text symbols.        (line 183)
-* \textunderscore:                       Text symbols.        (line 186)
-* \textup:                               Font styles.         (line  42)
-* \textvisiblespace:                     Text symbols.        (line 189)
+* \texthorizontalbar:                    Text symbols.        (line 148)
+* \textit:                               Font styles.         (line  34)
+* \textleftarrow:                        Text symbols.        (line 156)
+* \textless:                             Text symbols.        (line 153)
+* \textmd:                               Font styles.         (line  37)
+* \textnonbreakinghyphen:                Text symbols.        (line 159)
+* \textnormal:                           Font styles.         (line  58)
+* \textordfeminine:                      Text symbols.        (line 165)
+* \textordmasculine:                     Text symbols.        (line 166)
+* \textparagraph:                        Text symbols.        (line  46)
+* \textperiodcentered:                   Text symbols.        (line 169)
+* \textquestiondown (or ?`):             Text symbols.        (line 172)
+* \textquotedblleft (or ``):             Text symbols.        (line 175)
+* \textquotedblright (or ''):            Text symbols.        (line 178)
+* \textquoteleft (or `):                 Text symbols.        (line 181)
+* \textquoteright (or '):                Text symbols.        (line 184)
+* \textquotesingle:                      Text symbols.        (line 187)
+* \textquotestraightbase:                Text symbols.        (line 190)
+* \textquotestraightdblbase:             Text symbols.        (line 191)
+* \textregistered:                       Text symbols.        (line 194)
+* \textrightarrow:                       Text symbols.        (line 197)
+* \textrm:                               Font styles.         (line  31)
+* \textsc:                               Font styles.         (line  52)
+* \textsection:                          Text symbols.        (line  61)
+* \textsf:                               Font styles.         (line  49)
+* \textsl:                               Font styles.         (line  46)
+* \textsterling:                         Text symbols.        (line  50)
+* \textthreequartersemdash:              Text symbols.        (line 200)
+* \texttrademark:                        Text symbols.        (line 203)
+* \texttt:                               Font styles.         (line  55)
+* \texttwelveudash:                      Text symbols.        (line 206)
+* \textunderscore:                       Text symbols.        (line 209)
+* \textup:                               Font styles.         (line  43)
+* \textvisiblespace:                     Text symbols.        (line 212)
 * \textwidth:                            Page layout parameters.
                                                               (line  99)
 * \textwidth <1>:                        Page layout parameters.
                                                               (line 100)
-* \th (th):                              Additional Latin letters.
+* \th (þ):                               Additional Latin letters.
                                                               (line  56)
-* \TH (TH):                              Additional Latin letters.
+* \TH (Þ):                               Additional Latin letters.
                                                               (line  56)
 * \thanks{TEXT}:                         \maketitle.          (line  56)
-* \theta:                                Math symbols.        (line 733)
+* \theta:                                Math symbols.        (line 722)
 * \thicklines:                           \thicklines.         (line   6)
 * \thickspace:                           Spacing in math mode.
                                                               (line  23)
 * \thinlines:                            \thinlines.          (line   6)
 * \thinspace:                            Spacing in math mode.
-                                                              (line  32)
+                                                              (line  44)
 * \thinspace <1>:                        \thinspace & \negthinspace.
                                                               (line   6)
 * \thispagestyle:                        \thispagestyle.      (line   6)
 * \tilde:                                Math accents.        (line  37)
-* \times:                                Math symbols.        (line 737)
+* \times:                                Math symbols.        (line 726)
 * \tiny:                                 Font sizes.          (line  11)
 * \title{TEXT}:                          \maketitle.          (line  63)
-* \to:                                   Math symbols.        (line 741)
+* \to:                                   Math symbols.        (line 729)
 * \today:                                \today.              (line   6)
-* \top:                                  Math symbols.        (line 745)
+* \top:                                  Math symbols.        (line 733)
 * \topfraction:                          Floats.              (line 107)
 * \topfraction <1>:                      Floats.              (line 108)
 * \topmargin:                            Page layout parameters.
                                                               (line 124)
-* \topsep:                               list.                (line 176)
+* \topsep:                               list.                (line 177)
 * \topskip:                              Page layout parameters.
                                                               (line 131)
 * \topskip <1>:                          Page layout parameters.
                                                               (line 132)
-* \triangle:                             Math symbols.        (line 750)
-* \triangleleft:                         Math symbols.        (line 753)
-* \triangleright:                        Math symbols.        (line 759)
-* \tt:                                   Font styles.         (line  95)
-* \ttfamily:                             Font styles.         (line  54)
+* \triangle:                             Math symbols.        (line 738)
+* \triangleleft:                         Math symbols.        (line 741)
+* \triangleright:                        Math symbols.        (line 747)
+* \tt:                                   Font styles.         (line  96)
+* \ttfamily:                             Font styles.         (line  55)
 * \twocolumn:                            \twocolumn.          (line   6)
 * \typein:                               \typein.             (line   6)
 * \typeout:                              \typeout.            (line   6)
-* \u (breve accent):                     Accents.             (line  85)
+* \u (breve accent):                     Accents.             (line  87)
 * \unboldmath:                           \boldmath & \unboldmath.
                                                               (line   6)
 * \unboldmath <1>:                       \boldmath & \unboldmath.
                                                               (line  14)
-* \underbar:                             Accents.             (line  51)
+* \underbar:                             Accents.             (line  53)
 * \underbrace{MATH}:                     Over- and Underlining.
                                                               (line  26)
 * \underline{TEXT}:                      Over- and Underlining.
                                                               (line   9)
-* \unitlength:                           picture.             (line  25)
-* \unlhd:                                Math symbols.        (line 765)
-* \unrhd:                                Math symbols.        (line 772)
-* \Uparrow:                              Math symbols.        (line 779)
-* \uparrow:                              Math symbols.        (line 783)
-* \Updownarrow:                          Math symbols.        (line 787)
-* \updownarrow:                          Math symbols.        (line 792)
-* \upharpoonright:                       Math symbols.        (line 797)
-* \uplus:                                Math symbols.        (line 802)
-* \upshape:                              Font styles.         (line  42)
-* \Upsilon:                              Math symbols.        (line 809)
-* \upsilon:                              Math symbols.        (line 812)
+* \unitlength:                           picture.             (line  28)
+* \unlhd:                                Math symbols.        (line 753)
+* \unrhd:                                Math symbols.        (line 759)
+* \Uparrow:                              Math symbols.        (line 765)
+* \uparrow:                              Math symbols.        (line 769)
+* \Updownarrow:                          Math symbols.        (line 773)
+* \updownarrow:                          Math symbols.        (line 778)
+* \upharpoonright:                       Math symbols.        (line 783)
+* \uplus:                                Math symbols.        (line 788)
+* \upshape:                              Font styles.         (line  43)
+* \Upsilon:                              Math symbols.        (line 795)
+* \upsilon:                              Math symbols.        (line 798)
 * \usebox:                               \usebox.             (line   6)
 * \usecounter:                           \usecounter.         (line   6)
 * \usefont:                              Low-level font commands.
-                                                              (line 139)
+                                                              (line 126)
 * \usepackage:                           Additional packages. (line   6)
-* \v (breve accent):                     Accents.             (line  89)
+* \UseTextAccent:                        \UseTextSymbol & \UseTextAccent.
+                                                              (line   6)
+* \UseTextSymbol:                        \UseTextSymbol & \UseTextAccent.
+                                                              (line   6)
+* \v (breve accent):                     Accents.             (line  91)
 * \value:                                \value.              (line   6)
-* \vanothing:                            Math symbols.        (line 820)
-* \varepsilon:                           Math symbols.        (line 815)
-* \varphi:                               Math symbols.        (line 825)
-* \varpi:                                Math symbols.        (line 829)
-* \varrho:                               Math symbols.        (line 833)
-* \varsigma:                             Math symbols.        (line 837)
-* \vartheta:                             Math symbols.        (line 841)
-* \vdash:                                Math symbols.        (line 845)
-* \vdots:                                Dots.                (line  34)
+* \vanothing:                            Math symbols.        (line 806)
+* \varepsilon:                           Math symbols.        (line 801)
+* \varphi:                               Math symbols.        (line 811)
+* \varpi:                                Math symbols.        (line 815)
+* \varrho:                               Math symbols.        (line 819)
+* \varsigma:                             Math symbols.        (line 823)
+* \vartheta:                             Math symbols.        (line 827)
+* \vbox plain TeX:                       minipage.            (line  57)
+* \vdash:                                Math symbols.        (line 831)
+* \vdots:                                Dots.                (line  33)
 * \vec:                                  Math accents.        (line  40)
 * \vector:                               \vector.             (line   6)
-* \vee:                                  Math symbols.        (line 849)
+* \vee:                                  Math symbols.        (line 835)
 * \verb:                                 \verb.               (line   6)
-* \Vert:                                 Math symbols.        (line 854)
-* \vert:                                 Math symbols.        (line 870)
+* \Vert:                                 Math symbols.        (line 839)
+* \vert:                                 Math symbols.        (line 843)
 * \vfill:                                \vfill.              (line   6)
 * \vline:                                \vline.              (line   6)
 * \vspace:                               \vspace.             (line   6)
-* \wedge:                                Math symbols.        (line 888)
+* \vtop plain TeX:                       minipage.            (line  53)
+* \wedge:                                Math symbols.        (line 850)
 * \widehat:                              Math accents.        (line  43)
 * \widetilde:                            Math accents.        (line  46)
-* \wp:                                   Math symbols.        (line 892)
-* \wr:                                   Math symbols.        (line 895)
-* \Xi:                                   Math symbols.        (line 898)
-* \xi:                                   Math symbols.        (line 901)
+* \wlog:                                 \wlog.               (line   6)
+* \wp:                                   Math symbols.        (line 854)
+* \wr:                                   Math symbols.        (line 857)
+* \write:                                \write.              (line   6)
+* \write and security:                   \write and security. (line   6)
+* \write streams 16, 17, 18:             \write.              (line  86)
+* \write18:                              \write18.            (line   6)
+* \write18, enabling:                    Command line options.
+                                                              (line  61)
+* \Xi:                                   Math symbols.        (line 860)
+* \xi:                                   Math symbols.        (line 863)
+* \xspace:                               xspace package.      (line   6)
 * \year:                                 \day & \month & \year.
                                                               (line   6)
-* \zeta:                                 Math symbols.        (line 904)
+* \zeta:                                 Math symbols.        (line 866)
+* \[...\] display math:                  displaymath.         (line  26)
 * \\ (for center):                       center.              (line  16)
 * \\ (for eqnarray):                     eqnarray.            (line  29)
 * \\ (for flushright):                   flushright.          (line  12)
@@ -16357,21 +18472,21 @@
 * \\ for \title:                         \maketitle.          (line  64)
 * \\ force line break:                   \\.                  (line   6)
 * \\* (for eqnarray):                    eqnarray.            (line  37)
-* \^:                                    Reserved characters. (line  20)
-* \^ (circumflex accent):                Accents.             (line  38)
-* \_:                                    Reserved characters. (line  13)
-* \` (grave accent):                     Accents.             (line  42)
+* \^:                                    Reserved characters. (line  21)
+* \^ (circumflex accent):                Accents.             (line  40)
+* \_:                                    Reserved characters. (line  14)
+* \` (grave accent):                     Accents.             (line  44)
 * \` (tabbing):                          tabbing.             (line  93)
-* \{:                                    Reserved characters. (line  13)
+* \{:                                    Reserved characters. (line  14)
 * \|:                                    Math symbols.        (line  18)
-* \}:                                    Reserved characters. (line  13)
-* \~:                                    Reserved characters. (line  20)
-* \~ (tilde accent):                     Accents.             (line  46)
-* ^:                                     Subscripts & superscripts.
+* \}:                                    Reserved characters. (line  14)
+* \~:                                    Reserved characters. (line  21)
+* \~ (tilde accent):                     Accents.             (line  48)
+* ^ superscript:                         Subscripts & superscripts.
                                                               (line   6)
-* _:                                     Subscripts & superscripts.
+* ^^J, in \write:                        \write.              (line  95)
+* _ subscript:                           Subscripts & superscripts.
                                                               (line   6)
-* 'see' and 'see also' index entries:    \index.              (line  56)
 * {...} for required arguments:          LaTeX command syntax.
                                                               (line   6)
 * ~:                                     ~.                   (line   6)
@@ -16380,15 +18495,28 @@
 * a5paper option:                        Document class options.
                                                               (line  19)
 * abstract environment:                  abstract.            (line   6)
+* abstract package:                      abstract.            (line  27)
 * abstracts:                             abstract.            (line   6)
 * accents:                               Accents.             (line   6)
+* accents, defining:                     \DeclareFontEncoding.
+                                                              (line   6)
+* accents, defining <1>:                 \DeclareTextAccent.  (line   6)
+* accents, defining <2>:                 \DeclareTextAccentDefault.
+                                                              (line   6)
+* accents, defining <3>:                 \DeclareTextComposite.
+                                                              (line   6)
+* accents, defining <4>:                 \DeclareTextCompositeCommand.
+                                                              (line   6)
+* accents, defining <5>:                 \DeclareTextSymbolDefault.
+                                                              (line   6)
 * accents, mathematical:                 Math accents.        (line   6)
 * accessing any character of a font:     Symbols by font position.
                                                               (line   6)
 * acronyms, list of:                     Glossaries.          (line   6)
-* acute accent:                          Accents.             (line  27)
+* acute accent:                          Accents.             (line  29)
 * acute accent, math:                    Math accents.        (line  11)
 * additional packages, loading:          Additional packages. (line   6)
+* adjustbox package:                     Boxes.               (line   9)
 * ae ligature:                           Additional Latin letters.
                                                               (line  16)
 * algorithm2e package:                   tabbing.             (line 146)
@@ -16395,7 +18523,9 @@
 * align environment, from amsmath:       eqnarray.            (line   6)
 * aligning equations:                    eqnarray.            (line   6)
 * alignment via tabbing:                 tabbing.             (line   6)
+* amscd package:                         Arrows.              (line  41)
 * amsfonts package:                      Math formulas.       (line  86)
+* amsfonts package <1>:                  Arrows.              (line   6)
 * amsmath package:                       array.               (line  55)
 * amsmath package <1>:                   array.               (line  66)
 * amsmath package <2>:                   displaymath.         (line  22)
@@ -16402,17 +18532,20 @@
 * amsmath package <3>:                   equation.            (line  20)
 * amsmath package <4>:                   theorem.             (line  28)
 * amsmath package <5>:                   Math formulas.       (line  86)
-* amsmath package <6>:                   Dots.                (line  37)
-* amsmath package <7>:                   Math functions.      (line 111)
-* amsmath package <8>:                   \phantom & \vphantom & \hphantom.
-                                                              (line  44)
-* amsmath package <9>:                   Colon character & \colon.
+* amsmath package <6>:                   \left & \right.      (line  30)
+* amsmath package <7>:                   \bigl & \bigr etc..  (line  68)
+* amsmath package <8>:                   Dots.                (line  36)
+* amsmath package <9>:                   Math functions.      (line 111)
+* amsmath package <10>:                  \phantom & \vphantom & \hphantom.
+                                                              (line  54)
+* amsmath package <11>:                  Colon character & \colon.
                                                               (line  15)
-* amsmath package <10>:                  Colon character & \colon.
+* amsmath package <12>:                  Colon character & \colon.
                                                               (line  19)
 * amsmath package, replacing eqnarray:   eqnarray.            (line   6)
 * amsthm package:                        theorem.             (line  28)
 * amsthm package <1>:                    \rule.               (line  18)
+* answers package:                       \write.              (line 100)
 * appendices:                            \appendix.           (line   6)
 * appendix:                              \appendix.           (line   6)
 * appendix package:                      \appendix.           (line  29)
@@ -16421,16 +18554,18 @@
 * array (package) package:               array.               (line  77)
 * array environment:                     array.               (line   6)
 * arrays, math:                          array.               (line   6)
-* arrow, left, in text:                  Text symbols.        (line 140)
-* arrow, right, in text:                 Text symbols.        (line 175)
+* arrow, left, in text:                  Text symbols.        (line 157)
+* arrow, right, in text:                 Text symbols.        (line 198)
+* arrows:                                Arrows.              (line   6)
 * article class:                         Document classes.    (line  11)
-* ascender height:                       Text symbols.        (line 101)
-* ASCII circumflex, in text:             Text symbols.        (line  66)
-* ASCII tilde, in text:                  Text symbols.        (line  69)
-* asterisk, centered, in text:           Text symbols.        (line  72)
+* ascender height:                       Text symbols.        (line 103)
+* ASCII circumflex, in text:             Text symbols.        (line  68)
+* ASCII tilde, in text:                  Text symbols.        (line  71)
+* asterisk, centered, in text:           Text symbols.        (line  74)
 * Asymptote package:                     \line.               (line  36)
 * Asymptote package <1>:                 \strut.              (line  62)
-* Asymptote package <2>:                 \mbox & \makebox.    (line  73)
+* Asymptote package <2>:                 \mbox & \makebox.    (line  74)
+* Asymptote package <3>:                 \write18.            (line  13)
 * at clause, in font definitions:        \newfont.            (line  19)
 * at-sign:                               \@.                  (line   6)
 * author, for titlepage:                 \maketitle.          (line  43)
@@ -16442,16 +18577,21 @@
 * babel package <2>:                     Accents.             (line   6)
 * babel package <3>:                     \today.              (line  13)
 * babel package <4>:                     Table of contents etc..
-                                                              (line  80)
+                                                              (line 124)
 * babel package <5>:                     \index.              (line  56)
+* back matter of a book:                 \frontmatter & \mainmatter & \backmatter.
+                                                              (line   6)
 * background, colored:                   Colored pages.       (line   6)
-* backslash, in text:                    Text symbols.        (line  75)
-* bar, double vertical, in text:         Text symbols.        (line  81)
-* bar, vertical, in text:                Text symbols.        (line  78)
-* bar-over accent:                       Accents.             (line  34)
+* backslash, in text:                    Text symbols.        (line  77)
+* bar, double vertical, in text:         Text symbols.        (line  83)
+* bar, vertical, in text:                Text symbols.        (line  80)
+* bar-over accent:                       Accents.             (line  36)
 * bar-over accent, math:                 Math accents.        (line  14)
-* bar-under accent:                      Accents.             (line  49)
+* bar-under accent:                      Accents.             (line  51)
 * basics of LaTeX:                       Overview.            (line   6)
+* batchmode:                             Command line options.
+                                                              (line  27)
+* beamer package:                        beamer template.     (line   6)
 * beamer template and class:             beamer template.     (line   6)
 * beginning of document hook:            \AtBeginDocument.    (line   6)
 * bibliography format, open:             Document class options.
@@ -16459,8 +18599,8 @@
 * bibliography, creating (automatically): Using BibTeX.       (line   6)
 * bibliography, creating (manually):     thebibliography.     (line   6)
 * bibTeX, using:                         Using BibTeX.        (line   6)
-* big circle symbols, in text:           Text symbols.        (line  84)
-* Big point:                             Units of length.     (line  20)
+* big circle symbols, in text:           Text symbols.        (line  86)
+* big point:                             Units of length.     (line  20)
 * bigfoot package:                       Footnotes of footnotes.
                                                               (line   6)
 * black boxes, omitting:                 Document class options.
@@ -16468,8 +18608,8 @@
 * blackboard bold:                       Blackboard bold.     (line   6)
 * bm package:                            \boldmath & \unboldmath.
                                                               (line  32)
-* bold font:                             Font styles.         (line  75)
-* bold math:                             Font styles.         (line 128)
+* bold font:                             Font styles.         (line  76)
+* bold math:                             Font styles.         (line 129)
 * bold typewriter, avoiding:             description.         (line  36)
 * boldface mathematics:                  \boldmath & \unboldmath.
                                                               (line   6)
@@ -16484,29 +18624,33 @@
                                                               (line   6)
 * bottomnumber:                          Floats.              (line 130)
 * bottomnumber <1>:                      Floats.              (line 131)
+* bounding box:                          \includegraphics.    (line 122)
 * box:                                   \mbox & \makebox.    (line   6)
 * box, allocating new:                   \newsavebox.         (line   6)
+* box, bounding:                         \includegraphics.    (line 122)
 * box, colored:                          Colored boxes.       (line   6)
 * box, save:                             \sbox & \savebox.    (line   6)
 * box, use saved box:                    \usebox.             (line   6)
 * boxes:                                 Boxes.               (line   6)
 * bp:                                    Units of length.     (line  20)
-* brace, left, in text:                  Text symbols.        (line  87)
-* brace, right, in text:                 Text symbols.        (line  90)
+* brace, left, in text:                  Text symbols.        (line  89)
+* brace, right, in text:                 Text symbols.        (line  92)
+* braces:                                Delimiters.          (line   6)
+* brackets:                              Delimiters.          (line   6)
 * breaking lines:                        Line breaking.       (line   6)
 * breaking pages:                        Page breaking.       (line   6)
 * breaks, multiplication discretionary:  \*.                  (line   6)
-* breve accent:                          Accents.             (line  85)
+* breve accent:                          Accents.             (line  87)
 * breve accent, math:                    Math accents.        (line  17)
-* bug reporting:                         About this document. (line  29)
+* bug reporting:                         About this document. (line  24)
 * bullet lists:                          itemize.             (line   6)
-* bullet symbol:                         Math symbols.        (line 113)
-* bullet, in text:                       Text symbols.        (line  93)
+* bullet symbol:                         Math symbols.        (line 111)
+* bullet, in text:                       Text symbols.        (line  95)
 * bulleted lists:                        itemize.             (line   6)
 * calligraphic fonts:                    Calligraphic.        (line   6)
-* calligraphic letters for math:         Font styles.         (line  78)
-* cap height:                            Text symbols.        (line 101)
-* caron accent:                          Accents.             (line  89)
+* calligraphic letters for math:         Font styles.         (line  79)
+* cap height:                            Text symbols.        (line 103)
+* caron accent:                          Accents.             (line  91)
 * catcode:                               \makeatletter & \makeatother.
                                                               (line  19)
 * category code, character:              \makeatletter & \makeatother.
@@ -16513,21 +18657,25 @@
                                                               (line  19)
 * cc:                                    Units of length.     (line  33)
 * cc list, in letters:                   \cc.                 (line   6)
-* cedilla accent:                        Accents.             (line  59)
+* cedilla accent:                        Accents.             (line  61)
 * center environment:                    center.              (line   6)
-* centered asterisk, in text:            Text symbols.        (line  72)
+* centered asterisk, in text:            Text symbols.        (line  74)
 * centered equations:                    Document class options.
                                                               (line  57)
-* centered period, in text:              Text symbols.        (line 147)
+* centered period, in text:              Text symbols.        (line 170)
 * centering text, declaration for:       \centering.          (line   6)
 * centering text, environment for:       center.              (line   6)
-* Centimeter:                            Units of length.     (line  24)
+* centimeter:                            Units of length.     (line  24)
+* changing case of characters:           Upper and lower case.
+                                                              (line   6)
 * chapter:                               Sectioning.          (line   6)
 * chapter <1>:                           \chapter.            (line   6)
 * character category code:               \makeatletter & \makeatother.
                                                               (line  19)
+* character encoding:                    inputenc package.    (line  15)
 * character, invisible:                  \phantom & \vphantom & \hphantom.
                                                               (line   6)
+* character, invisible <1>:              \mathstrut.          (line   6)
 * characters, accented:                  Accents.             (line   6)
 * characters, case of:                   Upper and lower case.
                                                               (line   6)
@@ -16535,14 +18683,14 @@
                                                               (line   6)
 * characters, reserved:                  Reserved characters. (line   6)
 * characters, special:                   Reserved characters. (line   6)
-* check accent:                          Accents.             (line  89)
+* check accent:                          Accents.             (line  91)
 * check accent, math:                    Math accents.        (line  20)
-* Cicero:                                Units of length.     (line  33)
-* circle symbol, big, in text:           Text symbols.        (line  84)
-* circled letter, in text:               Text symbols.        (line  96)
-* circumflex accent:                     Accents.             (line  38)
+* cicero:                                Units of length.     (line  33)
+* circle symbol, big, in text:           Text symbols.        (line  86)
+* circled letter, in text:               Text symbols.        (line  98)
+* circumflex accent:                     Accents.             (line  40)
 * circumflex accent, math:               Math accents.        (line  32)
-* circumflex, ASCII, in text:            Text symbols.        (line  66)
+* circumflex, ASCII, in text:            Text symbols.        (line  68)
 * citation key:                          \bibitem.            (line  15)
 * class and package commands:            Class and package commands.
                                                               (line   6)
@@ -16564,11 +18712,15 @@
 * cleveref package:                      Cross references.    (line  38)
 * cleveref package <1>:                  \ref.                (line  29)
 * cleveref package <2>:                  \footnotemark.       (line  48)
+* CLI:                                   Command line interface.
+                                                              (line   6)
 * clock option to slides class:          Document class options.
                                                               (line  99)
 * closing letters:                       \closing.            (line   6)
-* closing quote:                         Text symbols.        (line  56)
+* closing quote:                         Text symbols.        (line  58)
 * cm:                                    Units of length.     (line  24)
+* cm-super package:                      fontenc package.     (line  36)
+* cmd.exe, used by \write18:             \write18.            (line  60)
 * code, typesetting:                     verbatim.            (line   6)
 * colon character:                       Colon character & \colon.
                                                               (line   6)
@@ -16585,7 +18737,8 @@
 * colored boxes:                         Colored boxes.       (line   6)
 * colored page:                          Colored pages.       (line   6)
 * colored text:                          Colored text.        (line   6)
-* command line:                          Command line.        (line   6)
+* command line interface:                Command line interface.
+                                                              (line   6)
 * command syntax:                        LaTeX command syntax.
                                                               (line   6)
 * commands, class and package:           Class and package commands.
@@ -16599,15 +18752,18 @@
                                                               (line   6)
 * commands, ignore spaces:               \ignorespaces & \ignorespacesafterend.
                                                               (line   6)
+* commands, ignore spaces <1>:           xspace package.      (line   6)
 * commands, redefining:                  \newcommand & \renewcommand.
                                                               (line   6)
+* commands, run from LaTeX:              \write18.            (line   6)
 * commands, star-variants:               \@ifstar.            (line   6)
-* composite word mark, in text:          Text symbols.        (line 101)
+* composite word mark, in text:          Text symbols.        (line 103)
+* comprehensive package:                 Math symbols.        (line   6)
 * computer programs, typesetting:        verbatim.            (line   6)
 * configuration, graphics package:       Graphics package configuration.
                                                               (line   6)
 * contents file:                         Output files.        (line  43)
-* copyright symbol:                      Text symbols.        (line  13)
+* copyright symbol:                      Text symbols.        (line  15)
 * counters, a list of:                   Counters.            (line   6)
 * counters, defining new:                \newcounter.         (line   6)
 * counters, getting value of:            \value.              (line   6)
@@ -16622,14 +18778,17 @@
 * cross references:                      Cross references.    (line   6)
 * cross references, resolving:           Output files.        (line  33)
 * cross referencing with page number:    \pageref.            (line   6)
+* cross referencing, across documents:   xr package.          (line   6)
 * cross referencing, symbolic:           \ref.                (line   6)
 * CTAN:                                  CTAN.                (line   6)
-* currency, dollar:                      Text symbols.        (line 114)
-* currency, euro:                        Text symbols.        (line 125)
-* dagger, double, in text:               Text symbols.        (line 111)
-* dagger, in text:                       Text symbols.        (line  16)
-* dagger, in text <1>:                   Text symbols.        (line 108)
+* curly braces:                          Delimiters.          (line   6)
+* currency, dollar:                      Text symbols.        (line 116)
+* currency, euro:                        Text symbols.        (line 128)
+* dagger, double, in text:               Text symbols.        (line 113)
+* dagger, in text:                       Text symbols.        (line  18)
+* dagger, in text <1>:                   Text symbols.        (line 110)
 * DANTE e.V.:                            CTAN.                (line  20)
+* datatool package:                      \read.               (line  31)
 * date, for titlepage:                   \maketitle.          (line  51)
 * date, today's:                         \today.              (line   6)
 * datetime package:                      \today.              (line  27)
@@ -16637,6 +18796,8 @@
 * dbltopnumber <1>:                      Floats.              (line 135)
 * dcolumn package:                       array.               (line  77)
 * dd:                                    Units of length.     (line  30)
+* declaration form of font size commands: Font sizes.         (line  24)
+* declaration form of font style commands: Font styles.       (line   8)
 * define color:                          Define colors.       (line   6)
 * defining a new command:                \newcommand & \renewcommand.
                                                               (line   6)
@@ -16646,6 +18807,8 @@
 * defining new fonts:                    \newfont.            (line   6)
 * defining new theorems:                 \newtheorem.         (line   6)
 * definitions:                           Definitions.         (line   6)
+* delayed \write:                        \write.              (line  65)
+* delimiters:                            Delimiters.          (line   6)
 * delimiters, paired:                    \left & \right.      (line   6)
 * delim_0:                               makeindex.           (line 110)
 * delim_1:                               makeindex.           (line 114)
@@ -16656,10 +18819,12 @@
 * description environment:               description.         (line   6)
 * description lists, creating:           description.         (line   6)
 * design size, in font definitions:      \newfont.            (line  19)
-* Didot point:                           Units of length.     (line  30)
-* dieresis accent:                       Accents.             (line  23)
+* didot point:                           Units of length.     (line  30)
+* dieresis accent:                       Accents.             (line  25)
 * difference between class and package:  Class and package construction.
                                                               (line  15)
+* dimen plain TeX:                       Lengths.             (line   9)
+* directory listings, from system:       \write18.            (line  65)
 * discretionary breaks, multiplication:  \*.                  (line   6)
 * discretionary hyphenation:             \discretionary.      (line   6)
 * display math mode:                     Modes.               (line  29)
@@ -16676,53 +18841,62 @@
 * document class, defined:               Starting and ending. (line  17)
 * document classes:                      Document classes.    (line   6)
 * document environment:                  document.            (line   6)
+* document root name:                    Jobname.             (line   6)
 * document templates:                    Document templates.  (line   6)
-* dollar sign:                           Text symbols.        (line 114)
-* dot accent:                            Accents.             (line  30)
+* dollar sign:                           Text symbols.        (line 116)
+* dot accent:                            Accents.             (line  32)
 * dot over accent, math:                 Math accents.        (line  26)
-* dot-over accent:                       Accents.             (line  30)
-* dot-under accent:                      Accents.             (line  63)
-* dotless i:                             Accents.             (line  17)
-* dotless i, math:                       Math symbols.        (line 265)
-* dotless j:                             Accents.             (line  17)
-* dotless j, math:                       Math symbols.        (line 287)
+* dot-over accent:                       Accents.             (line  32)
+* dot-under accent:                      Accents.             (line  65)
+* dotless i:                             Accents.             (line  19)
+* dotless i, math:                       Math symbols.        (line 264)
+* dotless j:                             Accents.             (line  19)
+* dotless j, math:                       Math symbols.        (line 284)
 * dots:                                  Dots.                (line   6)
-* double angle quotation marks:          Text symbols.        (line  31)
-* double dagger, in text:                Text symbols.        (line  19)
-* double dagger, in text <1>:            Text symbols.        (line 111)
+* double angle quotation marks:          Text symbols.        (line  33)
+* double dagger, in text:                Text symbols.        (line  21)
+* double dagger, in text <1>:            Text symbols.        (line 113)
 * double dot accent, math:               Math accents.        (line  23)
-* double guillemets:                     Text symbols.        (line  31)
-* double left quote:                     Text symbols.        (line 153)
-* double low-9 quotation mark:           Text symbols.        (line  53)
-* double quote, straight base:           Text symbols.        (line 169)
-* double right quote:                    Text symbols.        (line 156)
-* double spacing:                        Low-level font commands.
-                                                              (line 118)
-* double vertical bar, in text:          Text symbols.        (line  81)
+* double guillemets:                     Text symbols.        (line  33)
+* double left quote:                     Text symbols.        (line 176)
+* double low-9 quotation mark:           Text symbols.        (line  55)
+* double quote, straight base:           Text symbols.        (line 192)
+* double right quote:                    Text symbols.        (line 179)
+* double spacing:                        \baselineskip & \baselinestretch.
+                                                              (line   6)
+* double vertical bar, in text:          Text symbols.        (line  83)
 * doublestruck:                          Blackboard bold.     (line   6)
 * draft option:                          Document class options.
                                                               (line  49)
+* dvilualatex-dev:                       TeX engines.         (line  63)
 * dvipdfmx command:                      Output files.        (line  10)
 * dvips command:                         Output files.        (line  10)
 * dvitype command:                       Output files.        (line  10)
-* e-dash:                                Text symbols.        (line 122)
-* e-TeX:                                 TeX engines.         (line  13)
+* e-dash:                                Text symbols.        (line 125)
+* e-TeX:                                 TeX engines.         (line  16)
 * ellipses:                              Dots.                (line   6)
-* ellipsis:                              Text symbols.        (line  37)
+* ellipsis:                              Text symbols.        (line  39)
 * em:                                    Units of length.     (line  38)
 * em <1>:                                Units of length.     (line  38)
-* em-dash:                               Text symbols.        (line 117)
-* em-dash, three-quarters:               Text symbols.        (line 178)
-* em-dash, two-thirds:                   Text symbols.        (line 184)
-* emphasis:                              Font styles.         (line  59)
+* em-dash:                               Text symbols.        (line 119)
+* em-dash, three-quarters:               Text symbols.        (line 201)
+* em-dash, two-thirds:                   Text symbols.        (line 207)
+* emphasis:                              Font styles.         (line  60)
 * enclosure list:                        \encl.               (line   6)
+* encoding, font:                        \DeclareFontEncoding.
+                                                              (line   6)
+* encoding, of input files:              inputenc package.    (line  15)
+* end matter of a book:                  \frontmatter & \mainmatter & \backmatter.
+                                                              (line   6)
 * end of document hook:                  \AtEndDocument.      (line   6)
 * ending and starting:                   Starting and ending. (line   6)
 * engines, TeX:                          TeX engines.         (line   6)
 * enlarge current page:                  \enlargethispage.    (line   6)
 * enumerate environment:                 enumerate.           (line   6)
-* enumitem package:                      list.                (line 253)
+* enumitem package:                      itemize.             (line  66)
+* enumitem package <1>:                  list.                (line 254)
 * environment:                           Starting and ending. (line  25)
+* environment form of font size commands: Font sizes.         (line  36)
 * environment, abstract:                 abstract.            (line   6)
 * environment, array:                    array.               (line   6)
 * environment, center:                   center.              (line   6)
@@ -16761,9 +18935,7 @@
 * environments, defining:                \newenvironment & \renewenvironment.
                                                               (line   6)
 * envlab package:                        \makelabels.         (line  55)
-* EPS files:                             Graphics package configuration.
-                                                              (line   6)
-* EPS files <1>:                         \includegraphics.    (line   6)
+* EPS files:                             \includegraphics.    (line   6)
 * eqnarray environment:                  eqnarray.            (line   6)
 * equation environment:                  equation.            (line   6)
 * equation environment <1>:              Math formulas.       (line   6)
@@ -16775,43 +18947,59 @@
 * equations, environment for:            equation.            (line   6)
 * equations, flush left vs. centered:    Document class options.
                                                               (line  57)
+* errorstopmode:                         Command line options.
+                                                              (line  27)
 * es-zet German letter:                  Additional Latin letters.
                                                               (line  52)
-* etex command:                          TeX engines.         (line  13)
+* etex command:                          TeX engines.         (line  16)
 * eth, Icelandic letter:                 Additional Latin letters.
                                                               (line  20)
 * etoolbox package:                      Class and package commands.
                                                               (line 110)
-* euro symbol:                           Text symbols.        (line 125)
-* eurosym package:                       Text symbols.        (line 125)
+* euro symbol:                           Text symbols.        (line 128)
+* eurosym package:                       Text symbols.        (line 128)
+* eurosym package <1>:                   Text symbols.        (line 129)
 * ex:                                    Units of length.     (line  38)
 * ex <1>:                                Units of length.     (line  38)
-* exclamation point, upside-down:        Text symbols.        (line 131)
+* exclamation point, upside-down:        Text symbols.        (line 136)
 * executivepaper option:                 Document class options.
                                                               (line  19)
+* expl3 package:                         LaTeX command syntax.
+                                                              (line  37)
+* expl3 package <1>:                     Upper and lower case.
+                                                              (line  49)
 * exponent:                              Subscripts & superscripts.
                                                               (line   6)
+* expressions:                           Expressions.         (line   6)
 * extended Latin:                        Additional Latin letters.
                                                               (line   6)
+* external commands:                     \write18.            (line   6)
 * external files, writing:               filecontents.        (line   6)
+* fallback jobname:                      Jobname.             (line  25)
 * families, of fonts:                    Low-level font commands.
                                                               (line  21)
 * fancyhdr package:                      Page styles.         (line  12)
 * fancyhdr package <1>:                  \pagestyle.          (line  13)
 * fancyvrb package:                      tabbing.             (line 146)
-* fancyvrb package <1>:                  verbatim.            (line  37)
-* feminine ordinal symbol:               Text symbols.        (line 144)
+* fancyvrb package <1>:                  verbatim.            (line  42)
+* feminine ordinal symbol:               Text symbols.        (line 167)
+* figure dash character:                 Text symbols.        (line 139)
 * figure environment:                    figure.              (line   6)
 * figure number, cross referencing:      \ref.                (line   6)
 * figures, footnotes in:                 minipage.            (line 107)
 * figures, inserting:                    figure.              (line   6)
+* file, closing:                         \openin & \openout.  (line   6)
+* file, opening:                         \openin & \openout.  (line   6)
+* file, reading:                         \read.               (line   6)
 * file, root:                            Splitting the input. (line  10)
 * filecontents environment:              filecontents.        (line   6)
 * filecontents* environment:             filecontents.        (line   6)
+* filename for current job:              Command line options.
+                                                              (line  43)
 * final option:                          Document class options.
                                                               (line  49)
-* first-latex-doc document:              About this document. (line  41)
-* fixed-width font:                      Font styles.         (line  96)
+* first-latex-doc document:              About this document. (line  36)
+* fixed-width font:                      Font styles.         (line  97)
 * flafter package:                       Floats.              (line  82)
 * fleqn option:                          Document class options.
                                                               (line  49)
@@ -16827,6 +19015,11 @@
                                                               (line  21)
 * font commands, low-level:              Low-level font commands.
                                                               (line   6)
+* font dimension, slant:                 \/.                  (line  40)
+* font encoding:                         fontenc package.     (line   6)
+* font encoding <1>:                     \DeclareTextAccent.  (line   6)
+* font encoding, declaring:              \DeclareFontEncoding.
+                                                              (line   6)
 * font size:                             Low-level font commands.
                                                               (line 101)
 * font sizes:                            Font sizes.          (line   6)
@@ -16833,6 +19026,7 @@
 * font styles:                           Font styles.         (line   6)
 * font symbols, by number:               Symbols by font position.
                                                               (line   6)
+* fontenc:                               fontenc package.     (line   6)
 * fonts:                                 Fonts.               (line   6)
 * fonts, new commands for:               \newfont.            (line   6)
 * fonts, script:                         Calligraphic.        (line   6)
@@ -16849,8 +19043,10 @@
                                                               (line   6)
 * footnotes in figures:                  minipage.            (line 107)
 * footnotes, creating:                   Footnotes.           (line   6)
-* Footnotes, in a minipage:              \footnote.           (line  62)
+* footnotes, in a minipage:              \footnote.           (line  62)
 * footnotes, symbols instead of numbers: \footnote.           (line  24)
+* force option for filecontents:         filecontents.        (line  31)
+* format files, TeX:                     TeX engines.         (line   6)
 * formulas, environment for:             equation.            (line   6)
 * formulas, math:                        Math formulas.       (line   6)
 * forward reference:                     Cross references.    (line  27)
@@ -16860,7 +19056,9 @@
 * frame rule width:                      \fbox & \framebox.   (line  39)
 * frame, line width:                     \fbox & \framebox.   (line  39)
 * frame, separation from contents:       \fbox & \framebox.   (line  44)
-* French quotation marks:                Text symbols.        (line  31)
+* French quotation marks:                Text symbols.        (line  33)
+* front matter of a book:                \frontmatter & \mainmatter & \backmatter.
+                                                              (line   6)
 * functions, math:                       Math functions.      (line   6)
 * geometry package:                      Document class options.
                                                               (line  40)
@@ -16873,6 +19071,7 @@
 * glossary:                              Glossaries.          (line   6)
 * glossary, entries:                     \newglossaryentry.   (line   6)
 * glossary, entry reference:             \gls.                (line   6)
+* glue plain TeX:                        Lengths.             (line   9)
 * glue register, plain TeX:              \newlength.          (line   6)
 * graphics:                              Graphics.            (line   6)
 * graphics <1>:                          Graphics package configuration.
@@ -16891,16 +19090,20 @@
 * graphics, resizing <1>:                \resizebox.          (line   6)
 * graphics, scaling:                     \scalebox.           (line   6)
 * graphics, scaling <1>:                 \resizebox.          (line   6)
-* grave accent:                          Accents.             (line  42)
+* graphpap package:                      \graphpaper.         (line  11)
+* grave accent:                          Accents.             (line  44)
 * grave accent, math:                    Math accents.        (line  29)
-* greater than symbol, in text:          Text symbols.        (line 134)
+* greater than symbol, in text:          Text symbols.        (line 146)
 * greek letters:                         Math symbols.        (line   6)
+* Greek letters:                         Greek letters.       (line   6)
+* grfext package:                        \DeclareGraphicsExtensions.
+                                                              (line  39)
 * group, and environments:               Environments.        (line  18)
 * group_skip:                            makeindex.           (line  57)
-* ha'c<ek accent, math:                  Math accents.        (line  20)
-* hacek accent:                          Accents.             (line  89)
+* hacek accent:                          Accents.             (line  91)
 * Halmos symbol:                         \rule.               (line  13)
-* hat accent:                            Accents.             (line  38)
+* hard space:                            ~.                   (line   6)
+* hat accent:                            Accents.             (line  40)
 * hat accent, math:                      Math accents.        (line  32)
 * header style:                          \pagestyle.          (line   6)
 * header, parameters for:                Page layout parameters.
@@ -16908,19 +19111,24 @@
 * hello, world:                          Starting and ending. (line   6)
 * here, putting floats:                  Floats.              (line  52)
 * home page for manual:                  About this document. (line   6)
+* horizontal bar character:              Text symbols.        (line 149)
+* horizontal paragraph indentation:      \parindent & \parskip.
+                                                              (line   6)
 * horizontal space:                      \hss.                (line   6)
 * horizontal space, stretchable:         \hss.                (line   6)
 * horizontal spacing:                    \phantom & \vphantom & \hphantom.
                                                               (line   6)
-* hungarian umlaut accent:               Accents.             (line  67)
+* hungarian umlaut accent:               Accents.             (line  69)
 * hyperref package:                      \footnotemark.       (line  48)
 * hyperref package <1>:                  \footnotemark.       (line  57)
 * hyperref package <2>:                  \pagenumbering.      (line  45)
-* hyperref package <3>:                  Command line input.  (line  10)
+* hyperref package <3>:                  Command line input.  (line  14)
+* hyphen character, non-breaking:        Text symbols.        (line 160)
 * hyphenation, defining:                 \hyphenation.        (line   6)
 * hyphenation, discretionary:            \discretionary.      (line   6)
 * hyphenation, forcing:                  \- (hyphenation).    (line   6)
 * hyphenation, preventing:               \mbox & \makebox.    (line   6)
+* háček accent, math:                    Math accents.        (line  20)
 * Icelandic eth:                         Additional Latin letters.
                                                               (line  20)
 * Icelandic thorn:                       Additional Latin letters.
@@ -16928,10 +19136,10 @@
 * idx file:                              \index.              (line 106)
 * ij letter, Dutch:                      Additional Latin letters.
                                                               (line  32)
+* immediate \write:                      \write.              (line  60)
 * implementations of TeX:                TeX engines.         (line   6)
 * importing graphics:                    \includegraphics.    (line   6)
 * in:                                    Units of length.     (line  17)
-* in-line formulas:                      math.                (line   6)
 * inch:                                  Units of length.     (line  17)
 * including graphics:                    \includegraphics.    (line   6)
 * indent, forcing:                       \indent & \noindent. (line   6)
@@ -16948,6 +19156,7 @@
 * index entries, 'see' and 'see also':   \index.              (line  56)
 * index entry:                           \index.              (line   6)
 * index package:                         \index.              (line 101)
+* index, multiple:                       Indexes.             (line  32)
 * index, page range:                     \index.              (line  40)
 * index, printing:                       \printindex.         (line   6)
 * index, processing:                     makeindex.           (line   6)
@@ -16955,18 +19164,25 @@
 * indexes:                               Indexes.             (line   6)
 * infinite horizontal stretch:           \hfill.              (line   6)
 * infinite vertical stretch:             \vfill.              (line   6)
+* inline formulas:                       math.                (line   6)
 * inner paragraph mode:                  Modes.               (line  47)
 * input file:                            Splitting the input. (line   6)
 * input, on command line:                Command line input.  (line   6)
-* input/output, to terminal:             Terminal input/output.
-                                                              (line   6)
+* input/output:                          Input/output.        (line   6)
+* input/output, to terminal:             Input/output.        (line   6)
+* inputenc:                              inputenc package.    (line   6)
 * inserting figures:                     figure.              (line   6)
 * insertions of special characters:      Special insertions.  (line   6)
+* interface, command line:               Command line interface.
+                                                              (line   6)
+* interline space:                       \baselineskip & \baselinestretch.
+                                                              (line   6)
 * internal vertical mode:                Modes.               (line  38)
 * invisible character:                   \phantom & \vphantom & \hphantom.
                                                               (line   6)
+* invisible character <1>:               \mathstrut.          (line   6)
 * italic correction:                     \/.                  (line   6)
-* italic font:                           Font styles.         (line  81)
+* italic font:                           Font styles.         (line  82)
 * itemize environment:                   itemize.             (line   6)
 * item_0:                                makeindex.           (line  81)
 * item_01:                               makeindex.           (line  90)
@@ -16975,42 +19191,50 @@
 * item_2:                                makeindex.           (line  87)
 * item_x1:                               makeindex.           (line  94)
 * item_x2:                               makeindex.           (line 104)
-* JPEG files:                            Graphics package configuration.
-                                                              (line   6)
-* JPEG files <1>:                        \includegraphics.    (line   6)
-* JPG files:                             Graphics package configuration.
-                                                              (line   6)
-* JPG files <1>:                         \includegraphics.    (line   6)
+* jobname:                               Command line options.
+                                                              (line  43)
+* jobname <1>:                           Jobname.             (line   6)
+* JPEG files:                            \includegraphics.    (line   6)
+* JPG files:                             \includegraphics.    (line   6)
 * justification, ragged left:            \raggedleft.         (line   6)
 * justification, ragged right:           \raggedright.        (line   6)
 * Knuth, Donald E.:                      Overview.            (line   6)
 * label:                                 Cross references.    (line   6)
 * labelled lists, creating:              description.         (line   6)
-* Lamport TeX:                           Overview.            (line  24)
+* Lamport TeX:                           Overview.            (line  28)
 * Lamport, Leslie:                       Overview.            (line   6)
 * landscape option:                      Document class options.
                                                               (line  49)
 * landscape orientation:                 Document class options.
                                                               (line  60)
+* latex:                                 TeX engines.         (line  14)
 * latex command:                         Output files.        (line  10)
-* LaTeX logo:                            Text symbols.        (line  22)
+* LaTeX format (.fmt) files:             TeX engines.         (line   6)
+* LaTeX logo:                            Text symbols.        (line  24)
 * LaTeX overview:                        Overview.            (line   6)
-* LaTeX Project team:                    About this document. (line  25)
-* LaTeX vs. LaTeX2e:                     About this document. (line  21)
-* latex-doc-ptr document:                About this document. (line  38)
-* LaTeX2e logo:                          Text symbols.        (line  25)
-* <latexrefman at tug.org> email address:   About this document. (line  25)
+* LaTeX Project team:                    About this document. (line  20)
+* LaTeX vs. LaTeX2e:                     About this document. (line  16)
+* latex-dev:                             TeX engines.         (line  64)
+* latex-doc-ptr document:                About this document. (line  33)
+* LaTeX2e logo:                          Text symbols.        (line  27)
+* LaTeX3 syntax:                         LaTeX command syntax.
+                                                              (line  37)
+* <latexrefman at tug.org> email address:   About this document. (line  20)
+* latexsym package:                      Arrows.              (line   6)
 * Latin letters, additional:             Additional Latin letters.
                                                               (line   6)
 * layout commands:                       Layout.              (line   6)
 * layout, page parameters for:           Page layout parameters.
                                                               (line   6)
-* left angle quotation marks:            Text symbols.        (line  31)
-* left arrow, in text:                   Text symbols.        (line 140)
-* left brace, in text:                   Text symbols.        (line  87)
-* left quote:                            Text symbols.        (line  41)
-* left quote, double:                    Text symbols.        (line 153)
-* left quote, single:                    Text symbols.        (line 159)
+* leaders, dots in table of contents:    \@dottedtocline.     (line  27)
+* leading:                               \baselineskip & \baselinestretch.
+                                                              (line   6)
+* left angle quotation marks:            Text symbols.        (line  33)
+* left arrow, in text:                   Text symbols.        (line 157)
+* left brace, in text:                   Text symbols.        (line  89)
+* left quote:                            Text symbols.        (line  43)
+* left quote, double:                    Text symbols.        (line 176)
+* left quote, single:                    Text symbols.        (line 182)
 * left-hand equation numbers:            Document class options.
                                                               (line  63)
 * left-justifying text:                  \raggedright.        (line   6)
@@ -17024,7 +19248,7 @@
 * lengths, setting:                      \setlength.          (line   6)
 * leqno option:                          Document class options.
                                                               (line  49)
-* less than symbol, in text:             Text symbols.        (line 137)
+* less than symbol, in text:             Text symbols.        (line 154)
 * lethead_flag:                          makeindex.           (line  64)
 * lethead_prefix:                        makeindex.           (line  73)
 * lethead_suffix:                        makeindex.           (line  77)
@@ -17048,7 +19272,7 @@
                                                               (line   6)
 * lines in tables:                       tabular.             (line   6)
 * line_max:                              makeindex.           (line 130)
-* lining numerals:                       Font styles.         (line 132)
+* lining numerals:                       Font styles.         (line 133)
 * lining text up in tables:              tabular.             (line   6)
 * lining text up using tab stops:        tabbing.             (line   6)
 * list environment:                      list.                (line   6)
@@ -17056,37 +19280,43 @@
 * list of figures file:                  Output files.        (line  43)
 * list of tables file:                   Output files.        (line  43)
 * listings package:                      tabbing.             (line 146)
-* listings package <1>:                  verbatim.            (line  31)
+* listings package <1>:                  verbatim.            (line  36)
 * listings package <2>:                  \verb.               (line  42)
 * lists of items:                        itemize.             (line   6)
 * lists of items, generic:               list.                (line   6)
 * lists of items, numbered:              enumerate.           (line   6)
+* lmodern package:                       fontenc package.     (line  36)
 * loading additional packages:           Additional packages. (line   6)
+* locale information, from system:       \write18.            (line  65)
 * log file:                              Output files.        (line  28)
-* logo, LaTeX:                           Text symbols.        (line  22)
-* logo, LaTeX2e:                         Text symbols.        (line  25)
-* logo, TeX:                             Text symbols.        (line  63)
+* log file, writing to:                  \write.              (line  30)
+* logo, LaTeX:                           Text symbols.        (line  24)
+* logo, LaTeX2e:                         Text symbols.        (line  27)
+* logo, TeX:                             Text symbols.        (line  65)
 * long command:                          Class and package commands.
                                                               (line  23)
-* low-9 quotation marks, single and double: Text symbols.     (line  53)
+* low-9 quotation marks, single and double: Text symbols.     (line  55)
 * low-level font commands:               Low-level font commands.
                                                               (line   6)
 * lowercase:                             Upper and lower case.
                                                               (line   6)
-* LR box:                                picture.             (line 103)
+* LR box:                                picture.             (line  93)
 * LR mode:                               Modes.               (line  16)
 * lrbox:                                 lrbox.               (line   6)
-* lshort document:                       About this document. (line  49)
-* ltugboat class:                        tugboat template.    (line   6)
-* lualatex command:                      TeX engines.         (line  30)
-* LuaTeX:                                TeX engines.         (line  30)
+* lshort document:                       About this document. (line  39)
+* lualatex:                              TeX engines.         (line  32)
+* lualatex-dev:                          TeX engines.         (line  65)
+* LuaTeX:                                TeX engines.         (line  33)
+* LuaTeX, 256 output streams in:         \write.              (line  42)
 * m-width:                               Units of length.     (line  38)
-* macro package, LaTeX as:               Overview.            (line  11)
-* macron accent:                         Accents.             (line  34)
+* macron accent:                         Accents.             (line  36)
 * macron accent, math:                   Math accents.        (line  14)
 * macros2e package:                      \makeatletter & \makeatother.
-                                                              (line  43)
+                                                              (line  41)
 * Madsen, Lars:                          eqnarray.            (line   6)
+* mail merges:                           \read.               (line  31)
+* main matter of a book:                 \frontmatter & \mainmatter & \backmatter.
+                                                              (line   6)
 * make a box:                            \mbox & \makebox.    (line   6)
 * makeindex:                             makeindex.           (line   6)
 * makeindex program:                     makeindex.           (line   6)
@@ -17094,7 +19324,7 @@
 * making a title page:                   titlepage.           (line   6)
 * making paragraphs:                     Making paragraphs.   (line   6)
 * marginal notes:                        Marginal notes.      (line   6)
-* masculine ordinal symbol:              Text symbols.        (line 144)
+* masculine ordinal symbol:              Text symbols.        (line 167)
 * matching brackets:                     \left & \right.      (line   6)
 * matching parentheses:                  \left & \right.      (line   6)
 * math accents:                          Math accents.        (line   6)
@@ -17109,30 +19339,34 @@
                                                               (line   6)
 * math mode, spacing <1>:                \phantom & \vphantom & \hphantom.
                                                               (line   6)
+* math mode, spacing <2>:                \mathstrut.          (line   6)
 * math mode, vertical space:             \smash.              (line   6)
 * math symbols:                          Math symbols.        (line   6)
-* math, bold:                            Font styles.         (line 128)
+* math, arrows:                          Arrows.              (line   6)
+* math, bold:                            Font styles.         (line 129)
 * mathtools package:                     Math formulas.       (line  86)
-* mathtools package <1>:                 Over- and Underlining.
+* mathtools package <1>:                 Delimiters.          (line  41)
+* mathtools package <2>:                 \left & \right.      (line  30)
+* mathtools package <3>:                 Over- and Underlining.
                                                               (line  45)
-* mathtools package <2>:                 \smash.              (line  61)
-* mathtools package <3>:                 \phantom & \vphantom & \hphantom.
-                                                              (line  36)
+* mathtools package <4>:                 \smash.              (line  61)
+* mathtools package <5>:                 \phantom & \vphantom & \hphantom.
+                                                              (line  46)
 * MetaPost package:                      \line.               (line  36)
 * mfirstuc package:                      Upper and lower case.
-                                                              (line  45)
+                                                              (line  46)
 * mhchem package:                        Subscripts & superscripts.
                                                               (line  62)
-* Millimeter:                            Units of length.     (line  27)
+* millimeter:                            Units of length.     (line  27)
 * minipage environment:                  minipage.            (line   6)
 * minipage, creating a:                  minipage.            (line   6)
 * minted package:                        tabbing.             (line 146)
-* minted package <1>:                    verbatim.            (line  31)
+* minted package <1>:                    verbatim.            (line  36)
 * minted package <2>:                    \verb.               (line  42)
-* mirrors of CTAN:                       CTAN.                (line  20)
+* mirrors of CTAN:                       CTAN.                (line  25)
 * mm:                                    Units of length.     (line  27)
 * modes:                                 Modes.               (line   6)
-* monospace font:                        Font styles.         (line  96)
+* monospace font:                        Font styles.         (line  97)
 * moving arguments:                      \protect.            (line  19)
 * mpfootnote counter:                    \footnote.           (line  62)
 * mu:                                    Units of length.     (line  49)
@@ -17140,11 +19374,13 @@
 * multicolumn text:                      \twocolumn.          (line   6)
 * multilingual support:                  Accents.             (line   6)
 * multind package:                       Indexes.             (line  32)
+* multiple indexes:                      Indexes.             (line  32)
 * multiplication, discretionary:         \*.                  (line   6)
 * name:                                  \newglossaryentry.   (line  43)
+* name of document root:                 Jobname.             (line   6)
 * NBSP:                                  ~.                   (line   6)
 * nested \include, not allowed:          \include & \includeonly.
-                                                              (line 104)
+                                                              (line 106)
 * new class commands:                    Class and package construction.
                                                               (line   6)
 * new command, check:                    Class and package commands.
@@ -17159,32 +19395,40 @@
 * new line, starting:                    \\.                  (line   6)
 * new line, starting (paragraph mode):   \newline.            (line   6)
 * new page, starting:                    \newpage.            (line   6)
+* newline, in \write:                    \write.              (line  95)
+* noheader option for filecontents:      filecontents.        (line  34)
+* non-breaking hyphen character:         Text symbols.        (line 160)
 * non-English characters:                Additional Latin letters.
                                                               (line   6)
+* nonstopmode:                           Command line options.
+                                                              (line  27)
+* nosearch option for filecontents:      filecontents.        (line  37)
 * notes in the margin:                   Marginal notes.      (line   6)
 * notitlepage option:                    Document class options.
                                                               (line  49)
 * null delimiter:                        \left & \right.      (line   6)
 * numbered items, specifying counter:    \usecounter.         (line   6)
-* numerals, old-style:                   Font styles.         (line 132)
-* oblique font:                          Font styles.         (line  93)
+* numerals, old-style:                   Font styles.         (line 133)
+* oblique font:                          Font styles.         (line  94)
 * oe ligature:                           Additional Latin letters.
                                                               (line  48)
-* ogonek:                                Accents.             (line  71)
-* old-style numerals:                    Font styles.         (line 132)
+* ogonek:                                Accents.             (line  73)
+* old-style numerals:                    Font styles.         (line 133)
 * one-column output:                     \onecolumn.          (line   6)
 * onecolumn option:                      Document class options.
                                                               (line  78)
 * oneside option:                        Document class options.
                                                               (line  78)
+* open a file:                           \openin & \openout.  (line   6)
 * openany option:                        Document class options.
                                                               (line  78)
 * openbib option:                        Document class options.
                                                               (line  49)
-* opening quote:                         Text symbols.        (line  41)
+* opening quote:                         Text symbols.        (line  43)
 * openright option:                      Document class options.
                                                               (line  78)
 * OpenType fonts:                        TeX engines.         (line   6)
+* operating system information:          \write18.            (line  65)
 * options, class:                        Class and package commands.
                                                               (line  66)
 * options, color package:                Color package options.
@@ -17202,15 +19446,19 @@
                                                               (line   6)
 * options, package <1>:                  Class and package commands.
                                                               (line  66)
-* ordinals, feminine and masculine:      Text symbols.        (line 144)
+* ordinals, feminine and masculine:      Text symbols.        (line 167)
 * oslash:                                Additional Latin letters.
                                                               (line  44)
+* OT1:                                   fontenc package.     (line   6)
 * outer paragraph mode:                  Modes.               (line  47)
-* overbar accent:                        Accents.             (line  34)
+* output directory for all external files: Command line options.
+                                                              (line  48)
+* overbar accent:                        Accents.             (line  36)
 * overdot accent, math:                  Math accents.        (line  26)
 * overlining:                            Over- and Underlining.
                                                               (line   6)
 * overview of LaTeX:                     Overview.            (line   6)
+* overwrite option for filecontents:     filecontents.        (line  31)
 * package file layout:                   Class and package structure.
                                                               (line   6)
 * package options:                       Class and package structure.
@@ -17217,8 +19465,12 @@
                                                               (line   6)
 * package options <1>:                   Class and package commands.
                                                               (line  66)
+* package, abstract:                     abstract.            (line  27)
+* package, adjustbox:                    Boxes.               (line   9)
 * package, algorithm2e:                  tabbing.             (line 146)
+* package, amscd:                        Arrows.              (line  41)
 * package, amsfonts:                     Math formulas.       (line  86)
+* package, amsfonts <1>:                 Arrows.              (line   6)
 * package, amsmath:                      array.               (line  55)
 * package, amsmath <1>:                  array.               (line  66)
 * package, amsmath <2>:                  displaymath.         (line  22)
@@ -17225,28 +19477,33 @@
 * package, amsmath <3>:                  equation.            (line  20)
 * package, amsmath <4>:                  theorem.             (line  28)
 * package, amsmath <5>:                  Math formulas.       (line  86)
-* package, amsmath <6>:                  Dots.                (line  37)
-* package, amsmath <7>:                  Math functions.      (line 111)
-* package, amsmath <8>:                  \phantom & \vphantom & \hphantom.
-                                                              (line  44)
-* package, amsmath <9>:                  Colon character & \colon.
+* package, amsmath <6>:                  \left & \right.      (line  30)
+* package, amsmath <7>:                  \bigl & \bigr etc..  (line  68)
+* package, amsmath <8>:                  Dots.                (line  36)
+* package, amsmath <9>:                  Math functions.      (line 111)
+* package, amsmath <10>:                 \phantom & \vphantom & \hphantom.
+                                                              (line  54)
+* package, amsmath <11>:                 Colon character & \colon.
                                                               (line  15)
-* package, amsmath <10>:                 Colon character & \colon.
+* package, amsmath <12>:                 Colon character & \colon.
                                                               (line  19)
 * package, amsthm:                       theorem.             (line  28)
 * package, amsthm <1>:                   \rule.               (line  18)
+* package, answers:                      \write.              (line 100)
 * package, appendix:                     \appendix.           (line  29)
 * package, array (package):              array.               (line  77)
 * package, Asymptote:                    \line.               (line  36)
 * package, Asymptote <1>:                \strut.              (line  62)
-* package, Asymptote <2>:                \mbox & \makebox.    (line  73)
+* package, Asymptote <2>:                \mbox & \makebox.    (line  74)
+* package, Asymptote <3>:                \write18.            (line  13)
 * package, babel:                        \chapter.            (line  71)
 * package, babel <1>:                    thebibliography.     (line  53)
 * package, babel <2>:                    Accents.             (line   6)
 * package, babel <3>:                    \today.              (line  13)
 * package, babel <4>:                    Table of contents etc..
-                                                              (line  80)
+                                                              (line 124)
 * package, babel <5>:                    \index.              (line  56)
+* package, beamer:                       beamer template.     (line   6)
 * package, bigfoot:                      Footnotes of footnotes.
                                                               (line   6)
 * package, bm:                           \boldmath & \unboldmath.
@@ -17254,19 +19511,28 @@
 * package, cleveref:                     Cross references.    (line  38)
 * package, cleveref <1>:                 \ref.                (line  29)
 * package, cleveref <2>:                 \footnotemark.       (line  48)
+* package, cm-super:                     fontenc package.     (line  36)
+* package, comprehensive:                Math symbols.        (line   6)
 * package, cprotect:                     verbatim.            (line  26)
 * package, cprotect <1>:                 \verb.               (line  45)
+* package, datatool:                     \read.               (line  31)
 * package, datetime:                     \today.              (line  27)
 * package, dcolumn:                      array.               (line  77)
-* package, enumitem:                     list.                (line 253)
+* package, enumitem:                     itemize.             (line  66)
+* package, enumitem <1>:                 list.                (line 254)
 * package, envlab:                       \makelabels.         (line  55)
 * package, etoolbox:                     Class and package commands.
                                                               (line 110)
-* package, eurosym:                      Text symbols.        (line 125)
+* package, eurosym:                      Text symbols.        (line 128)
+* package, eurosym <1>:                  Text symbols.        (line 129)
+* package, expl3:                        LaTeX command syntax.
+                                                              (line  37)
+* package, expl3 <1>:                    Upper and lower case.
+                                                              (line  49)
 * package, fancyhdr:                     Page styles.         (line  12)
 * package, fancyhdr <1>:                 \pagestyle.          (line  13)
 * package, fancyvrb:                     tabbing.             (line 146)
-* package, fancyvrb <1>:                 verbatim.            (line  37)
+* package, fancyvrb <1>:                 verbatim.            (line  42)
 * package, flafter:                      Floats.              (line  82)
 * package, float:                        Floats.              (line  52)
 * package, geometry:                     Document class options.
@@ -17273,10 +19539,13 @@
                                                               (line  40)
 * package, geometry <1>:                 Document class options.
                                                               (line  44)
+* package, graphpap:                     \graphpaper.         (line  11)
+* package, grfext:                       \DeclareGraphicsExtensions.
+                                                              (line  39)
 * package, hyperref:                     \footnotemark.       (line  48)
 * package, hyperref <1>:                 \footnotemark.       (line  57)
 * package, hyperref <2>:                 \pagenumbering.      (line  45)
-* package, hyperref <3>:                 Command line input.  (line  10)
+* package, hyperref <3>:                 Command line input.  (line  14)
 * package, indentfirst:                  \part.               (line  50)
 * package, indentfirst <1>:              \chapter.            (line  58)
 * package, indentfirst <2>:              \section.            (line  60)
@@ -17285,24 +19554,28 @@
                                                               (line  61)
 * package, indentfirst <5>:              \indent & \noindent. (line  48)
 * package, index:                        \index.              (line 101)
+* package, latexsym:                     Arrows.              (line   6)
 * package, listings:                     tabbing.             (line 146)
-* package, listings <1>:                 verbatim.            (line  31)
+* package, listings <1>:                 verbatim.            (line  36)
 * package, listings <2>:                 \verb.               (line  42)
+* package, lmodern:                      fontenc package.     (line  36)
 * package, macros2e:                     \makeatletter & \makeatother.
-                                                              (line  43)
+                                                              (line  41)
 * package, mathtools:                    Math formulas.       (line  86)
-* package, mathtools <1>:                Over- and Underlining.
+* package, mathtools <1>:                Delimiters.          (line  41)
+* package, mathtools <2>:                \left & \right.      (line  30)
+* package, mathtools <3>:                Over- and Underlining.
                                                               (line  45)
-* package, mathtools <2>:                \smash.              (line  61)
-* package, mathtools <3>:                \phantom & \vphantom & \hphantom.
-                                                              (line  36)
+* package, mathtools <4>:                \smash.              (line  61)
+* package, mathtools <5>:                \phantom & \vphantom & \hphantom.
+                                                              (line  46)
 * package, MetaPost:                     \line.               (line  36)
 * package, mfirstuc:                     Upper and lower case.
-                                                              (line  45)
+                                                              (line  46)
 * package, mhchem:                       Subscripts & superscripts.
                                                               (line  62)
 * package, minted:                       tabbing.             (line 146)
-* package, minted <1>:                   verbatim.            (line  31)
+* package, minted <1>:                   verbatim.            (line  36)
 * package, minted <2>:                   \verb.               (line  42)
 * package, multind:                      Indexes.             (line  32)
 * package, pict2e:                       \line.               (line  36)
@@ -17309,36 +19582,43 @@
 * package, polyglossia:                  Accents.             (line   6)
 * package, polyglossia <1>:              \today.              (line  13)
 * package, polyglossia <2>:              Table of contents etc..
-                                                              (line  80)
+                                                              (line 125)
 * package, polyglossia <3>:              \index.              (line  56)
 * package, PSTricks:                     \line.               (line  36)
-* package, sagetex:                      Command line options.
-                                                              (line  62)
-* package, setspace:                     Low-level font commands.
-                                                              (line 118)
+* package, setspace:                     \baselineskip & \baselinestretch.
+                                                              (line  79)
+* package, shellesc:                     \write18.            (line  71)
 * package, showidx:                      Indexes.             (line  32)
-* package, siunitx:                      ~.                   (line  32)
-* package, symbols:                      Math symbols.        (line   6)
+* package, siunitx:                      minipage.            (line 137)
+* package, siunitx <1>:                  ~.                   (line  37)
+* package, suffix:                       \@ifstar.            (line  66)
+* package, texosquery:                   \write18.            (line  65)
 * package, textcase:                     Upper and lower case.
-                                                              (line  42)
-* package, textcomp:                     Font styles.         (line 132)
+                                                              (line  43)
 * package, TikZ:                         \line.               (line  36)
 * package, TikZ <1>:                     \strut.              (line  62)
-* package, TikZ <2>:                     \mbox & \makebox.    (line  72)
-* package, titlesec:                     \part.               (line  54)
-* package, titlesec <1>:                 \chapter.            (line  79)
-* package, titlesec <2>:                 \section.            (line  64)
-* package, titlesec <3>:                 \subsection.         (line  52)
-* package, titlesec <4>:                 \subsubsection & \paragraph & \subparagraph.
+* package, TikZ <2>:                     \mbox & \makebox.    (line  73)
+* package, tikz-cd:                      Arrows.              (line  41)
+* package, titlesec:                     Sectioning.          (line  60)
+* package, titlesec <1>:                 \part.               (line  54)
+* package, titlesec <2>:                 \chapter.            (line  79)
+* package, titlesec <3>:                 \section.            (line  64)
+* package, titlesec <4>:                 \subsection.         (line  52)
+* package, titlesec <5>:                 \subsubsection & \paragraph & \subparagraph.
                                                               (line  65)
 * package, tocbibbind:                   Table of contents etc..
-                                                              (line  91)
+                                                              (line 111)
 * package, tocloft:                      Table of contents etc..
-                                                              (line  91)
+                                                              (line 111)
 * package, ulem:                         Over- and Underlining.
                                                               (line  15)
-* package, url:                          \verb.               (line  38)
-* package, verbatimbox:                  verbatim.            (line  37)
+* package, unicode-math:                 Greek letters.       (line  37)
+* package, url:                          \verb.               (line  39)
+* package, verbatimbox:                  verbatim.            (line  42)
+* package, xparse:                       LaTeX command syntax.
+                                                              (line  37)
+* package, xparse <1>:                   \@ifstar.            (line  66)
+* package, xstring:                      Jobname.             (line  53)
 * packages, loading additional:          Additional packages. (line   6)
 * page break, forcing:                   \pagebreak & \nopagebreak.
                                                               (line   6)
@@ -17365,7 +19645,7 @@
                                                               (line   6)
 * paragraph mode:                        Modes.               (line  12)
 * paragraph mode <1>:                    \parbox.             (line   6)
-* paragraph symbol:                      Text symbols.        (line  45)
+* paragraph symbol:                      Text symbols.        (line  47)
 * paragraph, ending:                     \par.                (line   6)
 * paragraph, in a box:                   \parbox.             (line   6)
 * paragraphs:                            Making paragraphs.   (line   6)
@@ -17372,17 +19652,20 @@
 * parameters, for footnotes:             \footnote.           (line  34)
 * parameters, page layout:               Page layout parameters.
                                                               (line   6)
+* parent directories, cannot write to:   \write and security. (line  22)
+* parentheses:                           Delimiters.          (line   6)
 * part:                                  Sectioning.          (line   6)
 * part <1>:                              \part.               (line   6)
+* pattern, current tab stops, tabbing:   tabbing.             (line  51)
 * pc:                                    Units of length.     (line  14)
-* PDF graphic files:                     Graphics package configuration.
-                                                              (line   6)
-* PDF graphic files <1>:                 \includegraphics.    (line   6)
+* PDF graphic files:                     \includegraphics.    (line   6)
+* pdflatex:                              TeX engines.         (line  15)
 * pdflatex command:                      Output files.        (line  20)
+* pdflatex-dev:                          TeX engines.         (line  66)
 * pdfTeX:                                Output files.        (line  20)
-* pdfTeX engine:                         TeX engines.         (line  13)
+* pdfTeX engine:                         TeX engines.         (line  16)
 * period, abbreviation-ending:           \@.                  (line   6)
-* period, centered, in text:             Text symbols.        (line 147)
+* period, centered, in text:             Text symbols.        (line 170)
 * period, sentence-ending:               \@.                  (line   6)
 * period, spacing after:                 \@.                  (line   6)
 * pica:                                  Units of length.     (line  14)
@@ -17390,44 +19673,45 @@
 * pict2e package <1>:                    \line.               (line  36)
 * picture environment:                   picture.             (line   6)
 * pictures, creating:                    picture.             (line   6)
-* pilcrow:                               Text symbols.        (line  45)
+* pilcrow:                               Text symbols.        (line  47)
 * placement of floats:                   Floats.              (line  31)
+* platex:                                TeX engines.         (line  54)
+* platex-dev:                            TeX engines.         (line  67)
 * plural:                                \newglossaryentry.   (line  51)
-* PNG files:                             Graphics package configuration.
-                                                              (line   6)
-* PNG files <1>:                         \includegraphics.    (line   6)
+* PNG files:                             \includegraphics.    (line   6)
 * poetry, an environment for:            verse.               (line   6)
-* Point:                                 Units of length.     (line  10)
+* point:                                 Units of length.     (line  10)
 * polish l:                              Additional Latin letters.
                                                               (line  36)
 * polyglossia package:                   Accents.             (line   6)
 * polyglossia package <1>:               \today.              (line  13)
 * polyglossia package <2>:               Table of contents etc..
-                                                              (line  80)
+                                                              (line 125)
 * polyglossia package <3>:               \index.              (line  56)
 * portrait orientation:                  Document class options.
                                                               (line  60)
-* position, in picture:                  picture.             (line  77)
+* position, in picture:                  picture.             (line  64)
 * positional parameter:                  \newcommand & \renewcommand.
-                                                              (line  52)
+                                                              (line  54)
 * postamble:                             makeindex.           (line  54)
 * postscript, in letters:                \ps.                 (line   6)
-* pounds symbol:                         Text symbols.        (line  49)
+* pounds symbol:                         Text symbols.        (line  51)
 * preamble:                              makeindex.           (line  50)
 * preamble, defined:                     Starting and ending. (line  22)
+* prerelease testing:                    TeX engines.         (line  70)
 * prompt, *:                             Recovering from errors.
                                                               (line  23)
-* pronunciation:                         Overview.            (line  24)
+* pronunciation:                         Overview.            (line  28)
 * PSTricks package:                      \line.               (line  36)
 * pt:                                    Units of length.     (line  10)
 * quad:                                  Spacing in math mode.
-                                                              (line  51)
-* question mark, upside-down:            Text symbols.        (line 150)
+                                                              (line  65)
+* question mark, upside-down:            Text symbols.        (line 173)
 * quotation environment:                 quotation & quote.   (line   6)
-* quotation marks, French:               Text symbols.        (line  31)
+* quotation marks, French:               Text symbols.        (line  33)
 * quote environment:                     quotation & quote.   (line   6)
-* quote, single straight:                Text symbols.        (line 165)
-* quote, straight base:                  Text symbols.        (line 169)
+* quote, single straight:                Text symbols.        (line 188)
+* quote, straight base:                  Text symbols.        (line 192)
 * quoted text with paragraph indentation, displaying: quotation & quote.
                                                               (line   6)
 * quoted text without paragraph indentation, displaying: quotation & quote.
@@ -17437,32 +19721,36 @@
 * ragged left text, environment for:     flushright.          (line   6)
 * ragged right text:                     \raggedright.        (line   6)
 * ragged right text, environment for:    flushleft.           (line   6)
+* read a file:                           \read.               (line   6)
 * redefining environments:               \newenvironment & \renewenvironment.
                                                               (line   6)
 * reference, forward:                    Cross references.    (line  27)
 * references, resolving forward:         Output files.        (line  33)
-* registered symbol:                     Text symbols.        (line 172)
+* registered symbol:                     Text symbols.        (line 195)
 * relation, text above:                  \stackrel.           (line   6)
+* release candidates:                    TeX engines.         (line  70)
 * remarks in the margin:                 Marginal notes.      (line   6)
 * report class:                          Document classes.    (line  11)
-* reporting bugs:                        About this document. (line  29)
+* reporting bugs:                        About this document. (line  24)
 * reserved characters:                   Reserved characters. (line   6)
 * resizing:                              \scalebox.           (line   6)
 * resizing <1>:                          \resizebox.          (line   6)
-* right angle quotation marks:           Text symbols.        (line  31)
-* right arrow, in text:                  Text symbols.        (line 175)
-* right brace, in text:                  Text symbols.        (line  90)
-* right quote:                           Text symbols.        (line  56)
-* right quote, double:                   Text symbols.        (line 156)
-* right quote, single:                   Text symbols.        (line 162)
+* restricted shell access:               \write18.            (line  53)
+* right angle quotation marks:           Text symbols.        (line  33)
+* right arrow, in text:                  Text symbols.        (line 198)
+* right brace, in text:                  Text symbols.        (line  92)
+* right quote:                           Text symbols.        (line  58)
+* right quote, double:                   Text symbols.        (line 179)
+* right quote, single:                   Text symbols.        (line 185)
 * right-hand equation numbers:           Document class options.
                                                               (line  63)
 * right-justifying text:                 \raggedleft.         (line   6)
 * right-justifying text, environment for: flushright.         (line   6)
-* ring accent:                           Accents.             (line  75)
+* rigid lengths:                         Lengths.             (line   9)
+* ring accent:                           Accents.             (line  77)
 * ring accent, math:                     Math accents.        (line  35)
 * robust commands:                       \protect.            (line   6)
-* roman font:                            Font styles.         (line  84)
+* roman font:                            Font styles.         (line  85)
 * root file:                             Splitting the input. (line  10)
 * roots:                                 \sqrt.               (line   6)
 * rotating graphics:                     \rotatebox.          (line   6)
@@ -17469,56 +19757,70 @@
 * rotating text:                         \rotatebox.          (line   6)
 * rotation:                              \rotatebox.          (line   6)
 * row, tabbing:                          tabbing.             (line  46)
+* rubber lengths:                        Lengths.             (line   9)
 * rubber lengths, defining new:          \newlength.          (line   6)
 * running header and footer:             Page layout parameters.
                                                               (line   6)
 * running header and footer style:       \pagestyle.          (line   6)
-* sagetex package:                       Command line options.
-                                                              (line  62)
-* sans serif font:                       Font styles.         (line  90)
-* Scaled point:                          Units of length.     (line  36)
+* sans serif font:                       Font styles.         (line  91)
+* scaled point:                          Units of length.     (line  36)
 * scaling:                               \scalebox.           (line   6)
 * scaling <1>:                           \resizebox.          (line   6)
 * script fonts:                          Calligraphic.        (line   6)
-* script letters for math:               Font styles.         (line  78)
-* secnumdepth:                           Sectioning.          (line  62)
-* secnumdepth counter:                   Sectioning.          (line  63)
+* script letters for math:               Font styles.         (line  79)
+* scrollmode:                            Command line options.
+                                                              (line  27)
+* secnumdepth:                           Sectioning.          (line  69)
+* secnumdepth counter:                   Sectioning.          (line  70)
 * section:                               Sectioning.          (line   6)
 * section <1>:                           \section.            (line   6)
 * section number, cross referencing:     \ref.                (line   6)
-* section numbers, printing:             Sectioning.          (line  63)
-* section symbol:                        Text symbols.        (line  60)
+* section numbers, printing:             Sectioning.          (line  70)
+* section symbol:                        Text symbols.        (line  62)
 * section, redefining:                   \@startsection.      (line   6)
 * sectioning commands:                   Sectioning.          (line   6)
 * sectioning, part:                      \part.               (line   6)
+* security and \write:                   \write and security. (line   6)
+* see and see also index entries:        \index.              (line  56)
+* self-contained sources:                filecontents.        (line  42)
 * series, of fonts:                      Low-level font commands.
                                                               (line  48)
-* setspace package:                      Low-level font commands.
-                                                              (line 118)
+* setspace package:                      \baselineskip & \baselinestretch.
+                                                              (line  79)
 * setting counters:                      \setcounter.         (line   6)
+* sh, used by \write18:                  \write18.            (line  60)
 * shapes, of fonts:                      Low-level font commands.
                                                               (line  88)
 * sharp S letters:                       Additional Latin letters.
                                                               (line  52)
+* shell access:                          \write18.            (line   6)
+* shell escape:                          Command line options.
+                                                              (line  61)
+* SHELL, environment variables:          \write18.            (line  60)
+* shellesc package:                      \write18.            (line  71)
 * showidx package:                       Indexes.             (line  32)
 * simulating typed text:                 verbatim.            (line   6)
-* single angle quotation marks:          Text symbols.        (line  31)
-* single guillemets:                     Text symbols.        (line  31)
-* single left quote:                     Text symbols.        (line 159)
-* single low-9 quotation mark:           Text symbols.        (line  53)
-* single quote, straight:                Text symbols.        (line 165)
-* single right quote:                    Text symbols.        (line 162)
-* siunitx package:                       ~.                   (line  32)
+* single angle quotation marks:          Text symbols.        (line  33)
+* single guillemets:                     Text symbols.        (line  33)
+* single left quote:                     Text symbols.        (line 182)
+* single low-9 quotation mark:           Text symbols.        (line  55)
+* single quote, straight:                Text symbols.        (line 188)
+* single right quote:                    Text symbols.        (line 185)
+* siunitx package:                       minipage.            (line 137)
+* siunitx package <1>:                   ~.                   (line  37)
 * sizes of text:                         Font sizes.          (line   6)
+* skip plain TeX:                        Lengths.             (line   9)
 * skip register, plain TeX:              \newlength.          (line   6)
-* slanted font:                          Font styles.         (line  93)
+* slanted font:                          Font styles.         (line  94)
 * slides class:                          Document classes.    (line  11)
 * sloppypar:                             sloppypar.           (line   6)
 * sloppypar environment:                 sloppypar.           (line   6)
-* small caps font:                       Font styles.         (line  87)
+* small caps font:                       Font styles.         (line  88)
 * sort:                                  \newglossaryentry.   (line  55)
+* source files, making self-contained:   filecontents.        (line  42)
 * sp:                                    Units of length.     (line  36)
-* space, hard:                           ~.                   (line   6)
+* space between lines:                   \baselineskip & \baselinestretch.
+                                                              (line   6)
 * space, inserting horizontal:           \hss.                (line   6)
 * space, inserting vertical:             \addvspace.          (line   6)
 * space, negative thin:                  \thinspace & \negthinspace.
@@ -17530,6 +19832,7 @@
 * spaces:                                Spaces.              (line   6)
 * spaces, ignore around commands:        \ignorespaces & \ignorespacesafterend.
                                                               (line   6)
+* spaces, ignore around commands <1>:    xspace package.      (line   6)
 * spacing within math mode:              Spacing in math mode.
                                                               (line   6)
 * spacing, inter-sentence:               \frenchspacing.      (line   6)
@@ -17536,7 +19839,8 @@
 * spacing, inter-sentence <1>:           \normalsfcodes.      (line   6)
 * spacing, math mode:                    \phantom & \vphantom & \hphantom.
                                                               (line   6)
-* Spanish ordinals, feminine and masculine: Text symbols.     (line 144)
+* spacing, math mode <1>:                \mathstrut.          (line   6)
+* Spanish ordinals, feminine and masculine: Text symbols.     (line 167)
 * special characters:                    Reserved characters. (line   6)
 * special characters <1>:                Additional Latin letters.
                                                               (line   6)
@@ -17547,7 +19851,7 @@
 * stack math:                            \stackrel.           (line   6)
 * star-variants, commands:               \@ifstar.            (line   6)
 * starred form, defining new commands:   \newcommand & \renewcommand.
-                                                              (line  25)
+                                                              (line  27)
 * starting a new page:                   \newpage.            (line   6)
 * starting a new page and clearing floats: \clearpage & \cleardoublepage.
                                                               (line   6)
@@ -17554,10 +19858,10 @@
 * starting and ending:                   Starting and ending. (line   6)
 * starting on a right-hand page:         \clearpage & \cleardoublepage.
                                                               (line   6)
-* sterling symbol:                       Text symbols.        (line  49)
-* straight double quote, base:           Text symbols.        (line 169)
-* straight quote, base:                  Text symbols.        (line 169)
-* straight single quote:                 Text symbols.        (line 165)
+* sterling symbol:                       Text symbols.        (line  51)
+* straight double quote, base:           Text symbols.        (line 192)
+* straight quote, base:                  Text symbols.        (line 192)
+* straight single quote:                 Text symbols.        (line 188)
 * stretch, infinite horizontal:          \hfill.              (line   6)
 * stretch, infinite vertical:            \vfill.              (line   6)
 * stretch, omitting vertical:            \raggedbottom.       (line   6)
@@ -17571,19 +19875,28 @@
                                                               (line   6)
 * subsection:                            Sectioning.          (line   6)
 * subsection <1>:                        \subsection.         (line   6)
-* subsubsection:                         \subsubsection & \paragraph & \subparagraph.
+* subsubsection:                         Sectioning.          (line   6)
+* subsubsection <1>:                     \subsubsection & \paragraph & \subparagraph.
                                                               (line   6)
+* suffix package:                        \@ifstar.            (line  66)
 * superscript:                           Subscripts & superscripts.
                                                               (line   6)
 * symbol:                                \newglossaryentry.   (line  59)
-* symbols package:                       Math symbols.        (line   6)
+* symbol, defining:                      \DeclareTextSymbol.  (line   6)
+* symbols, arrows:                       Arrows.              (line   6)
 * symbols, boldface:                     \boldmath & \unboldmath.
                                                               (line   6)
 * symbols, math:                         Math symbols.        (line   6)
 * symbols, text:                         Text symbols.        (line   6)
+* system commands, run from LaTeX:       \write18.            (line   6)
+* system information:                    \write18.            (line  65)
+* T1:                                    fontenc package.     (line   6)
 * tab stops, using:                      tabbing.             (line   6)
 * tabbing environment:                   tabbing.             (line   6)
 * table environment:                     table.               (line   6)
+* table of contents:                     \contentsline.       (line   6)
+* table of contents entry, create dotted line: \@dottedtocline.
+                                                              (line   6)
 * table of contents entry, manually adding: \addcontentsline. (line   6)
 * table of contents file:                Output files.        (line  43)
 * table of contents, avoiding footnotes: Footnotes in section headings.
@@ -17590,19 +19903,21 @@
                                                               (line   6)
 * table of contents, creating:           Table of contents etc..
                                                               (line   6)
-* table of contents, sectioning numbers printed: Sectioning.  (line  74)
+* table of contents, sectioning numbers printed: Sectioning.  (line  81)
 * tables, creating:                      table.               (line   6)
 * tabular environment:                   tabular.             (line   6)
-* template, article:                     article template.    (line   6)
+* template (simple), article:            article template.    (line   6)
 * template, beamer:                      beamer template.     (line   6)
 * template, book:                        book template.       (line   6)
 * template, book <1>:                    Larger book template.
                                                               (line   6)
-* template, TUGboat:                     tugboat template.    (line   6)
 * templates, document:                   Document templates.  (line   6)
-* terminal input/output:                 Terminal input/output.
-                                                              (line   6)
-* TeX logo:                              Text symbols.        (line  63)
+* terminal input/output:                 Input/output.        (line   6)
+* terminal, writing to:                  \write.              (line  30)
+* TeX format (.fmt) files:               TeX engines.         (line   6)
+* TeX logo:                              Text symbols.        (line  65)
+* texosquery package:                    \write18.            (line  65)
+* texput, jobname default:               Jobname.             (line  25)
 * text symbols:                          Text symbols.        (line   6)
 * text, resizing:                        \scalebox.           (line   6)
 * text, resizing <1>:                    \resizebox.          (line   6)
@@ -17609,9 +19924,8 @@
 * text, scaling:                         \scalebox.           (line   6)
 * text, scaling <1>:                     \resizebox.          (line   6)
 * textcase package:                      Upper and lower case.
-                                                              (line  42)
-* textcomp package:                      Font styles.         (line 132)
-* textcomp package <1>:                  Text symbols.        (line   6)
+                                                              (line  43)
+* textcomp package:                      Text symbols.        (line   6)
 * thanks, for titlepage:                 \maketitle.          (line  57)
 * thebibliography environment:           thebibliography.     (line   6)
 * theorem environment:                   theorem.             (line   6)
@@ -17619,24 +19933,25 @@
 * theorems, defining:                    \newtheorem.         (line   6)
 * theorems, typesetting:                 theorem.             (line   6)
 * thin space:                            Spacing in math mode.
-                                                              (line  32)
+                                                              (line  44)
 * thin space <1>:                        \thinspace & \negthinspace.
                                                               (line   6)
 * thin space, negative:                  Spacing in math mode.
-                                                              (line  46)
+                                                              (line  58)
 * thin space, negative <1>:              \thinspace & \negthinspace.
                                                               (line   6)
 * thorn, Icelandic letter:               Additional Latin letters.
                                                               (line  56)
-* three-quarters em-dash:                Text symbols.        (line 178)
+* three-quarters em-dash:                Text symbols.        (line 201)
 * tie:                                   ~.                   (line   6)
-* tie-after accent:                      Accents.             (line  81)
+* tie-after accent:                      Accents.             (line  83)
 * TikZ package:                          \line.               (line  36)
 * TikZ package <1>:                      \strut.              (line  62)
-* TikZ package <2>:                      \mbox & \makebox.    (line  72)
-* tilde accent:                          Accents.             (line  46)
+* TikZ package <2>:                      \mbox & \makebox.    (line  73)
+* tikz-cd package:                       Arrows.              (line  41)
+* tilde accent:                          Accents.             (line  48)
 * tilde accent, math:                    Math accents.        (line  38)
-* tilde, ASCII, in text:                 Text symbols.        (line  69)
+* tilde, ASCII, in text:                 Text symbols.        (line  71)
 * title page, separate or run-in:        Document class options.
                                                               (line  71)
 * title pages, creating:                 titlepage.           (line   6)
@@ -17645,18 +19960,19 @@
 * titlepage option:                      Document class options.
                                                               (line  49)
 * titles, making:                        \maketitle.          (line   6)
-* titlesec package:                      \part.               (line  54)
-* titlesec package <1>:                  \chapter.            (line  79)
-* titlesec package <2>:                  \section.            (line  64)
-* titlesec package <3>:                  \subsection.         (line  52)
-* titlesec package <4>:                  \subsubsection & \paragraph & \subparagraph.
+* titlesec package:                      Sectioning.          (line  60)
+* titlesec package <1>:                  \part.               (line  54)
+* titlesec package <2>:                  \chapter.            (line  79)
+* titlesec package <3>:                  \section.            (line  64)
+* titlesec package <4>:                  \subsection.         (line  52)
+* titlesec package <5>:                  \subsubsection & \paragraph & \subparagraph.
                                                               (line  65)
 * tocbibbind package:                    Table of contents etc..
-                                                              (line  91)
-* tocdepth:                              Sectioning.          (line  73)
-* tocdepth counter:                      Sectioning.          (line  74)
+                                                              (line 111)
+* tocdepth:                              Sectioning.          (line  80)
+* tocdepth counter:                      Sectioning.          (line  81)
 * tocloft package:                       Table of contents etc..
-                                                              (line  91)
+                                                              (line 111)
 * today's date:                          \today.              (line   6)
 * tombstone:                             \rule.               (line  13)
 * topmargin:                             Page layout parameters.
@@ -17665,12 +19981,12 @@
 * topnumber <1>:                         Floats.              (line 139)
 * totalnumber:                           Floats.              (line 142)
 * totalnumber <1>:                       Floats.              (line 143)
-* trademark symbol:                      Text symbols.        (line 181)
+* trademark symbol:                      Text symbols.        (line 204)
 * transcript file:                       Output files.        (line  28)
 * TrueType fonts:                        TeX engines.         (line   6)
-* TUGboat template:                      tugboat template.    (line   6)
+* TS1 encoding:                          Text symbols.        (line   6)
 * two-column output:                     \twocolumn.          (line   6)
-* two-thirds em-dash:                    Text symbols.        (line 184)
+* two-thirds em-dash:                    Text symbols.        (line 207)
 * twocolumn option:                      Document class options.
                                                               (line  78)
 * twoside option:                        Document class options.
@@ -17679,34 +19995,40 @@
 * typed text, simulating:                verbatim.            (line   6)
 * typeface sizes:                        Font sizes.          (line   6)
 * typefaces:                             Fonts.               (line   6)
-* typewriter font:                       Font styles.         (line  96)
+* typewriter font:                       Font styles.         (line  97)
 * typewriter labels in lists:            description.         (line  36)
 * ulem package:                          Over- and Underlining.
                                                               (line  15)
-* umlaut accent:                         Accents.             (line  23)
-* underbar:                              Accents.             (line  51)
+* umlaut accent:                         Accents.             (line  25)
+* unbreakable space:                     ~.                   (line   6)
+* underbar:                              Accents.             (line  53)
 * underlining:                           Over- and Underlining.
                                                               (line   6)
-* underscore, in text:                   Text symbols.        (line 187)
+* underscore, in text:                   Text symbols.        (line 210)
+* Unicode:                               inputenc package.    (line  15)
 * Unicode input, native:                 TeX engines.         (line   6)
+* unicode-math package:                  Greek letters.       (line  37)
 * units, of length:                      Units of length.     (line   6)
-* unofficial nature of this manual:      About this document. (line  25)
+* unofficial nature of this manual:      About this document. (line  20)
 * unordered lists:                       itemize.             (line   6)
+* uplatex:                               TeX engines.         (line  55)
+* uplatex-dev:                           TeX engines.         (line  68)
 * uppercase:                             Upper and lower case.
                                                               (line   6)
-* url package:                           \verb.               (line  38)
+* url package:                           \verb.               (line  39)
 * using BibTeX:                          Using BibTeX.        (line   6)
-* usrguide official documentation:       About this document. (line  44)
-* UTF-8:                                 TeX engines.         (line   6)
+* UTF-8, default LaTeX input encoding:   Overview.            (line  12)
+* UTF-8, engine support for:             TeX engines.         (line   6)
+* UTF-8, font support for:               fontenc package.     (line   6)
 * variables, a list of:                  Counters.            (line   6)
 * vector symbol, math:                   Math accents.        (line  41)
 * verbatim environment:                  verbatim.            (line   6)
 * verbatim text:                         verbatim.            (line   6)
 * verbatim text, inline:                 \verb.               (line   6)
-* verbatimbox package:                   verbatim.            (line  37)
+* verbatimbox package:                   verbatim.            (line  42)
 * verse environment:                     verse.               (line   6)
-* vertical bar, double, in text:         Text symbols.        (line  81)
-* vertical bar, in text:                 Text symbols.        (line  78)
+* vertical bar, double, in text:         Text symbols.        (line  83)
+* vertical bar, in text:                 Text symbols.        (line  80)
 * vertical mode:                         Modes.               (line  34)
 * vertical space:                        \vspace.             (line   6)
 * vertical space <1>:                    \addvspace.          (line   6)
@@ -17714,528 +20036,580 @@
                                                               (line   6)
 * vertical spacing:                      \phantom & \vphantom & \hphantom.
                                                               (line   6)
+* vertical spacing <1>:                  \mathstrut.          (line   6)
 * vertical spacing, math mode:           \smash.              (line   6)
 * visible space:                         \verb.               (line  31)
-* visible space symbol, in text:         Text symbols.        (line 190)
+* visible space symbol, in text:         Text symbols.        (line 213)
 * weights, of fonts:                     Low-level font commands.
                                                               (line  58)
+* whatsit item:                          \write.              (line  65)
 * white space:                           Spaces.              (line   6)
 * wide hat accent, math:                 Math accents.        (line  44)
 * wide tilde accent, math:               Math accents.        (line  47)
 * widths, of fonts:                      Low-level font commands.
                                                               (line  70)
+* Wright, Joseph:                        Upper and lower case.
+                                                              (line  49)
 * writing external files:                filecontents.        (line   6)
 * writing letters:                       Letters.             (line   6)
 * x-height:                              Units of length.     (line  38)
 * xdvi command:                          Output files.        (line  10)
-* xdvipdfmx:                             TeX engines.         (line  39)
-* xelatex command:                       TeX engines.         (line  39)
-* XeTeX:                                 TeX engines.         (line  39)
-* xindy:                                 makeindex.           (line 153)
+* xdvipdfmx:                             TeX engines.         (line  42)
+* xelatex:                               TeX engines.         (line  41)
+* xelatex-dev:                           TeX engines.         (line  69)
+* XeTeX:                                 TeX engines.         (line  42)
+* xindex program:                        makeindex.           (line 160)
 * xindy program:                         makeindex.           (line 153)
+* xparse package:                        LaTeX command syntax.
+                                                              (line  37)
+* xparse package <1>:                    \@ifstar.            (line  66)
+* xr package:                            xr package.          (line   6)
+* xr-hyper package:                      xr package.          (line   6)
+* xstring package:                       Jobname.             (line  53)
 
 
 
 Tag Table:
-Node: Top1837
-Node: About this document3658
-Node: Overview5906
-Node: Starting and ending7529
-Ref: Starting & ending7664
-Node: Output files8841
-Ref: output files dvi9120
-Ref: output files pdf9631
-Ref: output files log9954
-Ref: output files aux10151
-Node: TeX engines11120
-Ref: tex engines latex11469
-Ref: tex engines lualatex12301
-Ref: tex engines xelatex12786
-Node: LaTeX command syntax13590
-Node: Environment15516
-Node: CTAN16722
-Node: Document classes18123
-Ref: document classes article18563
-Ref: document classes book18651
-Ref: document classes letter18836
-Ref: document classes report18912
-Ref: document classes slides19064
-Node: Document class options19446
-Node: Additional packages22528
-Node: Class and package construction23159
-Node: Class and package structure24609
-Node: Class and package commands26903
-Node: Fonts44517
-Ref: Typefaces44620
-Node: Font styles44948
-Node: Font sizes49213
-Node: Low-level font commands50832
-Ref: low level font commands fontencoding51116
-Ref: low level font commands fontfamily51672
-Ref: low level font commands fontseries52437
-Ref: low level font commands fontshape53589
-Ref: low level font commands fontsize53886
-Ref: low level font commands baselinestretch54411
-Ref: low level font commands linespread55120
-Ref: low level font commands selectfont55370
-Ref: low level font commands usefont55696
-Node: Layout55939
-Node: \onecolumn56437
-Node: \twocolumn56796
-Ref: twocolumn columnsep57419
-Ref: twocolumn columnseprule57668
-Ref: twocolumn columnwidth57964
-Ref: twocolumn dbltopfraction58530
-Ref: twocolumn dblfloatpagefraction59473
-Ref: twocolumn dblfloatsep59720
-Ref: twocolumn dbltextfloatsep60025
-Ref: twocolumn dbltopnumber60208
-Node: \flushbottom61173
-Node: \raggedbottom62273
-Node: Page layout parameters62809
-Ref: page layout parameters columnsep63012
-Ref: page layout parameters columnseprule63012
-Ref: page layout parameters columnwidth63012
-Ref: page layout parameters headheight63266
-Ref: page layout parameters headsep63433
-Ref: page layout parameters footskip63746
-Ref: page layout parameters linewidth64080
-Ref: page layout parameters marginparpush64433
-Ref: page layout parameters marginsep64433
-Ref: page layout parameters marginparwidth64433
-Ref: page layout parameters oddsidemargin65473
-Ref: page layout parameters evensidemargin65473
-Ref: page layout parameters paperheight66010
-Ref: page layout parameters paperwidth66236
-Ref: page layout parameters textheight66460
-Ref: page layout parameters textwidth66849
-Ref: page layout parameters hsize67778
-Ref: page layout parameters topmargin67984
-Ref: page layout parameters topskip68288
-Node: Floats68504
-Ref: floats bottomfraction72872
-Ref: floats floatpagefraction72999
-Ref: floats textfraction73110
-Ref: floats topfraction73312
-Ref: floats floatsep73564
-Ref: floats intextsep73674
-Ref: floats textfloatsep73889
-Ref: floats bottomnumber74153
-Ref: floats dbltopnumber74261
-Ref: floats topnumber74380
-Ref: floats totalnumber74484
-Node: Sectioning75013
-Ref: sectioning secnumdepth77746
-Ref: Sectioning/secnumdepth77746
-Ref: sectioning tocdepth78347
-Ref: Sectioning/tocdepth78347
-Node: \part79392
-Node: \chapter81568
-Node: \section85342
-Node: \subsection88609
-Node: \subsubsection & \paragraph & \subparagraph91323
-Node: \appendix93980
-Node: \frontmatter & \mainmatter & \backmatter95270
-Node: \@startsection96611
-Ref: startsection name97988
-Ref: \@startsection/name97988
-Ref: startsection level98442
-Ref: \@startsection/level98442
-Ref: startsection indent99322
-Ref: \@startsection/indent99322
-Ref: startsection beforeskip99585
-Ref: \@startsection/beforeskip99585
-Ref: startsection afterskip101106
-Ref: \@startsection/afterskip101106
-Ref: startsection style102417
-Ref: \@startsection/style102417
-Node: Cross references106123
-Node: \label108216
-Node: \pageref110036
-Node: \ref110826
-Node: Environments111802
-Node: abstract113804
-Node: array115393
-Node: center118285
-Node: \centering120037
-Node: description121534
-Node: displaymath123749
-Node: document125536
-Node: \AtBeginDocument125966
-Node: \AtEndDocument126590
-Node: enumerate127234
-Ref: enumerate enumi129097
-Ref: enumerate enumii129097
-Ref: enumerate enumiii129097
-Ref: enumerate enumiv129097
-Ref: enumerate labelenumi129495
-Ref: enumerate labelenumii129495
-Ref: enumerate labelenumiii129495
-Ref: enumerate labelenumiv129495
-Node: eqnarray130034
-Node: equation132029
-Node: figure132697
-Node: filecontents134851
-Node: flushleft136598
-Node: \raggedright137615
-Node: flushright138813
-Node: \raggedleft139549
-Node: itemize140339
-Ref: itemize labelitemi141561
-Ref: itemize labelitemii141561
-Ref: itemize labelitemiii141561
-Ref: itemize labelitemiv141561
-Ref: itemize leftmargin142403
-Ref: itemize leftmargini142403
-Ref: itemize leftmarginii142403
-Ref: itemize leftmarginiii142403
-Ref: itemize leftmarginiv142403
-Ref: itemize leftmarginv142403
-Ref: itemize leftmarginvi142403
-Node: letter143807
-Node: list144045
-Ref: list makelabel146490
-Ref: list itemindent147874
-Ref: list itemsep148011
-Ref: list labelsep148663
-Ref: list labelwidth148826
-Ref: list leftmargin149837
-Ref: list listparindent150690
-Ref: list parsep150921
-Ref: list partopsep151424
-Ref: list rightmargin152222
-Ref: list topsep152407
-Ref: list beginparpenalty155982
-Ref: list itempenalty156081
-Ref: list endparpenalty156185
-Node: \item157057
-Node: trivlist158305
-Node: math159833
-Node: minipage160139
-Node: picture165416
-Node: \put171885
-Node: \multiput172450
-Node: \qbezier173189
-Node: \graphpaper174114
-Node: \line174908
-Node: \linethickness176872
-Node: \thinlines177321
-Node: \thicklines177732
-Node: \circle178116
-Node: \oval178656
-Node: \shortstack179632
-Node: \vector181029
-Node: \makebox (picture)181945
-Node: \framebox (picture)183127
-Node: \frame184600
-Node: \dashbox185040
-Node: quotation & quote186175
-Node: tabbing187071
-Node: table193064
-Node: tabular195157
-Ref: tabular arrayrulewidth201486
-Ref: tabular arraystrech201726
-Ref: tabular doublerulesep201947
-Ref: tabular tabcolsep202083
-Node: \multicolumn202604
-Node: \vline206480
-Node: \cline207871
-Node: \hline208581
-Node: thebibliography209263
-Node: \bibitem211673
-Node: \cite213948
-Node: \nocite215703
-Node: Using BibTeX216187
-Node: theorem218342
-Node: titlepage219264
-Node: verbatim220547
-Node: \verb222057
-Node: verse223877
-Node: Line breaking225104
-Node: \\226470
-Node: \obeycr & \restorecr228903
-Node: \newline229697
-Node: \- (hyphenation)230726
-Node: \discretionary232364
-Node: \fussy & \sloppy233252
-Node: sloppypar234035
-Node: \hyphenation235181
-Node: \linebreak & \nolinebreak235775
-Node: Page breaking236922
-Node: \clearpage & \cleardoublepage238951
-Node: \newpage240471
-Node: \enlargethispage241769
-Node: \pagebreak & \nopagebreak242725
-Node: Footnotes244391
-Node: \footnote245537
-Ref: footnote footnoterule246805
-Ref: footnote footnotesep247416
-Node: \footnotemark248482
-Node: \footnotetext250821
-Node: Footnotes in section headings251422
-Node: Footnotes in a table252255
-Node: Footnotes of footnotes255177
-Node: Definitions255881
-Node: \newcommand & \renewcommand256857
-Node: \providecommand262087
-Node: \makeatletter & \makeatother263250
-Node: \@ifstar265398
-Node: \newcounter268217
-Node: \newlength269937
-Node: \newsavebox270759
-Node: \newenvironment & \renewenvironment271738
-Node: \newtheorem277062
-Node: \newfont280634
-Node: \protect281867
-Node: \ignorespaces & \ignorespacesafterend284255
-Node: Counters286993
-Node: \alph \Alph \arabic \roman \Roman \fnsymbol288694
-Node: \usecounter291348
-Node: \value292207
-Node: \setcounter293260
-Node: \addtocounter293856
-Node: \refstepcounter294310
-Node: \stepcounter294979
-Node: \day & \month & \year295525
-Node: Lengths296336
-Node: Units of length300805
-Ref: units of length pt301008
-Ref: units of length pc301131
-Ref: units of length in301154
-Ref: units of length bp301180
-Ref: units of length cm301311
-Ref: units of length mm301333
-Ref: units of length dd301355
-Ref: units of length cc301387
-Ref: units of length sp301412
-Ref: Lengths/em301443
-Ref: Lengths/en301443
-Ref: Lengths/ex301443
-Ref: units of length em301443
-Ref: units of length en301443
-Ref: units of length ex301443
-Node: \setlength302299
-Node: \addtolength303384
-Node: \settodepth304459
-Node: \settoheight305337
-Node: \settowidth306230
-Node: Making paragraphs307098
-Node: \par308869
-Node: \indent & \noindent310816
-Node: \parindent & \parskip312350
-Node: Marginal notes313385
-Ref: marginal notes marginparpush314781
-Ref: marginal notes marginparsep314894
-Ref: marginal notes marginparwidth315026
-Node: Math formulas315375
-Node: Subscripts & superscripts319543
-Node: Math symbols321701
-Node: Blackboard bold347868
-Node: Calligraphic348640
-Node: \boldmath & \unboldmath349212
-Node: Dots350726
-Ref: ellipses cdots351148
-Ref: ellipses ddots351295
-Ref: ellipses ldots351384
-Ref: ellipses vdots351805
-Node: Math functions352991
-Node: Math accents354635
-Node: Over- and Underlining355534
-Node: Spacing in math mode357361
-Ref: spacing in math mode thickspace358293
-Ref: spacing in math mode medspace358385
-Ref: Spacing in math mode/\thinspace358481
-Ref: spacing in math mode thinspace358481
-Ref: spacing in math mode negthinspace358962
-Ref: spacing in math mode quad359160
-Ref: spacing in math mode qquad359416
-Node: \smash359694
-Node: \phantom & \vphantom & \hphantom361911
-Node: Math miscellany363948
-Node: Colon character & \colon364507
-Node: \*365200
-Node: \frac365784
-Node: \left & \right366164
-Node: \sqrt367338
-Node: \stackrel367933
-Node: Modes368206
-Ref: modes paragraph mode368656
-Ref: modes lr mode368852
-Ref: modes math mode369458
-Ref: modes vertical mode369793
-Ref: modes internal vertical mode369964
-Ref: modes inner paragraph mode370437
-Ref: modes outer paragraph mode370437
-Node: \ensuremath370851
-Node: Page styles371556
-Node: \maketitle372319
-Node: \pagenumbering375336
-Node: \pagestyle377324
-Node: \thispagestyle380826
-Node: Spaces381780
-Node: \enspace & \quad & \qquad383221
-Node: \hspace384135
-Node: \hfill385973
-Node: \hss387037
-Node: \spacefactor387731
-Node: \@391118
-Ref: \AT391218
-Node: \frenchspacing393158
-Node: \normalsfcodes393993
-Node: \(SPACE)394240
-Node: ~396004
-Node: \thinspace & \negthinspace398474
-Node: \/399417
-Node: \hrulefill & \dotfill400723
-Node: \bigskip & \medskip & \smallskip402079
-Ref: bigskip402897
-Ref: medskip403101
-Ref: smallskip403310
-Node: \bigbreak & \medbreak & \smallbreak403971
-Node: \strut404957
-Node: \vspace408152
-Node: \vfill409715
-Node: \addvspace410643
-Node: Boxes412641
-Node: \mbox & \makebox413347
-Ref: mbox makebox depth414559
-Ref: mbox makebox height414559
-Ref: mbox makebox width414559
-Ref: mbox makebox totalheight414559
-Node: \fbox & \framebox416653
-Ref: fbox framebox fboxrule417966
-Ref: fbox framebox fboxsep418156
-Node: \parbox419245
-Node: \raisebox421549
-Ref: raisebox depth422512
-Ref: raisebox height422512
-Ref: raisebox width422512
-Ref: raisebox totalheight422512
-Node: \sbox & \savebox423226
-Node: lrbox426192
-Node: \usebox427014
-Node: Color427420
-Node: Color package options428219
-Node: Color models429865
-Ref: color models cmyk430662
-Ref: color models gray431025
-Ref: color models rgb431174
-Ref: color models RGB431511
-Ref: color models named431886
-Node: Commands for color432174
-Node: Define colors432589
-Node: Colored text433314
-Node: Colored boxes435712
-Node: Colored pages437101
-Node: Graphics437794
-Node: Graphics package options439921
-Node: Graphics package configuration442674
-Node: \graphicspath443476
-Node: \DeclareGraphicsExtensions446367
-Node: \DeclareGraphicsRule448135
-Node: Commands for graphics451317
-Node: \includegraphics451822
-Ref: includegraphics width456872
-Ref: includegraphics height457403
-Ref: includegraphics totalheght457809
-Ref: includegraphics keepaspectratio458073
-Ref: includegraphics viewport459759
-Ref: includegraphics trim460129
-Ref: includegraphics clip460585
-Ref: includegraphics page460845
-Ref: includegraphics pagebox460936
-Ref: includegraphics interpolate461801
-Ref: includegraphics quiet462006
-Ref: includegraphics draft462167
-Ref: includegraphics bb462972
-Ref: includegraphics bbllx463370
-Ref: includegraphics bblly463370
-Ref: includegraphics bburx463370
-Ref: includegraphics bbury463370
-Ref: includegraphics natwidth463512
-Ref: includegraphics natheight463512
-Ref: includegraphics hiresbb463698
-Ref: includegraphics type464460
-Ref: includegraphics ext464500
-Ref: includegraphics read464603
-Ref: includegraphics command464720
-Node: \rotatebox464965
-Node: \scalebox467819
-Node: \resizebox468875
-Node: Special insertions470067
-Node: Reserved characters470869
-Node: Upper and lower case472071
-Node: Symbols by font position473986
-Node: Text symbols474606
-Node: Accents478607
-Node: Additional Latin letters480622
-Ref: Non-English characters480793
-Node: \rule481810
-Node: \today482982
-Node: Splitting the input483918
-Node: \endinput485659
-Node: \include & \includeonly486926
-Node: \input491148
-Node: Front/back matter492363
-Node: Table of contents etc.492696
-Node: \addcontentsline496432
-Node: \addtocontents499274
-Node: \nofiles500865
-Node: Indexes501597
-Node: \index503225
-Node: makeindex508334
-Ref: makeindex preamble510002
-Ref: makeindex postamble510142
-Ref: makeindex group skip510227
-Ref: makeindex letheadflag510547
-Ref: makeindex lethead prefix511008
-Ref: makeindex lethead suffix511160
-Ref: makeindex item 0511308
-Ref: makeindex item 1511388
-Ref: makeindex item 2511463
-Ref: makeindex item 01511541
-Ref: makeindex item x1511646
-Ref: makeindex item 12511851
-Ref: makeindex item x2511959
-Ref: makeindex delim 0512119
-Ref: makeindex delim 1512249
-Ref: makeindex delim 2512379
-Ref: makeindex delim n512505
-Ref: makeindex delim r512640
-Ref: makeindex line max512748
-Ref: makeindex indent space512883
-Ref: makeindex indent length512978
-Ref: makeindex page precedence513163
-Node: \printindex514037
-Node: Glossaries514509
-Node: \newglossaryentry516476
-Node: \gls517945
-Node: Letters518739
-Node: \address522366
-Node: \cc523177
-Node: \closing523619
-Node: \encl523933
-Node: \location524347
-Node: \makelabels524611
-Node: \name526928
-Node: \opening527169
-Node: \ps527450
-Node: \signature527739
-Node: \telephone528967
-Node: Terminal input/output529332
-Node: \typein529597
-Node: \typeout530846
-Node: Command line531890
-Node: Command line options533948
-Node: Command line input537507
-Node: Recovering from errors539370
-Node: Document templates540716
-Node: beamer template541161
-Node: article template541815
-Node: book template542242
-Node: Larger book template542723
-Node: tugboat template544209
-Node: Index546580
-Ref: Command Index546666
+Node: Top1852
+Node: About this document3656
+Node: Overview5394
+Node: Starting and ending7174
+Ref: Starting & ending7309
+Node: Output files8486
+Ref: output files dvi8765
+Ref: output files pdf9277
+Ref: output files log9602
+Ref: output files aux9799
+Node: TeX engines10768
+Ref: tex engines latex11304
+Ref: tex engines lualatex12139
+Ref: tex engines xelatex12600
+Node: LaTeX command syntax14560
+Node: Environment16487
+Node: CTAN17714
+Node: Document classes19170
+Ref: document classes article19610
+Ref: document classes book19698
+Ref: document classes letter19883
+Ref: document classes report19959
+Ref: document classes slides20111
+Node: Document class options20564
+Node: Additional packages23646
+Node: Class and package construction24277
+Node: Class and package structure25727
+Node: Class and package commands28022
+Node: Fonts45627
+Ref: Typefaces45730
+Node: fontenc package47692
+Node: \DeclareFontEncoding51940
+Node: \DeclareTextAccent53358
+Node: \DeclareTextAccentDefault54215
+Node: \DeclareTextCommand & \ProvideTextCommand55286
+Node: \DeclareTextCommandDefault & \ProvideTextCommandDefault57520
+Node: \DeclareTextComposite58827
+Node: \DeclareTextCompositeCommand59914
+Node: \DeclareTextSymbol60589
+Node: \DeclareTextSymbolDefault61694
+Node: \LastDeclaredEncoding62648
+Node: \UseTextSymbol & \UseTextAccent63272
+Node: Font styles64480
+Node: Font sizes68710
+Node: Low-level font commands70935
+Ref: low level font commands fontencoding71219
+Ref: low level font commands fontfamily71775
+Ref: low level font commands fontseries72538
+Ref: low level font commands fontshape73690
+Ref: low level font commands fontsize73987
+Ref: low level font commands linespread74564
+Ref: low level font commands selectfont74814
+Ref: low level font commands usefont75140
+Node: Layout75383
+Node: \onecolumn75949
+Node: \twocolumn76308
+Ref: twocolumn columnsep76931
+Ref: twocolumn columnseprule77175
+Ref: twocolumn columnwidth77475
+Ref: twocolumn dbltopfraction78058
+Ref: twocolumn dblfloatpagefraction79024
+Ref: twocolumn dblfloatsep79262
+Ref: twocolumn dbltextfloatsep79571
+Ref: twocolumn dbltopnumber79751
+Node: \flushbottom80700
+Node: \raggedbottom81800
+Node: Page layout parameters82336
+Ref: page layout parameters columnsep82565
+Ref: page layout parameters columnseprule82565
+Ref: page layout parameters columnwidth82565
+Ref: page layout parameters headheight82819
+Ref: page layout parameters headsep82986
+Ref: page layout parameters footskip83298
+Ref: page layout parameters linewidth83632
+Ref: page layout parameters marginparpush83985
+Ref: page layout parameters marginsep83985
+Ref: page layout parameters marginparwidth83985
+Ref: page layout parameters oddsidemargin85025
+Ref: page layout parameters evensidemargin85025
+Ref: page layout parameters paperheight85570
+Ref: page layout parameters paperwidth85796
+Ref: page layout parameters textheight86020
+Ref: page layout parameters textwidth86409
+Ref: page layout parameters hsize87347
+Ref: page layout parameters topmargin87544
+Ref: page layout parameters topskip87848
+Node: \baselineskip & \baselinestretch88064
+Node: Floats93057
+Ref: floats bottomfraction97395
+Ref: floats floatpagefraction97522
+Ref: floats textfraction97633
+Ref: floats topfraction97835
+Ref: floats floatsep98087
+Ref: floats intextsep98197
+Ref: floats textfloatsep98412
+Ref: floats bottomnumber98676
+Ref: floats dbltopnumber98784
+Ref: floats topnumber98903
+Ref: floats totalnumber99007
+Node: Sectioning99549
+Ref: sectioning secnumdepth102658
+Ref: Sectioning/secnumdepth102658
+Ref: sectioning tocdepth103284
+Ref: Sectioning/tocdepth103284
+Node: \part104324
+Node: \chapter106501
+Node: \section110274
+Node: \subsection113541
+Node: \subsubsection & \paragraph & \subparagraph116255
+Node: \appendix118912
+Node: \frontmatter & \mainmatter & \backmatter120205
+Node: \@startsection121614
+Ref: startsection name123103
+Ref: \@startsection/name123103
+Ref: startsection level123557
+Ref: \@startsection/level123557
+Ref: startsection indent124438
+Ref: \@startsection/indent124438
+Ref: startsection beforeskip124701
+Ref: \@startsection/beforeskip124701
+Ref: startsection afterskip126222
+Ref: \@startsection/afterskip126222
+Ref: startsection style127533
+Ref: \@startsection/style127533
+Node: Cross references131234
+Node: \label133383
+Node: \pageref135203
+Node: \ref135993
+Node: xr package136988
+Node: Environments138822
+Node: abstract140824
+Node: array142413
+Node: center145305
+Node: \centering147058
+Node: description148555
+Node: displaymath150772
+Node: document152468
+Node: \AtBeginDocument152898
+Node: \AtEndDocument153522
+Node: enumerate154166
+Ref: enumerate enumi156029
+Ref: enumerate enumii156029
+Ref: enumerate enumiii156029
+Ref: enumerate enumiv156029
+Ref: enumerate labelenumi156427
+Ref: enumerate labelenumii156427
+Ref: enumerate labelenumiii156427
+Ref: enumerate labelenumiv156427
+Node: eqnarray156966
+Node: equation158962
+Node: figure159630
+Node: filecontents161784
+Node: flushleft163693
+Node: \raggedright164720
+Node: flushright165918
+Node: \raggedleft166742
+Node: itemize167613
+Ref: itemize labelitemi169161
+Ref: itemize labelitemii169161
+Ref: itemize labelitemiii169161
+Ref: itemize labelitemiv169161
+Ref: itemize leftmargin169820
+Ref: itemize leftmargini169820
+Ref: itemize leftmarginii169820
+Ref: itemize leftmarginiii169820
+Ref: itemize leftmarginiv169820
+Ref: itemize leftmarginv169820
+Ref: itemize leftmarginvi169820
+Node: letter171302
+Node: list171540
+Ref: list makelabel173987
+Ref: list itemindent175372
+Ref: list itemsep175509
+Ref: list labelsep176162
+Ref: list labelwidth176325
+Ref: list leftmargin177336
+Ref: list listparindent178189
+Ref: list parsep178420
+Ref: list partopsep178888
+Ref: list rightmargin179686
+Ref: list topsep179871
+Ref: list beginparpenalty183446
+Ref: list itempenalty183545
+Ref: list endparpenalty183649
+Node: \item184520
+Node: trivlist185766
+Node: math187294
+Node: minipage187600
+Node: picture193165
+Node: \put199395
+Node: \multiput199960
+Node: \qbezier200699
+Node: \graphpaper202172
+Node: \line202966
+Node: \linethickness204940
+Node: \thinlines205389
+Node: \thicklines205800
+Node: \circle206184
+Node: \oval206726
+Node: \shortstack207702
+Node: \vector209099
+Node: \makebox (picture)210013
+Node: \framebox (picture)211195
+Node: \frame212668
+Node: \dashbox213108
+Node: quotation & quote214243
+Node: tabbing215139
+Node: table221042
+Node: tabular223106
+Ref: tabular arrayrulewidth229443
+Ref: tabular arraystrech229683
+Ref: tabular doublerulesep229904
+Ref: tabular tabcolsep230040
+Node: \multicolumn230561
+Node: \vline234437
+Node: \cline235828
+Node: \hline236538
+Node: thebibliography237220
+Node: \bibitem239703
+Node: \cite242005
+Node: \nocite243873
+Node: Using BibTeX244381
+Node: theorem246552
+Node: titlepage247474
+Node: verbatim248757
+Node: \verb250570
+Node: verse252663
+Node: Line breaking253890
+Node: \\255256
+Node: \obeycr & \restorecr257689
+Node: \newline258500
+Node: \- (hyphenation)259529
+Node: \discretionary261167
+Node: \fussy & \sloppy262055
+Node: sloppypar262838
+Node: \hyphenation263984
+Node: \linebreak & \nolinebreak264578
+Node: Page breaking265726
+Node: \clearpage & \cleardoublepage267756
+Node: \newpage269276
+Node: \enlargethispage270574
+Node: \pagebreak & \nopagebreak271530
+Node: Footnotes273197
+Node: \footnote274343
+Ref: footnote footnoterule275611
+Ref: footnote footnotesep276222
+Node: \footnotemark277288
+Node: \footnotetext279627
+Node: Footnotes in section headings280229
+Node: Footnotes in a table281062
+Node: Footnotes of footnotes283984
+Node: Definitions284688
+Node: \newcommand & \renewcommand285735
+Node: \providecommand291036
+Node: \makeatletter & \makeatother292201
+Node: \@ifstar294303
+Node: \newcounter297788
+Node: \newlength299508
+Node: \newsavebox300330
+Node: \newenvironment & \renewenvironment301309
+Node: \newtheorem306633
+Node: \newfont310205
+Node: \protect311438
+Node: \ignorespaces & \ignorespacesafterend313826
+Node: xspace package316507
+Node: Counters318572
+Node: \alph \Alph \arabic \roman \Roman \fnsymbol320273
+Node: \usecounter322898
+Node: \value323757
+Node: \setcounter324810
+Node: \addtocounter325406
+Node: \refstepcounter325860
+Node: \stepcounter326529
+Node: \day & \month & \year327082
+Node: Lengths327893
+Node: Units of length332481
+Ref: units of length pt332684
+Ref: units of length pc332784
+Ref: units of length in332807
+Ref: units of length bp332833
+Ref: units of length cm332964
+Ref: units of length mm332986
+Ref: units of length dd333008
+Ref: units of length cc333040
+Ref: units of length sp333065
+Ref: Lengths/em333096
+Ref: Lengths/en333096
+Ref: Lengths/ex333096
+Ref: units of length em333096
+Ref: units of length en333096
+Ref: units of length ex333096
+Node: \setlength333952
+Node: \addtolength335037
+Node: \settodepth336112
+Node: \settoheight336990
+Node: \settowidth337883
+Node: \stretch338768
+Node: Expressions339970
+Node: Making paragraphs344752
+Node: \par346523
+Node: \indent & \noindent348470
+Node: \parindent & \parskip350005
+Node: Marginal notes351312
+Ref: marginal notes marginparpush352708
+Ref: marginal notes marginparsep352882
+Ref: marginal notes marginparwidth353014
+Node: Math formulas353363
+Node: Subscripts & superscripts357531
+Node: Math symbols359692
+Node: Arrows383463
+Node: \boldmath & \unboldmath384651
+Node: Blackboard bold386170
+Node: Calligraphic386972
+Node: Delimiters387503
+Node: \left & \right389691
+Node: \bigl & \bigr etc.393699
+Node: Dots396452
+Ref: ellipses cdots396883
+Ref: ellipses ddots397028
+Ref: ellipses ldots397109
+Ref: ellipses vdots397526
+Node: Greek letters398710
+Node: Math functions400389
+Node: Math accents402033
+Node: Over- and Underlining402932
+Node: Spacing in math mode404759
+Ref: spacing in math mode thickspace405694
+Ref: spacing in math mode medspace406119
+Ref: Spacing in math mode/\thinspace406546
+Ref: spacing in math mode thinspace406546
+Ref: spacing in math mode negthinspace407027
+Ref: spacing in math mode quad407354
+Ref: spacing in math mode qquad407610
+Node: \smash407948
+Node: \phantom & \vphantom & \hphantom410165
+Node: \mathstrut412712
+Node: Math miscellany413674
+Node: Colon character & \colon414180
+Node: \*414873
+Node: \frac415453
+Node: \sqrt415824
+Node: \stackrel416410
+Node: Modes416683
+Ref: modes paragraph mode417133
+Ref: modes lr mode417329
+Ref: modes math mode417935
+Ref: modes vertical mode418270
+Ref: modes internal vertical mode418441
+Ref: modes inner paragraph mode418914
+Ref: modes outer paragraph mode418914
+Node: \ensuremath419328
+Node: Page styles420033
+Node: \maketitle420796
+Node: \pagenumbering423814
+Node: \pagestyle425802
+Node: \thispagestyle429304
+Node: Spaces430258
+Node: \enspace & \quad & \qquad431699
+Node: \hspace432614
+Node: \hfill434452
+Node: \hss435516
+Node: \spacefactor436210
+Node: \@439597
+Ref: \AT439697
+Node: \frenchspacing441637
+Node: \normalsfcodes442472
+Node: \(SPACE)442719
+Node: ~444509
+Node: \thinspace & \negthinspace447086
+Node: \/448257
+Node: \hrulefill & \dotfill450213
+Node: \bigskip & \medskip & \smallskip451569
+Ref: bigskip452387
+Ref: medskip452591
+Ref: smallskip452800
+Node: \bigbreak & \medbreak & \smallbreak453461
+Node: \strut454447
+Node: \vspace457642
+Node: \vfill459206
+Node: \addvspace460134
+Node: Boxes462130
+Node: \mbox & \makebox462836
+Ref: mbox makebox depth464104
+Ref: mbox makebox height464104
+Ref: mbox makebox width464104
+Ref: mbox makebox totalheight464104
+Node: \fbox & \framebox466199
+Ref: fbox framebox fboxrule467513
+Ref: fbox framebox fboxsep467703
+Node: \parbox468793
+Node: \raisebox471099
+Ref: raisebox depth472072
+Ref: raisebox height472072
+Ref: raisebox width472072
+Ref: raisebox totalheight472072
+Node: \sbox & \savebox472773
+Node: lrbox475835
+Node: \usebox476721
+Node: Color477160
+Node: Color package options477959
+Node: Color models479605
+Ref: color models cmyk480402
+Ref: color models gray480765
+Ref: color models rgb480914
+Ref: color models RGB481251
+Ref: color models named481626
+Node: Commands for color481914
+Node: Define colors482329
+Node: Colored text483054
+Node: Colored boxes485451
+Node: Colored pages486840
+Node: Graphics487533
+Node: Graphics package options489660
+Node: Graphics package configuration492413
+Node: \graphicspath493215
+Node: \DeclareGraphicsExtensions496173
+Node: \DeclareGraphicsRule497991
+Node: Commands for graphics501172
+Node: \includegraphics501677
+Ref: includegraphics width506740
+Ref: includegraphics height507273
+Ref: includegraphics totalheight507679
+Ref: includegraphics keepaspectratio507943
+Ref: includegraphics viewport509629
+Ref: includegraphics trim510024
+Ref: includegraphics clip510480
+Ref: includegraphics page510740
+Ref: includegraphics pagebox510831
+Ref: includegraphics interpolate511696
+Ref: includegraphics quiet511901
+Ref: includegraphics draft512062
+Ref: includegraphics bb512867
+Ref: includegraphics bbllx513265
+Ref: includegraphics bblly513265
+Ref: includegraphics bburx513265
+Ref: includegraphics bbury513265
+Ref: includegraphics natwidth513407
+Ref: includegraphics natheight513407
+Ref: includegraphics hiresbb513593
+Ref: includegraphics type514355
+Ref: includegraphics ext514395
+Ref: includegraphics read514498
+Ref: includegraphics command514615
+Node: \rotatebox514861
+Node: \scalebox517715
+Node: \resizebox518771
+Node: Special insertions519963
+Node: Reserved characters520831
+Node: Upper and lower case522091
+Node: Symbols by font position524477
+Node: Text symbols525156
+Node: Accents530140
+Node: \accent532293
+Node: Additional Latin letters534055
+Ref: Non-English characters534237
+Node: inputenc package535256
+Node: \rule537806
+Node: \today538994
+Node: Splitting the input539930
+Node: \endinput541672
+Node: \include & \includeonly542975
+Node: \input547272
+Node: Front/back matter548487
+Node: Table of contents etc.548820
+Node: \@dottedtocline554525
+Node: \addcontentsline556071
+Node: \addtocontents558949
+Node: \contentsline561166
+Node: \nofiles562859
+Node: \numberline563610
+Node: Indexes564725
+Node: \index566399
+Node: makeindex571504
+Ref: makeindex preamble573172
+Ref: makeindex postamble573312
+Ref: makeindex group skip573397
+Ref: makeindex letheadflag573730
+Ref: makeindex lethead prefix574191
+Ref: makeindex lethead suffix574343
+Ref: makeindex item 0574491
+Ref: makeindex item 1574571
+Ref: makeindex item 2574646
+Ref: makeindex item 01574724
+Ref: makeindex item x1574829
+Ref: makeindex item 12575034
+Ref: makeindex item x2575142
+Ref: makeindex delim 0575302
+Ref: makeindex delim 1575432
+Ref: makeindex delim 2575562
+Ref: makeindex delim n575688
+Ref: makeindex delim r575823
+Ref: makeindex line max575931
+Ref: makeindex indent space576066
+Ref: makeindex indent length576161
+Ref: makeindex page precedence576346
+Node: \printindex577381
+Node: Glossaries577854
+Node: \newglossaryentry579821
+Node: \gls581288
+Node: Letters582082
+Node: \address585700
+Node: \cc586511
+Node: \closing586953
+Node: \encl587267
+Node: \location587681
+Node: \makelabels587945
+Node: \name590262
+Node: \opening590503
+Node: \ps590784
+Node: \signature591073
+Node: \telephone592301
+Node: Input/output592666
+Node: \openin & \openout593396
+Node: \read596139
+Node: \typein597326
+Node: \typeout598586
+Node: \write599636
+Node: \write and security604363
+Node: \message605307
+Node: \wlog607136
+Node: \write18607637
+Node: Command line interface611128
+Ref: Command line611292
+Node: Command line options613445
+Ref: interaction modes614448
+Ref: output directory615402
+Node: Command line input617101
+Node: Jobname619132
+Node: Recovering from errors622274
+Node: Document templates623702
+Node: beamer template624136
+Node: article template624778
+Node: book template625241
+Node: Larger book template625720
+Node: Index627262
+Ref: Command Index627348
 
 End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog	2021-07-24 20:46:11 UTC (rev 60037)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog	2021-07-24 20:46:37 UTC (rev 60038)
@@ -1,3 +1,1206 @@
+2021-07-24  Jim Hefferon  <jhefferon at smcvt.edu>
+        New release for CTAN, version of July 2021.
+
+2021-07-21  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (intro): wording.
+	(Indexes): mention CTAN topic.
+	(makeindex): mention xindex.
+	* GNUmakefile (easyurls): use name testdist instead of test.
+	* src/easyurls.py (INDEX_FILE_NOTE): intro wording.
+
+2021-07-21  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi: Added comment at end of top page header,
+	to easily split the page to insert material in easyurls.py.
+
+	* easyurls.py: Edit note added to top page header discussing
+	mor memorable urls.
+
+	* Makefile: edit dist target to make .zip of tree of html files,
+	add easyurls target.
+
+2021-07-05  Karl Berry  <karl at freefriends.org>
+
+	* CTAN,
+	* Makefile: release procedure update.
+	* TODO: it was empty, so remove.
+
+2021-07-04  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\@dottedtocline): Tiny tweaks.
+
+2021-07-04  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (\stretch): Added section.
+
+2021-06-27  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (\@dottedtocline): Add section.  Move some
+	material up to Table of Contents to avoid duplication.
+
+2021-06-21  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Jobname): updates; consistently use "jobname"
+	instead of "job name".
+	Change @cindex entries to start with lowercase.
+
+	* writing.html: mention index entries.
+
+2021-06-18  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi: (minipage): avoid overfull boxes from comment lines.
+	(Expressions): use \textasciitilde; other wording.
+	Fix typos.
+
+2021-06-12  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (\numberline): Add section on \numberline.
+
+2021-06-11  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (\contentsline): Add section on \contentsline.
+
+2021-06-09  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (Expressions): Add section on \numexpr, etc.
+
+2021-06-04  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (\baselineskip & \baselinestretch): Add section.  Remove
+	redundant material from low level font command section.
+
+2021-05-29  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (\mathstrut): Add section for \mathstrut; adjust section
+	  for \vphantom to use an example not best done with \mathstrut.
+
+2021-05-29  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (HTML head): Adopt HTML head from easyurls for .texi.
+
+2021-05-28  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Text symbols): add \textfiguredash,
+	\texthorizontalbar, \textnonbreakinghyphen, from upcoming
+	June 2021 LaTeX release.
+
+2021-05-27  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (xspace package): Add section on \xspace.
+
+2021-05-26  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (inputenc package): tweak utf-8 discussion.
+
+2021-05-25  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (xr package): Add section.
+
+2021-05-24  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (inputenc package): Add section.
+
+2021-05-15  Karl Berry  <karl at freefriends.org>
+
+	* Makefile: website process doc
+
+	* latex2e.texi (About this document): urls were confused, with no
+	no link to the actual dev page with all the output formats.
+	Report from Paul A Norman, 15 May 2021 18:27:10.
+
+	* Makefile: first draft at minor doc for updating website.
+
+	* index.html,
+	* README: update for current urls, etc.
+
+2021-04-29  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Accents): babel supports Unicode engines now.
+	Report from Javier Bezos, 29 Apr 2021 14:35:39.
+
+2021-04-22  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Using BibTeX, Output files): https://mirror.ctan.org.
+
+2021-04-16  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\parindent & \parskip): horizontal and vertical
+	were reversed. Report from Chandrasekhar, 15 Apr 2021 17:04:17.
+
+2021-02-14  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\spacefactor): Translate node from English.
+
+2021-02-14  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\spacefactor, \accent, fontenc package): Copy
+	these nodes from the English version.
+	(\frenchspacing): Move it as a subnode of \spacefactor.
+
+2020-12-30  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Few typoes.
+
+	* NEWS-fr: Delivery note December 2020 French delivery to CTAN.
+
+2020-12-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (Page layout parameters): Add Texinfo TODO comment
+	that margin description has to be fixed, point as the French
+	version for reference.
+
+	* latex2e-fr.texi (Page layout parameters): Add anchors, and fixe
+	the margin parameters description.
+
+2020-12-26  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (\twocolumn): Minor rewording and fixes.
+
+	* latex2e-fr.texi (\twocolumn): Align on English, propagates Jim's
+	r368.
+
+2020-12-26  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi: twiddle some lines, so anchor is *after*
+	corresponding item.
+
+	* latex2e-fr.texi: add some anchor, partial propagation of Jim's
+	r671.
+
+2020-12-25  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Boxes): Align on English.
+
+2020-12-25  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (lrbox, \usebox): ``storage bin'' -> ``box register''.
+
+	* latex2e-fr.texi (lrbox, \usebox): Align on English.
+
+2020-12-24  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\mbox & \makebox, \sbox & \savebox): Align on English.
+
+	* latex2e.texi (\mbox & \makebox): Replace example with table
+	reference by soviet tank T-34, reference should be made with \ref
+	& \label. Fix redundant ``space after points'' text. Avoid
+	negative sentences describing what \\ or \par do, and remind this
+	is LR mode.
+	 (\sbox & \savebox): ``storage bin'' -> ``box register''
+
+2020-12-24  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (Using BibTeX): Forward reference to CTAN node.
+
+	* latex2e-fr.texi (Using BibTeX): Align on English.
+
+2020-12-24  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\raisebox): Align on English.
+
+	* latex2e.texi (\raisebox): Minor improvement of examples &
+	description.
+
+2020-12-24  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (verbatim): Explain why it cannot be used within a
+	macro argument. Forward reference to CTAN node.
+
+	* latex2e-fr.texi (\verb): Typoes.
+	(verbatim): Align on English.
+
+2020-12-24  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (titlepage): Align on English.
+
+2020-12-24  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (theorem): Align on English.
+
+2020-12-24  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (\cite): Add crossref to node Jobname + ``cited''
+	-> ``explicitely cited''.
+
+	* latex2e-fr.texi (\nocite): Align on English.
+
+2020-12-24  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (\cite): Clarify bibliography style are only when
+	BibTeX is used, and add crossref to node Jobname.
+
+	* latex2e-fr.texi (\cite):  Align on English.
+
+2020-12-24  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\bibitem): Align on English.
+
+	* latex2e.texi (\bibitem): Minor rewordings. Add forward reference to Jobname node.
+
+2020-12-23  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (thebibliography): Add reference to node list for
+	layout.
+
+	* latex2e-fr.texi (thebibliography): Align on English.
+
+2020-12-23  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (tabular): Propagate r626, r676.
+
+	* latex2e.texi (tabular): Clarify ``row'' -> ``tabular row''.
+
+2020-12-23  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (table): Align on English.
+
+	* latex2e.texi (table): Improve conciseness / precision.
+
+2020-12-23  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (tabbing): Catch-up changes in the English
+	version, and improve a few things, notably description of \= and
+	comparison with tabular.
+
+	* latex2e.texi (tabbing): Minor fixes, mark as needing catch-up French version.
+
+
+2020-12-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (list): Remove spurious space in redlabel example.
+	(minipage): Align neighbourhood population example on the French
+	version / ie use siunitx. In French this is a must for the decimal
+	separator, but for English it also make the column alignment
+	easier.
+
+	* latex2e-fr.texi (list): Complete translation + fix typoes.
+	(minipage): Fix translation, do not use inches (French people
+	don't understand what it means). Fix the neighbourhood population
+	example.
+
+2020-12-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (picture): Insert \qbezier & \graphpaper menu entries.
+	(\qbezier, \graphpaper): Translate nodes.
+
+	* latex2e.texi (picture): Accent for B\'ezier.
+	(\qbezier): Fix figure bouding box.
+	(\graphpaper): Index graphpap package.
+
+2020-12-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (picture): Re-order sub-nodes to match the
+	English version.
+
+2020-12-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\circle): Align on English.
+	(quotation & quote, verse): Align on English --- example indentation.
+
+	* latex2e.texi (\circle): Minor fix --- missing \.
+
+2020-12-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\parbox): Fix options ``t'' and ``c'' description.
+
+2020-12-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (itemize): ``itemized'' -> ``unordered'' +
+	@dfn{...}. Mention ``default'' means no locale through
+	e.g. babel. Nesting on a separate paragraph. ``note'' first and
+	``also use'' second for the roman numerals convention. Make it
+	clear that reference to list node concerns parameters related to
+	itemize.
+
+	* latex2e-fr.texi (itemize): Align on English.
+
+2020-12-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (flushright): Add ``interword'' concerning
+	shrinking/stretching space.
+	(flushright, \raggedleft): Mark references to flushleft examples
+	as ``mutatis mutandis''.
+
+	* latex2e-fr.texi (flushleft): Improve translation.
+	(\raggedright, \raggedleft): Aligne on English version.
+
+	* latex2e-fr.texi
+
+2020-12-21  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (equation, figure, flushleft): Align on English version ---
+	propagate Jim's r626.
+
+	* latex2e.texi (flushleft): Add ``interword'' concerning
+	shrinking/stretching space.
+
+2020-12-21  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (eqnarray): Align on English version ---
+	propagate Jim's r626.
+
+2020-12-20  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (array, center, picture): Align on English
+	version.
+
+2020-12-18  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (\verb): Clarify where visible spaces are produced
+	by starred version, and explain why \verb cannot be used within an
+	argument of macro. Package url, clarify word ``option''.
+	(Text symbols): Indexify eurosym.
+
+	* latex2e-fr.texi: Propagate Karl's r852, r854, r855, r856, and
+	r857.
+
+2020-12-18  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Command line input): More examples, move jobname
+	stuff to a node of its own.
+	(Jobname): New node, material taken from
+	"Command line input" with improvements & additions.
+
+	* latex2e.texi: (Command line input, Jobname): Align document
+	structure on the French, and put markers for translation needed.
+
+2020-12-15  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.tex (Text symbols): mention that textcomp is
+	(effectively) loaded by default as of the Feb 2020 release.
+	From ltnews 31, February 2020; suggestion from
+	Pablo Gonzalez L, 28 Nov 2020 21:27:43.
+
+2020-12-10  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (@TeX{} engines): mention -dev formats.
+	From ltnews 30, October 2019; suggestion from
+	Pablo Gonzalez L, 28 Nov 2020 21:27:43.
+
+2020-12-09  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi: no spaces around em-dashes; this is American English.
+	Other dash-related tweaks.
+
+2020-12-08  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Math symbols): \bigwedge and \bigvee were reversed;
+	similar mistake in \lor.
+	Report and fix from Henning Iseke, 7 Dec 2020 11:48:10.
+
+2020-12-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (description): Typo ``definition'' ->
+	``description'', reported by Rose Davidson.
+
+	* latex2e-fr.texi (\ref): typo, ``item'' duplicate word
+	removal. Reported by Denis Bitouz\'e.
+	(figure): Typoes.
+
+2020-12-08  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Overview): mention UTF-8 as default input encoding;
+	simplify. From ltnews 28, April 2018; suggestion from
+	Pablo Gonzalez L, 28 Nov 2020 21:27:43.
+
+2020-11-30  Karl Berry  <karl at freefriends.org>
+
+	* Makefile (texi2{pdf,dvi}): use texfot.
+	(htmlsplit): remove commented-out zip commands.
+
+	* Makefile (t2html_top): https://tug.org.
+
+2020-11-30  Pablo Gonz\'alez L"  <pablgonz at educarchile.cl>
+
+	* latex2e.texi: update urls to https, etc.
+
+2020-11-29  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\write18): mention the shellesc package.
+	Suggestion from Pablo Gonzalez L, 28 Nov 2020 20:31:49.
+	
+	(Command line interface): rename node from "Command line";
+	leave anchor behind. Reword extension description.
+	(Command line options): mention that option values can be
+	given either as separate arguments or with =.
+	Suggestion from Pablo Gonzalez L, 28 Nov 2020 20:49:00.
+
+2020-11-26  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\/): commands like \emph and \textit auto-insert
+	italic corrections, declarations like \em and \itshape don't.
+
+	* latex2e.texi (Spacing in math mode),
+	(\thinspace & \negthinspace): all math spacing commands
+	can be used in text as of 2020-10-01 release, or with amsmath.
+	Following ltnews32.
+	Suggestion from Pablo Gonzalez L, 24 Nov 2020.
+
+2020-11-25  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (@LaTeX{} command syntax): mention xparse and expl3.
+	Suggestion from Pablo Gonzalez L, 23 Oct 2020 00:54:51.
+
+	(Overview): mention first-packages document.
+	(\@@startsection) <subsubsection>: use @raggedright since the text
+	does not format well, and no rewrite is plausible.
+
+2020-11-24  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi: omit mention of textcomp, since it has become a no-op.
+	(picture): mention use of arithmetic expressions;
+	move qbezier example to qbezier node.
+	(\DeclareGraphicsExtensions): pdf before png; mention grfext.
+	These suggestions from Pablo Gonzalez L, 23 Oct 2020 22:02:33.
+
+2020-09-17  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (@TeX{} engines): Propagate K's r840 + some
+	rewording.
+
+2020-09-15  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (@TeX{} engines): Propagate K's r838.
+
+	* latex2e.texi (@TeX{} engines): \og @LaTeX{} format\fg -> \og @LaTeX{} @TeX{} format\fg.
+	(@TeX{} engines): Restore reference to Overview node.
+
+2020-09-14  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (@TeX{} engines): mention formats.
+
+2020-09-13  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Propagate Karl's r833.
+	(Font styles): Typos.
+	(\frontmatter & \mainmatter & \backmatter): Add missing cindex entries.
+	(Larger book template): Add commented-out arguments to
+	\includeonly for not included chunks.
+
+	* latex2e.texi (Font styles): \og in any forms\fg -> \og in any of the three forms\fg.
+	(Font sizes):  Restore r832 cindex for \og declaration form of font size commands\fg.
+	\og.\fg -> \og,\fg, as not followed by a capital.
+	(\frontmatter & \mainmatter & \backmatter): Add missing cindex entries.
+	(Larger book template): Add commented-out arguments to
+	\includeonly for not included chunks.
+
+2020-09-12  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (@LaTeX{} command syntax): Some rephrasing, make
+	it better aligned on English version.
+	(@LaTeX{} command syntax, Declaration): Remove Declaration node.
+	(Environment): Realagin on English --- mention that a document
+	environment is mandatory.
+	(Font sizes): Type.
+	(Sectioning): \og @xref\fg -> \og @pxref\fg.
+	(\obeycr & \restorecr): Realign on English.
+	(\makeatletter & \makeatother): Re-align on English. Unify wording
+	--- only \og arobe\fg, \og arobase\fg is slang.
+	(\@@ifstar): Reconcile with English.
+
+	* latex2e.texi (@LaTeX{} command syntax): \og commands\fg -> \og command names\fg.
+	(\part): Add comma after @pxref.
+	(\@@startsection): Fix my poor English \og @code{\section} whith
+	keeping\fi -> \og @code{\section} while keeping\fi.
+	(\obeycr & \restorecr): Use @pxref correctly.
+	(\@@ifstar): Reconcile with French version.
+
+2020-09-10  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (@LaTeX{} command syntax): omit declaration form
+	here, as it's not exactly syntax.
+	(Environment): @var{environment-name} instead of with space.
+	(Font styles, Font sizes): reword declaration-related info.
+	(\frontmatter & \mainmatter & \backmatter): not declarations.
+	(\@@startsection): fewer words in list of defaults.
+
+2020-09-06  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* NEWS-fr: September 2020 version delivery note.
+
+	* latex2e-fr.texi (Starting and ending): Minor typo.
+
+2020-09-06  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Finalize propagating Jim's r649, notably
+	include article template. Fix lots of typoes.
+
+	* latex2e.texi: Insert a comma after @xref{...} wherever
+	applicable.
+	(Sectioning): @findex \subsubsection. Typo \og a something\fg ->
+	\og something\fg.
+	\og appearance of sectioning commands\fg -> \og
+	appearance of headings made by sectioning commands\fg.
+	\og Layout of sectional units\fg -> \og Typesetting
+	sectional unit headings\fg.
+	(\@@startsection): \og redefines @code{\section} to have the
+	form\fg -> \og redefines @code{\section} with keeping its standard
+	calling form\fg. Typo.
+	(\@@startsection): \og top of a fresh page\fg -> \og beginning of
+	a page\fg. It is not really the *top* of the page, but that of the
+	text content area.
+	Itemize list of default arguments.
+
+2020-09-04  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Larger book template): Propagate Karl's r828.
+
+	* latex2e.texi (beamer template): {...}-fiy @PkgIndex argument.
+	(book template, Larger book template): Revert r828 for \og see
+	next\fg becoming again \og @xref\fg.
+
+2020-08-25  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Document classes) <slides>: reword.
+	(\newcommand & \renewcommand): try to be clearer about
+	when arguments can be multiple paragraphs; mention \long.
+	(tugboat template): remove node, is stale.
+	thoughout: behaviour -> behavior.
+
+2020-08-07  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Propagate Karl's r810 changes.
+
+	* latex2e.texi (Document templates),
+	* latex2e-fr.texi (Document templates): \og not reference
+	material\fg now replaced by \og illustrative\og. Actually the
+	templates and example *are* reference material, as one may use
+	them for reference.
+
+2020-08-06  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Propagate Karl's r811 changes.
+	(Font sizes): Refresh translation.
+
+	* latex2e.texi: @dfn{...}-ify phases \og declaration form\fg and
+	\og environment form\fg.
+
+2020-08-06  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Propagate Karl's r812 changes.
+
+2020-08-06  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (minipage): Fix example using siunitx.
+
+2020-08-06  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Lengths): Refresh translation.
+
+2020-08-05  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\frontmatter & \mainmatter & \backmatter): Translate node.
+
+2020-08-05  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (minipage): Re-align on English translation.
+
+	* latex2e.texi (minipage): Typoes + insert a few TODO comments.
+
+2020-07-13  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (\appendix): Fix \og\appendixname\fg description.
+	(\includegraphics): \og at ci\fg \rightarrow \og at cindex\fg.
+
+	* latex2e-fr.texi (About this document): Typo.
+	(\appendix): Translate this node.
+	(\includegraphics): \og at ci\fg \rightarrow \og at cindex\fg.
+
+2020-07-01  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Upper and lower case): avoid "American"
+	characters, and mention expl3's implementation of the Unicode
+	algorithm.
+
+2020-06-10  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi: consistently use "plain" not "Plain".
+
+	* latex2e.texi (displaymath): reword details about not using $$.
+	More index entries.
+
+2020-06-07  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Font sizes): words of warning about the env form
+	of font size commands. Suggestion from Denis B.
+	https://tug.org/pipermail/latexrefman/2020q2/000579.html
+
+	* latex2e.texi (CTAN): reword.
+
+2020-05-10  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi: use @kbd{RETURN}, etc., throughout,
+	not <RETURN>.
+	(Sectioning) <secnumdepth>: reword to avoid bad line breaks.
+
+2020-05-07  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\subsubsection & \paragraph & \subparagraph):
+	Translate this node.
+	(throught the source): Replace \og at tie{}\fg by a non breakable space
+	character.
+
+2020-05-03  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\chapter): Typo.
+	(\section): Translate leftover English text. Typo.
+	(\subsection): Translate node.
+
+	* latex2e.texi (Recovering from errors): Fix typo, reported by
+	Werner Lemberg.
+	(\subsection): \og section\fg \rightarrow \og subsection\fg.
+
+2020-05-02  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\section): Translate this node.
+
+2020-04-30  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Larger book template): Translate this node.
+
+2020-04-30  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (Recovering from errors): A few @code{\ldots} or
+	@samp{\ldots} replaced by @kbd{\ldots}.
+
+	* latex2e-fr.texi (Recovering from errors): Translate node.
+	(Document templates): Typos.
+
+2020-04-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (TODO comment): Remove Patrick Bidault's
+	suggestion about @value{UPDATED}, agreed with Patrick.
+	(Top): Typo.
+	(Command line input): Translate this node.
+
+	* latex2e.texi (Command line input): Insert \og bouding box\fg before
+	\og size\fg.
+
+2020-04-26  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (TODO comment): add --shell-escape &
+	--file-line-no wrt MiKTeX, etc.
+	(external reference comment): Add French version of \og TeX for the
+	Impatient\fg.
+	(Low-level font commands): \fontshape, @var{\ldots}-ify \og allure\fg.
+	(Low-level font commands): \fontsize, revise translation.
+	(Sectioning): Translate menu description.
+	(\chapter): Translate node.
+
+	* latex2e.texi (\chapter): Typo in examplicifation of toc title
+	w/o line skip.
+	(\write18): as per Karl's comment, \og expands in\fg \rightarrow \og expands to\fg.
+
+2020-04-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Typos.
+
+2020-04-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (Command line options): @code{\ldots} \rightarrow @kbd{\ldots} where applicable.
+	\og at code{jobname}\fg \rightarrow \og at dfn{jobname}\fg. Typo.
+
+	* latex2e-fr.texi (Command line): Typos.
+	(Command line options): Translate the node.
+
+2020-04-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\accent, \openin & \openout): Insert space before
+	@var{number}.
+	(\write): Undo misalignment of %1 %2 %3 comments in
+	example.
+	(\write and security): Remove leftover English text.
+	(Command line): Remove leftover @ignore'd text.
+
+	* latex2e.texi (\accent, \openin & \openout): Insert space before
+	@var{number}.
+	(\write): Undo misalignment of %1 %2 %3 comments in
+	example.
+
+2020-04-20  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (\read): Insert space before @var{number}
+	(\write): Align vertically the %1, %2, %3 comments in example.
+	(\write): Typo \og19\fg \rightarrow \og18\fg in stream number cindex entry.
+	(\write): Fix Security menu entry.
+
+	* latex2e-fr.texi: See Karl's r798 in previous revision.
+
+2020-04-19  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\write): edits throughout; more index entries.
+	(\write and security): new node.
+
+2020-04-17  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (picture): Refresh outdated node translation,
+	triggered by Karl's r795..
+	(\write18): Take Karl's r795.
+
+2020-04-17  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (\makeatletter & \makeatother): Insert
+	\og typically\fg concerning using the commands in the preamble.
+
+	* latex2e-fr.texi (\makeatletter & \makeatother): Insert
+	\og typiquement\fg concerning using the commands in the preamble.
+
+2020-04-16  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\write18): omit sagetex example, as often not
+	needed directly. Vincent, 16 Apr 2020 13:11:19 +0200.
+	Don't use typewriter for the big graphics packages' names.
+	More index entries.
+
+2020-04-16  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (Command line): Fix menu descriptions, as per
+	Karl's suggestion --- email of 2020-04-16T14:12:15-07.
+
+	* latex2e-fr.texi (Command line): Propagate the change in
+	latex2e.texi.
+
+2020-04-16  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\write18): Fix texinfo compile error.
+	(\write18): Typo.
+	(Command line): Translate node.
+
+	* latex2e.texi (Command line): \og file extension\fg \rightarrow \og file name extension\fg.
+	(Command line): @code{\ldots} \rightarrow @kdb{\ldots}, for <control>-D.
+
+2020-04-16  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Class and package construction): Typoes.
+	(\write): Clarify example comment, \og courant\fg \rightarrow \og racine\fg.
+	(\wlog): Suppress spurious space in example.
+	(\write18): Translate node with fixing statement on \jobname.
+
+	* latex2e.texi (\write): Clarify example comment, \og main\fg \rightarrow \og root\fg.
+	(\write18): Fix statement on \og\jobname\fg.
+
+2020-04-15  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (\makeatletter & \makeatother): Suppress confusing
+	and redundant text.
+
+	* latex2e-fr.texi (\makeatletter & \makeatother): Refurbish translation.
+
+2020-04-14  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\message): Get refinements from Karl's r788.
+
+	* latex2e.texi (\message): Fix indentation after example.
+	(\wlog): @code{\ldots} \rightarrow @var{\ldots}.
+
+2020-04-14  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\message): Translation.
+	(\wlog): Translation.
+
+2020-04-12  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\message): remove "interaction lines",
+	other wording.
+
+2020-04-12  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\include & \includeonly): Complete translation.
+
+	* latex2e.texi (\include & \includeonly): Typoes.
+
+2020-04-06  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Sectioning): Typoes.
+
+	* latex2e.texi (Sectioning): Fix \og secnumdepth\fg \rightarrow \og tocdepth\fg
+
+	* latex2e-fr.texi (\newpage): Refresh translation.
+
+2020-04-05  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\write): Align menu description on Karl's r782.
+	(\write18, Command line options): Recopy nodes from English --- they still need translation.
+
+2020-04-05  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\includegraphics): Recopy latest version.
+
+2020-04-04  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Top, Front/back matter): Change \og Front/back
+	matter\fg translation to \og Parties pr\'e/post-liminaires\fg.
+	(CTAN): Typoes.
+	(Document classes): Refresh translation.
+	(\part): Translate node.
+	(\subsubsection & \paragraph & \subparagraph): Typo.
+
+2020-04-03  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.tex (\write): tweak menu descriptions.
+	(\write18): mention /bin/sh and cmd.exe; --enable-write18
+	supported by all distributions.
+	(Command line options): similarly; remove some duplication.
+	(throughout): @xref must be followed by punctuation.
+
+2020-04-03  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (Sectioning): in \og*-form of sectioning commands\fg,
+	rephrase \og is not numbered\fg \rightarrow \og does not number it\fg.
+	(Sectioning): \og in a book\fg \rightarrow \og in the @code{book} class document\fg
+	(Sectioning): for item \og secnumdepth\fg, insert \og with\fg before
+	inlined example.
+
+	* latex2e-fr.texi (Sectioning): Complete translation.
+	(\write): Align menu entry description on karl's r779 update.
+
+2020-03-31  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (CTAN): Translate node.
+	(\subsubsection & \paragraph & \subparagraph): Progress translation.
+
+2020-03-30  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\write): menu item descriptions
+	for \message and \write18.
+
+2020-03-30  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (Table of contents etc.): Fix description of \og\contentsline\fg.
+
+	* latex2e-fr.texi (Table of contents etc.): Fix description of \og\contentsline\fg.
+
+2020-03-30  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\write): \og master\fg \rightarrow \og root\fg for consistency.
+
+	* latex2e.texi (\endinput): clarify \og during mailing\fg.
+	(Table of contents etc.): Move package index reference to the
+	concerned paragaph.
+	(\openin & \openout): Typoes.
+	(\read): \og\file\fg \rightarrow \og\recipient file\fg
+	(\write): \og at code{\ldots}\fg \rightarrow \og at var{\ldots}\fg.
+	(\write): typo.
+	(\write): \og command\fg \rightarrow \og macro\fg, well when talking about
+	expansion, it is certainly better to use the word \og macro\fg than
+	the word \og command\fg.
+	(\write): \og master\fg \rightarrow \og root\fg for consistency.
+	(\message): \og at code{\ldots}\fg \rightarrow \og at var{\ldots}\fg.
+
+2020-03-30  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\makeatletter & \makeatother): Update translation.
+
+2020-03-30  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (filecontents, \write18): update translation along r758
+	(Low-level font commands): Leftover from r754.
+	(): 
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Sectioning): Progress translation alignment on [en].
+	(\part, \chapter, \section, \subsection)
+	(\subsubsection & \paragraph & \subparagraph, \appendix)
+	(\frontmatter & \mainmatter & \backmatter): Insert nodes w/o translation.
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\@@startsection): Move node to the same place as in [en].
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Table of contents etc.): Finish translation of
+	this node.
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Table of contents etc.): Make some work to
+	align translation on [en], still some translation work to be
+	completed.
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Splitting the input): Align on English.
+	(\include & \includeonly): Merges nodes \og\include\fg and
+	\og\includeonly\fg aligning partially on English --- still some work
+	to be done.
+
+2020-03-29  Vincent Bela\"iche  <vincent.belaiche at biosency.com>
+
+	* latex2e-fr.texi (Larger book template): Insert w/o translation.
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Command line): Update translation --- not yet
+	complete though.
+	(Command line options, Command line input)
+	(Recovering from errors): Inserted w/o translation.
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Insert & translates nodes \og\openin &
+	\openout\fg, \og\read\fg & \og\write\fg Subnodes of \og\write\fg, i.e.
+	\og\message\fg, \og\wlog\fg, and \og\write18\fg, are just inserted w/o
+	translation for the time being.
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Insert & translate node \nofiles.
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Insert & translate node \endinput.
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Merge nodes \og\clearpage\fg &
+	\og\cleardoublepage\fg to align structure on English.
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Fix bad translation of \og cross reference\fg +
+	align \og Table of contents etc.\fg node name on English.  The French
+	for \og cross reference\fg is \og renvoi\fg.
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi: Move nodes \og\makeatletter & \makeatother\fg and
+	\og\@ifstar\fg to the same place as in English version.
+
+2020-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (CTAN): Insert node w/o translation.
+	(Environment): node is moved up in the hierarchy to align on the
+	English version.
+
+2020-03-15  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\include & \includeonly): \includeonly can
+	appear before the preamble, too. From Vincent.
+
+2020-03-14  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\read): exception for non-interactive jobs.
+	(interaction modes): new anchor.
+	Some "file name" -> "filename".
+	Todo: non-ASCII \write; \nonstopmode etc. From Vincent.
+
+2020-03-11  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (output directory): new anchor, for the
+	the --output-directory option. More fully describe it,
+	and reference it where needed. Mentioned by Vincent.
+	(\write18): mention the texosquery package.
+
+2020-03-02  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (filecontents): update for the new filecontents
+	built into LaTeX. Report from John Lienhard, 1 Mar 2020 23:19:39.
+
+2020-02-04  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\@@startsection): \og scenumdepth\fg \rightarrow \og tocdepth\fg where applicable.
+	(Class and package commands): Translate index entries.
+	(figure): \og figure\fg \rightarrow \og figure*\fg.
+	(list): Typoes.
+	(quotation & quote): Typo.
+	(Color): Translate menu entry.
+	(Commands for color): Translate node.
+	(Define colors): Translate node.
+	(Colored text): Translate node.
+	(Colored boxes): Translate node.
+	(Colored pages): Translate node.
+	(Graphics package options): Translate node.
+	(Graphics package configuration): Translate node.
+	(\graphicspath): Translate node.
+	(\DeclareGraphicsExtensions): Translate node.
+	(\DeclareGraphicsRule): Translate node.
+	(Text symbols): Typo.
+
+	* latex2e.texi (Colored text): Remove spurious space in example.
+	(\DeclareGraphicsRule): \og blank\fg \rightarrow \og empty\fg, concerning argument
+	\og command\fg.
+
+2019-06-17  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Color models): Translate to French.
+
+2019-06-06  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (Top): Fix menu entries Color & Graphics.
+	(Color package options): Translate this node.
+
+2019-06-04  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Units of length): failed to divide for cm.
+	Report from Felipe Maia, 29 May 2019 19:51:54.
+
+	(Math symbols) <\vert, \Vert>: refer to Delimiters
+	instead of repeating text.
+	Also fix a couple overfull lines.
+
+2019-05-30  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\indexspace): a command inserting glue,
+	 not glue itself.
+
+2019-02-10  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi: comma outside macro invocations like @BES and @samp.
+
+2019-01-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (trivlist): Typo.
+	(\parbox): @dfn{\ldots}-ize word \og parbox\fg, and de- at code{\ldots}-ize
+	it. \og adjacent line\fg \rightarrow \og adjacent text line\fg.
+
+	* latex2e-fr.texi (trivlist): typo.
+	(\linethickness): typo
+	(tabular): typoes.
+	(\newcommand & \renewcommand): use @var{\ldots}.
+	(\parbox): Re-align French on English version.
+	(Color package options): progress translation.
+
+2018-11-26  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\left & \right): spurious space inside @ref.
+
+2018-11-30  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (list): Translate \topsep description as well as
+	figure description.
+	(trivlist): Translate this node.
+
+2018-11-25  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (\DeclareTextAccentDefault): Added.
+	(\DeclareTextSymbolDefault): Added.
+        (\UseTextAccent & \UseTextSymbol): Added.
+
+2018-11-24  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (\DeclareTextCommandDefault & \ProvideTextCommandDefault): Added.
+
+2018-11-24  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (\DeclareFontEncoding): Added.
+        (\DeclareTextCompositeCommand): Added.
+        (\LastDeclaredEncoding): Added.
+
+2018-11-23  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (\DeclareTextComposite): Added.
+
+2018-11-22  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (\DeclareTextAccent): Added.
+
+2018-11-21  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (\DeclareTextSymbol): Added.
+
+2018-11-21  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (Delimiters): Add section.  Put in list of
+	common delimiters.
+	(\left & \right) Move to below Delimiters, add material on grouping.
+	(\bigl & \bigr etc) Add below Delimiters.
+
+2018-11-19  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (itemize): Add @PkgIndex{enumitem}.
+	(list): \og...\fg \rightarrow \og at dots{}\fg.
+	(list): @code{\ldots}-ify word \og list\fg in \og When making an instance of
+	a @code{list}\fg.
+	(list): \og items\fg \rightarrow \og labels\fg
+	(list): Typo --- add a \og\\fg.
+	(list): Cleanup leftover redundant words.
+
+	* latex2e-fr.texi (itemize): Add anchors.
+	(itemize): Align translation on English version.
+	(list): Align translation on English version.
+	(trivlist): New node, in English, needs translation.
+	(quotation & quote): Node renamed from \og quotation and quote\fg to
+	align on English.
+	(\footnotemark): Typo.
+
+2018-11-13  Karl Berry  <karl at freefriends.org>
+
+	* src/easyurls.py: wording, link to pdf and writing.html.
+	* common.texi: define lasy math symbols
+	(from Jim and wasyfont.tex and latexsym.dtx).
+	* latex2e.texi (Math symbols): use them, in the long list.
+
+2018-11-11  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (Arrows): Add \to, omit \leadsto.
+
+2018-11-09  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (Arrows): Add subsection
+
+2018-11-03  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (fontenc package): Add \DeclareTextCommand &
+	\ProvideTextCommand.
+	* Makefile (htmlsplit) Add latex2e-figures subdir so list's figure
+	shows up.
+	* easyurls.py Omit traversal of subdirectories to make soft links
+	because no .html files go in subdirs.
+
+2018-11-02  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (fontenc package): Move subsection to under Fonts.
+	Adjust wording, add kernel defaults.  Remove lmodern from the
+	sample example.
+	(Fonts) Expand introductory text, pointing to NFSS commands and to
+	online docs on available fonts.
+
+2018-10-27  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (fontenc package): Added this subsection.
+
+2018-10-26  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (Greek letters): Added this subsection, just as
+	a convenience over the large symbol list.
+
+2018-10-23  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (\openin & \openout): Add Phi to symbols.
+	* keeptrack.csv  Change Cyrillic to notdoing.
+
+2018-10-22  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi (\openin & \openout): Change description of \openin
+	to say it handles number allocation.
+
+2018-10-22  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\write, etc.): small changes to text and examples.
+
+2018-10-22  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi  Add \read.
+
+2018-10-21  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi  Add \openin & \openout.  Adjust wording of \write,
+	\write18, and others.
+
+2018-10-21  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi  Add \write, \message, \wlog, and \write18.
+	Change title from Terminal input/output to just Input/output.
+	Also adjust wording of command line options.
+
+2018-10-6  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* latex2e.texi  Add \accent.  Also adjust wording of
+	sectional unit introduction.
+
 2018-10-15  Jim Hefferon  <jhefferon at smcvt.edu>
 
 	* NEWS  Version for CTAN
@@ -429,9 +1632,9 @@
 	(\endinput)  Added.
 	(\input)  Adjust wording to fit changes.
 
-2018-05-04  Vincent Belaïche  <vincent.belaiche at biosency.com>
+2018-05-04  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
-	* latex2e-fr.texi (Color): Translate node Color from Jim's r609 —
+	* latex2e-fr.texi (Color): Translate node Color from Jim's r609 ---
 	subnodes need further translation work.
 
 2018-04-30  Jim Hefferon  <jhefferon at smcvt.edu>
@@ -440,21 +1643,21 @@
 	* latex2e.texi (list)  Add h0 description accidentally omitted.
 	(picture)  Add additional synopsis, adjust wording.
 
-2018-03-22  Vincent Belaïche  <vincent.belaiche at biosency.com>
+2018-03-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
-	* latex2e-fr.texi (All document): Use « tapuscrit » instead or as
-	an alternartive to « machine à écrire » for tt font family.
+	* latex2e-fr.texi (All document): Use \og tapuscrit\fg instead or as
+	an alternartive to \og machine \`a \'ecrire\fg for tt font family.
 	(Top, Color, Graphics): Add Color and Graphics nodes and sub-nodes
 	thereof, without translation.
 	(description): Translate edits from Jim r609 2018-03-04
 
-	* latex2e.texi (description): @var{}-ify « text of first item »
-	and « text of second item »
-	(description): « labeled list of items » -> « list of labeled items »
-	(Color package options): @code{}-ify « color » in title, as it is
+	* latex2e.texi (description): @var{}-ify \og text of first item\fg
+	and \og text of second item\fg
+	(description): \og labeled list of items\fg -> \og list of labeled items\fg
+	(Color package options): @code{}-ify \og color\fg in title, as it is
 	the package name.
 	(Graphics package options, Graphics package configuration):
-	@code{}-ify « graphics » in title, as it is the package name.
+	@code{}-ify \og graphics\fg in title, as it is the package name.
 
 2018-03-21  Jim Hefferon  <jhefferon at smcvt.edu>
 
@@ -518,7 +1721,7 @@
 	* latex2e.texi (list environment): Move list parameters to this
 	entry.
 
-2018-01-02  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2018-01-02  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (thebibliography, Upper and lower case): Align
 	on Karl's r598 edits of 2017-10-29.
@@ -529,7 +1732,7 @@
 	* latex2e.texi: typos, wording.
 	* aspell.en.pws: more exceptions.
 
-2017-10-17  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-10-17  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (document header): Uppercase title 1st
 	letter. Make PlainTeX a flag, not sure what the best translation
@@ -540,15 +1743,15 @@
 	(\providecommand): Add Jim's edits of r348 2015-05-29.
 	(\newcommand & \renewcommand): Typo.
 	(\newenvironment & \renewenvironment): typo.
-	(\newsavebox): Use « baquet » rather than « bac » to translate
-	« bin ».
+	(\newsavebox): Use \og baquet\fg rather than \og bac\fg to translate
+	\og bin\fg.
 	(Special insertions, Non-English characters): Rename node
-	« Non-English characters » to « Additional Latin letters ». Add an
+	\og Non-English characters\fg to \og Additional Latin letters\fg. Add an
 	anchor for backward compatibility.
 
 	* latex2e.texi (Document class options): Add @PkgIndex{geometry}.
 
-2017-10-08  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-10-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi: Mark tabbing node translation from French as TODO.
 	(thebibliography): Fix description about \refname, as sometimes it
@@ -559,7 +1762,7 @@
 	(thebibliography): Fix description about \refname, as sometimes it
 	is also \bibname.
 
-2017-10-06  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-10-06  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi:  Make EnvIndex and PkgIndex macro usable on the
 	same line as text.
@@ -573,7 +1776,7 @@
 	algorithm2e and listings packages.
 	(Upper and lower case): Mention textcase package.
 
-2017-10-04  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-10-04  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (tabbing): Partial translation of tabbing node
 	rewrite, and add examples.
@@ -587,7 +1790,7 @@
 	(table): Typo.
 
 
-2017-10-03  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-10-03  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (Class and package commands): Typo.
 	(quotation and quote): Typoes.
@@ -597,7 +1800,7 @@
 	* latex2e.texi,
 	* latex2e-fr.texi (Low-level font commands): remove width percentages.
 
-2017-08-22  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-08-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi: push iftexthenelse macro and HAS-MATH flag to common.texi
 	(Low-level font commands): Restore cmss & cmtt. `@dmn{}%' -> `%'.
@@ -607,7 +1810,7 @@
 
 	* common.texi: push iftexthenelse macro and HAS-MATH flag to common.texi
 
-2017-08-22  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-08-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (Low-level font commands): Refer to
 	https://ctan.org/pkg/encguide.  Use multitables to achieve Jim's
@@ -621,7 +1824,7 @@
 	Jim's r363 edits of 2015-06-16, as well as my edits on top of them
 	to latex2e.texi made in this revision.
 
-2017-08-09  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-08-09  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* NEWS-fr: Typoes.
 
@@ -633,12 +1836,12 @@
 	* latex2e.texi: (\@startsection) Added defaults for book, article,
 	and report classes.
 
-2017-08-08  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-08-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* README-fr: Convert from latin-9 to utf-8 to comply with CTAN
 	requirements.
 
-2017-08-08  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-08-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* Makefile.1: rename README-fr to README in the zipped archive.
 
@@ -648,13 +1851,13 @@
 	* README-fr: Typoes. Extend the leading English part fo the French
 	readme to comply with CTAN requirements.
 
-2017-08-08  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-08-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* README-fr: Port GNA! -> Puszcza. `non officiel' -> `officieux'
 	for consistency with manual. Mention other people translate
 	`moving argument' by `argument mouvant'.
 
-2017-08-08  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-08-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* NEWS-fr: Add delivery note --- translated from Jim's, thank you
 	Jim!
@@ -669,7 +1872,7 @@
 
 	* latex2e-fr.{dbk,.dvi,.html,.info,.pdf,.texi,.txt,.xml}: Compilation for August 2017  delivery to CTAN.
 
-2017-08-08  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-08-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi: Update version & copyright notice for August 2017 delivery to CTAN.
 
@@ -687,7 +1890,7 @@
 
 	* latex2e.texi: copyright 2017.
 
-2017-08-01  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-08-01  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (Environment, Declaration, \makeatletter and \makeatother)
 	(\@@ifstar, \@@startsection): put a sectionning title to node.
@@ -722,7 +1925,7 @@
 	(Sectioning): Add anchor to secnumdepth counter for reference from
 	\@@startsection node.
 
-2017-07-31  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-07-31  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (Class and package commands): Add \CheckCommand
 	and \DeclareRobustCommand as per Jim's r568 2017-07-30 edits + my
@@ -733,7 +1936,7 @@
 	(Class and package commands/\DeclareRobustCommand): Improve
 	existing description. Add mention to etoolbox macros.
 
-2017-07-31  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-07-31  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* Makefile.1: Extend check-dw to handle other languages. Add
 	target help.
@@ -746,7 +1949,7 @@
 	* latex2e.texi (document header): update version.
 
 
-2017-07-31  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-07-31  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* Makefile.1: Add targets <lang><format>, like enpdf, frpdf,
 	eninfo, etc...
@@ -758,8 +1961,8 @@
 	`http://ctan.org/...'.  Reword `non officiel' -> `officieux'.
 	(Overview): Take edits from Jim's r412+413 of 2015-08-21.
 	(Starting and ending): Typo. rewording `sections' -> `rubriques'.
-	(Output files): English quotes `` '' to French quotes
-	« ». Concerning .log, add @dfn{fichier journal} (the French for
+	(Output files): English quotes ``~'' to French quotes
+	\og~\fg. Concerning .log, add @dfn{fichier journal} (the French for
 	``log file''). Typo. Translate leftover English in .lot/.lof/.toc
 	cindex.
 	(@TeX{} engines): @TeX{} -> @TeX{} de base --- ie Plain- at TeX{}. Typo.
@@ -776,7 +1979,7 @@
 	(displaymath): Take edits from Jim's r412 2015-08-21, plus my
 	modifications to latex2e.texi.
 	(picture): `sections' -> `rubriques'.
-	(\oval): English quotes `` '' to French quotes « ».
+	(\oval): English quotes ``~'' to French quotes \og~\fg.
 	(table): Exchange order of \caption and \label in example to align
 	on the English version.
 	(Units of length): Translate to French leftover English @cindex
@@ -833,7 +2036,7 @@
 	* latex2e.texi: (\@ifstar): Translate from the French version.
 	(\@startsection): Move to Sectioning.
 
-2017-07-27  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-07-27  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* Makefile.1 (compare-nodes, compare-nodes-fr, compare-nodes-es):
 	new targets to compare node lists between languages. compare-nodes
@@ -840,7 +2043,7 @@
 	is made a synonym of compare-nodes-fr because the Spanish
 	translation does not reuse the same node names.
 
-2017-07-26  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-07-26  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (<header comment>): Add reference to
 	https://www.latex-project.org/help/books/lc2fr-apb.pdf, as far as
@@ -925,7 +2128,7 @@
 
 	* latex2e.texi: added class and package commands from clsguide.pdf.
 
-2017-06-09  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2017-06-09  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (abstract): typo.
 	(\raggedleft): typo.
@@ -953,7 +2156,7 @@
 
 	(tugboat template): update.
 
-2016-11-24  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-11-24  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-es.texi: Place the English license in the @copying
 	section, and push the translation to an annex.
@@ -970,7 +2173,7 @@
 	* Makefile (txt_files): Remove license.texi from the list of files
 	to zip into the distributed archive.
 
-2016-11-23  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-11-23  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* license.texi: dos2unix + svn propset svn:eol-style to LF.
 
@@ -993,7 +2196,7 @@
 	* Makefile.1: Add check-license-<lang> targets to check that the
 	license is same as in license.texi
 
-2016-11-21  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-11-21  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* ltx-help.el (latex-help-file): Make this variable a defcustom
 	for selecting the manuel translation.
@@ -1013,11 +2216,11 @@
 	license.texi, make it delimited by @comment's.
 	(\cc): Add `, as in:' before example.
 
-2016-11-19  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-11-19  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* license.texi: Ooops... add this file.
 
-2016-11-19  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-11-19  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.{xml,dvi,html,info,pdf,txt}: Make these files again
 	for the license.
@@ -1035,7 +2238,7 @@
 
 	* Makefile (txt_files): Add license.texi file.
 
-2016-11-18  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-11-18  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* Makefile.1: Make variable txt_tiles a macro, so that NEWS-fr and
 	README-fr be delivered instead of NEWS and README for target
@@ -1043,7 +2246,7 @@
 
 	* NEWS-fr: add news for November 2016 CTAN delivery.
 
-2016-11-18  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-11-18  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.{xml,dvi,html,info,pdf,txt}: Make these files.
 
@@ -1061,7 +2264,7 @@
 
 	* Makefile.1 (spell-$(1)): Take in edit by Karl (rev 546) on Makefile
 
-2016-11-15  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-11-15  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (Math miscellany): Use `math' instead of `text' for
 	the @var{...} name.
@@ -1076,11 +2279,11 @@
 
 	* Makefile (spell): A-Z intended in range.
 
-2016-09-14  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-09-14  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.{dbk,html,info,txt,xml,pdf}: Update French manuals.
 
-2016-09-13  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-09-13  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (\@@ifstar): New node.
 
@@ -1087,13 +2290,13 @@
 	* latex2e.texi (\makeatletter and \makeatother): Comment that
 	documenting \@ifstar is TODO.
 
-2016-09-13  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-09-13  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (\newcommand & \renewcommand, Spaces)
 	(\(SPACE) and \@@, \(SPACE) after control sequence): Complete
 	taking on Karl's rev497 edits.
 
-2016-09-13  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-09-13  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (\discretionary, Footnotes in section headings)
 	(\newcommand & \renewcommand, Math miscellany, \(SPACE) and \@@)
@@ -1101,7 +2304,7 @@
 	(\(SPACE) after control sequence): Rename node --- old name was
 	``\(SPACE) after CS'' --- as per Karl's rev497 edits.
 
-2016-09-12  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-09-12  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (Document class options): Remove @dmn{...} for
 	``inches''.
@@ -1112,7 +2315,7 @@
 	(Floats): Indicate that ``Here'' means ``Ici'', and fix left-over
 	non translated word ``For''.
 
-2016-09-09  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-09-09  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (Document class options): @dmn{...}-ize the units
 	in the text from Jim's rev383 changes.
@@ -1131,14 +2334,14 @@
 	@dmn{...}-ize the units.
 	(Math symbols): Fix typo in \uplus entry.
 
-2016-09-07  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-09-07  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi: Same changes as in latex2e.texi
 	(Document class options): Minor editorial change.
 	(\newenvironment & \renewenvironment): Align on Karl's rev538
-	change, ie clarify that @var{débutdéf} and @var{findéf} are
-	executed within a group. Rename @var{débutdéf} and @var{findéf} to
-	@var{défdébut} and @var{déffin}
+	change, ie clarify that @var{d\'ebutd\'ef} and @var{find\'ef} are
+	executed within a group. Rename @var{d\'ebutd\'ef} and @var{find\'ef} to
+	@var{d\'efd\'ebut} and @var{d\'effin}
 
 	* latex2e.texi: new iftexthenelse macro.
 	(Footnotes in a table): Minor editorial change to avoid overfull hbox.
@@ -1151,7 +2354,7 @@
 	by ``processed'' because not only execution but also expansion
 	prior to it happens within a group.
 
-2016-09-05  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-09-05  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (\newenvironment & \renewenvironment): Add an
 	@findex for ``group''.
@@ -1167,11 +2370,11 @@
 	https://mail.gna.org/listinfo/latexrefman-discuss is for archives
 	and subsription.
 
-2016-09-04  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-09-04  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi: Whole file, suppress any trailing blanks.
 
-2016-09-04  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-09-04  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (Top): Fix translation of sub node menu entry text.
 	(Overview): Fix spelling. Fix leftover English. ``paquetage de
@@ -1212,7 +2415,7 @@
 	\mathsection \mathsterling \mathunderscore \mathunderscore.
 	(Text symbols): add \textsection, \textquotesingle.
 
-2016-04-12  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-04-12  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (Document class options): Improve wording by
 	reusing package variable @var{pkg} in the synopsis description.
@@ -1231,11 +2434,11 @@
 	`\@var{cmd}'. Fix typoes.
 	(\newenvironment & \renewenvironment): nargs starting from 0
 	rather than from 1. Fix typoes. `argument positionnel' ->
-	`paramètre positionnel'.
+	`param\`etre positionnel'.
 	(Reserved characters): `\backslash' -> `\textbackslash' in the
 	@findex in accordance with description. Fix typoes.
 
-2016-04-12  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-04-12  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (top comment, Top): Make version under quotes to
 	avoid incorrect French ``de Avril 2016'' or ``du Avril 2016''
@@ -1246,24 +2449,24 @@
 	notice up to 2016.
 
 	* latex2e-fr.texi (top comment): `Copyright' -> `Tous droits
-	réservés ©' + add ``Vincent Belaïche'' as translator.
+	r\'eserv\'es \textcopyright' + add ``Vincent Bela\"iche'' as translator.
 
-2016-04-11  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-04-11  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-es.texi (top comment, Using BibTeX): Replace CTAN
 	central server URLs by mirror URLs, after a comment by Petra
-	Rübe-Pugliese.
+	R\"ube-Pugliese.
 
 	* latex2e-fr.texi (top comment, Output files, Using BibTeX):
 	Replace CTAN central server URLs by mirror URLs, after a comment
-	by Petra Rübe-Pugliese.
+	by Petra R\"ube-Pugliese.
 	(Output files, Using BibTeX): Typoes.
 
 	* latex2e.texi (top comment, Output files): Replace CTAN central
 	server URLs by mirror URLs, after a comment by Petra
-	Rübe-Pugliese.
+	R\"ube-Pugliese.
 
-2016-04-08  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-04-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* NEWS: Add NEWS entry for the Apr 2016 release --- assuming
 	English will be released also.
@@ -1271,12 +2474,12 @@
 	* Makefile.1 (dist-xx, dist): Fix pior check that there aren't any
 	uncommited changes before making the zip.
 
-2016-04-07  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-04-07  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.{dbk,html,info,txt,xml,pdf}: Update French manuals
 	for distribution 2016-04-08 to CTAN.
 
-2016-04-07  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-04-07  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi: Updated @set UPDATED.
 
@@ -1327,7 +2530,7 @@
 		make tag TAG=foo "MESSAGE=Some message"
 
 
-2016-04-04  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-04-04  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi: Add EnvIndex macro to make indexing environments
 	consistent and throughout the manual. Replace any @findex of an
@@ -1343,10 +2546,10 @@
 	* latex2e-es.texi: Same as latex2e.texi.
 	(filecontents): Align to latest text in latex2e{,-fr}.texi.
 
-2016-04-02  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-04-02  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-es.texi: Add @BES and @BESU macro definitions.
-	(Símbolos de Texto): Use @BES macro rather than @math for
+	(S\'\imbolos de Texto): Use @BES macro rather than @math for
 	\textperiodcentered so that the other-than-PDF is clean. `$' ->
 	`\$' for \textdollar.
 
@@ -1357,7 +2560,7 @@
 	\@startsection example for solving the overfull hbox in the PDF
 	output.
 	* latex2e-fr.texi (Text symbols): \textquestiondown
-	Typo. \textexclamdown `haut en bas' -> `culbuté'. Use @BES macro
+	Typo. \textexclamdown `haut en bas' -> `culbut\'e'. Use @BES macro
 	rather than @math for \textperiodcentered and \trademark so that
 	the other-than-PDF is clean. `$' -> `\$' for \textdollar. `marque
 	de fabrique' -> `marque de commerce' for \texttrademark.
@@ -1364,14 +2567,14 @@
 	(\@@startsection): re-indent \@startsection example for solving
 	the overfull hbox in the PDF output, and fix some wrong reference.
 
-2016-03-31  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-03-31  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.{dbk,dvi,html,info,pdf,texi,txt,xml}: make fr.
 
-2016-03-29  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-03-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (Line breaking): Improve translation of
-	break/breaking, use `saut/sauter à' rather than `rupture/rompre'.
+	break/breaking, use `saut/sauter \`a' rather than `rupture/rompre'.
 	(Spaces): Typo.
 	(Special insertions): Typo.
 	(Text symbols): Fix typo adding `comp' into
@@ -1387,7 +2590,7 @@
 	`\textcapitalcompwordmark' and `\textascendercompwordmark'
 
 
-2016-03-17  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-03-17  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	Reword descrition of \epsilon and \varepsilon.
 
@@ -1397,15 +2600,15 @@
 	``script small letter''.
 
 	* latex2e-fr.texi (Math symbols): About \varepsilon ``en forme de
-	3 retourné'' -> ``minuscule de ronde''.
+	3 retourn\'e'' -> ``minuscule de ronde''.
 
-2016-03-15  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-03-15  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (Math symbols): Fix compilation errors.
 
 	* latex2e-fr.texi (Math symbols): Fix compilation errors.
 
-2016-03-14  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-03-14  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi Define flags NotInPlainTeX, NeedsAMSSymb and
 	NeedsSTIX, in order to factorize text of `Math symbols' node.
@@ -1418,7 +2621,7 @@
 	* latex2e-fr.texi (Math symbols): Progress translation of this
 	node and make same changes as for latex2e.texi.
 
-2016-03-08  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-03-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (Top): Typoe in `Modes' menu entry.
 	(eqnarray): `or' -> `ou'.
@@ -1439,11 +2642,11 @@
 	(\ensuremath): new node.
 	(Text symbols): Add pilcrow character for \P, similar change for \S.
 
-2016-03-06  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-03-06  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (Math symbols): Progress translation of this node.
 
-2016-02-29  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-02-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (\circle): Use term ``disque'', in addition to
 	``cercle plein'' (solid circle). @dmn{...}-ify unit.
@@ -1450,7 +2653,7 @@
 	(\makebox (picture)): Typo.
 	(Math symbols): Progress translation of this node.
 
-2016-02-22  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-02-22  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (Text symbols): Fix @code{'}->@code{''} for \textquotedblright
 	(Splitting the input): @dfn{...}-ify `root file' and add it to concept index
@@ -1457,10 +2660,10 @@
 	(\include): Replace `See next section' -> `See @ref{\includeonly}'.
 	(\includeonly): `@var{file}s' -> `@var{file1}, @var{file2}, @dots{}'
 
-	* latex2e-fr.texi (\alph \Alph \arabic \roman \Roman \fnsymbol): `croix-mortuaire' -> `obèle'
+	* latex2e-fr.texi (\alph \Alph \arabic \roman \Roman \fnsymbol): `croix-mortuaire' -> `ob\`ele'
 	(Math symbols): Progress translation of this node.
 	(Text symbols): Start translation of this node.
-	(\thinspace): `imbriqué' -> `emboîté', as per Cahier GUTenberg #49 glossary
+	(\thinspace): `imbriqu\'e' -> `embo\^\it\'e', as per Cahier GUTenberg #49 glossary
 	(Text symbols): Fix @code{'}->@code{''} for \textquotedblright
 	(Splitting the input, \include, \includeonly, \input): Translate these nodes.
 	(Splitting the input): @dfn{...}-ify `root file' and add it to concept index
@@ -1467,13 +2670,13 @@
 	(\include): Replace `See next section' -> `See @ref{\includeonly}'.
 	(\includeonly): `@var{file}s' -> `@var{file1}, @var{file2}, @dots{}'
 
-2016-02-15  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-02-15  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (\noindent): `..' -> `...'.
 
 	* latex2e-fr.texi (About this document, @LaTeX{} command syntax)
 	(Document class options, Document class options)
-	(Page layout parameters, Sectioning, enumerate, \item, \line)
+	(Page~layout~parameters, Sectioning, enumerate, \item, \line)
 	(\thicklines, \thinlines, \cite, \newtheorem, \newtheorem, \newtheorem)
 	(\alph \Alph \arabic \roman \Roman \fnsymbol, \signature): @tie{} -> UTF-8
 	unbreakable space.
@@ -1484,7 +2687,7 @@
 	(Math symbols): Progress translation + @tie{} -> UTF-8 unbreakable
 	space.
 
-2016-02-11  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-02-11  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (abstract): @code{...}-ify words `article' &
 	`report' when they refer to classes.
@@ -1498,10 +2701,10 @@
 	(\@@startsection): `@var{indent}' -> `@var{retrait}', indent(ation) -> retrait or renfoncement.
 	(Document class options): Added flegn concerns display mode formula only.
 	(Environments): `mise en vedette' -> `en hors texte'
-	(abstract): `abtracts' -> `résumé', and update translating this
+	(abstract): `abtracts' -> `r\'esum\'e', and update translating this
 	node as per Jim's rev 486 of 2015-12-05T13:22:45+01 edit.
 	(Environment): Ellipsis `..' -> `...', and add
-	`Voir @ref{Environments} pour une liste des environnements.' as
+	`Voir~@ref{Environments} pour une liste des environnements.' as
 	per Jim's rev 486 of 2015-12-05T13:22:45+01 edit.
 	(array): Update translation ad per Jim's edits rev 391 of
 	2015-08-02T22:57:00+02 and with fixes from rev 469 by Karl of
@@ -1528,7 +2731,7 @@
 	* latex2e.texi (array): the directive is just p{...}, not @p{...}.
 	Noted by Vincent.
 
-2016-02-08  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-02-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (lrbox): Use Synopsis instead of in-line
 	@code{...}. `cmd' -> `\@var{cmd}'. @ref{...}-ify @code{\sbox}.
@@ -1557,12 +2760,12 @@
 	(lrbox): Translate this node.
 	(\raisebox): Complete translation of this node.
 	(Front/back matter): Typo.
-	(Tables of contents): `article' -> `entrée', as per Cahier GUTenberg #49 glossary.
+	(Tables of contents): `article' -> `entr\'ee', as per Cahier GUTenberg #49 glossary.
 	(\addcontentsline): Translate this node, with same edits as in latex2e.texi.
 	(\addtocontents): Translate this node.
 	(Glossaries): Translate this node.
 	(Indexes): Translate this node, with same edits as in latex2e.texi.
-	(Letters): Typoes. `clôture' -> `salutation'. Typo. Complete
+	(Letters): Typoes. `cl\^oture' -> `salutation'. Typo. Complete
 	translation with same edits as in latex2e.texi.
 	(\address): Translate this node.
 	(\cc): Translate this node.
@@ -1572,7 +2775,7 @@
 	(\makelabels): Typo.
 	(\opening): Typo.
 
-2016-02-05  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-02-05  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (Line breaking, \discretionary): Add node
 	\discreionary, need completion.
@@ -1586,7 +2789,7 @@
 	(Page breaking): Translate this node.
 	(\protect): Translate this node, with same changes as in latex2e.texi.
 
-2016-02-04  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-02-04  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (Spacing in math mode):  Add @xref{\thinspace} to
 	the \thinspace entry.
@@ -1603,7 +2806,7 @@
 	example. Make TeX output only when compilation is with TeX and fix
 	some of the examples.
 
-2016-02-02  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-02-02  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi: Reword copyright notice from
 	Automatic-translation French to real French.
@@ -1644,7 +2847,7 @@
 	* latex2e.texi (\newcommand & \renewcommand): mention "\ "
 	after control sequences, as noted by Vincent.
 
-2016-01-27  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-01-27  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (Marginal notes): Typoes.
 	(Subscripts & superscripts): Typo.
@@ -1686,7 +2889,7 @@
 	* aspell.en.pws: add more exceptions.
 	* latex2e.texi: fix typos, refilling.
 
-2016-01-15  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2016-01-15  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (\setlength, \addtolength, \settodepth)
 	(\settoheight, \settowidth): Place synopsis in a Synopsis
@@ -1706,7 +2909,7 @@
 	(Symbols by font position): Add this node, after update made to
 	latex2e.texi
 
-2015-12-14  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2015-12-14  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (Top): section->rubrique, sectionement->rubricage
 	(@LaTeX{} command syntax): Add node ``\makeatletter and \makeatother''.
@@ -1779,7 +2982,7 @@
 
 	* latex2e.texi (\makeatletter and \makeatother): Adjust wording.
 
-2015-11-26  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2015-11-26  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (\newsavebox, \newtheorem, \newfont): Complete
 	translation of this node, and align on latest English version.
@@ -1799,7 +3002,7 @@
 	position.  Distinguish between output in text body font and
 	output in typewriter font.
 
-2015-11-09  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2015-11-09  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (\newcommand & \renewcommand): Introduce the
 	concept of positional parameter.
@@ -1810,7 +3013,7 @@
 	letters and character `*'. Use the term positional parameter, and
 	tell that expansion is within begdefn, not within environment,
 	which was misleading. @samp{...}-ify `Shakespear' outside of
-	@example... at end example.
+	@example... at end~example.
 
 	* latex2e-fr.texi (Output files): Typo.
 	(tabular): Typoes.
@@ -1818,7 +3021,7 @@
 	(\newenvironment & \renewenvironment): Complete the translation
 	and make the same text improvements as in latex2e.texi.
 
-2015-11-06  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2015-11-06  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (\parbox): Tell that `position=m' equates the
 	default behaviour.
@@ -1825,7 +3028,7 @@
 
 	* latex2e.texi (\parbox): Same as latex2e-fr.texi.
 
-2015-11-05  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2015-11-05  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (\fussy): Typo.
 
@@ -1833,16 +3036,16 @@
 	(\verb): Clean-up left over English words.
 	(\obeycr & \restorecr, \fussy, \sloppy): Translate this node.
 
-2015-11-04  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2015-11-04  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (tabular): wording `@code{*-expression}' -> `@code{*}-expression'.
 
 	* latex2e-fr.texi (tabular): Complete translation of this node.
 
-2015-11-03  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2015-11-03  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (\parbox): Correct description of \parbox vertical
-	alignment after comment from Denis Bitouzé.
+	alignment after comment from Denis Bitouz\'e.
 
 	* latex2e-fr.texi (\parbox): Same as for latex2e.texi.
 
@@ -1853,11 +3056,11 @@
 	* latex2e.texi (throughout): consistently use ... instead of
 	.. for code ellipses.
 
-2015-10-27  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2015-10-27  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (enumerate): Typo.
 	(itemize): Restore missing example.
-	(thebibliography): `label' -> `étiquette', `cite_key' ->
+	(thebibliography): `label' -> `\'etiquette', `cite_key' ->
 	`clef_de_cite'. Change wording concerning `\refname' in standard classes.
 	(\bibitem, \cite, \nocite, Using BibTeX, theorem): Translate this node.
 	(\cleardoublepage, \newpage): Improve wording `page actuelle' ->
@@ -1902,7 +3105,7 @@
 	* latex2e.texi (Footnotes): Add remark that getting biblio
 	references in footnotes depends on the bibliographic style.
 
-2015-10-11  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2015-10-11  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (Page breaking): Translate menu entries
 	(\cleardoublepage, \clearpage, \newpage, \enlargethispage)
@@ -1915,7 +3118,7 @@
 	* 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
+	(Footnotes): Make the exact quotation of No\"el Coward, and correct
 	his first name spelling.
 
 2015-10-11  Jim Hefferon  <jhefferon at smcvt.edu>
@@ -1932,7 +3135,7 @@
 	* latex2e.texi (\makelabels): Add more on how to customize
 	label sizes, etc.
 
-2015-10-09  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2015-10-09  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi (Environments): Merge menu entries for nodes
 	quote & quotations after Jim's edits of 2015-09-28
@@ -1945,7 +3148,7 @@
 	* latex2e.texi (Footnotes in a section heading): Add node,
 	provide examples.
 
-2015-10-08  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2015-10-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (\makelabels): @var{...}-ify argument 'to addess',
 	and @code{...}-ify class name.
@@ -2008,7 +3211,7 @@
 
 	* latex2e.texi (Letters): Add synopsis, examples.
 
-2015-09-22  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-09-22  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e-fr.texi (filecontents): Add Jim's 2015-09-18 (r439) edits.
 	(\addvspace): Add Jim's 2015-09-13 (r432) edits.
@@ -2024,7 +3227,7 @@
 	* latex2e-{es,fr}.{dbk,html,info,txt,xml}: Compile these files
 	again, because of eol problem.
 
-2015-09-21  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-09-21  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e-{es,fr}.{dbk,dvi,html,info,pdf,txt,xml}: Compile these files
 
@@ -2034,7 +3237,7 @@
 
 	* latex2e.texi (filecontents): Corrections suggested by JB.
 
-2015-09-17  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-09-17  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* ChangeLog: Correct typo on Jim's surname Hefferson->Hefferon.
 
@@ -2053,7 +3256,7 @@
 
 	* latex2e.texi (Subscripts & superscripts): Add examples.
 
-2015-09-15  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-09-15  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e.texi (Starting and ending): Add @cindex environment
 	(Spaces, \(SPACE) and \@@, \(SPACE) after CS): Move text how to
@@ -2066,7 +3269,7 @@
 	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
+	2015-04-26, "deux choses tr\`es diff\'erentes"->"deux constructions
 	sans relation l'une avec l'autre"
 	(Starting and ending): Follows Karl's change of 2015-04-26
 	(\- (hyphenation)): Translate this node.
@@ -2090,7 +3293,7 @@
 
 	* latex2e.texi (\noindent): Add example.
 
-2015-09-14  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-09-14  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e.texi (Spacing in math mode): Add missing @findex entries
 	for \thickspace, \medspace & \thinspace. Typo tht->that.
@@ -2153,7 +3356,7 @@
 	* 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  <vincent.belaiche at gmail.com>
+2015-09-04  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e-fr.texi: Add macroes BES & BESU to support compilation of math symbols with texi2pdf.
 	(Symbolic footnotes): Complete translation of this node
@@ -2178,7 +3381,7 @@
 	(\makebox): reword is specified->can be overriden, because width is optional.
 	(\makebox): @code{...}-ify environment name picture.
 
-2015-08-29  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-08-29  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e-fr.texi (\linethickness): Typo.
 	(\thicklines, \thinlines, \shortstack, \/, \hrulefill)
@@ -2191,7 +3394,7 @@
 	 (\addvspace): @var{...}-ify word `length'.
 
 
-2015-08-27  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-08-27  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e.texi (Units of length): Use `@dmn{...}' rather than
 	`@tie{}...' in new node added by Jim.
@@ -2200,11 +3403,11 @@
 
 	* latex2e.texi (Units of length): Add new node in Lengths.
 
-2015-08-25  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-08-25  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e.texi (tabular): typo : horozontal->horizontal.
 
-2015-08-24  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-08-24  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e.texi (picture): (width,height)(x offset,y offset)->(@var{width}, at var{height})(@var{xoffset}, at var{yoffset})
 	(picture): make position a concept index entry, and @dfn{...}-ize it.
@@ -2214,7 +3417,7 @@
 	(picture): Translate this node.
 	(\framebox (picture)): @var{width}->@var{largeur}
 
-2015-08-23  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-08-23  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e-fr.texi (file preamble): Add comment about glossary
 	resources useful for French translation
@@ -2225,7 +3428,7 @@
 	(\centering): typo
 	(flushleft, \raggedright): Improve wording.
 	(flushright, \raggedleft): Translate these nodes.
-	(quotation, Making paragraphs): ligne blanche->ligne à blanc
+	(quotation, Making paragraphs): ligne blanche->ligne \`a blanc
 
 	* latex2e.texi (Floats): typo insert comma.
 	(Floats): figure->float
@@ -2254,7 +3457,7 @@
 	with issues.  Shrink the figure and table nodes by the common
 	material.
 
-2015-08-20  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-08-20  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e-fr.texi (Output files, @TeX{} engines, \line)
 	(Glossaries): Remove @acronym on Karl's request
@@ -2271,7 +3474,7 @@
 
 	* Makefile (xref_suffixes): no auxs or tocs.
 
-2015-08-19  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-08-19  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e.texi (flushleft): string->control sequence.
 
@@ -2362,7 +3565,7 @@
 	* latex2e.texi (center, \centering): Add detail, including
 	distinguishing the two and examples.
 
-2015-08-05  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-08-05  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e.texi (\indent): remove "width of" concering concerning
 	\parindent length.
@@ -2399,7 +3602,7 @@
 	* latex2e.texi (vline, cline, hline): Add examples.  Also describe
 	how columns are counted.
 
-2015-07-30  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-07-30  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e-fr.texi (Top): Correct menu item French translation for "Making paragraphs"
 	(itemize): typo, remove left-over English word "dash"
@@ -2408,7 +3611,7 @@
 
 	* latex2e.texi (Text symbols): Correct -- for --- for en-dash
 
-2015-07-29  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-07-29  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e-es.texi (Acentos): Make references between \underbar and \b.
 
@@ -2451,7 +3654,7 @@
 	the unicode glyph to the start of each entry to make
 	easier scanning for the desired symbol.
 
-2015-07-08  Vincent Belaïche  <vincent.belaiche at gmail.com>
+2015-07-08  Vincent Bela\"iche  <vincent.belaiche at gmail.com>
 
 	* latex2e-fr.texi (Line breaking, \savebox): Translation to French.
 	(Sectioning): Typo.
@@ -2758,7 +3961,7 @@
 	* latex2e.texi (\alph \Alph \arabic \roman \Roman \fnsymbol):
 	\Roman for second @item.  Typo reported by Jose Atria.
 
-2014-11-19  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2014-11-19  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi: Progress translation to French
 
@@ -2768,12 +3971,12 @@
 	(node filecontents): Make it clear that it is about
 	files not documents.
 
-2014-10-20  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2014-10-20  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* Makefile: Add target `check' to compile each manual once with tex
 	and once with makeinfo. This is faster than using target `all'.
 
-2014-10-19  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2014-10-19  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (\setcounter): replace @var{\counter} by @var{counter}
 
@@ -2782,7 +3985,7 @@
 	* latex2e-fr.texi (\setcounter): Same change as latex2e.texi.
 	Progress Translation to French.
 
-2014-10-17  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2014-10-17  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-es.texi (\pagenumbering): use @backslashchar{} within
 	@vincentb in order to compile with tex.
@@ -2800,7 +4003,7 @@
 
 	* latex2e-es.texi (\put): @vincentb, not @vincenb.
 
-2014-09-25  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2014-09-25  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (\put): Make coordinates within @var{...} and add
 	explicit reference to them in the text.
@@ -2812,7 +4015,7 @@
 	* latex2e-fr.texi (nodes \put, \usebox): Same as
 	latex2e.texi. Progress translation to French.
 
-2014-09-19  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2014-09-19  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (document header): Set @documentencoding and
 	@documentlanguage.
@@ -2838,7 +4041,7 @@
 	* latex2e-fr.texi: Similar changes as latex2e.texi. Progress
 	translation to French.
 
-2014-09-10  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2014-09-10  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (\thinspace): em -> @dmn{em}.
 
@@ -2846,7 +4049,7 @@
 
 	* latex2e-fr.texi:  Progress translation to French.
 
-2014-09-08  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2014-09-08  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi: Progress translation to French.
 
@@ -2854,7 +4057,7 @@
 	make by' by `The box made by'.
 	(node Math miscellany): correct typo `for examp*l*e'.
 
-2014-08-30  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2014-08-30  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-es.texi (\vector): correct bug involved by renaming
 	y-slop/x-slop to declivex/declivey --- as I used @vincentb macro
@@ -2861,7 +4064,7 @@
 	encapsulation to mark my change, it made \ of \vector no longer a
 	"other" character.
 
-2014-08-29  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2014-08-29  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* Makefile: add definition of variable all, for clean to work. Add
 	squeaky as a synonym of realclean. Add in comment generic line for
@@ -2872,12 +4075,12 @@
 	* latex2e.texi (node Page layout parameters): correct typo clase -> classes
 	(node array): `in that row' -> `in each row of that column
 
-	* latex2e-es.texi (node array): `el número de elementos y deben
+	* latex2e-es.texi (node array): `el n\'umero de elementos y deben
 	tener el formato' -> `cual formato debe tener cada linea en esta
 	columna'
 
 
-2014-08-24  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+2014-08-24  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e.texi (node Boxes): add @code{...} encapsulation.
 	(\dashbox): replace @code{...} by @var{...} for \dashbox
@@ -2890,7 +4093,7 @@
 
 	* latex2e-es.texi (node Cajas): same as latex2e.texi.
 	(\dashbox): same as latex2e.texi. Rename parameter
-	@var{dlargo} to @var{glargo}, with 'g' for guión (aka
+	@var{dlargo} to @var{glargo}, with 'g' for gui\'on (aka
 	dash).
 	(nodes \line & Glossarios): same as latex2e.texi.
 	(\makebox of picture): same as latex2e.texi.
@@ -2903,7 +4106,7 @@
 	(\vector): same as latex2e.texi.
 	Progress further translation to French.
 
-2014-08-17  Vincent Belaïche  <vincent.b.1 at hotmail.fr>
+2014-08-17  Vincent Bela\"iche  <vincent.b.1 at hotmail.fr>
 
 	* latex2e.texi: (node Layout) Add @code{...} around \headheight
 	and \footskip in `Page layout parameters' menu entry
@@ -2913,7 +4116,7 @@
 	* latex2e-fr.texi: Same change as in latex2e.texi. Continue
 	progressing translation to French.
 
-2014-08-11  Vincent Belaïche  <vincent.b.1 at hotmail.fr>
+2014-08-11  Vincent Bela\"iche  <vincent.b.1 at hotmail.fr>
 
 	* latex2e.texi: Add @code{...} encapsulation in some places to
 	class names letter, slides, book, report, article, and to
@@ -2926,23 +4129,23 @@
 	translation to French.
 
 
-2014-08-10  Vincent Belaïche  <vincent.b.1 at hotmail.fr>
+2014-08-10  Vincent Bela\"iche  <vincent.b.1 at hotmail.fr>
 
 	* latex2e.texi: (Overview) change wording about case sensitivity.
 
-	* latex2e-es.texi: (Descripción) same change change as for latex2e.texi about case sensitivity.
+	* latex2e-es.texi: (Descripci\'on) same change change as for latex2e.texi about case sensitivity.
 
 	* latex2e-fr.texi: (Overview) same change change as for
 	latex2e.texi about case sensitivity. (Whole document) Put in place
 	same structure as for original and progress translation.
 
-2014-08-01  Vincent Belaïche  <vincent.b.1 at hotmail.fr>
+2014-08-01  Vincent Bela\"iche  <vincent.b.1 at hotmail.fr>
 
 	* latex2e-fr.texi: Creation --- still very approximate & preliminary...
 
 	* Makefile: Make it generic
 
-2014-07-20  Vincent Belaïche  <vincent.b.1 at hotmail.fr>
+2014-07-20  Vincent Bela\"iche  <vincent.b.1 at hotmail.fr>
 
 	* latex2e.texi (\LaTeXe),
 	* latex2e-es.texi (\LaTeXe): document LaTeX2e log.
@@ -2957,7 +4160,7 @@
 	(Font styles): mention my disagreement with the oft-stated
 	notion that \tt, et al., are "obsolete".
 
-2014-02-27  Vincent Belaïche  <vincent.b.1 at hotmail.fr>
+2014-02-27  Vincent Bela\"iche  <vincent.b.1 at hotmail.fr>
 
 	* latex2e.texi (filecontents): Clarify that LaTeX2e default
 	filecontents environment DOES NOT overwrite existing files, you
@@ -2965,12 +4168,12 @@
 
 	* latex2e-es.texi (filecontents): Align on the English version.
 
-2014-02-26  Vincent Belaïche  <vincent.b.1 at hotmail.fr>
+2014-02-26  Vincent Bela\"iche  <vincent.b.1 at hotmail.fr>
 
 	* latex2e-es.texi: Align Spanish translation with changes made by
 	Karl on 2014-02-23, and also some changes done before that.
 
-2014-02-25  Vincent Belaïche  <vincent.b.1 at hotmail.fr>
+2014-02-25  Vincent Bela\"iche  <vincent.b.1 at hotmail.fr>
 
 	* latex2e.texi: Correct typo, rm duplicate 2014 in copyright notice.
 
@@ -3363,3 +4566,6 @@
 	of searching.
 
 (This ChangeLog file is in the public domain.)
+% Local Variables:
+% coding: us-ascii
+% End:

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile	2021-07-24 20:46:11 UTC (rev 60037)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile	2021-07-24 20:46:37 UTC (rev 60038)
@@ -1,4 +1,4 @@
-# $Id: Makefile 706 2018-10-13 15:35:22Z jimhefferon $
+# $Id: Makefile 935 2021-07-23 17:48:15Z jimhefferon $
 # Public domain.  Originally written 2006, Karl Berry.
 # Makefile for latexrefman.
 
@@ -19,8 +19,8 @@
 
 # 
 how to build.
 # 
-texi2dvi = texi2dvi --batch --tidy --build-dir=$*.t2dvi
-texi2pdf = texi2pdf --batch --tidy --build-dir=$*.t2pdf
+texi2dvi = texfot texi2dvi --batch --tidy --build-dir=$*.t2dvi
+texi2pdf = texfot texi2pdf --batch --tidy --build-dir=$*.t2pdf
 #
 makeinfo = makeinfo
 texi2docbook = $(makeinfo) --docbook
@@ -32,7 +32,7 @@
 htmlopts = --html --css-include=latex2e.css $(t2html_top) $(t2html_home) -c WORDS_IN_PAGE=10000
 #
 # Go somewhere useful from Top:
-t2html_top = -c TOP_NODE_UP_URL=http://tug.org/texinfohtml/
+t2html_top = -c TOP_NODE_UP_URL=https://tug.org/texinfohtml/
 #
 # Put a link in the footer:
 t2html_home = -c PRE_BODY_CLOSE="<hr/><div class='referenceinfo'>\
@@ -85,7 +85,8 @@
 	rm -f $(addprefix latex2e*., pdf dvi $(mi_suffixes) $(xref_suffixes))
 
 
-# 
 dist for CTAN.  Update NEWS before uploading!
+# 
 Basic dist target for CTAN, but please see ./README
+# for all the necessary steps.
 # 
 txt_files = ChangeLog Makefile NEWS README \
             aspell.en.pws latex2e.css ltx-help.el
@@ -109,25 +110,51 @@
 $(addprefix $(distname)/spanish/,  $(es_mi_output) latex2e-es.pdf) \
 $(addprefix $(distname)/latex2e-figures/,  $(figure_files)) \
 $(addprefix $(distname)/graphics/,  README $(figure_source_files))
-	rm -rf $(distname)
+	rm -f $(htmlsplitzip)
+	cd $(htmlsplit) && zip -qr ../$(htmlsplitzip) latex2e 
+	zip -q $(distzip) $(distname)
 	@ls -l $(distzip); unzip -l $(distzip)
 
-# Get many small .html files
+easyurls: htmlsplit dist
+	cd src \
+        && rm -rf testdist && mkdir -p testdist \
+        && cp ../latex2e-help-texinfo-tree.zip testdist \
+        && rm -rf latex2e && unzip -q testdist/latex2e-help-texinfo-tree \
+        && ./easyurls.py --directory latex2e --action softlink --lower_case --rewrite_index --debug \
+        && zip -rq ../latex2e-help-texinfo-tree-easyurls.zip latex2e
+
+# To update web site, after basic build is ok (check-dw, spelling, etc.),
+# first undo temporary build results:
+#   make svr       # revert generated single files
+#   make svrsplit  # revert generated split html
+# then update ChangeLog, etc.,
+# then svn commit the modified source files,
+# then:
+#   make
+#   make htmlsplit
+#   make dist
+#   make commitready
+#   svn commit  # to commit regenerated files   
+# then:
+#   svn update  # to restore easy url stubs
+#   
+
+# Get many small .html files.
 htmlsplit: en
 	rm -rf $(htmlsplit)
 	mkdir $(htmlsplit) && cd $(htmlsplit) && ln -s ../* .	
-	rm -f $(htmlsplitzip)
 	cd $(htmlsplit) && $(makeinfo) $(htmlopts) latex2e.texi
-	cd $(htmlsplit) && zip -q ../$(htmlsplitzip) -r latex2e
-	src/easyurls.py --directory $(htmlsplit)/latex2e --action softlink --lower_case --rewrite_index
-#	rm -rf $(htmlsplit)
-#	@ls -l $(htmlsplitzip); unzip -l $(htmlsplitzip)
+	cd $(htmlsplit)/latex2e && ln -s ../../latex2e-figures .
 
-# Right before a commit, delete html files that are gone and and add new ones
+# Right before a commit, delete html files that are gone and add new ones.
 htmlsplitstatus = cd $(htmlsplit)/latex2e && svn status *.html
 commitready: htmlsplit
 	$(htmlsplitstatus) | sed -n 's/^\!//p' | xargs -r svn rm
 	$(htmlsplitstatus) | sed -n 's/^\?//p' | xargs -r svn add
+# we linked everything above, remove the unused upper-level links.
+	cd $(htmlsplit) && svn status | sed -n 's/^\?//p' | xargs rm -f
+	rm -rf latex2e.t2dvi # fix requires rebuilding svn repo, it seems
+	svn status
 
 # A hacky spell check target.
 # Remove \commandnames to reduce exception list, but not {args} or
@@ -142,8 +169,8 @@
 # The first sed expression elides a few @-command lines which cause
 # duplicates; the second expr some text in the middle of lines.
 check-dw:
-	sed -e 's/^@\(item\|anchor\|.index\) .*//' \
-	    -e 's/ da da\|{test test}\|[iI][jJ]//g' \
+	sed -e 's/^@\(node\|item\|anchor\|.index\|.*section\) .*//' \
+	    -e 's/ da da\|xxx\|overwrite\|{test test}\|[iI][jJ]//g' \
 	  latex2e.texi | dw
 
 # Convenience targets to svn revert the generated files,
@@ -151,5 +178,7 @@
 svr:
 	svn revert $(addprefix latex2e*., $(all_suffixes))
 	svn status
+svrsplit:
+	svn revert --depth infinity $(htmlsplit)
 svd:
 	svn diff $(txt_files) *.texi

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS	2021-07-24 20:46:11 UTC (rev 60037)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS	2021-07-24 20:46:37 UTC (rev 60038)
@@ -4,6 +4,19 @@
 Spanish translation originally from Nacho Pacheco (currently unmaintained).
 French translation originally from Vincent Belaiche.
 
+
+Changes in July 2020 release:
+
+Among the changes since the last release:
+ * Entries for \openin, \openout, \message, \write, \write18.
+ * Section on fontenc.
+ * Section on math delimiters.
+ * Describe -output-directory option.
+ * Section on xr.
+ * Section on expressions.
+ * Entry on \contentsline.
+
+
 Changes in October 2018 release:
 
 The main change is that we now offer the manual in a version that

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/README	2021-07-24 20:46:11 UTC (rev 60037)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/README	2021-07-24 20:46:37 UTC (rev 60038)
@@ -1,23 +1,28 @@
-$Id: README 712 2018-10-15 23:08:38Z jimhefferon $
+$Id: README 905 2021-05-15 22:41:07Z karl $
 README for latex2e.texi, aka the latex2e-help-texinfo package.
-Public domain.  This README file originally written 2008, Karl Berry.
+This README file originally written 2008, Karl Berry.
 
 This project is an attempt to write a reference manual for core LaTeX.
 It is unofficial and the LaTeX Project members have not reviewed it.
 
-https://puszcza.gnu.org.ua/software/latexrefman/ (the project home page)
-has more information, including links to the current output in various
-formats, sources, mailing lists, and other infrastructure.
-
-We offer two web versions of the manual.  A version that is split
-into separate web pages for each section or subsection is here.
-  https://latexref.xyz
+We offer two web versions of this manual.  We have a version that is
+split into separate web pages for each section or subsection.
+  https://latexref.xyz/
 We also have a single-page version. 
   http://latexref.xyz/dev/latex2e.html
 
+More informaion is at https://latexref.xyz/dev/, including links to the
+current output in various formats, sources, mailing lists, and other
+infrastructure. The project page for repository access, etc., is 
+https://puszcza.gnu.org.ua/projects/latexrefman/.
+
 Help is most definitely wanted.  (Search for "xx" in the source for just
-a few of the known deficiencies.)  Please email any bug reports, new
-material, general discussion, whatever, to latexrefman at tug.org (see
-http://lists.tug.org/latexrefman for archives and subscription via the web).
+a few deficiencies.  More ideas at https://latexref.xyz/dev/writing.html.)
+Please email any bug reports, new material, general discussion, whatever,
+to latexrefman at tug.org (see https://lists.tug.org/latexrefman for archives
+and subscription via the web).
 
-
+License: the manual is released under the old-style GNU documentation
+license, because that is what the original authors used. (It was the
+recommended license at the time.) This README file and other
+supplementary files are public domain.

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/aspell.en.pws
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/aspell.en.pws	2021-07-24 20:46:11 UTC (rev 60037)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/aspell.en.pws	2021-07-24 20:46:37 UTC (rev 60038)
@@ -10,6 +10,7 @@
 Botway
 CTAN's
 CropBox
+Dietze
 EE
 EF
 EnvIndex
@@ -31,11 +32,13 @@
 TrimBox
 ae
 afterskip
+amscd
 arabic
 aring
 arrayrulewidth
 arraystrech
 ary
+auxout
 baselinestretch
 bb
 bbllx
@@ -52,6 +55,7 @@
 bowtie
 bp
 builtin
+cd
 cdots
 cmd
 columnsep
@@ -88,6 +92,7 @@
 evensidemargin
 executivepaper
 f's
+fallbacks
 fbox
 fboxrule
 fd
@@ -104,6 +109,8 @@
 footnotesep
 footskip
 greek
+guillemet
+guillemets
 hacek
 headheight
 headsep
@@ -130,6 +137,7 @@
 labelitemiv
 labelsep
 labelwidth
+latexsym
 ldots
 leadsto
 leftmargin
@@ -149,6 +157,7 @@
 lr
 lrbox
 lunate
+mainaux
 makeidx
 makelabel
 marginparpush
@@ -190,6 +199,7 @@
 paperwidth
 parsep
 partopsep
+pasteable
 pict
 pixelation
 printindex
@@ -218,6 +228,7 @@
 tecks
 texi
 texinfo
+texosquery
 textcase
 textheight
 textstyle
@@ -252,4 +263,21 @@
 xindy
 xyz
 zet
-Dietze
+scrollmode
+grfext
+shellesc
+CLI
+adjustbox
+graphpap
+xr
+Bananensis
+Francorum
+Respublica
+muglue
+cicero
+didot
+texput
+xstring
+qed
+dottedtocline
+xindex

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi	2021-07-24 20:46:11 UTC (rev 60037)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi	2021-07-24 20:46:37 UTC (rev 60038)
@@ -1,6 +1,6 @@
- at c $Id: common.texi 701 2018-10-08 14:32:37Z jimhefferon $
+ at c $Id: common.texi 729 2018-11-13 23:22:27Z karl $
 @c Public domain.
- at set LTXREFMAN_HOME_PAGE https://puszcza.gnu.org.ua/software/latexrefman
+ at set LTXREFMAN_HOME_PAGE https://latexref.xyz
 @set LTXREFMAN_BUGS latexrefman@@tug.org
 @clear HAS-MATH 
 @iftex
@@ -14,5 +14,46 @@
 \else\@c
 @end macro
 @end ifnottex
-        
 
+ at tex
+\globaldefs=1
+% lasyfont characters for Texinfo (latexsym package in LaTeX).
+% JH 2018-Nov-12, ideas from wasyfont.tex. Public domain.
+% not going to try to make fonts 
+\font\tenlasy = lasy10
+% \font\ninelasy = lasy9
+% \font\eightlasy = lasy8
+\font\sevenlasy = lasy7
+\font\fivelasy = lasy5
+\newfam\lasyfam
+\newcount\lasyfamcount
+% family number is third-least-significant hex digit of mathchar
+\lasyfamcount=\lasyfam \multiply\lasyfamcount by 256
+%
+\textfont\lasyfam=\tenlasy
+ \scriptfont\lasyfam=\sevenlasy
+ \scriptscriptfont\lasyfam=\fivelasy
+%
+\def\lasymathchardef#1#2{%
+    \count255=\lasyfamcount
+    \advance\count255 by"#1
+    \mathchardef#2\count255 }
+% char 1 (math class): 0=ord, 2=bin, 3=rel (taken from latexsym.dtx).
+% char 2: family number, added in by \lasymathchardef.
+% chars 3-4: character code in font. All in hex.
+\lasymathchardef{0030}{\mho}
+\lasymathchardef{3031}{\Join}
+\lasymathchardef{0032}{\Box}
+\lasymathchardef{0033}{\Diamond}
+\lasymathchardef{303B}{\leadsto}
+\lasymathchardef{303C}{\sqsubset}
+\lasymathchardef{303D}{\sqsupset}
+\lasymathchardef{2001}{\lhd}
+\lasymathchardef{2003}{\rhd}
+\lasymathchardef{2002}{\unlhd}
+\lasymathchardef{2004}{\unrhd}
+%
+% must explicitly reset before the (at)end tex, not let the (at)end group
+% reset it; else internal Texinfo variables get messed up.
+\globaldefs=0
+ at end tex

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.css
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.css	2021-07-24 20:46:11 UTC (rev 60037)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.css	2021-07-24 20:46:37 UTC (rev 60038)
@@ -1,11 +1,7 @@
-/* $Id: latex2e.css 690 2018-09-15 15:20:19Z jimhefferon $
+/* $Id: latex2e.css 935 2021-07-23 17:48:15Z jimhefferon $
    Minor css for latexrefman. Public domain.
    Originally written by Jim Hefferon and Karl Berry, 2018. */
 
-/* So you can style for yourself */
- at import url("/css/latexreflocal.css");
-
-
 BODY {
   margin-top: 1em;
   margin-left: 1em; /* auto results in two-digit <ol> lost off left */
@@ -22,3 +18,6 @@
 
 /* We put a link to our own home page at the bottom. */
 div.referenceinfo {font-size:small;}
+
+/* So you can style for yourself */
+ at import url("/css/latexreflocal.css");

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk	2021-07-24 20:46:11 UTC (rev 60037)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk	2021-07-24 20:46:37 UTC (rev 60038)
@@ -4,44 +4,41 @@
   <!ENTITY latex "LaTeX">
 ]>
 <book id="latex2e.dbk" lang="en">
-<!-- $Id: common.texi 701 2018-10-08 14:32:37Z jimhefferon $ -->
+<!-- $Id: common.texi 729 2018-11-13 23:22:27Z karl $ -->
 <!-- Public domain. -->
-        
 
-<title>&latex;2e unofficial reference manual (October 2018)</title>
+<title>&latex;2e unofficial reference manual (July 2021)</title>
 <!-- %**end of header (This is for running Texinfo on a region.) -->
 
 <!-- latex 2.09 commands should all be present now, -->
 <!-- xx but latex2e stuff is missing. -->
 <!-- xx random list of a few of the missing items is at the end of this file -->
+<!-- xx read through latex2e news for things to update. -->
 <!-- -->
 <!-- xx ctan, distributions, components of TeX -->
-<!-- xx classes and packages - required, additional, useful; oberdiek; fonts -->
-<!-- -->
+<!-- xx classes and packages: required, additional, useful; oberdiek; fonts -->
 <!-- xx merge permuted-index -->
 <!-- xx merge latex-manual from savannah -->
 <!-- xx merge display style math -->
+<!-- xx check recent ltnews for (lots of) changes -->
+<!-- xx \write of non-ASCII chars (vincent mail of 14 Mar 2020 21:39:41) -->
+<!-- xx \nonstopmode etc., if they are officially supported by LaTeX? -->
 <!-- xx JH explain nfss somewhere -->
 <!-- xx JH expand BiBTeX -->
 <!-- xx JH expand theorem, AMS math -->
 <!-- xx JH something on code listings -->
 <!-- xx JH ligatures -->
-<!-- xx JH \xspace -->
-<!-- xx JH \stretch -->
-<!-- xx JH \mathstrut -->
-<!-- xx JH \phantom https://tex.stackexchange.com/questions/4519/how-do-i-create-an-invisible-character -->
-<!-- xx JH \baselineskip https://texfaq.org/FAQ-baselinepar -->
-<!-- xx JH \contentsline, \@@dottedtocline? -->
-<!-- xx JH more on \write18, beyond what's mentioned in Command line. -->
-<!-- xx JH \numexpr, \dimexpr, \glueexpr, \muexpr -->
+<!-- xx JH \caption -->
 <!-- -->
 <!-- xx The typeset source2e has an index with all kernel -->
 <!-- xx commands, though some are internal and shouldn't be included. -->
 <!-- xx classes.dtx et al. define additional commands. -->
 <!-- xx See also http://ctan.org/pkg/macros2e. -->
+<!--  -->
+<!-- xx All the special characters should be definitively described. -->
 
 <bookinfo><legalnotice><para>This document is an unofficial reference manual for &latex;, a
-document preparation system, version of October 2018.
+document preparation system, version of July 2021.
 </para>
 <para>This manual was originally translated from <filename>LATEX.HLP</filename> v1.0a in the
 VMS Help Library.  The pre-translation version was written by
@@ -58,7 +55,7 @@
 text was directly copied.)
 </para>
 <para>Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013,
-2014, 2015, 2016, 2017, 2018 Karl Berry.
+2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Karl Berry.
 
 Copyright 1988, 1994, 2007 Stephen Gilmore.
 
@@ -83,8 +80,9 @@
 
 
 
+
 <para>This document is an unofficial reference manual for &latex;, a
-document preparation system, version of October 2018.
+document preparation system, version of July 2021.
 </para>
 <para>This manual was originally translated from <filename>LATEX.HLP</filename> v1.0a in the
 VMS Help Library.  The pre-translation version was written by
@@ -101,7 +99,7 @@
 text was directly copied.)
 </para>
 <para>Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013,
-2014, 2015, 2016, 2017, 2018 Karl Berry.
+2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Karl Berry.
 
 Copyright 1988, 1994, 2007 Stephen Gilmore.
 
@@ -123,7 +121,6 @@
 <!-- end of License -->
 </para>
 
-
 <!-- Best Effort Symbol -->
 
 
@@ -131,10 +128,9 @@
 <title>&latex;2e: An unofficial reference manual</title>
 
 <para>This document is an unofficial reference manual (version of
-October 2018) for &latex;2e, a document preparation system.
+July 2021) for &latex;2e, a document preparation system.
 </para>
 
-
 </chapter>
 <chapter label="1" id="About-this-document">
 <title>About this document</title>
@@ -144,15 +140,11 @@
 preparation system, which is a macro package for the &tex;
 typesetting program (see <link linkend="Overview">Overview</link>).
 </para>
-<para>This document’s home page is <ulink url="https://puszcza.gnu.org.ua/software/latexrefman">https://puszcza.gnu.org.ua/software/latexrefman</ulink>.  There
-you can get the sources, subscribe to the mailing list or read its
-archives, see other infrastructure, and get the current output in
-various formats.  In particular, the output comes in two web formats.
-Probably the most convenient one, shown at <ulink url="http://latexref.xyz/">http://latexref.xyz/</ulink>,
-has pages for each topic and so is good for a quick lookup; see also the
-note there about easy-to-remember links.  The other, shown at
-<ulink url="http://svn.gnu.org.ua/viewvc/latexrefman/trunk/latex2e.html?view=co">http://svn.gnu.org.ua/viewvc/latexrefman/trunk/latex2e.html?view=co</ulink>,
-has all the information on single page.
+<para>This document’s home page is <ulink url="https://latexref.xyz">https://latexref.xyz</ulink>; it has
+separate web pages for each topic.  Alternatively.
+<ulink url="https://latexref.xyz/dev/latex2e.html">https://latexref.xyz/dev/latex2e.html</ulink> has the entire document on
+a single page.  For other output formats, the sources, and plenty more
+information, see <ulink url="https://latexref.xyz/dev/">https://latexref.xyz/dev/</ulink>.
 </para>
 <indexterm role="cp"><primary>&latex; vs. &latex;2e</primary></indexterm>
 <para>In this document, we will mostly just use ‘&latex;’ rather than
@@ -162,39 +154,33 @@
 <indexterm role="cp"><primary>unofficial nature of this manual</primary></indexterm>
 <indexterm role="cp"><primary>&latex; Project team</primary></indexterm>
 <indexterm role="fn"><primary><email>latexrefman at tug.org</email> email address</primary></indexterm>
-<para>&latex; is currently maintained by a group of volunteers
-(<ulink url="http://latex-project.org">http://latex-project.org</ulink>).  The official documentation written by
-the &latex; project is available from their web site.  This document is
-completely unofficial and has not been reviewed by the &latex;
-maintainers.  
+<para>&latex; is maintained by a group of volunteers
+(<ulink url="https://latex-project.org">https://latex-project.org</ulink>).  The official documentation written
+by the &latex; project is available from their web site.  The present
+document is completely unofficial and has not been written or reviewed
+by the &latex; maintainers.
 <indexterm role="cp"><primary>bug reporting</primary></indexterm>
 <indexterm role="cp"><primary>reporting bugs</primary></indexterm>
 Do not send bug reports or anything else about this document to them.
 Instead, please send all comments to <email>latexrefman at tug.org</email>.
 </para>
-<para>This document is a reference.  There is a vast array of other sources
-of information about &latex;, at all levels.  Here are a few
-introductions.
+<para>This document is a reference, not a tutorial.  There is a vast array
+of other information available about &latex;, at all levels.  Here
+are a few introductions.
 </para>
-<variablelist><varlistentry><term><ulink url="http://ctan.org/pkg/latex-doc-ptr">http://ctan.org/pkg/latex-doc-ptr</ulink>
+<variablelist><varlistentry><term><ulink url="https://ctan.org/pkg/latex-doc-ptr">https://ctan.org/pkg/latex-doc-ptr</ulink>
 </term><listitem><indexterm role="fn"><primary>latex-doc-ptr document</primary></indexterm>
 <para>Two pages of recommended references to &latex; documentation.
 </para>
-</listitem></varlistentry><varlistentry><term><ulink url="http://ctan.org/pkg/first-latex-doc">http://ctan.org/pkg/first-latex-doc</ulink>
+</listitem></varlistentry><varlistentry><term><ulink url="https://ctan.org/pkg/first-latex-doc">https://ctan.org/pkg/first-latex-doc</ulink>
 </term><listitem><indexterm role="fn"><primary>first-latex-doc document</primary></indexterm>
 <para>Writing your first document, with a bit of both text and math.
 </para>
-</listitem></varlistentry><varlistentry><term><ulink url="http://ctan.org/pkg/usrguide">http://ctan.org/pkg/usrguide</ulink>
-</term><listitem><indexterm role="fn"><primary>usrguide official documentation</primary></indexterm>
-<para>The guide for document authors that is maintained as part of &latex;.
-Many other guides by many other people are also available, independent
-of &latex; itself; one such is the next item:
-</para>
-</listitem></varlistentry><varlistentry><term><ulink url="http://ctan.org/pkg/lshort">http://ctan.org/pkg/lshort</ulink>
+</listitem></varlistentry><varlistentry><term><ulink url="https://ctan.org/pkg/lshort">https://ctan.org/pkg/lshort</ulink>
 </term><listitem><indexterm role="fn"><primary>lshort document</primary></indexterm>
-<para>A short introduction to &latex;, translated to many languages.
+<para>A longer introduction to &latex;, translated to many languages.
 </para>
-</listitem></varlistentry><varlistentry><term><ulink url="http://tug.org/begin.html">http://tug.org/begin.html</ulink>
+</listitem></varlistentry><varlistentry><term><ulink url="https://tug.org/begin.html">https://tug.org/begin.html</ulink>
 </term><listitem><para>Introduction to the &tex; system, including &latex;, with further
 references.
 </para>
@@ -211,21 +197,25 @@
 <indexterm role="cp"><primary>&latex; overview</primary></indexterm>
 
 <para>&latex; is a system for typesetting documents.  It was originally
-created by Leslie Lamport and is now maintained by a group of volunteers
-(<ulink url="http://latex-project.org">http://latex-project.org</ulink>).  It is widely used, particularly for
-complex and technical documents, such as those involving mathematics.
+created by Leslie Lamport in 1984, but has been maintained by a group
+of volunteers for many years now (<ulink url="https://latex-project.org">https://latex-project.org</ulink>).
+It is widely used, particularly but not exclusively for mathematical
+and technical documents.
 </para>
-<indexterm role="cp"><primary>macro package, &latex; as</primary></indexterm>
-<para>A &latex; user writes an input file containing text along with
-interspersed commands, for instance commands describing how the text
-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 <firstterm>macro package</firstterm> for the
-&tex; engine).  The user produces the output document by giving that
-input file to the &tex; engine.
+<indexterm role="cp"><primary>UTF-8, default &latex; input encoding</primary></indexterm>
+<para>A &latex; user writes an input file containing text to be typeset
+along with interspersed commands. The default encoding for the text is
+UTF-8 (as of 2018). The commands specify, for example, how the text
+should be formatted. 
 </para>
+<para>&latex; is implemented as a set of related so-called “macros” which
+use Donald E. Knuth’s &tex; typesetting program or one of its
+derivatives, collectively known as “engines”. Thus, the user
+produces output, typically PDF, by giving the input file to a &tex;
+engine. (The following sections describe all this in more detail.)
+</para>
 <para>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
+the input document is marked up, that is, to mean the set of commands
 available to a &latex; user.
 </para>
 <indexterm role="cp"><primary>Lamport &tex;</primary></indexterm>
@@ -300,7 +290,7 @@
 Portable Document Format <literal>.pdf</literal> file with <command>dvipdfmx</command>.
 The contents of the file can be dumped in human-readable form with
 <command>dvitype</command>.  A vast array of other DVI utility programs are
-available (<ulink url="http://mirror.ctan.org/dviware">http://mirror.ctan.org/dviware</ulink>).
+available (<ulink url="https://mirror.ctan.org/dviware">https://mirror.ctan.org/dviware</ulink>).
 </para>
 </listitem></varlistentry><varlistentry><term><literal>.pdf</literal>
 </term><listitem><indexterm role="fn"><primary>.pdf file</primary></indexterm>
@@ -312,7 +302,7 @@
 self-contained file, with all fonts and images included.
 </para>
 </listitem></varlistentry></variablelist>
-<para>&latex; also produces at least two additional files.
+<para>&latex; always produces at least two additional files.
 </para>
 <variablelist><varlistentry><term><literal>.log</literal>
 </term><listitem><indexterm role="cp"><primary>transcript file</primary></indexterm>
@@ -361,28 +351,36 @@
 
 <indexterm role="cp"><primary>engines, &tex;</primary></indexterm>
 <indexterm role="cp"><primary>implementations of &tex;</primary></indexterm>
-<indexterm role="cp"><primary>UTF-8</primary></indexterm>
+<indexterm role="cp"><primary>UTF-8, engine support for</primary></indexterm>
 <indexterm role="cp"><primary>Unicode input, native</primary></indexterm>
 <indexterm role="cp"><primary>TrueType fonts</primary></indexterm>
 <indexterm role="cp"><primary>OpenType fonts</primary></indexterm>
 
-<para>&latex; is defined to be a set of commands that are run by a &tex;
-implementation (see <link linkend="Overview">Overview</link>).  This section gives a terse
-overview of the main programs (see also <link linkend="Command-line">Command line</link>).
+<indexterm role="cp"><primary>&tex; format (<literal>.fmt</literal>) files</primary></indexterm>
+<indexterm role="cp"><primary>&latex; format (<literal>.fmt</literal>) files</primary></indexterm>
+<indexterm role="cp"><primary>format files, &tex;</primary></indexterm>
+<indexterm role="fn"><primary>.fmt file</primary></indexterm>
+<para>&latex; is a large set of commands that is executed by a &tex;
+program (see <link linkend="Overview">Overview</link>). Such a set of commands is called a
+<firstterm>format</firstterm>, and is embodied in a binary <literal>.fmt</literal> file, which can
+be read much more quickly than the corresponding &tex; source.
 </para>
-<variablelist><varlistentry><term><literal>latex</literal>
-</term><term><literal>pdflatex</literal>
-</term><listitem><indexterm role="cp"><primary>pdf&tex; engine</primary></indexterm>
-<indexterm role="fn"><primary>etex command</primary></indexterm>
+<para>This section gives a terse overview of the &tex; programs that are
+commonly available (see also <link linkend="Command-line-interface">Command line interface</link>).
+</para>
+<variablelist><varlistentry><term><indexterm role="fn"><primary>latex</primary></indexterm><literal>latex</literal>
+</term><term><indexterm role="fn"><primary>pdflatex</primary></indexterm><literal>pdflatex</literal>
+</term><listitem><indexterm role="fn"><primary>etex command</primary></indexterm>
+<indexterm role="cp"><primary>pdf&tex; engine</primary></indexterm>
 <indexterm role="cp"><primary>e-&tex;</primary></indexterm>
-<anchor id="tex-engines-latex"/><para>In &tex; Live (<ulink url="http://tug.org/texlive">http://tug.org/texlive</ulink>), if &latex; is invoked
+<anchor id="tex-engines-latex"/><para>In &tex; Live (<ulink url="https://tug.org/texlive">https://tug.org/texlive</ulink>), if &latex; is invoked
 via either the system command <command>latex</command> or <command>pdflatex</command>,
-then the pdf&tex; engine is run (<ulink url="http://ctan.org/pkg/pdftex">http://ctan.org/pkg/pdftex</ulink>).
+then the pdf&tex; engine is run (<ulink url="https://ctan.org/pkg/pdftex">https://ctan.org/pkg/pdftex</ulink>).
 When invoked as <command>latex</command>, the main output is a <filename>.dvi</filename>
 file; as <command>pdflatex</command>, the main output is a <filename>.pdf</filename> file.
 </para>
 <para>pdf&tex; incorporates the e-&tex; extensions to Knuth’s original
-program (<ulink url="http://ctan.org/pkg/etex">http://ctan.org/pkg/etex</ulink>), including additional
+program (<ulink url="https://ctan.org/pkg/etex">https://ctan.org/pkg/etex</ulink>), 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 system
 command <command>etex</command>, but this is plain &tex; (and produces
@@ -392,25 +390,22 @@
 rather than pdf&tex;.  In any case, the e-&tex; extensions can be
 assumed to be available in &latex;.
 </para>
-</listitem></varlistentry><varlistentry><term><literal>lualatex</literal>
-</term><listitem><indexterm role="fn"><primary>lualatex command</primary></indexterm>
-<indexterm role="cp"><primary>Lua&tex;</primary></indexterm>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>lualatex</primary></indexterm><literal>lualatex</literal>
+</term><listitem><indexterm role="cp"><primary>Lua&tex;</primary></indexterm>
 <anchor id="tex-engines-lualatex"/><para>If &latex; is invoked via the system command <command>lualatex</command>, the
-Lua&tex; engine is run (<ulink url="http://ctan.org/pkg/luatex">http://ctan.org/pkg/luatex</ulink>).  This
+Lua&tex; engine is run (<ulink url="https://ctan.org/pkg/luatex">https://ctan.org/pkg/luatex</ulink>).  This
 program allows code written in the scripting language Lua
 (<ulink url="http://luatex.org">http://luatex.org</ulink>) to interact with &tex;’s typesetting.
 Lua&tex; handles UTF-8 Unicode input natively, can handle OpenType
 and TrueType fonts, and produces a <filename>.pdf</filename> file by default.
-There is also <command>dvilualatex</command> to produce a <filename>.dvi</filename> file,
-but this is rarely used.
+There is also <command>dvilualatex</command> to produce a <filename>.dvi</filename> file.
 </para>
-</listitem></varlistentry><varlistentry><term><literal>xelatex</literal>
-</term><listitem><indexterm role="fn"><primary>xelatex command</primary></indexterm>
-<indexterm role="cp"><primary>Xe&tex;</primary></indexterm>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>xelatex</primary></indexterm><literal>xelatex</literal>
+</term><listitem><indexterm role="cp"><primary>Xe&tex;</primary></indexterm>
 <indexterm role="fn"><primary>.xdv file</primary></indexterm>
 <indexterm role="fn"><primary>xdvipdfmx</primary></indexterm>
 <anchor id="tex-engines-xelatex"/><para>If &latex; is invoked with the system command <command>xelatex</command>, the
-Xe&tex; engine is run (<ulink url="http://tug.org/xetex">http://tug.org/xetex</ulink>).  Like Lua&tex;,
+Xe&tex; engine is run (<ulink url="https://tug.org/xetex">https://tug.org/xetex</ulink>).  Like Lua&tex;,
 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
@@ -421,12 +416,44 @@
 program, but this process is automatic.  The <literal>.xdv</literal> file is only
 useful for debugging.
 </para>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>platex</primary></indexterm><literal>platex</literal>
+</term><term><indexterm role="fn"><primary>uplatex</primary></indexterm><literal>uplatex</literal>
+</term><listitem><para>These commands provide significant additional support for Japanese and
+other languages; the <literal>u</literal> variant supports Unicode.  See
+<ulink url="https://ctan.org/pkg/ptex">https://ctan.org/pkg/ptex</ulink> and <ulink url="https://ctan.org/pkg/uptex">https://ctan.org/pkg/uptex</ulink>.
+</para></listitem></varlistentry></variablelist>
+<para>As of 2019, there is a companion <literal>-dev</literal> command and format for
+all of the above:
+</para>
+<variablelist><varlistentry><term><indexterm role="fn"><primary>dvilualatex-dev</primary></indexterm><literal>dvilualatex-dev</literal>
+</term><term><indexterm role="fn"><primary>latex-dev</primary></indexterm><literal>latex-dev</literal>
+</term><term><indexterm role="fn"><primary>lualatex-dev</primary></indexterm><literal>lualatex-dev</literal>
+</term><term><indexterm role="fn"><primary>pdflatex-dev</primary></indexterm><literal>pdflatex-dev</literal>
+</term><term><indexterm role="fn"><primary>platex-dev</primary></indexterm><literal>platex-dev</literal>
+</term><term><indexterm role="fn"><primary>uplatex-dev</primary></indexterm><literal>uplatex-dev</literal>
+</term><term><indexterm role="fn"><primary>xelatex-dev</primary></indexterm><literal>xelatex-dev</literal>
+</term><listitem><indexterm role="cp"><primary>release candidates</primary></indexterm>
+<indexterm role="cp"><primary>prerelease testing</primary></indexterm>
+<para>These are candidates for an upcoming &latex; release. The main
+purpose is to find and address compatibility problems before an
+official release.
+</para>
+<para>These <literal>-dev</literal> formats make it easy for anyone to help test
+documents and code: you can run, say, <literal>pdflatex-dev</literal> instead of
+<literal>pdflatex</literal>, without changing anything else in your environment.
+Indeed, it is easiest and most helpful to always run the <literal>-dev</literal>
+versions instead of bothering to switch back and forth. During quiet
+times after a release, the commands will be equivalent.
+</para>
+<para>These are not daily snapshots or untested development code. They
+undergo the same extensive regression testing by the &latex; team
+before being released.
+</para>
+<para>For more information, see “The &latex; release workflow and the
+&latex; <literal>dev</literal> formats” by Frank Mittelbach, <citetitle>TUGboat</citetitle> 40:2,
+<ulink url="https://tug.org/TUGboat/tb40-2/tb125mitt-dev.pdf">https://tug.org/TUGboat/tb40-2/tb125mitt-dev.pdf</ulink>.
+</para>
 </listitem></varlistentry></variablelist>
-<para>Other variants of &latex; and &tex; exist, e.g., to provide
-additional support for Japanese and other languages ([u]p&tex;,
-<ulink url="http://ctan.org/pkg/ptex">http://ctan.org/pkg/ptex</ulink>, <ulink url="http://ctan.org/pkg/uptex">http://ctan.org/pkg/uptex</ulink>).
-</para>
-
 </sect1>
 <sect1 label="2.4" id="LaTeX-command-syntax">
 <title>&latex; command syntax</title>
@@ -441,7 +468,7 @@
 </para>
 <para>&latex; commands names are case sensitive so that <literal>\pagebreak</literal>
 differs from <literal>\Pagebreak</literal> (the latter is not a standard command).
-Most commands are lowercase, but in any event you must enter all
+Most command names are lowercase, but in any event you must enter all
 commands in the same case as they are defined.
 </para>
 <para>A command may be followed by zero, one, or more arguments. These
@@ -458,12 +485,6 @@
 the first character of the following text be an open square bracket,
 hide it inside curly braces.
 </para>
-<para>Some of &latex;’s commands are a <firstterm>declaration</firstterm>.  Such a command
-changes the value the meaning of some other command or parameter.  For
-instance, the <literal>\mainmatter</literal> declaration changes the typesetting of
-page numbers from roman numerals to arabic (see <link linkend="_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter">\frontmatter &
-\mainmatter & \backmatter</link>).
-</para>
 <para>&latex; has the convention that some commands have a <literal>*</literal> form that
 is related to the form without a <literal>*</literal>, such as <literal>\chapter</literal> and
 <literal>\chapter*</literal>.  The exact difference in behavior varies from command
@@ -472,7 +493,19 @@
 <para>This manual describes all accepted options and <literal>*</literal>-forms for the
 commands it covers (barring unintentional omissions, a.k.a. bugs).
 </para>
+<indexterm role="cp"><primary>package, <literal>expl3</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>expl3</literal> package</primary></indexterm>
 
+<indexterm role="cp"><primary>package, <literal>xparse</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>xparse</literal> package</primary></indexterm>
+
+<indexterm role="cp"><primary>&latex;3 syntax</primary></indexterm>
+<para>As of the 2020-10-01 release of &latex;, the <literal>expl3</literal> and
+<literal>xparse</literal> packages are part of the &latex;2e format.  They
+provide a completely different underlying programming language
+syntax. We won’t try to cover them in this document; see the related
+package documentation and other &latex; manuals.
+</para>
 </sect1>
 <sect1 label="2.5" id="Environment">
 <title>Environment</title>
@@ -479,13 +512,13 @@
 
 <para>Synopsis:
 </para>
-<screen>\begin{<replaceable>environment name</replaceable>}
+<screen>\begin{<replaceable>environment-name</replaceable>}
   ...
-\end{<replaceable>environment name</replaceable>}
+\end{<replaceable>environment-name</replaceable>}
 </screen>
-<para>An area of &latex; source, inside of which there is a distinct
-behavior.  For instance, for poetry in &latex; put the lines between
-<literal>\begin{verse}</literal> and <literal>\end{verse}</literal>.
+<para>An <firstterm>environment</firstterm> is an area of &latex; source, inside of which
+there is a distinct behavior.  For instance, for poetry in &latex;
+put the lines between <literal>\begin{verse}</literal> and <literal>\end{verse}</literal>.
 </para>
 <screen>\begin{verse}
   There once was a man from Nantucket \\
@@ -492,12 +525,12 @@
   ...
 \end{verse}
 </screen>
-<para>See <link linkend="Environments">Environments</link> for a list of environments.  Particularly notable is
+<para>See <link linkend="Environments">Environments</link>, for a list of environments.  Particularly notable is
 that every &latex; document must have a <literal>document</literal> environment,
 a <literal>\begin{document} ... \end{document}</literal> pair.
 </para>
-<para>The <replaceable>environment name</replaceable> at the beginning must exactly match that at
-the end.  This includes the case where <replaceable>environment name</replaceable> ends in a
+<para>The <replaceable>environment-name</replaceable> at the beginning must exactly match that at
+the end.  This includes the case where <replaceable>environment-name</replaceable> ends in a
 star (<literal>*</literal>); both the <literal>\begin</literal> and <literal>\end</literal> texts must
 include the star.
 </para>
@@ -513,7 +546,7 @@
 
 </sect1>
 <sect1 label="2.6" id="CTAN">
-<title>CTAN: the Comprehensive &tex; Archive Network</title>
+<title>CTAN: The Comprehensive &tex; Archive Network</title>
 
 <indexterm role="cp"><primary>CTAN</primary></indexterm>
 
@@ -528,20 +561,22 @@
 a package that allows authors to format papers to that publisher’s
 specifications.
 </para>
-<para>In addition to the massive holdings, the web site offers features such
-as search by name or by functionality.
+<para>In addition to the massive holdings, the <literal>ctan.org</literal> web site
+offers features such as search by name or by functionality.
 </para>
 <indexterm role="cp"><primary>DANTE e.V.</primary></indexterm>
+<para>CTAN is not a single host, but instead is a set of hosts, one of which
+is the so-called “master”. The master host actively manages the
+material, for instance, by accepting uploads of new or updated
+packages. For many years, it has been hosted by the German &tex;
+group, DANTE e.V.
+</para>
 <indexterm role="cp"><primary>mirrors of CTAN</primary></indexterm>
-<para>CTAN is not a single site, but instead is a set of sites. One of the
-sites is the core. This site actively manages the material, for
-instance, by accepting uploads of new or updated packages. It is
-hosted by the German &tex; group DANTE e.V. Other sites around the
-world help out by mirroring, that is, automatically syncing their
-collections with the core site and then in turn making their copies
-publicly available. This gives users close to their location better
-access and relieves the load on the core site. The list of mirrors is
-at <ulink url="https://ctan.org/mirrors">https://ctan.org/mirrors</ulink>.
+<para>Other sites around the world help out by mirroring, that is,
+automatically syncing their collections with the master site and then
+in turn making their copies publicly available. This gives users close
+to their location better access and relieves the load on the master
+site. The list of mirrors is at <ulink url="https://ctan.org/mirrors">https://ctan.org/mirrors</ulink>.
 </para>
 
 </sect1>
@@ -584,9 +619,10 @@
 such as technical reports or theses, which may contain several chapters.
 </para>
 </listitem></varlistentry><varlistentry><term><literal>slides</literal>
-</term><listitem><anchor id="document-classes-slides"/><para>For slide presentations—rarely used today.  In its place the
-<literal>beamer</literal> package is perhaps the most prevalent (see <link linkend="beamer-template">beamer
-template</link>).
+</term><listitem><anchor id="document-classes-slides"/><para>For slide presentations—rarely used nowadays. The
+<literal>beamer</literal> package is perhaps the most prevalent
+(<ulink url="https://ctan.org/pkg/beamer">https://ctan.org/pkg/beamer</ulink>). See <link linkend="beamer-template">beamer template</link>, for a
+small template for a beamer document.
 </para>
 </listitem></varlistentry></variablelist>
 <para>Standard <replaceable>options</replaceable> are described in the next section.
@@ -721,6 +757,7 @@
 </term><term><literal>twoside</literal>
 </term><listitem><indexterm role="fn"><primary>\evensidemargin</primary></indexterm>
 <indexterm role="fn"><primary>\oddsidemargin</primary></indexterm>
+<!-- xx TODO re-align on the French version which is more accurate. -->
 <para>Selects one- or two-sided layout; default is <literal>oneside</literal>, except
 that in the <literal>book</literal> class the default is <literal>twoside</literal>.
 </para>
@@ -832,9 +869,9 @@
 declare <literal>\documentclass[11pt]{article}</literal> to set the default
 document font size.  
 </para>
-</listitem><listitem><para>Finally, in the <firstterm>more declarations part</firstterm> the class or package usually does
-most of its work: declaring new variables, commands and fonts, and
-loading other files.
+</listitem><listitem><para>Finally, in the <firstterm>more declarations part</firstterm> the class or package
+usually does most of its work: declaring new variables, commands and
+fonts, and loading other files.
 </para></listitem></orderedlist>
 <para>Here is a starting class file, which should be saved as <filename>stub.cls</filename>
 where &latex; can find it, for example in the same directory as the
@@ -853,7 +890,7 @@
 </para>
 <para>For more, see the official guide for class and package writers, the
 Class Guide, at
-<ulink url="http://www.latex-project.org/help/documentation/clsguide.pdf">http://www.latex-project.org/help/documentation/clsguide.pdf</ulink> (much
+<ulink url="https://www.latex-project.org/help/documentation/clsguide.pdf">https://www.latex-project.org/help/documentation/clsguide.pdf</ulink> (much
 of the descriptions here derive from this document), or the tutorial
 <ulink url="https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf">https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf</ulink>.
 </para>
@@ -957,10 +994,10 @@
 <literal>\ProcessOptions</literal>).
 </para>
 <para>If you request an option that has not been declared, by default this
-will produce a warning like <literal>Unused global option(s): [badoption].</literal>
-Change this behaviour with the starred version
-<literal>\DeclareOption*{<replaceable>code</replaceable>}</literal>.  For example, many classes extend
-an existing class, using a declaration such as
+will produce a warning like <literal>Unused global option(s):
+[badoption].</literal>  Change this behavior with the starred version
+<literal>\DeclareOption*{<replaceable>code</replaceable>}</literal>.  For example, many classes
+extend an existing class, using a command such as
 <literal>\LoadClass{article}</literal>, and for passing extra options to the
 underlying class use code such as this.
 </para>
@@ -1015,8 +1052,8 @@
 <literal>\renew…</literal> or <literal>\provide…</literal> or you get an error.
 </para></listitem></orderedlist>
 
-</listitem></varlistentry><varlistentry><term><literal>\IfFileExists{<replaceable>file name</replaceable>}{<replaceable>true code</replaceable>}{<replaceable>false code</replaceable>}</literal>
-</term></varlistentry><varlistentry><term><literal>\InputIfFileExists{<replaceable>file name</replaceable>}{<replaceable>true code</replaceable>}{<replaceable>false code</replaceable>}</literal>
+</listitem></varlistentry><varlistentry><term><literal>\IfFileExists{<replaceable>filename</replaceable>}{<replaceable>true code</replaceable>}{<replaceable>false code</replaceable>}</literal>
+</term></varlistentry><varlistentry><term><literal>\InputIfFileExists{<replaceable>filename</replaceable>}{<replaceable>true code</replaceable>}{<replaceable>false code</replaceable>}</literal>
 </term><listitem><indexterm role="fn"><primary>\IfFileExists</primary></indexterm>
 <indexterm role="fn"><primary>\InputIfFileExists</primary></indexterm>
 <para>Execute <replaceable>true code</replaceable> if &latex; finds the file <filename><replaceable>file
@@ -1223,12 +1260,12 @@
 than the given date.  (Although, in practice package users only rarely
 include a date, and class users almost never do.)
 </para>
-</listitem></varlistentry><varlistentry><term><literal>\ProvidesFile{<replaceable>file name</replaceable>}[<replaceable>additional information</replaceable>]</literal>
+</listitem></varlistentry><varlistentry><term><literal>\ProvidesFile{<replaceable>filename</replaceable>}[<replaceable>additional information</replaceable>]</literal>
 </term><listitem><indexterm role="fn"><primary>\ProvidesFile</primary></indexterm>
 <para>Declare a file other than the main class and package files, such as
 configuration files or font definition files.  Put this command in that
 file and you get in the log a string like <literal>File: test.config
-2017/10/12 config file for test.cls</literal> for <replaceable>file name</replaceable> equal to
+2017/10/12 config file for test.cls</literal> for <replaceable>filename</replaceable> equal to
 ‘<literal>test.config</literal>’ and <replaceable>additional information</replaceable> equal to
 ‘<literal>2017/10/12 config file for test.cls</literal>’.
 </para>
@@ -1273,12 +1310,530 @@
 <indexterm role="cp"><primary>typefaces</primary></indexterm>
 <indexterm role="cp"><primary>fonts</primary></indexterm>
 
-<para>Two important aspects of selecting a <firstterm>font</firstterm> are specifying a size
-and a style.  The &latex; commands for doing this are described here.
+<para>&latex; comes with powerful font capacities.  For one thing, its New
+Font Selection Scheme allows you to work easily with the font families
+in your document (for instance, see <link linkend="Font-styles">Font styles</link>).  And,
+&latex; documents can use most fonts that are available today,
+including versions of Times Roman, Helvetica, Courier, etc.  (Note,
+though, that many fonts do not have support for mathematics.)
 </para>
+<para>The first typeface in the &tex; world was the Computer Modern family,
+developed by Donald Knuth.  It is the default for &latex; documents and
+is still the most widely used.  But changing to another font often only
+involves a few commands.  For instance, putting the following in your
+preamble gives you a Palatino-like font, which is handsome and more
+readable online than many other fonts, while still allowing you to
+typeset mathematics.  (This example is from Michael Sharpe,
+<ulink url="https://math.ucsd.edu/~msharpe/RcntFnts.pdf">https://math.ucsd.edu/~msharpe/RcntFnts.pdf</ulink>.)
+</para>
+<screen>\usepackage[osf]{newpxtext} % osf for text, not math
+\usepackage{cabin} % sans serif
+\usepackage[varqu,varl]{inconsolata} % sans serif typewriter
+\usepackage[bigdelims,vvarbb]{newpxmath} % bb from STIX
+\usepackage[cal=boondoxo]{mathalfa} % mathcal
+</screen>
+<para>In addition, the <command>xelatex</command> or <command>lualatex</command> engines allow
+you to use any fonts on your system that are in OpenType or TrueType
+format (see <link linkend="TeX-engines">&tex; engines</link>).
+</para>
+<para>The &latex; Font Catalogue (<ulink url="https://tug.org/FontCatalogue">https://tug.org/FontCatalogue</ulink>) shows
+font sample graphics and copy-and-pasteable source to use many fonts,
+including many with support for mathematics.  It aims to cover all Latin
+alphabet free fonts available for easy use with &latex;.
+</para>
+<para>More information is also available from the &tex; Users Group, at
+<ulink url="https://www.tug.org/fonts/">https://www.tug.org/fonts/</ulink>.
+</para>
 
 
-<sect1 label="4.1" id="Font-styles">
+<sect1 label="4.1" id="fontenc-package">
+<title><literal>fontenc</literal> package</title>
+
+<indexterm role="cp"><primary>font encoding</primary></indexterm>
+<indexterm role="cp"><primary>UTF-8, font support for</primary></indexterm>
+<indexterm role="cp"><primary>T1</primary></indexterm>
+<indexterm role="cp"><primary>OT1</primary></indexterm>
+<indexterm role="fn"><primary>fontenc</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\usepackage[<replaceable>font_encoding</replaceable>]{fontenc}
+</screen>
+<para>or
+</para>
+<screen>\usepackage[<replaceable>font_encoding1</replaceable>, <replaceable>font_encoding2</replaceable>, ...]{fontenc}
+</screen>
+<para>Specify the font encodings.  A font encoding is a mapping of the
+character codes to the font glyphs that are used to typeset your output.
+</para>
+<para>This package only applies if you use the <literal>pdflatex</literal> engine
+(see <link linkend="TeX-engines">&tex; engines</link>).  If you use the <command>xelatex</command> or
+<command>lualatex</command> engine then instead use the <filename>fontspec</filename> package.
+</para>
+<para>&tex;’s original font family, Computer Modern, has a limited character
+set. For instance, to make common accented characters you must use
+<literal>\accent</literal> (see <link linkend="_005caccent">\accent</link>) but this disables hyphenation.  &tex;
+users have agreed on a number of standards to access the larger sets of
+characters provided by modern fonts.  If you are using
+<command>pdflatex</command> then this in the preamble
+</para>
+<screen>\usepackage[T1]{fontenc}
+</screen>
+<para>gives you support for the most widespread European languages, including
+French, German, Italian, Polish, and others.  In particular, if you have
+words with accented letters then &latex; will hyphenate them and your
+output can be copied and pasted.  (The optional second line allows you
+to directly enter accented characters into your source file.)
+</para>
+<indexterm role="cp"><primary>package, <literal>lmodern</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>lmodern</literal> package</primary></indexterm>
+<indexterm role="cp"><primary>package, <literal>cm-super</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>cm-super</literal> package</primary></indexterm>
+
+<para>If you are using an encoding such as <literal>T1</literal> and the characters appear
+blurry or do not magnify well then your fonts may be bitmapped,
+sometimes called raster or Type 3.  You want vector fonts.  Use a
+package such as <filename>lmodern</filename> or <filename>cm-super</filename> to get a font that
+extends &latex;’s default using vector fonts.
+</para>
+<para>For each <replaceable>font_encoding</replaceable> given as an option but not already
+declared, this package loads the encoding definition files, named
+<filename><replaceable>font_encoding</replaceable>enc.def</filename>.  It also sets <literal>\encodingdefault</literal>
+to be the last encoding in the option list.
+</para>
+<para>These are the common values for <replaceable>font_encoding</replaceable>.
+</para>
+<variablelist><varlistentry><term><literal>OT1</literal>
+</term><listitem><para>The original encoding for &tex;.  Limited to mostly English characters.
+</para>
+</listitem></varlistentry><varlistentry><term><literal>OMS, OML</literal>
+</term><listitem><para>Math symbols and math letters encoding.
+</para>
+</listitem></varlistentry><varlistentry><term><literal>T1</literal>
+</term><listitem><para>&tex; text extended.  Sometimes called the Cork encoding for the Users
+Group meeting where it was developed.  Gives access to most European
+accented characters.  The most common option for this package.
+</para>
+</listitem></varlistentry><varlistentry><term><literal>TS1</literal>
+</term><listitem><para>Text Companion encoding.
+</para></listitem></varlistentry></variablelist>
+<para>&latex;’s default is to load <literal>OML</literal>, <literal>T1</literal>, <literal>OT1</literal>, and
+then <literal>OMS</literal>, and set the default to <literal>OT1</literal>.
+</para>
+<para>Even if you do not use accented letters, you may need to specify a font
+encoding if your font requires it.
+</para>
+<para>If you use <literal>T1</literal> encoded fonts other than the default Computer
+Modern family then you may need to load the package that selects your
+fonts before loading <filename>fontenc</filename>, to prevent the system from loading
+any <literal>T1</literal> encoded fonts from the default.
+</para>
+<para>The &latex; team reserve encoding names starting with: ‘<literal>T</literal>’ for the
+standard text encodings with 256 characters, ‘<literal>TS</literal>’ for symbols that
+extend the corresponding T encodings, ‘<literal>X</literal>’ for test encodings,
+‘<literal>M</literal>’ for standard math encodings with 256 characters, ‘<literal>A</literal>’ for
+special applications, ‘<literal>OT</literal>’ for standard text encodings with 128
+characters, and ‘<literal>OM</literal>’ for standard math encodings with 128
+characters (‘<literal>O</literal>’ stands for ‘<literal>obsolete</literal>’).
+</para>
+<para>This package provides a number of commands, detailed below.  Many of
+them are encoding-specific, so if you have defined a command that works
+for one encoding but the current encoding is different then the command
+is not in effect.
+</para>
+
+
+<sect2 label="4.1.1" id="_005cDeclareFontEncoding">
+<title><literal>\DeclareFontEncoding</literal></title>
+
+<indexterm role="cp"><primary>font encoding, declaring</primary></indexterm>
+<indexterm role="cp"><primary>encoding, font</primary></indexterm>
+<indexterm role="cp"><primary>accents, defining</primary></indexterm>
+<indexterm role="fn"><primary>\DeclareFontEncoding</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\DeclareFontEncoding{<replaceable>encoding</replaceable>}{<replaceable>text-settings</replaceable>}{<replaceable>math-settings</replaceable>}
+</screen>
+<para>Declare the font encoding <replaceable>encoding</replaceable>.  It also saves the value of
+<replaceable>encoding</replaceable> in <literal>\LastDeclaredEncoding</literal>
+(see <link linkend="_005cLastDeclaredEncoding">\LastDeclaredEncoding</link>).
+</para>
+<para>The file <filename>t1enc.def</filename> contains this line (followed by many others).
+</para>
+<screen>\DeclareFontEncoding{T1}{}{}
+</screen>
+<para>The <replaceable>text-settings</replaceable> are the commands that &latex; will run every
+time it switches from one encoding to another with the
+<literal>\selectfont</literal> or <literal>\fontencoding</literal> command.  The
+<replaceable>math-settings</replaceable> are the commands that &latex; will use whenever the
+font is accessed as a math alphabet.
+</para>
+<para>&latex; ignores any space characters inside <replaceable>text-settings</replaceable> and
+<replaceable>math-settings</replaceable>, to prevent unintended spaces in the output.
+</para>
+<para>If you invent an encoding you should pick a two or three letter name
+starting with ‘<literal>L</literal>’ for ‘<literal>local</literal>’, or ‘<literal>E</literal>’ for
+‘<literal>experimental</literal>’.
+</para>
+<para>Note that output encoding files may be read several times by &latex; so
+using, e.g., <literal>\newcommand</literal> may cause an error.  In addition, such
+files should contain <literal>\ProvidesFile</literal> line (see <link linkend="Class-and-package-commands">Class and package
+commands</link>).
+</para>
+<para>Note also that you should use the <literal>\...Default</literal> commands only in a
+package, not in the encoding definition files, since those files
+should only contain declarations specific to that encoding.
+</para>
+
+</sect2>
+<sect2 label="4.1.2" id="_005cDeclareTextAccent">
+<title><literal>\DeclareTextAccent</literal></title>
+
+<indexterm role="cp"><primary>font encoding</primary></indexterm>
+<indexterm role="cp"><primary>accents, defining</primary></indexterm>
+<indexterm role="fn"><primary>\DeclareTextAccent</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\DeclareTextAccent{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>slot</replaceable>}
+</screen>
+<para>Define an accent, to be put on top of other glyphs, in the encoding
+<replaceable>encoding</replaceable> at the location <replaceable>slot</replaceable>.
+</para>
+<para>This line from <filename>t1enc.def</filename> declares that to make a circumflex
+accent as in <literal>\^A</literal>, the system will put the accent in slot 2
+over the ‘<literal>A</literal>’ character, which is represented in ASCII as 65.
+(This holds unless there is a relevant <literal>DeclareTextComposite</literal> or
+<literal>\DeclareTextCompositeCommand</literal> declaration;
+see <link linkend="_005cDeclareTextComposite">\DeclareTextComposite</link>.)
+</para>
+<screen>\DeclareTextAccent{\^}{T1}{2}
+</screen>
+<para>If <replaceable>cmd</replaceable> has already been defined then <literal>\DeclareTextAccent</literal>
+does not give an error but it does log the redefinition in the
+transcript file.
+</para>
+
+</sect2>
+<sect2 label="4.1.3" id="_005cDeclareTextAccentDefault">
+<title><literal>\DeclareTextAccentDefault</literal></title>
+
+<indexterm role="cp"><primary>accents, defining</primary></indexterm>
+<indexterm role="fn"><primary>\DeclareTextAccent</primary></indexterm>
+<indexterm role="fn"><primary>\DeclareTextAccentDefault</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\DeclareTextAccentDefault{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}
+</screen>
+<para>If there is an encoding-specific accent command <replaceable>cmd</replaceable> but there is
+no associated <literal>\DeclareTextAccent</literal> for that encoding then this
+command will pick up the slack, by saying to use it as described for
+<replaceable>encoding</replaceable>.
+</para>
+<para>For example, to make the encoding <literal>OT1</literal> be the default encoding for
+the accent <literal>\"</literal>, declare this.
+</para>
+<screen>\DeclareTextAccentDefault{\"}{OT1}
+</screen>
+<para>If you issue a <literal>\"</literal> when the current encoding does not have a
+definition for that accent then &latex; will use the definition from
+<literal>OT1</literal>
+</para>
+<para>That is, this command is equivalent to this call (see <link linkend="_005cUseTextSymbol-_0026-_005cUseTextAccent">\UseTextSymbol
+& \UseTextAccent</link>).
+</para>
+<screen>\DeclareTextCommandDefault[1]{<replaceable>cmd</replaceable>}
+   {\UseTextAccent{<replaceable>encoding</replaceable>}{<replaceable>cmd</replaceable>}{#1}}
+</screen>
+<para>Note that <literal>\DeclareTextAccentDefault</literal> works for any one-argument
+<filename>fontenc</filename> command, not just the accent command.
+</para>
+
+</sect2>
+<sect2 label="4.1.4" id="_005cDeclareTextCommand-_0026-_005cProvideTextCommand">
+<title><literal>\DeclareTextCommand</literal> & <literal>\ProvideTextCommand</literal></title>
+
+<indexterm role="fn"><primary>\DeclareTextCommand</primary></indexterm>
+<indexterm role="fn"><primary>\DeclareTextCommandDefault</primary></indexterm>
+<indexterm role="fn"><primary>\ProvideTextCommand</primary></indexterm>
+
+<para>Synopsis, one of:
+</para>
+<screen>\DeclareTextCommand{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>defn</replaceable>}
+\DeclareTextCommand{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn}</replaceable>
+\DeclareTextCommand{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>}
+</screen>
+<para>or one of:
+</para>
+<screen>\ProvideTextCommand{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>defn</replaceable>}
+\ProvideTextCommand{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn</replaceable>}
+\ProvideTextCommand{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>}
+</screen>
+<para>Define the command <replaceable>cmd</replaceable>, which will be specific to one encoding.
+The command name <replaceable>cmd</replaceable> must begin with a backslash, \.  These
+commands can only appear in the preamble.  Redefining <literal>cmd</literal> does
+not cause an error. The defined command will be robust even if the code
+in <replaceable>defn</replaceable> is fragile (see <link linkend="_005cprotect">\protect</link>).
+</para>
+<para>For example, the file <filename>t1enc.def</filename> contains this line.
+</para>
+<screen>\DeclareTextCommand{\textperthousand}{T1}{\%\char 24 }
+</screen>
+<para>With that, you can express parts per thousand.
+</para>
+<screen>\usepackage[T1]{fontenc}  % in preamble
+  ...
+Legal limit is \( 0.8 \)\textperthousand.
+</screen>
+<para>If you change the font encoding to <literal>OT1</literal> then you get an error like
+‘<literal>LaTeX Error: Command \textperthousand unavailable in encoding
+OT1</literal>’.
+</para>
+<para>The <literal>\ProvideTextCommand</literal> variant does the same, except that it
+does nothing if <replaceable>cmd</replaceable> is already defined.  The
+<literal>\DeclareTextSymbol</literal> command is faster than this one for simple
+slot-to-glyph association (see <link linkend="_005cDeclareTextSymbol">\DeclareTextSymbol</link>)
+</para>
+<para>The optional <replaceable>nargs</replaceable> and <replaceable>optargsdefault</replaceable> arguments play the
+same role here as in <literal>\newcommand</literal> (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand &
+\renewcommand</link>).  Briefly, <replaceable>nargs</replaceable> is an integer from 0 to 9
+specifying the number of arguments that the defined command <literal>cmd</literal>
+takes.  This number includes any optional argument.  Omitting this
+argument is the same as specifying 0, meaning that <replaceable>cmd</replaceable> will have
+no arguments.  And, if <replaceable>optargsdefault</replaceable> is present then the first
+argument of <literal>\<replaceable>cmd</replaceable></literal> is optional, with default value
+<replaceable>optargdefault</replaceable> (which may be the empty string).  If
+<replaceable>optargsdefault</replaceable> is not present then <literal>\<replaceable>cmd</replaceable></literal> does not take
+an optional argument.
+</para>
+
+</sect2>
+<sect2 label="4.1.5" id="_005cDeclareTextCommandDefault-_0026-_005cProvideTextCommandDefault">
+<title><literal>\DeclareTextCommandDefault</literal> & <literal>\ProvideTextCommandDefault </literal></title>
+
+<indexterm role="fn"><primary>\DeclareTextCommand</primary></indexterm>
+<indexterm role="fn"><primary>\DeclareTextCommandDefault</primary></indexterm>
+<indexterm role="fn"><primary>\ProvideTextCommand</primary></indexterm>
+<indexterm role="fn"><primary>\ProvideTextCommandDefault</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\DeclareTextCommandDefault{<replaceable>cmd</replaceable>}{<replaceable>defn</replaceable>}
+</screen>
+<para>or:
+</para>
+<screen>\ProvideTextCommandDefault{<replaceable>cmd</replaceable>}{<replaceable>defn</replaceable>}
+</screen>
+<para>Give a default definition for <replaceable>cmd</replaceable>, for when that command is not
+defined in the encoding currently in force. This default should only use
+encodings known to be available.
+</para>
+<para>This makes <literal>\copyright</literal> available.
+</para>
+<screen>\DeclareTextCommandDefault{\copyright}{\textcircled{c}}
+</screen>
+<para>It uses only an encoding (OMS) that is always available.
+</para>
+<para>The <literal>\DeclareTextCommandDefault</literal> should not occur in the encoding
+definition files since those files should declare only commands for use
+when you select that encoding. It should instead be in a package.
+</para>
+<para>As with the related non-default commands, the
+<literal>\ProvideTextCommandDefault</literal> has exactly the same behavior as
+<literal>\DeclareTextCommandDefault</literal> except that it does nothing if
+<replaceable>cmd</replaceable> is already defined (see <link linkend="_005cDeclareTextCommand-_0026-_005cProvideTextCommand">\DeclareTextCommand &
+\ProvideTextCommand</link>).  So, packages can use it to provide fallbacks
+that other packages can improve upon.
+</para>
+
+</sect2>
+<sect2 label="4.1.6" id="_005cDeclareTextComposite">
+<title><literal>\DeclareTextComposite</literal></title>
+
+<indexterm role="cp"><primary>accents, defining</primary></indexterm>
+<indexterm role="fn"><primary>\DeclareTextComposite</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\DeclareTextComposite{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>simple_object</replaceable>}{<replaceable>slot</replaceable>}
+</screen>
+<para>Access an accented glyph directly, that is, without having to put an
+accent over a separate character.
+</para>
+<para>This line from <filename>t1enc.def</filename> means that <literal>\^o</literal> will cause
+&latex; to typeset lowercase ‘<literal>o</literal>’ by taking the character
+directly from location 224 in the font.
+</para>
+<screen>\DeclareTextComposite{\^}{T1}{o}{244}
+</screen>
+<para>See <link linkend="fontenc-package">fontenc package</link>, for a list of common encodings.  The
+<replaceable>simple_object</replaceable> should be a single character or a single command.
+The <replaceable>slot</replaceable> argument is usually a positive integer represented in
+decimal (although octal or hexadecimal are possible).  Normally
+<replaceable>cmd</replaceable> has already been declared for this encoding, either with
+<literal>\DeclareTextAccent</literal> or with a one-argument
+<literal>\DeclareTextCommand</literal>.  In <filename>t1enc.def</filename>, the above line follows
+the <literal>\DeclareTextAccent{\^}{T1}{2}</literal> command.
+</para>
+
+</sect2>
+<sect2 label="4.1.7" id="_005cDeclareTextCompositeCommand">
+<title><literal>\DeclareTextCompositeCommand</literal></title>
+
+<indexterm role="cp"><primary>accents, defining</primary></indexterm>
+<indexterm role="fn"><primary>\DeclareTextCompositeCommand</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\DeclareTextCompositeCommand{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>arg</replaceable>}{<replaceable>code</replaceable>}
+</screen>
+<para>A more general version of <literal>\DeclareTextComposite</literal> that runs
+arbitrary code with <replaceable>cmd</replaceable>.
+</para>
+<para>This allows accents on ‘<literal>i</literal>’ to act like accents on dotless i,
+<literal>\i</literal>.
+</para>
+<screen>\DeclareTextCompositeCommand{\'}{OT1}{i}{\'\i}
+</screen>
+<para>See <link linkend="fontenc-package">fontenc package</link>, for a list of common encodings.  Normally
+<replaceable>cmd</replaceable> will have already been declared with <literal>\DeclareTextAccent</literal>
+or as a one argument <literal>\DeclareTextCommand</literal>.
+</para>
+
+</sect2>
+<sect2 label="4.1.8" id="_005cDeclareTextSymbol">
+<title><literal>\DeclareTextSymbol</literal></title>
+
+<indexterm role="cp"><primary>symbol, defining</primary></indexterm>
+<indexterm role="fn"><primary>\DeclareTextSymbol</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\DeclareTextSymbol{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>slot</replaceable>}
+</screen>
+<para>Define a symbol in the encoding <replaceable>encoding</replaceable> at the location
+<replaceable>slot</replaceable>.  Symbols defined in this way are for use in text, not
+mathematics.
+</para>
+<para>For example, this line from <filename>t1enc.def</filename> declares the number of the
+glyph to use for &#x00AB;, the left guillemet.
+</para>
+<screen>\DeclareTextSymbol{\guillemotleft}{T1}{19}
+</screen>
+<para>The command <literal>\DeclareTextCommand{\guillemotleft}{T1}{\char
+19}</literal> has the same effect but is slower (see <link linkend="_005cDeclareTextCommand-_0026-_005cProvideTextCommand">\DeclareTextCommand &
+\ProvideTextCommand</link>).
+</para>
+<para>See <link linkend="fontenc-package">fontenc package</link>, for a list of common encodings.  The <replaceable>slot</replaceable>
+can be specified in decimal, or octal (as in <literal>'023</literal>), or
+hexadecimal (as in <literal>"13</literal>), although decimal has the advantage that
+single quote or double quote could be redefined by another package.
+</para>
+<para>If <replaceable>cmd</replaceable> has already been defined then <literal>\DeclareTextSymbol</literal>
+does not give an error but it does log the redefinition in the
+transcript file.
+</para>
+
+</sect2>
+<sect2 label="4.1.9" id="_005cDeclareTextSymbolDefault">
+<title><literal>\DeclareTextSymbolDefault</literal></title>
+
+<indexterm role="cp"><primary>accents, defining</primary></indexterm>
+<indexterm role="fn"><primary>\DeclareTextSymbol</primary></indexterm>
+<indexterm role="fn"><primary>\DeclareTextSymbolDefault</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\DeclareTextSymbolDefault{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}
+</screen>
+<para>If there is an encoding-specific symbol command <replaceable>cmd</replaceable> but there is no
+associated <literal>\DeclareTextSymbol</literal> for that encoding, then this command
+will pick up the slack, by saying to get the symbol as described for
+<replaceable>encoding</replaceable>.
+</para>
+<para>For example, to declare that if the current encoding has no meaning for
+<literal>\textdollar</literal> then use the one from <literal>OT1</literal>, declare this.
+</para>
+<screen>\DeclareTextSymbolDefault{\textdollar}{OT1}
+</screen>
+<para>That is, this command is equivalent to this call (see <link linkend="_005cUseTextSymbol-_0026-_005cUseTextAccent">\UseTextSymbol
+& \UseTextAccent</link>).
+</para>
+<screen>\DeclareTextCommandDefault{<replaceable>cmd</replaceable>}
+   {\UseTextSymbol{<replaceable>encoding</replaceable>}{<replaceable>cmd</replaceable>}}
+</screen>
+<para>Note that <literal>\DeclareTextSymbolDefault</literal> can be used to define a
+default for any zero-argument <filename>fontenc</filename> command.
+</para>
+
+</sect2>
+<sect2 label="4.1.10" id="_005cLastDeclaredEncoding">
+<title><literal>\LastDeclaredEncoding</literal></title>
+
+<indexterm role="fn"><primary>\LastDeclaredEncoding</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\LastDeclaredEncoding
+</screen>
+<para>Get the name of the most recently declared encoding.  The
+<literal>\DeclareFontEncoding</literal> command stores the name so that it can be
+retrieved with this command (see <link linkend="_005cDeclareFontEncoding">\DeclareFontEncoding</link>).
+</para>
+<para>This relies on <literal>\LastDeclaredEncoding</literal> rather than give the
+name of the encoding explicitly.
+</para>
+<screen>\DeclareFontEncoding{JH1}{}{}
+\DeclareTextAccent{\'}{\LastDeclaredEncoding}{0}
+</screen>
+
+</sect2>
+<sect2 label="4.1.11" id="_005cUseTextSymbol-_0026-_005cUseTextAccent">
+<title><literal>\UseTextSymbol</literal> & <literal>\UseTextAccent</literal></title>
+
+<indexterm role="fn"><primary>\UseTextSymbol</primary></indexterm>
+<indexterm role="fn"><primary>\UseTextAccent</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\UseTextSymbol{<replaceable>encoding</replaceable>}{<replaceable>cmd</replaceable>}
+</screen>
+<para>or:
+</para>
+<screen>\UseTextAccent{<replaceable>encoding</replaceable>}{<replaceable>cmd</replaceable>}{<replaceable>text</replaceable>}
+</screen>
+<para>Use a symbol or accent not from the current encoding.
+</para>
+<para>In general, to use a <filename>fontenc</filename> command in an encoding where it is
+not defined, and if the command has no arguments, then you can use it
+like this:
+</para>
+<screen>\UseTextSymbol{OT1}{\ss}
+</screen>
+<para>which is equivalent to this (note the outer braces form a group, so &latex;
+reverts back to the prior encoding after the <literal>\ss</literal>):
+</para>
+<screen>{\fontencoding{OT1}\selectfont\ss}
+</screen>
+<para>Similarly, to use a <filename>fontenc</filename> command in an encoding where it is
+not defined, and if the command has one argument, you can use it like this:
+</para>
+<screen>\UseTextAccent{OT1}{\'}{a}
+</screen>
+<para>which is equivalent to this (again note the outer braces forming a group):
+</para>
+<screen>{fontencoding{OT1}\selectfont\'{\fontencoding{<replaceable>enc_in_use</replaceable>}\selectfont a}}
+</screen>
+<para>Here, <replaceable>enc_in_use</replaceable> is the encoding in force before this sequence
+of commands, so that ‘<literal>a</literal>’ is typeset using the current encoding
+and only the accent is taken from <literal>OT1</literal>.
+</para>
+
+</sect2>
+</sect1>
+<sect1 label="4.2" id="Font-styles">
 <title>Font styles</title>
 
 <indexterm role="cp"><primary>font styles</primary></indexterm>
@@ -1287,17 +1842,19 @@
 
 <para>The following type style commands are supported by &latex;.
 </para>
+<indexterm role="cp"><primary>declaration form of font style commands</primary></indexterm>
 <para>In the table below the listed commands, the <literal>\text...</literal>  commands,
-is used with an argument, as in <literal>\textit{<replaceable>text</replaceable>}</literal>.  This is
-the preferred form.  But shown after it, in parenthesis, is the
-corresponding declaration form, which is sometimes useful.  This form
-takes no arguments, as in <literal>{\itshape <replaceable>text</replaceable>}</literal>.  The scope of
-the declaration form lasts until the next type style command or the end
-of the current group.  In addition, each has an environment form such as
-<literal>\begin{itshape}...\end{itshape}</literal>.
+are used with an argument as in <literal>\textit{<replaceable>text</replaceable>}</literal>.  This is
+the preferred form.  But shown after it in parenthesis is the
+corresponding <firstterm>declaration form</firstterm>, which is often useful.  This
+form takes no arguments, as in <literal>{\itshape <replaceable>text</replaceable>}</literal>.  The
+scope of the declaration form lasts until the next type style command
+or the end of the current group.  In addition, each has an environment
+form such as <literal>\begin{itshape}...\end{itshape}</literal>, which we’ll
+describe further at the end of the section.
 </para>
-<para>These commands, in both the argument form and the declaration form, are
-cumulative; for instance you can get bold sans serif by saying either of
+<para>These commands, in any of the three forms, are cumulative; for instance
+you can get bold sans serif by saying either of
 <literal>\sffamily\bfseries</literal> or <literal>\bfseries\sffamily</literal>.
 </para>
 <indexterm role="fn"><primary>\nocorrlist</primary></indexterm>
@@ -1305,7 +1862,7 @@
 <para>One advantage of these commands is that they automatically insert italic
 corrections if needed (see <link linkend="_005c_002f">\/</link>).  Specifically, they insert the
 italic correction unless the following character is in the list
-<literal>\nocorrlist</literal>, which by default consists of a period and a comma.
+<literal>\nocorrlist</literal>, which by default consists of period and comma.
 To suppress the automatic insertion of italic correction, use
 <literal>\nocorr</literal> at the start or end of the command argument, such as
 <literal>\textit{\nocorr text}</literal> or <literal>\textsc{text \nocorr}</literal>.
@@ -1377,8 +1934,8 @@
 </para>
 <para>(The unconditional commands below are an older version of font
 switching. The earlier commands are an improvement in most
-circumstances. But sometimes an unconditional font switch is precisely
-what you want.)
+circumstances. But sometimes an unconditional font switch is what is
+needed.)
 </para>
 <variablelist><varlistentry><term><indexterm role="fn"><primary>\bf</primary></indexterm><literal>\bf</literal>
 </term><listitem><indexterm role="cp"><primary>bold font</primary></indexterm>
@@ -1465,23 +2022,19 @@
 <indexterm role="cp"><primary>numerals, old-style</primary></indexterm>
 <indexterm role="cp"><primary>old-style numerals</primary></indexterm>
 <indexterm role="cp"><primary>lining numerals</primary></indexterm>
-<indexterm role="cp"><primary>package, <literal>textcomp</literal></primary></indexterm>
-<indexterm role="cp"><primary><literal>textcomp</literal> package</primary></indexterm>
-
-<para>Finally, the command <literal>\oldstylenums{<replaceable>numerals</replaceable>}</literal> will typeset
-so-called “old-style” numerals, which have differing heights and
-depths (and sometimes widths) from the standard “lining” numerals,
-which all have the same height as uppercase letters.  &latex;’s
-default fonts support this, and will respect <literal>\textbf</literal> (but not
-other styles; there are no italic old-style numerals in Computer
-Modern).  Many other fonts have old-style numerals also; sometimes the
-<literal>textcomp</literal> package must be loaded, and sometimes package options
-are provided to make them the default.  FAQ entry:
-<ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=osf">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=osf</ulink>.
+<para>Finally, the command <literal>\oldstylenums{<replaceable>numerals</replaceable>}</literal> will
+typeset so-called “old-style” numerals, which have differing heights
+and depths (and sometimes widths) from the standard “lining”
+numerals, which all have the same height as uppercase letters.
+&latex;’s default fonts support this, and will respect <literal>\textbf</literal>
+(but not other styles; there are no italic old-style numerals in
+Computer Modern).  Many other fonts have old-style numerals also;
+sometimes package options are provided to make them the default.  FAQ
+entry: <ulink url="https://www.texfaq.org/FAQ-osf">https://www.texfaq.org/FAQ-osf</ulink>.
 </para>
 
 </sect1>
-<sect1 label="4.2" id="Font-sizes">
+<sect1 label="4.3" id="Font-sizes">
 <title>Font sizes</title>
 
 <indexterm role="cp"><primary>font sizes</primary></indexterm>
@@ -1527,23 +2080,36 @@
 </para></entry></row><row><entry><para><literal>\Huge</literal>
 </para></entry><entry><para>24.88      </para></entry><entry><para>24.88      </para></entry><entry><para>24.88
 </para></entry></row></tbody></tgroup></informaltable>
-<para>The commands are listed here in declaration forms. You use them by
-declaring them, as with this example.
+<indexterm role="cp"><primary>declaration form of font size commands</primary></indexterm>
+<para>The commands are listed here in declaration (not environment) form,
+since that is how they are typically used.  For example.
 </para>
 <screen>\begin{quotation} \small
   The Tao that can be named is not the eternal Tao.
 \end{quotation}
 </screen>
-<para>The scope of the <literal>\small</literal> lasts until the end of the
-<literal>quotation</literal> environment.  It would also end at the next type style
-command or the end of the current group, so you could enclose it in
-extra curly braces <literal>{\small We are here, we are here, we are
-here!}</literal>.  You can instead use the environment form of these commands;
-for instance, <literal>\begin{tiny}...\end{tiny}</literal>.
+<para>Here, the scope of the <literal>\small</literal> lasts until the end of the
+<literal>quotation</literal> environment.  It would also end at the next type
+style command or the end of the current group, so you could enclose it
+in curly braces <literal>{\small This text is typeset in the small font.}</literal>.
 </para>
+<indexterm role="cp"><primary>environment form of font size commands</primary></indexterm>
+<para>An <firstterm>environment form</firstterm> of each of these commands is also defined; for
+instance, <literal>\begin{tiny}...\end{tiny}</literal>. However, in practice
+this form can easily lead to unwanted spaces at the beginning and/or
+end of the environment without careful consideration, so it’s
+generally less error-prone to stick to the declaration form.
+</para>
+<para>(Aside: Technically, due to the way &latex; defines <literal>\begin</literal> and
+<literal>\end</literal>, nearly every command that does not take an argument
+technically has an environment form. But in almost all cases, it would
+only cause confusion to use it. The reason for mentioning the
+environment form of the font size declarations specifically is that
+this particular use is not rare.)
+</para>
 
 </sect1>
-<sect1 label="4.3" id="Low_002dlevel-font-commands">
+<sect1 label="4.4" id="Low_002dlevel-font-commands">
 <title>Low-level font commands</title>
 
 <indexterm role="cp"><primary>low-level font commands</primary></indexterm>
@@ -1571,7 +2137,7 @@
 <indexterm role="cp"><primary>families, of fonts</primary></indexterm>
 <indexterm role="cp"><primary>font catalogue</primary></indexterm>
 <para>Select the font family.  The web page
-<ulink url="http://www.tug.dk/FontCatalogue/">http://www.tug.dk/FontCatalogue/</ulink> provides one way to browse
+<ulink url="https://tug.org/FontCatalogue/">https://tug.org/FontCatalogue/</ulink> provides one way to browse
 through many of the fonts easily used with &latex;.  Here are
 examples of some common families.
 </para>
@@ -1716,27 +2282,9 @@
 parameter <literal>\baselineskip</literal>.  The default <literal>\baselineskip</literal> for
 the Computer Modern typeface is 1.2 times the <literal>\fontsize</literal>.
 Changing <literal>\baselineskip</literal> directly is inadvisable since its value is
-reset every time a size change happens; see <literal>\baselinestretch</literal>, next.
+reset every time a size change happens; instead use
+<literal>\baselinestretch</literal>.  (see <link linkend="_005cbaselineskip-_0026-_005cbaselinestretch">\baselineskip & \baselinestretch</link>).
 </para>
-<anchor id="low-level-font-commands-baselinestretch"/></listitem></varlistentry><varlistentry><term><literal>\baselinestretch</literal>
-</term><listitem><indexterm role="fn"><primary>\baselinestretch</primary></indexterm>
-<para>&latex; multiplies the line spacing by the value of the
-<literal>\baselinestretch</literal> parameter; the default factor is 1.  A change
-takes effect when <literal>\selectfont</literal> (see below) is called.  You can
-make a line skip change happen for the entire document, for instance
-doubling it, by doing <literal>\renewcommand{\baselinestretch}{2.0}</literal> in
-the preamble.
-</para>
-<indexterm role="cp"><primary>package, <literal>setspace</literal></primary></indexterm>
-<indexterm role="cp"><primary><literal>setspace</literal> package</primary></indexterm>
-
-<indexterm role="cp"><primary>double spacing</primary></indexterm>
-<para>However, the best way to double-space a document is to use the
-<filename>setspace</filename> package.  In addition to offering a number of spacing
-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.
-</para>
 <anchor id="low-level-font-commands-linespread"/></listitem></varlistentry><varlistentry><term><literal>\linespread{<replaceable>factor</replaceable>}</literal>
 </term><listitem><indexterm role="fn"><primary>\linespread</primary></indexterm>
 <para>Equivalent to
@@ -1819,22 +2367,22 @@
 </para>
 <variablelist><varlistentry><term><indexterm role="fn"><primary>\columnsep</primary></indexterm><literal>\columnsep</literal>
 </term><listitem><anchor id="twocolumn-columnsep"/><para>The distance between columns. The default is 35pt.  Change it with a
-command such as <literal>\setlength{\columnsep}{40pt}</literal> You must change
-it before the two column environment starts; in the preamble is a good
+command such as <literal>\setlength{\columnsep}{40pt}</literal>. You must change
+it before the two column mode starts; in the preamble is a good
 place.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\columnseprule</primary></indexterm><literal>\columnseprule</literal>
-</term><listitem><anchor id="twocolumn-columnseprule"/><para>The width of the rule between columns. The rule appears halfway between
-the two columns.  The default is 0pt, meaning that there is no rule.
-Change it with a command such as
+</term><listitem><anchor id="twocolumn-columnseprule"/><para>The width of the rule between columns. The default is 0pt, meaning that
+there is no rule. Otherwise, the rule appears halfway between the two
+columns.  Change it with a command such as
 <literal>\setlength{\columnseprule}{0.4pt}</literal>, before the two-column
-environment starts.
+mode starts.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\columnwidth</primary></indexterm><literal>\columnwidth</literal>
 </term><listitem><anchor id="twocolumn-columnwidth"/><para>The width of a single column.  In one-column mode this is equal to
 <literal>\textwidth</literal>.  In two-column mode by default &latex; sets the
-width of each of the two columns to be half of <literal>\textwidth</literal> minus
-<literal>\columnsep</literal>.
+width of each of the two columns, <literal>\columnwidth</literal>, to be half of
+<literal>\textwidth</literal> minus <literal>\columnsep</literal>.
 </para>
 </listitem></varlistentry></variablelist>
 <para>In a two-column document, the starred environments <literal>table*</literal> and
@@ -1847,11 +2395,11 @@
 </term><listitem><para>The maximum fraction at the top of a two-column page that may be
 occupied by two-column wide floats.  The default is 0.7, meaning that
 the height of a <literal>table*</literal> or <literal>figure*</literal> environment must not
-exceed <literal>0.7\textheight</literal> .  If the height of your starred float
+exceed <literal>0.7\textheight</literal>.  If the height of your starred float
 environment exceeds this then you can take one of the following actions
 to prevent it from floating all the way to the back of the document:
 </para>
-<itemizedlist><listitem><para>Use the <literal>[tp]</literal> location specifier to tell LaTeX to try to put
+<itemizedlist><listitem><para>Use the <literal>[tp]</literal> 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.
 </para>
 </listitem><listitem><para>Use the <literal>[t!]</literal> location specifier to override the effect of
@@ -1863,25 +2411,25 @@
 <para>You can redefine it, as with
 <literal>\renewcommand{\dbltopfraction}{0.9}</literal>.
 </para>
-<anchor id="twocolumn-dblfloatpagefraction"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dblfloatpagefraction</primary></indexterm><literal>\dblfloatpagefraction</literal>
-</term><listitem><para>For a float page of two-column wide floats, this is the minimum fraction
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dblfloatpagefraction</primary></indexterm><literal>\dblfloatpagefraction</literal>
+</term><listitem><anchor id="twocolumn-dblfloatpagefraction"/><para>For a float page of two-column wide floats, this is the minimum fraction
 that must be occupied by floats, limiting the amount of blank space.
 &latex;’s default is <literal>0.5</literal>.  Change it with <literal>\renewcommand</literal>.
 </para>
-<anchor id="twocolumn-dblfloatsep"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dblfloatsep</primary></indexterm><literal>\dblfloatsep</literal>
-</term><listitem><para>On a float page of two-column wide floats, this length is the distance
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dblfloatsep</primary></indexterm><literal>\dblfloatsep</literal>
+</term><listitem><anchor id="twocolumn-dblfloatsep"/><para>On a float page of two-column wide floats, this length is the distance
 between floats, at both the top and bottom of the page.  The default is
 <literal>12pt plus2pt minus2pt</literal> for a document set at <literal>10pt</literal> or
 <literal>11pt</literal>, and <literal>14pt plus2pt minus4pt</literal> for a document set at
 <literal>12pt</literal>.
 </para>
-<anchor id="twocolumn-dbltextfloatsep"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dbltextfloatsep</primary></indexterm><literal>\dbltextfloatsep</literal>
-</term><listitem><para>This length is the distance between a multi-column float at the top or
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dbltextfloatsep</primary></indexterm><literal>\dbltextfloatsep</literal>
+</term><listitem><anchor id="twocolumn-dbltextfloatsep"/><para>This length is the distance between a multi-column float at the top or
 bottom of a page and the main text.  The default is <literal>20pt plus2pt
 minus4pt</literal>.
 </para>
-<anchor id="twocolumn-dbltopnumber"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dbltopnumber</primary></indexterm><literal>\dbltopnumber</literal>
-</term><listitem><para>On a float page of two-column wide floats, this counter gives the
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dbltopnumber</primary></indexterm><literal>\dbltopnumber</literal>
+</term><listitem><anchor id="twocolumn-dbltopnumber"/><para>On a float page of two-column wide floats, this counter gives the
 maximum number of floats allowed at the top of the page.  The &latex;
 default is <literal>2</literal>.
 </para>
@@ -1983,7 +2531,7 @@
 <anchor id="page-layout-parameters-headsep"/><para>Vertical distance between the bottom of the header line and the top of
 the main text.  The default in the <literal>article</literal> and <literal>report</literal>
 classes is ‘<literal>25pt</literal>’.  In the <literal>book</literal> class the default is: if the
-document is set at 10pt then it is ‘<literal>0.25in</literal>’, and at 11pt and 12pt
+document is set at 10pt then it is ‘<literal>0.25in</literal>’, and at 11pt or 12pt
 it is ‘<literal>0.275in</literal>’.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\footskip</primary></indexterm><literal>\footskip</literal>
@@ -2039,12 +2587,13 @@
 </term><term><indexterm role="fn"><primary>\evensidemargin</primary></indexterm><literal>\evensidemargin</literal>
 </term><listitem><indexterm role="fn"><primary>\oddsidemargin</primary></indexterm>
 <indexterm role="fn"><primary>\evensidemargin</primary></indexterm>
-<anchor id="page-layout-parameters-oddsidemargin"/><anchor id="page-layout-parameters-evensidemargin"/><para>The <literal>\oddsidemargin</literal> is the extra distance between the left side of
+<anchor id="page-layout-parameters-oddsidemargin"/><anchor id="page-layout-parameters-evensidemargin"/><!-- xx TODO re-align on French version that is more complete/accurate. -->
+<para>The <literal>\oddsidemargin</literal> length 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 <literal>twoside</literal> is chosen and on all pages when
 <literal>oneside</literal> is in effect.  When <literal>twoside</literal> is in effect, on
 even-numbered pages the extra distance on the left is
-<literal>evensidemargin</literal>.
+<literal>\evensidemargin</literal>.
 </para>
 <para>&latex;’s default is that <literal>\oddsidemargin</literal> is 40% of the
 difference between <literal>\paperwidth</literal> and <literal>\textwidth</literal>, and
@@ -2094,15 +2643,16 @@
 specified width, and revert to their normal values at the end of the
 <literal>minipage</literal> or <literal>\parbox</literal>.
 </para>
-<indexterm role="fn"><primary>\hsize</primary></indexterm>
-<anchor id="page-layout-parameters-hsize"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\hsize</primary></indexterm><literal>\hsize</literal>
-</term><listitem><para>This entry is included for completeness: <literal>\hsize</literal> is the &tex;
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\hsize</primary></indexterm><literal>\hsize</literal>
+</term><listitem><indexterm role="fn"><primary>\hsize</primary></indexterm>
+<anchor id="page-layout-parameters-hsize"/><para>This entry is included for completeness: <literal>\hsize</literal> is the &tex;
 primitive parameter used when text is broken into lines.  It should not
 be used in normal &latex; documents.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\topmargin</primary></indexterm><literal>\topmargin</literal>
 </term><listitem><indexterm role="fn"><primary>topmargin</primary></indexterm>
-<anchor id="page-layout-parameters-topmargin"/><para>Space between the top of the &tex; page (one inch from the top of the
+<anchor id="page-layout-parameters-topmargin"/><!-- xxx TODO re-align on French version that is more accurate. -->
+<para>Space between the top of the &tex; page (one inch from the top of the
 paper, by default) and the top of the header.  The value is computed
 based on many other parameters: <literal>\paperheight − 2in −
 \headheight − \headsep − \textheight − \footskip</literal>,
@@ -2117,7 +2667,119 @@
 </listitem></varlistentry></variablelist>
 
 </sect1>
-<sect1 label="5.6" id="Floats">
+<sect1 label="5.6" id="_005cbaselineskip-_0026-_005cbaselinestretch">
+<title><literal>\baselineskip</literal> & <literal>\baselinestretch</literal></title>
+
+<indexterm role="fn"><primary>\baselineskip</primary></indexterm>
+<indexterm role="fn"><primary>\baselinestretch</primary></indexterm>
+<indexterm role="fn"><primary>\linespread</primary></indexterm>
+<indexterm role="cp"><primary>space between lines</primary></indexterm>
+<indexterm role="cp"><primary>interline space</primary></indexterm>
+<indexterm role="cp"><primary>leading</primary></indexterm>
+<indexterm role="cp"><primary>double spacing</primary></indexterm>
+
+<para>The <literal>\baselineskip</literal> is a rubber length (see <link linkend="Lengths">Lengths</link>).  It gives
+the leading, the normal distance between lines in a paragraph, from
+baseline to baseline.
+</para>
+<para>Ordinarily document authors do not directly change <literal>\baselineskip</literal>
+while writing.  Instead, it is set by the low level font selection
+command <literal>\fontsize</literal> (see <link linkend="low-level-font-commands-fontsize">low level font commands fontsize</link>).
+The <literal>\baselineskip</literal>’s value is reset every time a font change
+happens and so any direct change to <literal>\baselineskip</literal> would vanish
+the next time there was a font switch.  For how to influence line
+spacing, see the discussion of <literal>\baselinestretch</literal> below.
+</para>
+<para>Usually, a font’s size and baseline skip is assigned by the font
+designer.  These numbers are nominal in the sense that if, for instance,
+a font’s style file has the command <literal>\fontsize{10pt}{12pt}</literal>
+then that does not mean that the characters in the font are 10pt tall;
+for instance, parentheses and accented capitals may be taller.  Nor does
+it mean that if the lines are spaced less than 12pt apart then they risk
+touching.  Rather these numbers are typographic judgements.  (Often, the
+<literal>\baselineskip</literal> is about twenty percent larger than the font size.)
+</para>
+<!-- adapted from FAQ -->
+<para>The <literal>\baselineskip</literal> is not a property of each line but of the
+entire paragraph.  As a result, large text in the middle of a paragraph,
+such as a single <literal>{\Huge Q}</literal>, will be squashed into its line.
+&tex; will make sure it doesn’t scrape up against the line above but
+won’t change the <literal>\baselineskip</literal> for that one line to make extra
+room above.  For the fix, use a <literal>\strut</literal> (see <link linkend="_005cstrut">\strut</link>).
+</para>
+<para>The value of <literal>\baselineskip</literal> that &tex; uses for the paragraph is
+the value in effect at the blank line or command that ends the paragraph
+unit.  So if a document contains this paragraph then its lines will be
+scrunched together, compared to lines in surrounding paragraphs.
+</para>
+<!-- Adapted from B Beeton's "Lapses in TeX" TB 42:1 p 13. -->
+<screen>Many people see a page break between text and a displayed equation as 
+bad style, so in effect the display is part of the paragraph.
+Because this display is in footnotesize, the entire paragraph has the
+baseline spacing matching that size.
+{\footnotesize $$a+b = c$$}
+</screen>
+<indexterm role="fn"><primary>\lineskip</primary></indexterm>
+<indexterm role="fn"><primary>\lineskiplimit</primary></indexterm>
+<indexterm role="fn"><primary>\prevdepth</primary></indexterm>
+<para>The process for making paragraphs is that when a new line is added, if
+the depth of the previous line plus the height of the new line is less
+than <literal>\baselineskip</literal> then &tex; inserts vertical glue to make up
+the difference.  There are two fine points.  The first is that if the
+lines would be too close together, closer than <literal>\lineskiplimit</literal>,
+then &tex; instead uses <literal>\lineskip</literal> as the interline glue.  The
+second is that &tex; doesn’t actually use the depth of the previous
+line.  Instead it uses <literal>\prevdepth</literal>, which usually contains that
+depth.  But at the beginning of the paragraph (or any vertical list)
+or just after a rule, <literal>\prevdepth</literal> has the value -1000pt and this
+special value tells &tex; not to insert any interline glue at the
+paragraph start.
+</para>
+<para>In the standard classes <literal>\lineskiplimit</literal> is 0pt and
+<literal>\lineskip</literal> is 1pt.  By the prior paragraph then, the distance
+between lines can approach zero but if it becomes zero (or less than
+zero) then the lines jump to 1pt apart.
+</para>
+<para>Sometimes authors must, for editing purposes, put the document in double
+space or one-and-a-half space.  The right way to influence the interline
+distance is via <literal>\baselinestretch</literal>.  It scales
+<literal>\baselineskip</literal>, and has a default value of 1.0.  It is a command,
+not a length, so change the scale factor as in
+<literal>\renewcommand{\baselinestretch}{1.5}\selectfont</literal>.
+</para>
+<para>The most straightforward way to change the line spacing for an entire
+document is to put <literal>\linespread{<replaceable>factor</replaceable>}</literal> in the preamble.
+For double spacing, take <replaceable>factor</replaceable> to be 1.6 and for one-and-a-half
+spacing use 1.3.  These number are rough: for instance, since the
+<literal>\baselineskip</literal> is about 1.2 times the font size, multiplying by
+1.6 gives a font size to baseline ratio of about 2.  (The
+<literal>\linespread</literal> command is defined as
+<literal>\renewcommand{\baselinestretch}{<replaceable>factor</replaceable>}</literal> so it won’t
+take effect until a font setting happens. But that always takes place at
+the start of a document, so there you don’t need to follow it with
+<literal>\selectfont</literal>.)
+</para>
+<indexterm role="cp"><primary>package, <literal>setspace</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>setspace</literal> package</primary></indexterm>
+
+<para>A simpler approach is the <filename>setspace</filename> package.  The basic example:
+</para>
+<screen>\usepackage{setspace}
+\doublespacing  % or \onehalfspacing for 1.5
+</screen>
+<para>In the preamble these will start the document off with that sizing.
+But you can also use these declarations in the document body to change
+the spacing from that point forward, and consequently there is
+<literal>\singlespacing</literal> to return the spacing to normal.  In the
+document body, a better practice than using the declarations is to use
+environments, such as <literal>\begin{doublespace}
+... \end{doublespace}</literal>.  The package also has commands to do
+arbitrary spacing: <literal>\setstretch{<replaceable>factor</replaceable>}</literal> and
+<literal>\begin{spacing}{<replaceable>factor</replaceable>} ... \end{spacing}</literal>.
+</para>
+
+</sect1>
+<sect1 label="5.7" id="Floats">
 <title>Floats</title>
 
 <para>Some typographic elements, such as figures and tables, cannot be broken
@@ -2161,7 +2823,7 @@
 allowed for full-width floats (<literal>figure*</literal>) with double-column
 output.  To ameliorate this, use the <filename>stfloats</filename> or
 <filename>dblfloatfix</filename> package, but see the discussion at caveats in the
-FAQ: <ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat</ulink>.
+FAQ: <ulink url="https://www.texfaq.org/FAQ-2colfloat">https://www.texfaq.org/FAQ-2colfloat</ulink>.
 </para>
 </listitem></varlistentry><varlistentry><term><literal>h</literal>
 </term><listitem><para>(Here)—at the position in the text where the <literal>figure</literal> environment
@@ -2175,7 +2837,7 @@
 <para>To absolutely force a float to appear “here”, you can
 <literal>\usepackage{float}</literal> and use the <literal>H</literal> specifier which it
 defines.  For further discussion, see the FAQ entry at
-<ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=figurehere">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=figurehere</ulink>.
+<ulink url="https://www.texfaq.org/FAQ-figurehere">https://www.texfaq.org/FAQ-figurehere</ulink>.
 </para>
 </listitem></varlistentry><varlistentry><term><literal>p</literal>
 </term><listitem><indexterm role="cp"><primary>float page</primary></indexterm>
@@ -2287,13 +2949,13 @@
 <anchor id="floats-totalnumber"/><para>Maximum number of floats that can appear on a text page; default 3.
 </para></listitem></varlistentry></variablelist>
 <para>The principal &tex; FAQ entry relating to floats
-<ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats</ulink> contains
+<ulink url="https://www.texfaq.org/FAQ-floats">https://www.texfaq.org/FAQ-floats</ulink> contains
 suggestions for relaxing &latex;’s default parameters to reduce the
 problem of floats being pushed to the end.  A full explanation of the
 float placement algorithm is in Frank Mittelbach’s article “How to
 influence the position of float environments like figure and table in
 &latex;?”
-(<ulink url="http://latex-project.org/papers/tb111mitt-float.pdf">http://latex-project.org/papers/tb111mitt-float.pdf</ulink>).
+(<ulink url="https://www.latex-project.org/publications/2014-FMi-TUB-tb111mitt-float-placement.pdf">https://www.latex-project.org/publications/2014-FMi-TUB-tb111mitt-float-placement.pdf</ulink>).
 </para>
 
 </sect1>
@@ -2306,6 +2968,7 @@
 <indexterm role="cp"><primary>chapter</primary></indexterm>
 <indexterm role="cp"><primary>section</primary></indexterm>
 <indexterm role="cp"><primary>subsection</primary></indexterm>
+<indexterm role="cp"><primary>subsubsection</primary></indexterm>
 <indexterm role="cp"><primary>paragraph</primary></indexterm>
 <indexterm role="cp"><primary>subparagraph</primary></indexterm>
 <indexterm role="fn"><primary>\part</primary></indexterm>
@@ -2312,6 +2975,7 @@
 <indexterm role="fn"><primary>\chapter</primary></indexterm>
 <indexterm role="fn"><primary>\section</primary></indexterm>
 <indexterm role="fn"><primary>\subsection</primary></indexterm>
+<indexterm role="fn"><primary>\subsubsection</primary></indexterm>
 <indexterm role="fn"><primary>\paragraph</primary></indexterm>
 <indexterm role="fn"><primary>\subparagraph</primary></indexterm>
 
@@ -2348,8 +3012,8 @@
 </para></entry></row></tbody></tgroup></informaltable>
 <indexterm role="cp"><primary><literal>*</literal>-form of sectioning commands</primary></indexterm>
 <para>All these commands have a <literal>*</literal>-form that prints <replaceable>title</replaceable> as usual
-but is not numbered and does not make an entry in the table of contents.
-An example of using this is for an appendix in an <literal>article</literal> .  The
+but does not number it and does not make an entry in the table of contents.
+An example of using this is for an appendix in an <literal>article</literal>.  The
 input <literal>\appendix\section{Appendix}</literal> gives the output ‘<literal>A
 Appendix</literal>’ (see <link linkend="_005cappendix">\appendix</link>).  You can lose the numbering ‘<literal>A</literal>’
 by instead entering <literal>\section*{Appendix}</literal> (articles often omit a
@@ -2372,25 +3036,35 @@
 (see <link linkend="Sectioning_002ftocdepth">Sectioning/tocdepth</link>).
 </para>
 <para>&latex; expects that before you have a <literal>\subsection</literal> you will have
-a <literal>\section</literal> and, in a book, that before a <literal>\section</literal> you will
-have a <literal>\chapter</literal>.  Otherwise you can get a something like a
-subsection numbered ‘<literal>3.0.1</literal>’.
+a <literal>\section</literal> and, in a <literal>book</literal> class document, that before a
+<literal>\section</literal> you will have a <literal>\chapter</literal>.  Otherwise you can get
+something like a subsection numbered ‘<literal>3.0.1</literal>’.
 </para>
-<para>Two counters relate to the appearance of sectioning commands.
+<indexterm role="cp"><primary>package, <literal>titlesec</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>titlesec</literal> package</primary></indexterm>
+
+<para>&latex; lets you change the appearance of the sectional units.  As a
+simple example, you can change the section numbering to upper-case
+letters with <literal>\renewcommand\thesection{\Alph{section}}</literal> in the
+preamble (see <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>).  CTAN
+has many packages that make this adjustment easier, notably
+<filename>titlesec</filename>.
 </para>
+<para>Two counters relate to the appearance of headings made by sectioning commands.
+</para>
 <variablelist><varlistentry><term><indexterm role="fn"><primary>secnumdepth</primary></indexterm><literal>secnumdepth</literal>
 </term><listitem><indexterm role="fn"><primary>secnumdepth counter</primary></indexterm>
 <indexterm role="cp"><primary>section numbers, printing</primary></indexterm>
-<anchor id="sectioning-secnumdepth"/><anchor id="Sectioning_002fsecnumdepth"/><para>Controls which sectioning commands are
-numbered.  Suppress numbering of sectioning at any depth greater than
-<replaceable>level</replaceable> <literal>\setcounter{secnumdepth}{<replaceable>level</replaceable>}</literal>
-(see <link linkend="_005csetcounter">\setcounter</link>).  See the above table for the level numbers.  For
-instance, if the <literal>secnumdepth</literal> is 1 in an <literal>article</literal> then a
-<literal>\section{Introduction}</literal> command will produce output like ‘<literal>1
-Introduction</literal>’ while <literal>\subsection{Discussion}</literal> will produce output
-like ‘<literal>Discussion</literal>’, without the number. &latex;’s default
-<literal>secnumdepth</literal> is 3 in <filename>article</filename> class and  2 in the
-<filename>book</filename> and <filename>report</filename> classes.
+<anchor id="sectioning-secnumdepth"/><anchor id="Sectioning_002fsecnumdepth"/><para>Controls which sectioning unit are numbered.  Setting the counter with
+<literal>\setcounter{secnumdepth}{<replaceable>level</replaceable>}</literal> will suppress
+numbering of sectioning at any depth greater than <replaceable>level</replaceable>
+(see <link linkend="_005csetcounter">\setcounter</link>).  See the above table for the level numbers.
+For instance, if the <literal>secnumdepth</literal> is 1 in an <literal>article</literal> then
+a <literal>\section{Introduction}</literal> command will produce output like
+‘<literal>1 Introduction</literal>’ while <literal>\subsection{Discussion}</literal> will
+produce output like ‘<literal>Discussion</literal>’, without the number. &latex;’s
+default <literal>secnumdepth</literal> is 3 in <filename>article</filename> class and
+ 2 in the <filename>book</filename> and <filename>report</filename> classes.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>tocdepth</primary></indexterm><literal>tocdepth</literal>
 </term><listitem><indexterm role="fn"><primary>tocdepth counter</primary></indexterm>
@@ -2401,7 +3075,7 @@
 (see <link linkend="_005csetcounter">\setcounter</link>).  See the above table for the level numbers.  For
 instance, if <literal>tocdepth</literal> is 1 then the table of contents will
 list sections but not subsections.  &latex;’s default
-<literal>secnumdepth</literal> is 3 in <filename>article</filename> class and  2 in the
+<literal>tocdepth</literal> is 3 in <filename>article</filename> class and  2 in the
 <filename>book</filename> and <filename>report</filename> classes.
 </para>
 </listitem></varlistentry></variablelist>
@@ -2456,7 +3130,7 @@
 </screen>
 <para>For determining which sectional units are numbered and which appear in
 the table of contents, the level number of a part is -1
-(see <link linkend="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</link> and see <link linkend="Sectioning_002ftocdepth">Sectioning/tocdepth</link>).
+(see <link linkend="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</link>, and <link linkend="Sectioning_002ftocdepth">Sectioning/tocdepth</link>).
 </para>
 <indexterm role="cp"><primary>package, <literal>indentfirst</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>indentfirst</literal> package</primary></indexterm>
@@ -2527,7 +3201,7 @@
 the title but that doesn’t work well with running headers so it omits
 the break in the contents
 </para>
-<screen>\chapter[Given it all\\ my story]{Given it all\\ my story}
+<screen>\chapter[Given it all; my story]{Given it all\\ my story}
 </screen>
 <para>For determining which sectional units are numbered and which appear in
 the table of contents, the level number of a chapter is 0
@@ -2707,13 +3381,13 @@
 so it looks like ‘<literal>2.3 <replaceable>title</replaceable></literal>’.
 </para>
 <para>The <literal>*</literal> form shows <replaceable>title</replaceable>.
-But it does not show the section number, does not increment the
-<literal>section</literal> counter, and produces no table of contents entry.
+But it does not show the subsection number, does not increment the
+<literal>subsection</literal> counter, and produces no table of contents entry.
 </para>
-<para>The optional argument <replaceable>toc-title</replaceable> will appear as the section title
+<para>The optional argument <replaceable>toc-title</replaceable> will appear as the subsection title
 in the table of contents (see <link linkend="Table-of-contents-etc_002e">Table of contents etc.</link>).  If it is
-not present then <replaceable>title</replaceable> will be there.  This shows the full name in
-the title of the section,
+not present then <replaceable>title</replaceable> will be there.  This shows the full text in
+the title of the subsection,
 </para>
 <screen>\subsection[$\alpha,\beta,\gamma$ paper]{\textit{The Origin of
   Chemical Elements} by R.A.~Alpher, H.~Bethe, and G.~Gamow}
@@ -2865,38 +3539,45 @@
 </screen>
 <para>the first two will generate output numbered ‘<literal>Chapter 1</literal>’ and
 ‘<literal>Chapter 2</literal>’.  After the <literal>\appendix</literal> the numbering will be
-‘<literal>Appendix A</literal>’ and ‘<literal>Appendix B</literal>’.  See <link linkend="Larger-book-template">Larger book template</link>
+‘<literal>Appendix A</literal>’ and ‘<literal>Appendix B</literal>’.  See <link linkend="Larger-book-template">Larger book template</link>,
 for another example.
 </para>
 <indexterm role="cp"><primary>package, <literal>appendix</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>appendix</literal> package</primary></indexterm>
+
 <para>The <filename>appendix</filename> package adds the command
 <literal>\appendixpage</literal> to put a separate ‘<literal>Appendices</literal>’ in the document
 body before the first appendix, and the command <literal>\addappheadtotoc</literal>
 to do the same in the table of contents.  You can reset the name
-‘<literal>Appendix</literal>’ with a command like
+‘<literal>Appendices</literal>’ with a command like
 <literal>\renewcommand{\appendixname}{Specification}</literal>, as well as a
 number of other features.  See the documentation on CTAN.
 </para>
 
 </sect1>
-
 <sect1 label="6.7" id="_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter">
 <title><literal>\frontmatter</literal>, <literal>\mainmatter</literal>, <literal>\backmatter</literal></title>
 
 <indexterm role="fn"><primary>\frontmatter</primary></indexterm>
 <indexterm role="cp"><primary>book, front matter</primary></indexterm>
+<indexterm role="cp"><primary>front matter of a book</primary></indexterm>
 <indexterm role="fn"><primary>\mainmatter</primary></indexterm>
 <indexterm role="cp"><primary>book, main matter</primary></indexterm>
+<indexterm role="cp"><primary>main matter of a book</primary></indexterm>
 <indexterm role="fn"><primary>\backmatter</primary></indexterm>
 <indexterm role="cp"><primary>book, back matter</primary></indexterm>
 <indexterm role="cp"><primary>book, end matter</primary></indexterm>
+<indexterm role="cp"><primary>back matter of a book</primary></indexterm>
+<indexterm role="cp"><primary>end matter of a book</primary></indexterm>
 
-<para>Synopsis, one of:
+<para>Synopsis, one or more of:
 </para>
 <screen>\frontmatter
+...
 \mainmatter
+...
 \backmatter
+...
 </screen>
 <para>Format a <literal>book</literal> class document differently according to which part
 of the document is being produced.  All three commands are optional.
@@ -2908,19 +3589,23 @@
 back matter may contain such things as a glossary, notes, a
 bibliography, and an index.
 </para>
-<para>The <literal>\frontmatter</literal> declaration makes the pages numbered in
-lowercase roman, and makes chapters not numbered, although each
-chapter’s title appears in the table of contents; if you use other
-sectioning commands here, use the <literal>*</literal>-version (see <link linkend="Sectioning">Sectioning</link>).
-The <literal>\mainmatter</literal> changes the behavior back to the expected
-version, and resets the page number.  The <literal>\backmatter</literal> leaves the
-page numbering alone but switches the chapters back to being not
-numbered.  See <link linkend="Larger-book-template">Larger book template</link> for an example using the three.
+<para>The <literal>\frontmatter</literal> command makes the pages numbered in lowercase
+roman, and makes chapters not numbered, although each chapter’s title
+appears in the table of contents; if you use other sectioning commands
+here, use the <literal>*</literal>-version (see <link linkend="Sectioning">Sectioning</link>).
 </para>
+<para>The <literal>\mainmatter</literal> command changes the behavior back to the expected
+version, and resets the page number.
+</para>
+<para>The <literal>\backmatter</literal> command leaves the page numbering alone but
+switches the chapters back to being not numbered.
+</para>
+<para>See <link linkend="Larger-book-template">Larger book template</link>, for an example using these three commands.
+</para>
 
 </sect1>
 <sect1 label="6.8" id="_005c_0040startsection">
-<title><literal>\@startsection</literal></title>
+<title><literal>\@startsection</literal>, typesetting sectional unit headings</title>
 
 <indexterm role="fn"><primary>\@startsection</primary></indexterm>
 <indexterm role="cp"><primary>section, redefining</primary></indexterm>
@@ -2958,12 +3643,13 @@
   {<replaceable>afterskip</replaceable>}
   {<replaceable>style</replaceable>}}
 </screen>
-<para>redefines <literal>\section</literal> to have the form
-<literal>\section*[<replaceable>toctitle</replaceable>]{<replaceable>title</replaceable>}</literal> (here too, the
-star <literal>*</literal> is optional).  See <link linkend="Sectioning">Sectioning</link>.  This implies that
-when you write a command like <literal>\renewcommand{section}{...}</literal>,
-the <literal>\@startsection{...}</literal> must come last in the definition.  See
-the examples below.
+<para>redefines <literal>\section</literal> while keeping its standard calling form
+<literal>\section*[<replaceable>toctitle</replaceable>]{<replaceable>title</replaceable>}</literal> (in which, for reminder,
+the star <literal>*</literal> is optional).  See <link linkend="Sectioning">Sectioning</link>.  This implies
+that when you write a command like
+<literal>\renewcommand{\section}{...}</literal>, the
+<literal>\@startsection{...}</literal> must come last in the definition.  See the
+examples below.
 </para>
 <variablelist>
 <varlistentry><term><replaceable>name</replaceable>
@@ -2979,7 +3665,7 @@
 </para>
 </listitem></varlistentry><varlistentry><term><replaceable>level</replaceable>
 </term><listitem><anchor id="startsection-level"/><anchor id="_005c_0040startsection_002flevel"/><para>An integer giving the depth of the sectioning command.
-See <link linkend="Sectioning">Sectioning</link> for the list of standard level numbers.
+See <link linkend="Sectioning">Sectioning</link>, for the list of standard level numbers.
 </para>
 <para>If <replaceable>level</replaceable> is less than or equal to the value of the counter
 <literal>secnumdepth</literal> then titles for this sectioning command will be
@@ -3004,7 +3690,7 @@
 </listitem></varlistentry><varlistentry><term><replaceable>beforeskip</replaceable>
 </term><listitem><anchor id="startsection-beforeskip"/><anchor id="_005c_0040startsection_002fbeforeskip"/><para>The absolute value of this length is the amount of vertical space that
 is inserted before this sectioning unit’s title.  This space will be
-discarded if the sectioning unit happens to start at the top of a fresh
+discarded if the sectioning unit happens to start at the beginning of a
 page.  If this number is negative then the first paragraph following the
 header is not indented, if it is non-negative then the first paragraph
 is indented.  (Note that the negative of <literal>1pt plus 2pt minus 3pt</literal>
@@ -3062,20 +3748,24 @@
 </para></listitem></varlistentry></variablelist>
 <para>These are &latex;’s defaults for the first three sectioning units that
 are defined with <literal>\@startsection</literal>, for the <filename>article</filename>,
-<filename>book</filename>, and <filename>report</filename> classes.  For section, the <replaceable>level</replaceable> is
-1, the <replaceable>indent</replaceable> is 0pt, the <replaceable>beforeskip</replaceable> is <literal>-3.5ex
-plus -1ex minus -0.2ex</literal>, the <replaceable>afterskip</replaceable> is <literal>2.3ex plus 0.2ex</literal>,
-and the <replaceable>style</replaceable> is <literal>\normalfont\Large\bfseries</literal>.  For
-subsection, the <replaceable>level</replaceable> is 2, the <replaceable>indent</replaceable> is 0pt, the
-<replaceable>beforeskip</replaceable> is <literal>-3.25ex plus -1ex minus -0.2ex</literal>, the
-<replaceable>afterskip</replaceable> is <literal>1.5ex plus 0.2ex</literal>, and the <replaceable>style</replaceable> is
-<literal>\normalfont\large\bfseries</literal>.  For subsubsection, the <replaceable>level</replaceable>
-is 3, the <replaceable>indent</replaceable> is 0pt, the <replaceable>beforeskip</replaceable> is
-<literal>-3.25ex plus -1ex minus -0.2ex</literal>, the <replaceable>afterskip</replaceable> is
-<literal>1.5ex plus 0.2ex</literal>, and the <replaceable>style</replaceable> is
+<filename>book</filename>, and <filename>report</filename> classes.
+</para>
+<itemizedlist><listitem><para>For <literal>section</literal>: <replaceable>level</replaceable> is 1, <replaceable>indent</replaceable> is 0pt,
+<replaceable>beforeskip</replaceable> is <literal>-3.5ex plus -1ex minus -0.2ex</literal>,
+<replaceable>afterskip</replaceable> is <literal>2.3ex plus 0.2ex</literal>, and <replaceable>style</replaceable> is
+<literal>\normalfont\Large\bfseries</literal>.
+</para>
+</listitem><listitem><para>For <literal>subsection</literal>: <replaceable>level</replaceable> is 2, <replaceable>indent</replaceable> is 0pt,
+<replaceable>beforeskip</replaceable> is <literal>-3.25ex plus -1ex minus -0.2ex<!-- /@w --></literal>,
+<replaceable>afterskip</replaceable> is <literal>1.5ex plus 0.2ex</literal>, and <replaceable>style</replaceable> is
+<literal>\normalfont\large\bfseries</literal>.
+</para>
+</listitem><listitem><para>For <literal>subsubsection</literal>: <replaceable>level</replaceable> is 3, <replaceable>indent</replaceable> is 0pt,
+<replaceable>beforeskip</replaceable> is <literal>-3.25ex plus -1ex minus -0.2ex</literal>,
+<replaceable>afterskip</replaceable> is <literal>1.5ex plus 0.2ex</literal>, and <replaceable>style</replaceable> is
 <literal>\normalfont\normalsize\bfseries</literal>.
-</para>
-<para>Here are examples.  They go either in a package or class file or in the
+</para></listitem></itemizedlist>
+<para>Some examples follow.  These go either in a package or class file or in the
 preamble of a &latex; document.  If you put them in the preamble they
 must go between a <literal>\makeatletter</literal> command and a
 <literal>\makeatother</literal>.  (Probably the error message <literal>You can't use
@@ -3319,6 +4009,68 @@
 </para>
 
 </sect1>
+<sect1 label="7.4" id="xr-package">
+<title><literal>xr</literal> package</title>
+
+<indexterm role="fn"><primary><literal>xr</literal> package</primary></indexterm>
+<indexterm role="fn"><primary><literal>xr-hyper</literal> package</primary></indexterm>
+<indexterm role="fn"><primary>\externaldocument</primary></indexterm>
+<indexterm role="cp"><primary>cross referencing, across documents</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\usepackage{xr}
+  \externaldocument{<replaceable>document-basename</replaceable>}
+</screen>
+<para>or
+</para>
+<screen>\usepackage{xr}
+  \externaldocument[<replaceable>reference-prefix</replaceable>]{<replaceable>document-basename</replaceable>}
+</screen>
+<para>Make cross references to the external document
+<literal><replaceable>document-basename</replaceable>.tex</literal>.
+</para>
+<para>Here is an example. If <literal>lectures.tex</literal> has this in the preamble
+</para>
+<screen>\usepackage{xr}
+  \externaldocument{exercises}
+  \externaldocument[H-]{hints} 
+  \externaldocument{answers}
+</screen>
+<para>then it can use cross reference labels from the other three documents.
+Suppose that <literal>exercises.tex</literal> has an enumerated list containing
+this,
+</para>
+<screen>\item \label{exer:EulersThm} What if every vertex has odd degree?
+</screen>
+<para>and <literal>hints.tex</literal> has an enumerated list with this,
+</para>
+<screen>\item \label{exer:EulersThm} Distinguish the case of two vertices.
+</screen>
+<para>and <literal>answers.tex</literal> has an enumerated list with this.
+</para>
+<screen>\item \label{ans:EulersThm} There is no Euler path, except if there
+  are exactly two vertices.
+</screen>
+<para>After compiling the exercises, hints, and answers documents, entering
+this in the body of <literal>lectures.tex</literal> will result in the lectures
+getting the reference numbers used in the other documents.
+</para>
+<screen>See Exercise~\ref{exer:EulersThm}, with Hint~\ref{H-exer:EulersThm}.
+The solution is Answer~\ref{ans:EulersThm}.
+</screen>
+<para>The prefix <literal>H-</literal> for the reference from the hints file is needed
+because the label in the hints file is the same as the label in the
+exercises file.  Without that prefix, both references would get the
+number from the later file.
+</para>
+<para>Note: if the document uses the <literal>hyperref</literal> package then in place of
+<literal>xr</literal>, put <literal>\usepackage{xr-hyper}</literal> before the
+<literal>\usepackage{hyperref}</literal>.  Also, if any of the multiple documents
+uses <literal>hyperref</literal> then they all must use it.
+</para>
+
+</sect1>
 </chapter>
 <chapter label="8" id="Environments">
 <title>Environments</title>
@@ -3375,6 +4127,9 @@
   in a guerrilla war, which Lee refused.
 \end{abstract}
 </screen>
+<indexterm role="cp"><primary>package, <literal>abstract</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>abstract</literal> package</primary></indexterm>
+
 <para>The next example produces a one column abstract in a two column document (for
 a more flexible solution, use the package <filename>abstract</filename>).
 </para>
@@ -3546,7 +4301,7 @@
 <screen>\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 
+  I grew up in that belief.  ---Richard Burton 
 \end{center}
 </screen>
 <para>A double backslash after the final line is optional.  If present it
@@ -3632,10 +4387,10 @@
 </para>
 <para>This example shows the environment used for a sequence of definitions.
 </para>
-<screen>\begin{definition}
+<screen>\begin{description}
   \item[lama] A priest.
   \item[llama] A beast.
-\end{definition}
+\end{description}
 </screen>
 <para>The labels ‘<literal>lama</literal>’ and ‘<literal>llama</literal>’ are output in boldface, with the
 left edge on the left margin.
@@ -3688,9 +4443,9 @@
   <replaceable>mathematical text</replaceable>
 \end{displaymath}
 </screen>
-<para>Environment to typeset the math text on its own line, in display style
-and centered.  To make the text be flush-left use the global option
-<literal>fleqn</literal>; see <link linkend="Document-class-options">Document class options</link>.
+<para>Environment to typeset the <replaceable>mathematical text</replaceable> on its own line, in
+display style and centered.  To make the text be flush-left use the
+global option <literal>fleqn</literal>; see <link linkend="Document-class-options">Document class options</link>.
 </para>
 <para>In the <literal>displaymath</literal> environment no equation number is added to the
 math text. One way to get an equation number is to use the
@@ -3705,19 +4460,21 @@
 displayed equation facilities.  For example, there are a number of
 ways in that package for having math text broken across lines.
 </para>
-<para>The construct <literal>\[<replaceable>math text</replaceable>\]</literal> is essentially a synonym for
-<literal>\begin{displaymath}<replaceable>math text</replaceable>\end{displaymath}</literal> but the
-latter is easier to work with in the source file; for instance,
+<indexterm role="fn"><primary>\[...\] display math</primary></indexterm>
+<para>The construct <literal>\[<replaceable>math</replaceable>\]</literal> is a synonym for the environment
+<literal>\begin{displaymath} <replaceable>math</replaceable> \end{displaymath}</literal> but the
+latter is easier to work with in the source; for instance,
 searching for a square bracket may get false positives but the word
-<literal>displaymath</literal> will likely be unique.  (The construct
-<literal>$$<replaceable>math text</replaceable>$$</literal> from Plain &tex; is sometimes
-mistakenly used as a synonym for <literal>displaymath</literal>.  It is not a
-synonym, because the <literal>displaymath</literal> environment checks that it isn’t
-started in math mode and that it ends in math mode begun by the matching
-environment start, because the <literal>displaymath</literal> environment has
-different vertical spacing, and because the <literal>displaymath</literal>
-environment honors the <literal>fleqn</literal> option.)
+<literal>displaymath</literal> will likely be unique.
 </para>
+<indexterm role="fn"><primary>$$...$$ plain &tex; display math</primary></indexterm>
+<para>(Aside: The construct <literal>$$<replaceable>math</replaceable>$$</literal> from Plain &tex; is
+sometimes mistakenly used as a synonym for <literal>displaymath</literal>.  It is
+not a synonym, and is not officially supported in &latex; at all;
+<literal>$$</literal> doesn’t support the <literal>fleqn</literal> option (see <link linkend="Document-class-options">Document
+class options</link>), has different vertical spacing, and doesn’t perform
+consistency checks.)
+</para>
 <para>The output from this example is centered and alone on its line. 
 </para>
 <screen>\begin{displaymath}
@@ -3887,7 +4644,7 @@
 <para>The <literal>eqnarray</literal> environment is obsolete.  It has infelicities,
 including spacing that is inconsistent with other mathematics elements.
 (See “Avoid eqnarray!” by Lars Madsen
-<ulink url="http://tug.org/TUGboat/tb33-1/tb103madsen.pdf">http://tug.org/TUGboat/tb33-1/tb103madsen.pdf</ulink>).  New documents
+<ulink url="https://tug.org/TUGboat/tb33-1/tb103madsen.pdf">https://tug.org/TUGboat/tb33-1/tb103madsen.pdf</ulink>).  New documents
 should include the <filename>amsmath</filename> package and use the displayed
 mathematics environments provided there, such as the <literal>align</literal>
 environment.  We include a description only for completeness and for
@@ -4042,7 +4799,7 @@
 
 </sect1>
 <sect1 label="8.11" id="filecontents">
-<title><literal>filecontents</literal>: Write an external file</title>
+<title><literal>filecontents</literal></title>
 
 <indexterm role="fn"><primary>environment, <literal>filecontents</literal></primary></indexterm>
 <indexterm role="fn"><primary><literal>filecontents</literal> environment</primary></indexterm>
@@ -4055,35 +4812,56 @@
 
 <para>Synopsis:
 </para>
-<screen>\begin{filecontents}{<replaceable>filename</replaceable>}
+<screen>\begin{filecontents}[<replaceable>option</replaceable>]{<replaceable>filename</replaceable>}
   <replaceable>text</replaceable>
 \end{filecontents}
 </screen>
 <para>or
 </para>
-<screen>\begin{filecontents*}{<replaceable>filename</replaceable>}
+<screen>\begin{filecontents*}[<replaceable>option</replaceable>]{<replaceable>filename</replaceable>}
   <replaceable>text</replaceable>
 \end{filecontents*}
 </screen>
-<para>Create a file named <replaceable>filename</replaceable> and fill it with <replaceable>text</replaceable>.  The
-unstarred version of the environment <literal>filecontents</literal> prefixes the
-content of the created file with a header; see the example below.  The
-starred version <literal>filecontents*</literal> does not include the header.
+<para>Create a file named <replaceable>filename</replaceable> in the current directory (or the
+output directory, if specified; see <link linkend="output-directory">output directory</link>) and write
+<replaceable>text</replaceable> to it.  By default, an existing file is not overwritten.
 </para>
-<para>This environment can be used anywhere in the preamble, although it often
-appears before the <literal>\documentclass</literal> 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
-<literal>bib</literal> references in the file, again to make it self-contained.
+<para>The unstarred version of the environment
+<literal>filecontents</literal> prefixes the content of the created file with a
+header of &tex; comments; see the example below.  The starred
+version <literal>filecontents*</literal> does not include the header.
 </para>
-<para>The environment checks whether a file of that name already exists and if
-so, does not do anything.  There is a <filename>filecontents</filename> package that
-redefines the <literal>filecontents</literal> environment so that instead of doing
-nothing in that case, it will overwrite the existing file.
+<para>The possible options are:
 </para>
-<para>For example, this document
+<variablelist><varlistentry><term><literal>force</literal>
+</term><term><literal>overwrite</literal>
+</term><listitem><indexterm role="cp"><primary><literal>force</literal> option for <literal>filecontents</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>overwrite</literal> option for <literal>filecontents</literal></primary></indexterm>
+<para>Overwrite an existing file.
 </para>
+</listitem></varlistentry><varlistentry><term><literal>noheader</literal>
+</term><listitem><indexterm role="cp"><primary><literal>noheader</literal> option for <literal>filecontents</literal></primary></indexterm>
+<para>Omit the header. Equivalent to using <literal>filecontents*</literal>.
+</para>
+</listitem></varlistentry><varlistentry><term><literal>nosearch</literal>
+</term><listitem><indexterm role="cp"><primary><literal>nosearch</literal> option for <literal>filecontents</literal></primary></indexterm>
+<para>Only check the current directory (and the output directory, if
+specified) for an existing file, not the entire search path.
+</para>
+</listitem></varlistentry></variablelist>
+<para>These options were added in a 2019 release of &latex;.
+</para>
+<indexterm role="cp"><primary>self-contained sources</primary></indexterm>
+<indexterm role="cp"><primary>source files, making self-contained</primary></indexterm>
+<para>This environment can be used anywhere in the preamble, although it
+often appears before the <literal>\documentclass</literal> command.  It is
+commonly used to create a <literal>.bib</literal> or other such data file from the
+main document source, to make the source file self-contained.
+Similarly, it can be used to create a custom style or class file,
+again making the source self-contained.
+</para>
+<para>For example, this document:
+</para>
 <screen>\documentclass{article}
 \begin{filecontents}{JH.sty}
 \newcommand{\myname}{Jim Hef{}feron}
@@ -4093,7 +4871,7 @@
 Article by \myname.
 \end{document}
 </screen>
-<para>produces this file <filename>JH.sty</filename>.
+<para>produces this file <filename>JH.sty</filename>:
 </para>
 <screen>%% LaTeX2e file `JH.sty'
 %% generated by the `filecontents' environment
@@ -4124,7 +4902,7 @@
 <para>An environment that creates a paragraph whose lines are flush to the
 left-hand margin, and ragged right. If you have lines that are too long
 then &latex; will linebreak them in a way that avoids hyphenation and
-stretching or shrinking spaces.  To force a new line use a double
+stretching or shrinking interword spaces.  To force a new line use a double
 backslash, <literal>\\</literal>.  For the declaration form
 see <link linkend="_005craggedright">\raggedright</link>.
 </para>
@@ -4161,7 +4939,7 @@
 \end{<replaceable>environment</replaceable>}
 </screen>
 <para>A declaration which causes lines to be flush to the left margin and
-ragged right. It can be used inside an environment such as <literal>quote</literal>
+ragged right. It can be used inside an <replaceable>environment</replaceable> such as <literal>quote</literal>
 or in a <literal>parbox</literal>.  For the environment form
 see <link linkend="flushleft">flushleft</link>.
 </para>
@@ -4204,11 +4982,13 @@
 <para>An environment that creates a paragraph whose lines are flush to the
 right-hand margin and ragged left. If you have lines that are too long
 to fit the margins then &latex; will linebreak them in a way that
-avoids hyphenation and stretching or shrinking spaces.  To force a new
+avoids hyphenation and stretching or shrinking inter-word spaces.  To force a new
 line use a double backslash, <literal>\\</literal>.  For the declaration form
 see <link linkend="_005craggedleft">\raggedleft</link>.
 </para>
-<para>For an example related to this environment, see <link linkend="flushleft">flushleft</link>.
+<para>For an example related to this environment, see <link linkend="flushleft">flushleft</link>,
+where one just have mutatis mutandis to replace <literal>flushleft</literal> by
+<literal>flushright</literal>.
 </para>
 
 
@@ -4231,7 +5011,7 @@
 \end{<replaceable>environment</replaceable>}
 </screen>
 <para>A declaration which causes lines to be flush to the right margin and
-ragged left. It can be used inside an environment such as <literal>quote</literal>
+ragged left. It can be used inside an <replaceable>environment</replaceable> such as <literal>quote</literal>
 or in a <literal>parbox</literal>.  For the environment form
 see <link linkend="flushright">flushright</link>.
 </para>
@@ -4241,7 +5021,9 @@
 scope of the declaration must contain the blank line or <literal>\end</literal>
 command that ends the paragraph unit.
 </para>
-<para>For an example related to this environment, see <link linkend="_005craggedright">\raggedright</link>.
+<para>For an example related to this environment, see <link linkend="_005craggedright">\raggedright</link>,
+where one just have mutatis mutandis to replace <literal>\raggedright</literal> by
+<literal>\raggedleft</literal>.
 </para>
 
 </sect2>
@@ -4266,8 +5048,8 @@
   ...
 \end{itemize}
 </screen>
-<para>Produce a list that is unordered, sometimes called a bullet list.  The
-environment must have at least one <literal>\item</literal>; having none causes the
+<para>Produce an <firstterm>unordered list</firstterm>, sometimes called a bullet list.  There
+must be at least one <literal>\item</literal> within the environment; having none causes the
 &latex; error ‘<literal>Something's wrong--perhaps a missing \item</literal>’.
 </para>
 <para>This gives a two-item list.
@@ -4277,34 +5059,38 @@
  \item Rice portrait 
 \end{itemize}
 </screen>
-<para>As a top-level list each label would come out as a bullet, •.
-The format of the labeling depends on the nesting level; see below.
+<para>With the default locale—without loading e.g. <filename>babel</filename> package
+with another language than USenglish—as a top-level list each label
+would come out as a bullet, •.  The format of the labeling
+depends on the nesting level; see below.
 </para>
 <indexterm role="fn"><primary>\item</primary></indexterm>
 <para>Start list items with the <literal>\item</literal> command (see <link linkend="_005citem">\item</link>).  If you
 give <literal>\item</literal> an optional argument by following it with square
-brackets, as in <literal>\item[Optional label]</literal>, then by default it will
-appear in bold and be flush right, so it could extend into the left
-margin.  For labels that are flush left see the <link linkend="description">description</link>
-environment. Following the <literal>\item</literal> is optional text, which may
-contain multiple paragraphs.
+brackets, as in <literal>\item[<replaceable>Optional label</replaceable>]</literal>, then by default
+<replaceable>Optional label</replaceable> will appear in bold and be flush right, so it could
+extend into the left margin.  For labels that are flush left see the
+<link linkend="description">description</link> environment. Following the <literal>\item</literal> is the text of
+the item, which may be empty or contain multiple paragraphs.
 </para>
+<para>Unordered lists can be nested within one another, up to four levels deep.
+They can also be nested within other paragraph-making environments, such
+as <literal>enumerate</literal> (see <link linkend="enumerate">enumerate</link>).
+</para>
 <indexterm role="fn"><primary>\labelitemi</primary></indexterm>
 <indexterm role="fn"><primary>\labelitemii</primary></indexterm>
 <indexterm role="fn"><primary>\labelitemiii</primary></indexterm>
 <indexterm role="fn"><primary>\labelitemiv</primary></indexterm>
-<anchor id="itemize-labelitemi"/><anchor id="itemize-labelitemii"/><anchor id="itemize-labelitemiii"/><anchor id="itemize-labelitemiv"/><para>Itemized lists can be nested within one another, up to four levels deep.
-They can also be nested within other paragraph-making environments, such
-as <literal>enumerate</literal> (see <link linkend="enumerate">enumerate</link>).  The <literal>itemize</literal> environment
-uses the commands <literal>\labelitemi</literal> through <literal>\labelitemiv</literal> to
-produce the default label (this also uses the convention of lowercase
-roman numerals at the end of the command names that signify the nesting
-level).  These are the default marks at each level.
+<anchor id="itemize-labelitemi"/><anchor id="itemize-labelitemii"/><anchor id="itemize-labelitemiii"/><anchor id="itemize-labelitemiv"/><para>The <literal>itemize</literal> environment uses the commands <literal>\labelitemi</literal>
+through <literal>\labelitemiv</literal> to produce the default label (note the
+convention of lowercase roman numerals at the end of the command names
+that signify the nesting level).  These are the default marks at each
+level.
 </para>
 <orderedlist numeration="arabic"><listitem><para>• (bullet, from <literal>\textbullet</literal>)
 </para></listitem><listitem><para><emphasis role="bold">--<!-- /@w --></emphasis> (bold en-dash, from <literal>\normalfont\bfseries\textendash</literal>)
 </para></listitem><listitem><para>* (asterisk, from <literal>\textasteriskcentered</literal>)
-</para></listitem><listitem><para>. (centered dot, rendered here as a period, from <literal>\textperiodcentered</literal>)
+</para></listitem><listitem><para>. (vertically centered dot, rendered here as a period, from <literal>\textperiodcentered</literal>)
 </para></listitem></orderedlist>
 <para>Change the labels with <literal>\renewcommand</literal>.  For instance, this makes
 the first level use diamonds.
@@ -4320,18 +5106,22 @@
 <indexterm role="fn"><primary>\leftmarginvi</primary></indexterm>
 <anchor id="itemize-leftmargin"/><anchor id="itemize-leftmargini"/><anchor id="itemize-leftmarginii"/><anchor id="itemize-leftmarginiii"/><anchor id="itemize-leftmarginiv"/><anchor id="itemize-leftmarginv"/><anchor id="itemize-leftmarginvi"/><para>The distance between the left margin of the enclosing environment and
 the left margin of the <literal>itemize</literal> list is determined by the
-parameters <literal>\leftmargini</literal> through <literal>\leftmarginvi</literal>.  (Note the
-convention of using lowercase roman numerals a the end of the command
-name to denote the nesting level.)  The defaults are: <literal>2.5em</literal> in
-level 1 (<literal>2em</literal> in two-column mode), <literal>2.2em</literal> in level 2,
-<literal>1.87em</literal> in level 3, and <literal>1.7em</literal> in level 4, with smaller
-values for more deeply nested levels.
+parameters <literal>\leftmargini</literal> through <literal>\leftmarginvi</literal>.  (This also
+uses the convention of using lowercase roman numerals a the end of the
+command name to denote the nesting level.)  The defaults are:
+<literal>2.5em</literal> in level 1 (<literal>2em</literal> in two-column mode), <literal>2.2em</literal> in
+level 2, <literal>1.87em</literal> in level 3, and <literal>1.7em</literal> in level 4, with
+smaller values for more deeply nested levels.
 </para>
+<indexterm role="cp"><primary>package, <literal>enumitem</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>enumitem</literal> package</primary></indexterm>
+
 <para>For other major &latex; labeled list environments, see
-<link linkend="description">description</link> and <link linkend="enumerate">enumerate</link>.  For information about list
-layout parameters, including the default values, and for information
-about customizing list layout, see <link linkend="list">list</link>.  The package
-<filename>enumitem</filename> is useful for customizing lists.
+<link linkend="description">description</link> and <link linkend="enumerate">enumerate</link>.  The <literal>itemize</literal>,
+<literal>enumerate</literal> and <literal>description</literal> environment use the same list
+layout parameters. For a description, including the default values, and
+for information about customizing list layout, see <link linkend="list">list</link>.  The
+package <filename>enumitem</filename> is useful for customizing lists.
 </para>
 <para>This example greatly reduces the margin space for outermost itemized
 lists.
@@ -4414,11 +5204,11 @@
 </screen>
 <para>The mandatory first argument <replaceable>labeling</replaceable> specifies the default
 labeling of list items.  It can contain text and &latex; commands, as
-above where it contains both ‘<literal>Item</literal>’ and ‘<literal>\Roman{...}</literal>’.
+above where it contains both ‘<literal>Item</literal>’ and ‘<literal>\Roman{…}</literal>’.
 &latex; forms the label by putting the <replaceable>labeling</replaceable> argument in a box
 of width <literal>\labelwidth</literal>.  If the label is wider than that, the
 additional material extends to the right.  When making an instance of a
-list you can override the default labeling by giving <literal>\item</literal> an
+<literal>list</literal> you can override the default labeling by giving <literal>\item</literal> an
 optional argument by including square braces and the text, as in the
 above <literal>\item[Special label.]</literal>; see <link linkend="_005citem">\item</link>.
 </para>
@@ -4440,7 +5230,7 @@
 <literal>\newcommand{\namedmakelabel}[1]{\textsc{#1}}</literal>, and between
 the <literal>\setlength</literal> command and the parenthesis that closes the
 <replaceable>spacing</replaceable> argument also add <literal>\let\makelabel\namedmakelabel</literal>.
-Then the items will be typeset in small caps.  Similarly, changing the
+Then the labels will be typeset in small caps.  Similarly, changing the
 second code line to <literal>\let\makelabel\fbox</literal> puts the labels inside a
 framed box.  Another example of the <literal>\makelabel</literal> command is below,
 in the definition of the <literal>redlabel</literal> environment.
@@ -4466,7 +5256,7 @@
 minus1pt</literal>, <literal>\parsep</literal> (that is, <literal>2pt plus1pt minus1pt</literal>), and
 <literal>\topsep</literal> (that is, <literal>2pt plus1pt minus1pt</literal>).  The defaults at
 11 point are: <literal>4.5pt plus2pt minus1pt</literal>, <literal>\parsep</literal> (that is,
-<literal>2pt plus1pt minus1pt</literal>), and <literal>topsep</literal> (that is, <literal>2pt
+<literal>2pt plus1pt minus1pt</literal>), and <literal>\topsep</literal> (that is, <literal>2pt
 plus1pt minus1pt</literal>).  The defaults at 12 point are: <literal>5pt plus2.5pt
 minus1pt</literal>, <literal>\parsep</literal> (that is, <literal>2.5pt plus1pt minus1pt</literal>), and
 <literal>\topsep</literal> (that is, <literal>2.5pt plus1pt minus1pt</literal>).
@@ -4521,14 +5311,14 @@
 is <literal>0pt</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\parsep</primary></indexterm><literal>\parsep</literal>
-</term><listitem><anchor id="list-parsep"/><para>Vertical space between paragraphs within an item.  In the ‘<literal>book</literal>’
-and ‘<literal>article</literal>’ classes The defaults for the first three levels in
-&latex;’s ‘<literal>article</literal>’, ‘<literal>book</literal>’, and ‘<literal>report</literal>’ classes at 10
-point size are: <literal>4pt plus2pt minus1pt</literal>, <literal>2pt plus1pt
-minus1pt</literal>, and <literal>0pt</literal>.  The defaults at 11 point size are:
-<literal>4.5pt plus2pt minus1pt</literal>, <literal>2pt plus1pt minus1pt</literal>, and
-<literal>0pt</literal>.  The defaults at 12 point size are: <literal>5pt plus2.5pt
-minus1pt</literal>, <literal>2.5pt plus1pt minus1pt</literal>, and <literal>0pt</literal>.
+</term><listitem><anchor id="list-parsep"/><para>Vertical space between paragraphs within an item.
+The defaults for the first three levels in &latex;’s ‘<literal>article</literal>’,
+‘<literal>book</literal>’, and ‘<literal>report</literal>’ classes at 10 point size are: <literal>4pt
+plus2pt minus1pt</literal>, <literal>2pt plus1pt minus1pt</literal>, and <literal>0pt</literal>.  The
+defaults at 11 point size are: <literal>4.5pt plus2pt minus1pt</literal>,
+<literal>2pt plus1pt minus1pt</literal>, and <literal>0pt</literal>.  The defaults at 12 point
+size are: <literal>5pt plus2.5pt minus1pt</literal>, <literal>2.5pt plus1pt
+minus1pt</literal>, and <literal>0pt</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\partopsep</primary></indexterm><literal>\partopsep</literal>
 </term><listitem><anchor id="list-partopsep"/><para>Vertical space added, beyond <literal>\topsep</literal>+<literal>\parskip</literal>, to the top
@@ -4672,7 +5462,7 @@
      \let\makelabel=\makeredlabel
     }
   }
-{\end{list} }
+{\end{list}}
 </screen>
 
 
@@ -4691,7 +5481,7 @@
 depends on the list type.
 </para>
 <para>Because the optional label is surrounded by square brackets
-‘<literal>[...]</literal>’, if you have an item whose text starts with ‘<literal>[</literal>’, you
+‘<literal>[...]</literal>’, if you have an item whose text starts with [, you
 have to hide the bracket inside curly braces, as in: <literal>\item
 {[} is an open square bracket</literal>; otherwise, &latex; will think it
 marks the start of an optional label.
@@ -4729,7 +5519,7 @@
 <para>A restricted version of the list environment, in which margins are not
 indented and an <literal>\item</literal> without an optional argument produces no
 text.  It is most often used in macros, to define an environment where
-the <literal>\item</literal> command as part of the environment’s definition.  For
+the <literal>\item</literal> command is part of the environment’s definition.  For
 instance, the <literal>center</literal> environment is defined essentially like
 this:
 </para>
@@ -4766,7 +5556,7 @@
 <indexterm role="fn"><primary>environment, <literal>math</literal></primary></indexterm>
 <indexterm role="fn"><primary><literal>math</literal> environment</primary></indexterm>
         
-<indexterm role="cp"><primary>in-line formulas</primary></indexterm>
+<indexterm role="cp"><primary>inline formulas</primary></indexterm>
 
 <para>Synopsis:
 </para>
@@ -4774,6 +5564,8 @@
 <replaceable>math</replaceable>
 \end{math}
 </screen>
+<indexterm role="fn"><primary>$ inline math</primary></indexterm>
+<indexterm role="fn"><primary>\(...\) inline math</primary></indexterm>
 <para>The <literal>math</literal> environment inserts given <replaceable>math</replaceable> material within
 the running text.  <literal>\(...\)</literal> and <literal>$...$</literal> are synonyms.
 See <link linkend="Math-formulas">Math formulas</link>.
@@ -4826,24 +5618,30 @@
 <para>There are three optional arguments, <replaceable>position</replaceable>, <replaceable>height</replaceable>, and
 <replaceable>inner-pos</replaceable>.  You need not include all three. For example, get the
 default <replaceable>position</replaceable> and set the <replaceable>height</replaceable> with
-<literal>\begin{minipage}[c][2.54cm] <replaceable>contents</replaceable> \end{minipage}</literal>.
-(Get the natural height with an empty argument, <literal>[]</literal>.)
+<literal>\begin{minipage}[c][2.54cm]{\columnwidth} <replaceable>contents</replaceable>
+\end{minipage}</literal>.  (Get the natural height with an empty argument,
+<literal>[]</literal>.)
 </para>
 <para>The optional argument <replaceable>position</replaceable> governs how the <literal>minipage</literal>
 vertically aligns with the surrounding material.
 </para>
 <variablelist><varlistentry><term><literal>c</literal>
-</term><listitem><para>(synonym <literal>m</literal>) Default.  Positions the <literal>minipage</literal> so its
-vertical center lines up with the center of the adjacent text line (what
-Plain &tex; calls <literal>\vcenter</literal>).
+</term><listitem><!-- xx Clarify what it means when adjacent text lines do not have aligned -->
+<!-- vertical center with each other -->
+<para>(synonym <literal>m</literal>) Default.  Positions the <literal>minipage</literal> so its
+vertical center lines up with the center of the adjacent text line.
 </para>
 </listitem></varlistentry><varlistentry><term><literal>t</literal>
-</term><listitem><para>Match the top line in the <literal>minipage</literal> with the baseline of the
-surrounding text (Plain &tex;’s <literal>\vtop</literal>.
+</term><listitem><indexterm role="fn"><primary>\vtop plain &tex;</primary></indexterm>
+<!-- xx Is there any reason why the word ``match'' is used instead of word -->
+<!-- ``align''. Do we mean some more permissive alignment? -->
+<para>Match the top line in the <literal>minipage</literal> with the baseline of the
+surrounding text (plain &tex;’s <literal>\vtop</literal>).
 </para>
 </listitem></varlistentry><varlistentry><term><literal>b</literal>
-</term><listitem><para>Match the bottom line in the <literal>minipage</literal> with the baseline of the
-surrounding text (Plain &tex;’s <literal>\vbox</literal>.
+</term><listitem><indexterm role="fn"><primary>\vbox plain &tex;</primary></indexterm>
+<para>Match the bottom line in the <literal>minipage</literal> with the baseline of the
+surrounding text (plain &tex;’s <literal>\vbox</literal>).
 </para></listitem></varlistentry></variablelist>
 <para>To see the effects of these, contrast running this
 </para>
@@ -4853,6 +5651,8 @@
 </screen>
 <para>with the results of changing <literal>c</literal> to <literal>b</literal> or <literal>t</literal>.
 </para>
+<!-- xx Clarify what happens if user enter a rubber length instead of a -->
+<!-- rigid length. -->
 <para>The optional argument <replaceable>height</replaceable> is a rigid length (see <link linkend="Lengths">Lengths</link>).
 It sets the height of the <literal>minipage</literal>.  You can enter any value
 larger than, or equal to, or smaller than the <literal>minipage</literal>’s natural
@@ -4860,11 +5660,11 @@
 it to a height of zero or a negative value.
 </para>
 <para>The final optional argument <replaceable>inner-pos</replaceable> controls the placement of
-<replaceable>content</replaceable> inside the box. These are the possible values are (the
+<replaceable>contents</replaceable> inside the box. These are the possible values are (the
 default is the value of <replaceable>position</replaceable>).
 </para>
 <variablelist><varlistentry><term><literal>t</literal>
-</term><listitem><para>Place <replaceable>content</replaceable> at the top of the box.
+</term><listitem><para>Place <replaceable>contents</replaceable> at the top of the box.
 </para>
 </listitem></varlistentry><varlistentry><term><literal>c</literal>
 </term><listitem><para>Place it in the vertical center.
@@ -4929,19 +5729,29 @@
 <para>This puts a table containing data side by side with a map graphic.  They
 are vertically centered.
 </para>
-<screen>\newcommand*{\vcenteredhbox}[1]{\begin{tabular}{@{}c@{}}#1\end{tabular}}
+<indexterm role="cp"><primary>package, <literal>siunitx</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>siunitx</literal> package</primary></indexterm>
+
+<screen>% siunitx to have the S column specifier,
+% which aligns numbers on their decimal point.
+\usepackage{siunitx}
+\newcommand*{\vcenteredhbox}[1]{\begin{tabular}{@{}c@{}}#1\end{tabular}}
   ...
 \begin{center}
   \vcenteredhbox{\includegraphics[width=0.3\textwidth]{nyc.png}}
   \hspace{0.1\textwidth}
   \begin{minipage}{0.5\textwidth}
-    \begin{tabular}{r|l}
-      \multicolumn{1}{r}{Borough} &Pop (million)  \\ \hline
-      The Bronx      &$1.5$  \\
-      Brooklyn       &$2.6$  \\
-      Manhattan      &$1.6$  \\
-      Queens         &$2.3$  \\
-      Staten Island  &$0.5$  
+    \begin{tabular}{r|S}
+      % \multicolumn to remove vertical bar between column headers
+      \multicolumn{1}{r}{Borough} &
+      % braces to prevent siunitx from misinterpreting the
+      % period as a decimal separator
+      {Pop. (million)}  \\ \hline
+      The Bronx      &1.5  \\
+      Brooklyn       &2.6  \\
+      Manhattan      &1.6  \\
+      Queens         &2.3  \\
+      Staten Island  &0.5  
     \end{tabular}
   \end{minipage}              
 \end{center}
@@ -4959,22 +5769,24 @@
 
 <para>Synopses: 
 </para><screen>\begin{picture}(<replaceable>width</replaceable>,<replaceable>height</replaceable>)
-   <replaceable>picture commands</replaceable> 
+   <replaceable>picture command</replaceable>
 \end{picture}
 </screen>
 <para>or
 </para>
 <screen>\begin{picture}(<replaceable>width</replaceable>,<replaceable>height</replaceable>)(<replaceable>xoffset</replaceable>,<replaceable>yoffset</replaceable>)
-  <replaceable>picture commands</replaceable>
+  <replaceable>picture command</replaceable>
 \end{picture}
 </screen>
+<para>Where there may be any number of <replaceable>picture command</replaceable>’s.
+</para>
 <para>An environment to create simple pictures containing lines, arrows,
-boxes, circles, and text.  Note that while this environment is not
-obsolete, new documents typically use much more powerful graphics
-creation systems, such as <literal>TikZ</literal>, <literal>PSTricks</literal>, <literal>MetaPost</literal>,
-or <literal>Asymptote</literal>.  These are not covered in this document; see CTAN.
+boxes, circles, and text.  This environment is not obsolete, but new
+documents typically use much more powerful graphics creation systems,
+such as TikZ, PSTricks, MetaPost, or Asymptote.  None of these are
+covered in this document; see CTAN.
 </para>
-<para>This shows the parallelogram law for adding vectors.
+<para>To start, here’s an example showing the parallelogram law for adding vectors.
 </para>
 <indexterm role="fn"><primary>\unitlength</primary></indexterm>
 <screen>\setlength{\unitlength}{1cm}
@@ -4983,41 +5795,24 @@
     \put(2,1){\makebox(0,0)[l]{\ first leg}}
   \put(4,2){\vector(1,2){2}}
     \put(5,4){\makebox(0,0)[l]{\ second leg}}  
-  \put(0,0){\line(1,1){6}}
+  \put(0,0){\vector(1,1){6}}
     \put(3,3){\makebox(0,0)[r]{sum\ }}  
 \end{picture}
 </screen>
-<para>You can also use this environment to place arbitrary material at an
-exact location.
-</para>
-<screen>\usepackage{color,graphicx}  % in preamble
-  ...
-\begin{center}
-\setlength{\unitlength}{\textwidth} 
-\begin{picture}(1,1)      % leave space, \textwidth wide and tall
-  \put(0,0){\includegraphics[width=\textwidth]{desertedisland.jpg}}
-  \put(0.25,0.35){\textcolor{red}{X Treasure here}}
-\end{picture}
-\end{center}
-</screen>
-<para>The red X will be precisely a quarter of the <literal>\linewidth</literal> from
-the left margin, and <literal>0.35\linewidth</literal> up from the bottom.  Another
-example of this usage is to put similar code in the page header to get
-repeat material on each of a document’s pages.
-</para>
 <para>The <literal>picture</literal> environment has one required argument, a pair of
-numbers (<replaceable>width</replaceable>,<replaceable>height</replaceable>).  Multiply these by the value
-<literal>\unitlength</literal> to get the nominal size of the output, the space that
-&latex; reserves on the output page.  This nominal size need not be how
-large the picture really is; &latex; will draw things from the picture
-outside the picture’s box.
+positive real numbers (<replaceable>width</replaceable>,<replaceable>height</replaceable>).  Multiply these by the
+value <literal>\unitlength</literal> to get the nominal size of the output, i.e.
+the space that &latex; reserves on the output page.  This nominal size
+need not be how large the picture really is; &latex; will draw things
+from the picture outside the picture’s box.
 </para>
 <para>This environment also has an optional argument
 (<replaceable>xoffset</replaceable>,<replaceable>yoffset</replaceable>).  It is used to shift the origin.  Unlike
 most optional arguments, this one is not contained in square brackets.
-As with the required argument, it consists of two real numbers.
-Multiply these by <literal>\unitlength</literal> to get the point at the lower-left
-corner of the picture.
+As with the required argument, it consists of a pair of two real
+numbers, but these may also be negative or null.  Multiply these
+by <literal>\unitlength</literal> to get the coordinates of the point at the
+lower-left corner of the picture.
 </para>
 <para>For example, if <literal>\unitlength</literal> has been set to <literal>1mm</literal>, the
 command
@@ -5034,24 +5829,27 @@
 </para>
 <indexterm role="cp"><primary>position, in picture</primary></indexterm>
 <para>Each <replaceable>picture command</replaceable> tells &latex; where to put something by
-naming its position.  A <firstterm>position</firstterm> is a pair such as <literal>(2.4,-5)</literal>
+providing its position.  A <firstterm>position</firstterm> is a pair such as <literal>(2.4,-5)</literal>
 giving the x- and y-coordinates.  A <firstterm>coordinate</firstterm> is a not a length,
 it is a real number (it may have a decimal point or a minus sign).  It
 specifies a length in multiples of the unit length <literal>\unitlength</literal>,
 so if <literal>\unitlength</literal> has been set to <literal>1cm</literal>, then the coordinate
-2.54 specifies a length of 2.54 centimeters.
+<literal>2.54</literal> specifies a length of 2.54 centimeters.
 </para>
-<para>&latex;’s default for <literal>\unitlength</literal> is <literal>1pt</literal>.  it is a rigid
+<para>&latex;’s default for <literal>\unitlength</literal> is <literal>1pt</literal>.  It is a rigid
 length (see <link linkend="Lengths">Lengths</link>).  Change it with the <literal>\setlength</literal> command
 (see <link linkend="_005csetlength">\setlength</link>).  Make this change only outside of a <literal>picture</literal>
 environment.
 </para>
-<para>Coordinates are given with respect to an origin, which is normally at
+<para>The <literal>picture</literal> environment supports using standard arithmetic
+expressions as well as numbers.
+</para>
+<para>Coordinates are given with respect to an origin, which is by default at
 the lower-left corner of the picture.  Note that when a position appears
 as an argument, as with <literal>\put(1,2){...}</literal>, it is not enclosed in
 braces since the parentheses serve to delimit the argument.  Also,
 unlike in some computer graphics systems, larger y-coordinates are
-further up the page.
+further up the page, for example, <inlineequation><mathphrase>y = 1</mathphrase></inlineequation> is <emphasis>above</emphasis> <inlineequation><mathphrase>y = 0</mathphrase></inlineequation>.
 </para>
 <para>There are four ways to put things in a picture: <literal>\put</literal>,
 <literal>\multiput</literal>, <literal>\qbezier</literal>, and <literal>\graphpaper</literal>.  The most
@@ -5082,21 +5880,24 @@
 <para>The <literal>\multiput</literal>, <literal>qbezier</literal>, and <literal>graphpaper</literal> commands are
 described below.
 </para>
-<para>This draws a rectangle with a wavy top, using <literal>\qbezier</literal> for
-that curve.
+<para>You can also use this environment to place arbitrary material at an
+exact location. For example:
 </para>
-<screen>\begin{picture}(3,1.5)
-  \put(0,0){\vector(1,0){8}}  % x axis
-  \put(0,0){\vector(0,1){4}}  % y axis
-  \put(2,0){\line(0,1){3}}       % left side rectangle
-  \put(4,0){\line(0,1){3.5}}     % right side
-  \qbezier(2,3)(2.5,2.9)(3,3.25)
-    \qbezier(3,3.25)(3.5,3.6)(4,3.5)
-  \thicklines                 % below here, lines are twice as thick
-  \put(2,3){\line(4,1){2}}
-  \put(4.5,2.5){\framebox{Trapezoidal Rule}}
+<screen>\usepackage{color,graphicx}  % in preamble
+  ...
+\begin{center}
+\setlength{\unitlength}{\textwidth} 
+\begin{picture}(1,1)      % leave space, \textwidth wide and tall
+  \put(0,0){\includegraphics[width=\textwidth]{desertedisland.jpg}}
+  \put(0.25,0.35){\textcolor{red}{X Treasure here}}
 \end{picture}
+\end{center}
 </screen>
+<para>The red X will be precisely a quarter of the <literal>\textwidth</literal> from
+the left margin, and <literal>0.35\textwidth</literal> up from the bottom of the
+picture.  Another example of this usage is to put similar code in the
+page header to get repeat material on each of a document’s pages.
+</para>
 
 
 <sect2 label="8.19.1" id="_005cput">
@@ -5178,7 +5979,21 @@
 maximum number of points is <literal>\qbeziermax</literal> (change this value with
 <literal>\renewcommand</literal>).
 </para>
-
+<para>This draws a rectangle with a wavy top, using <literal>\qbezier</literal> for
+that curve.
+</para>
+<screen>\begin{picture}(8,4)
+  \put(0,0){\vector(1,0){8}}  % x axis
+  \put(0,0){\vector(0,1){4}}  % y axis
+  \put(2,0){\line(0,1){3}}       % left side
+  \put(4,0){\line(0,1){3.5}}     % right side
+  \qbezier(2,3)(2.5,2.9)(3,3.25)
+    \qbezier(3,3.25)(3.5,3.6)(4,3.5)
+  \thicklines                 % below here, lines are twice as thick
+  \put(2,3){\line(4,1){2}}
+  \put(4.5,2.5){\framebox{Trapezoidal Rule}}
+\end{picture}
+</screen>
 </sect2>
 <sect2 label="8.19.4" id="_005cgraphpaper">
 <title><literal>\graphpaper</literal></title>
@@ -5189,7 +6004,10 @@
 <screen>\graphpaper(<replaceable>x_init</replaceable>,<replaceable>y_init</replaceable>)(<replaceable>x_dimen</replaceable>,<replaceable>y_dimen</replaceable>)
 \graphpaper[<replaceable>spacing</replaceable>](<replaceable>x_init</replaceable>,<replaceable>y_init</replaceable>)(<replaceable>x_dimen</replaceable>,<replaceable>y_dimen</replaceable>)
 </screen>
-<para>Draw a coordinate grid.  Requires the <literal>graphpap</literal> package.
+<indexterm role="cp"><primary>package, <literal>graphpap</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>graphpap</literal> package</primary></indexterm>
+
+<para>Draw a coordinate grid.  Requires the <filename>graphpap</filename> package.
 The grid’s origin is <literal>(<replaceable>x_init</replaceable>,<replaceable>y_init</replaceable>)</literal>.
 Grid lines come every <replaceable>spacing</replaceable> units (the default is 10).
 The grid extends <replaceable>x_dimen</replaceable> units to the right and <replaceable>y_dimen</replaceable> units up.
@@ -5218,7 +6036,7 @@
 </screen>
 <para>Draw a line.  It slopes such that it vertically rises <replaceable>y_rise</replaceable> for
 every horizontal <replaceable>x_run</replaceable>.  The <replaceable>travel</replaceable> is the total horizontal
-change — it is not the length of the vector, it is the change in
+change—it is not the length of the vector, it is the change in
 <inlineequation><mathphrase>x</mathphrase></inlineequation>.  In the special case of vertical lines, where
 (<replaceable>x_run</replaceable>,<replaceable>y_rise</replaceable>)=(0,1), the <replaceable>travel</replaceable> gives the change in
 <inlineequation><mathphrase>y</mathphrase></inlineequation>.
@@ -5270,9 +6088,10 @@
 (4,2) (if you choose the latter then instead of lines you get sequences
 of arrowheads; the solution is to switch to the former).  To get lines
 of arbitrary slope and plenty of other shapes in a system like
-<literal>picture</literal>, see the package <filename>pict2e</filename> on CTAN.  Another solution
-is to use a full-featured graphics system such as <filename>TikZ</filename>, or
-<filename>PSTricks</filename>, or <filename>MetaPost</filename>, or <filename>Asymptote</filename>
+<literal>picture</literal>, see the package <filename>pict2e</filename>
+(<ulink url="https://ctan.org/pkg/pict2e">https://ctan.org/pkg/pict2e</ulink>).  Another solution
+is to use a full-featured graphics system such as TikZ, PSTricks,
+MetaPost, or Asymptote.
 </para>
 
 </sect2>
@@ -5334,8 +6153,8 @@
 </para>
 <screen>\put(5,7){\circle{6}}
 </screen>
-<para>The available radii for <literal>circle</literal> are, in points, the even
-numbers from 2 to 20, inclusive.  For <literal>circle*</literal> they are all the
+<para>The available radii for <literal>\circle</literal> are, in points, the even
+numbers from 2 to 20, inclusive.  For <literal>\circle*</literal> they are all the
 integers from 1 to 15.
 </para>
 
@@ -5438,7 +6257,7 @@
 </screen>
 <para>Draw a line ending in an arrow.  The slope of that line is: it
 vertically rises <replaceable>y_rise</replaceable> for every horizontal <replaceable>x_run</replaceable>.  The
-<replaceable>travel</replaceable> is the total horizontal change — it is not the
+<replaceable>travel</replaceable> is the total horizontal change—it is not the
 length of the vector, it is the change in <inlineequation><mathphrase>x</mathphrase></inlineequation>.  In the special case
 of vertical vectors, if (<replaceable>x_run</replaceable>,<replaceable>y_rise</replaceable>)=(0,1), then
 <replaceable>travel</replaceable> gives the change in <inlineequation><mathphrase>y</mathphrase></inlineequation>.
@@ -5640,6 +6459,8 @@
 <sect1 label="8.21" id="tabbing">
 <title><literal>tabbing</literal></title>
 
+<!-- xx TODO align on the French which is more precise and has more illustrative examples. -->
+
 <indexterm role="fn"><primary>environment, <literal>tabbing</literal></primary></indexterm>
 <indexterm role="fn"><primary><literal>tabbing</literal> environment</primary></indexterm>
         
@@ -5665,12 +6486,12 @@
 widths, ended by a <literal>\kill</literal> command (which is described below):
 </para>
 <screen>\begin{tabbing}
-\hspace{0.75in}     \= \hspace{0.40in}  \= \hspace{0.40in}    \kill
-Ship                \> Guns             \> Year    \\ 
-\textit{Sophie}     \> 14               \> 1800    \\
-\textit{Polychrest} \> 24               \> 1803    \\
-\textit{Lively}     \> 38               \> 1804    \\
-\textit{Surprise}   \> 28               \> 1805    \\
+\hspace{1.2in}\=\hspace{1in}\=\kill
+Ship                \>Guns             \>Year    \\ 
+\textit{Sophie}     \>14               \>1800    \\
+\textit{Polychrest} \>24               \>1803    \\
+\textit{Lively}     \>38               \>1804    \\
+\textit{Surprise}   \>28               \>1805    \\
 \end{tabbing}
 </screen>
 <para>Both the <literal>tabbing</literal> environment and the more widely-used
@@ -5680,10 +6501,10 @@
 sets the tab stops.  Another distinction is that <literal>tabular</literal>
 generates a box, but <literal>tabbing</literal> can be broken across pages.
 Finally, while <literal>tabular</literal> can be used in any mode, <literal>tabbing</literal>
-can be used only in paragraph mode and it starts a new paragraph.
+can be used only in paragraph mode and it always starts a new paragraph,
+without indentation.
 </para>
-<para>A <literal>tabbing</literal> environment always starts a new paragraph, without
-indentation. Moreover, as shown in the example above, there is no need
+<para>Moreover, as shown in the example above, there is no need
 to use the starred form of the <literal>\hspace</literal> command at the beginning
 of a tabbed row.  The right margin of the <literal>tabbing</literal> environment is
 the end of line, so that the width of the environment is
@@ -5696,8 +6517,9 @@
 <literal>\kill</literal>. The last row may omit the <literal>\\</literal> and end with just
 <literal>\end{tabbing}</literal>.
 </para>
-<para>At any point the <literal>tabbing</literal> environment has a current tab stop
-pattern, a sequence of <inlineequation><mathphrase><replaceable>n</replaceable> > 0</mathphrase></inlineequation> tab stops, numbered 0, 1,
+<indexterm role="cp"><primary>pattern, current tab stops, tabbing</primary></indexterm>
+<para>At any point the <literal>tabbing</literal> environment has a <firstterm>current tab stop
+pattern</firstterm>, a sequence of <inlineequation><mathphrase><replaceable>n</replaceable> > 0</mathphrase></inlineequation> tab stops, numbered 0, 1,
 etc.  These create <replaceable>n</replaceable> corresponding columns.  Tab stop 0 is
 always the left margin, defined by the enclosing environment.  Tab
 stop number <replaceable>i</replaceable> is set if it is assigned a horizontal
@@ -5854,20 +6676,18 @@
   \label{tab:cello}
 \end{table}
 </screen>
-<para>but you can put many different kinds of content in a <literal>table</literal>,
-including text, &latex; commands, etc.
+<para>but you can put many different kinds of content in a <literal>table</literal>:
+the <replaceable>table body</replaceable> may contain text, &latex; commands, graphics, etc. It is
+typeset in a <literal>parbox</literal> of width <literal>\textwidth</literal>.
 </para>
 <para>For the possible values of <replaceable>placement</replaceable> and their effect on the 
 float placement algorithm, see <link linkend="Floats">Floats</link>.
 </para>
-<para>The table body is typeset in a <literal>parbox</literal> of width <literal>\textwidth</literal>.
-It can contain text, commands, graphics, etc.
-</para>
 <para>The label is optional; it is used for cross references (see <link linkend="Cross-references">Cross
 references</link>).  
 <indexterm role="fn"><primary>\caption</primary></indexterm>
 The <literal>\caption</literal> command is also optional.  It specifies caption text
-for the table.  By default it is numbered.  If its optional
+<replaceable>title</replaceable> for the table.  By default it is numbered.  If its optional
 <replaceable>lottitle</replaceable> is present then that text is used in the list of tables
 instead of <replaceable>title</replaceable> (see <link linkend="Table-of-contents-etc_002e">Table of contents etc.</link>).
 </para>
@@ -5924,7 +6744,7 @@
 <para>The output will have two left-aligned columns with a vertical bar
 between them.  This is specified in <literal>tabular</literal>’s argument
 <literal>{l|l}</literal>.
-<indexterm role="fn"><primary>&</primary></indexterm>
+<indexterm role="fn"><primary>& for table cells</primary></indexterm>
 Put the entries into different columns by separating them with an
 ampersand, <literal>&</literal>.  The end of each row is marked with a double
 backslash, <literal>\\</literal>.  Put a horizontal rule below a row, after a double
@@ -6032,7 +6852,7 @@
 declaration (when used in a <literal>p</literal>-column element these declarations
 must appear inside braces, as with <literal>{\centering .. \\
 ..}</literal>). Otherwise &latex; will misinterpret the double backslash as
-ending the row.  Instead, to get a line break in there use
+ending the tabular row.  Instead, to get a line break in there use
 <literal>\newline</literal> (see <link linkend="_005cnewline">\newline</link>).
 </para>
 </listitem></varlistentry><varlistentry><term><literal>*{<replaceable>num</replaceable>}{<replaceable>cols</replaceable>}</literal>
@@ -6268,7 +7088,7 @@
 </screen>
 <para>Produce a bibliography or reference list.  There are two ways to produce
 bibliographic lists.  This environment is suitable when you have only a
-few references and can maintain the list by hand.  See <link linkend="Using-BibTeX">Using BibTeX</link>
+few references and can maintain the list by hand.  See <link linkend="Using-BibTeX">Using BibTeX</link>,
 for a more sophisticated approach.
 </para>
 <para>This shows the environment with two entries.
@@ -6288,9 +7108,9 @@
 \end{thebibliography}
 </screen>
 <para>This styles the first reference as ‘<literal>[1] Leslie ...</literal>’, and so that
-<literal>\cite{latexdps}</literal> produces the matching ‘<literal>... based on [1]</literal>’.
-The second <literal>\cite</literal> produces ‘<literal>[1, 2]</literal>’.  You must compile the
-document twice to resolve these references.
+<literal>... based on \cite{latexdps}</literal> produces the matching
+‘<literal>... based on [1]</literal>’.  The second <literal>\cite</literal> produces ‘<literal>[1,
+2]</literal>’.  You must compile the document twice to resolve these references.
 </para>
 <para>The mandatory argument <replaceable>widest-label</replaceable> is text that, when typeset, is
 as wide as the widest item label produced by the <literal>\bibitem</literal>
@@ -6297,6 +7117,8 @@
 commands.  The tradition is to use <literal>9</literal> for bibliographies with less
 than 10 references, <literal>99</literal> for ones with less than 100, etc.
 </para>
+<indexterm role="fn"><primary>\bibname</primary></indexterm>
+<indexterm role="fn"><primary>\refname</primary></indexterm>
 <para>The bibliographic list is headed by a title such as ‘<literal>Bibliography</literal>’.
 To change it there are two cases.  In the <filename>book</filename> and <filename>report</filename>
 classes, where the top level sectioning is <literal>\chapter</literal> and the
@@ -6304,7 +7126,7 @@
 <literal>\bibname</literal>.  For <filename>article</filename>, where the class’s top level
 sectioning is <literal>\section</literal> and the default is ‘<literal>References</literal>’, the
 title is in macro <literal>\refname</literal>.  Change it by redefining the command,
-as with <literal>\renewcommand{\refname}{Cited references}</literal> after
+as with <literal>\renewcommand{\refname}{Cited references}</literal>, after
 <literal>\begin{document}</literal>.
 </para>
 <indexterm role="cp"><primary>package, <literal>babel</literal></primary></indexterm>
@@ -6314,6 +7136,8 @@
 redefine <literal>\refname</literal> or <literal>\bibname</literal> to fit the selected
 language.
 </para>
+<para>See <link linkend="list">list</link>, for the list layout control parameters.
+</para>
 
 
 <sect2 label="8.24.1" id="_005cbibitem">
@@ -6329,16 +7153,16 @@
 </para>
 <screen>\bibitem[<replaceable>label</replaceable>]{<replaceable>cite_key</replaceable>}
 </screen>
-<para>Generate an entry labeled by <replaceable>label</replaceable>.  The default is for &latex; to
-generates a number using the <literal>enumi</literal> counter.  The <firstterm>citation key</firstterm> 
+<para>Generate an entry labeled by default by a number generated using the
+<literal>enumi</literal> counter.  The <firstterm>citation key</firstterm>
 <indexterm role="cp"><primary>citation key</primary></indexterm>
-<replaceable>cite_key</replaceable> is a string of
+<replaceable>cite_key</replaceable> can be any string of
 letters, numbers, and punctuation symbols (but not comma).
 </para>
-<para>See <link linkend="thebibliography">thebibliography</link> for an example.
+<para>See <link linkend="thebibliography">thebibliography</link>, for an example.
 </para>
-<para>The optional <replaceable>label</replaceable> changes the default label from an integer to the
-given string.  With this
+<para>When provided, the optional <replaceable>label</replaceable> becomes the entry label and the
+<literal>enumi</literal> counter is not incremented.  With this
 </para>
 <screen>\begin{thebibliography}
 \bibitem[Lamport 1993]{latexdps} 
@@ -6367,8 +7191,8 @@
 </para>
 <para>Under the hood, &latex; remembers the <replaceable>cite_key</replaceable> and <replaceable>label</replaceable>
 information because <literal>\bibitem</literal> writes it to the auxiliary file
-<filename><replaceable>filename</replaceable>.aux</filename>.  For instance, the above example causes
-<literal>\bibcite{latexdps}{Lamport, 1993}</literal> and
+<filename><replaceable>jobname</replaceable>.aux</filename> (see <link linkend="Jobname">Jobname</link>).  For instance, the above
+example causes the two <literal>\bibcite{latexdps}{Lamport, 1993}</literal> and
 <literal>\bibcite{texbook}{1}</literal> to appear in that file.  The <filename>.aux</filename>
 file is read by the <literal>\begin{document}</literal> command and then the
 information is available for <literal>\cite</literal> commands.  This explains why
@@ -6410,9 +7234,10 @@
   Addison-Wesley, Reading, Massachusetts, 1983.
 \end{thebibliography}
 </screen>
-<para>produces output like ‘<literal>... source is [1]</literal>’.  (You can change the
-appearance of the citation with bibliography styles.  More is in
-<link linkend="Using-BibTeX">Using BibTeX</link>.)
+<para>produces output like ‘<literal>... source is [1]</literal>’.  You can change the
+appearance of the citation and of the reference by using bibliography
+styles if you generate automatically the <literal>thebibliography</literal>
+environment.  More information in <link linkend="Using-BibTeX">Using BibTeX</link>.
 </para>
 <para>The optional argument <replaceable>subcite</replaceable> is appended to the citation.  For
 example, <literal>See 14.3 in \cite[p.~314]{texbook}</literal> might produce
@@ -6419,11 +7244,11 @@
 ‘<literal>See 14.3 in [1, p. 314]</literal>’.
 </para>
 <para>In addition to what appears in the output, <literal>\cite</literal> writes
-information to the auxiliary file <filename><replaceable>filename</replaceable>.aux</filename>.  For
-instance, <literal>\cite{latexdps}</literal> writes ‘<literal>\citation{latexdps}</literal>’
-to that file.  This information is used by Bib&tex; to include in your
-reference list only those works that you have actually cited; see
-<link linkend="_005cnocite">\nocite</link> also.
+information to the auxiliary file <filename><replaceable>jobname</replaceable>.aux</filename>
+(see <link linkend="Jobname">Jobname</link>).  For instance, <literal>\cite{latexdps}</literal> writes
+‘<literal>\citation{latexdps}</literal>’ to that file.  This information is used by
+Bib&tex; to include in your reference list only those works that you
+have actually cited; see <link linkend="_005cnocite">\nocite</link> also.
 </para>
 <para>If <replaceable>keys</replaceable> is not in your bibliography information then you get
 ‘<literal>LaTeX Warning: There were undefined references</literal>’, and in the output
@@ -6446,12 +7271,12 @@
 <screen><literal>\nocite{<replaceable>keys</replaceable>}</literal>
 </screen>
 <para>Produces no output but writes <replaceable>keys</replaceable> to the auxiliary file
-<filename><replaceable>doc-filename</replaceable>.aux</filename>.
+<filename><replaceable>jobname</replaceable>.aux</filename> (see <link linkend="Jobname">Jobname</link>).
 </para>
 <para>The mandatory argument <replaceable>keys</replaceable> is a comma-separated list of one or
 more citation keys (see <link linkend="_005cbibitem">\bibitem</link>).  This information is used by
 Bib&tex; to include these works in your reference list even though you
-have not cited them (see <link linkend="_005ccite">\cite</link>).
+have not explicitly cited them (see <link linkend="_005ccite">\cite</link>).
 </para>
 
 </sect2>
@@ -6467,7 +7292,7 @@
 <para>As described in <literal>thebibliography</literal> (see <link linkend="thebibliography">thebibliography</link>), a
 sophisticated approach to managing bibliographies is provided by the
 Bib&tex; program.  This is only an introduction; see the full
-documentation on CTAN.
+documentation on CTAN (see <link linkend="CTAN">CTAN</link>).
 </para>
 <para>With Bib&tex;, you don’t use <literal>thebibliography</literal>
 (see <link linkend="thebibliography">thebibliography</link>). Instead, include these lines.
@@ -6492,7 +7317,7 @@
 </para></listitem></varlistentry></variablelist>
 <para>Many, many other Bib&tex; style files exist,
 tailored to the demands of various publications.  See CTAN’s listing
-<ulink url="http://mirror.ctan.org/biblio/bibtex/contrib">http://mirror.ctan.org/biblio/bibtex/contrib</ulink>.
+<ulink url="https://mirror.ctan.org/biblio/bibtex/contrib">https://mirror.ctan.org/biblio/bibtex/contrib</ulink>.
 </para>
 <para>The <literal>\bibliography</literal> command is what actually produces the
 bibliography.  Its argument is a comma-separated list, referring to
@@ -6651,8 +7476,13 @@
 
 <para>You cannot use the verbatim environment in the argument to macros, for
 instance in the argument to a <literal>\section</literal>.  This is not the same as
-commands being fragile (see <link linkend="_005cprotect">\protect</link>), instead it just cannot appear
-there. (But the <literal>cprotect</literal> package can help with this.)
+commands being fragile (see <link linkend="_005cprotect">\protect</link>), instead it just cannot work,
+as the <literal>verbatim</literal> environment changes the catcode regime before
+processing its contents, and restore it immediately afterward,
+nevertheless with a macro argument the content of the argument has
+already be converted to a token list along the catcode regime in effect
+when the macro was called.  However, the <literal>cprotect</literal> package can
+help with this.
 </para>
 <indexterm role="cp"><primary>package, <literal>listings</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>listings</literal> package</primary></indexterm>
@@ -6675,7 +7505,7 @@
 <para>A package that provides many more options for verbatim environments is
 <literal>fancyvrb</literal>.  Another is <literal>verbatimbox</literal>.
 </para>
-<para>For a list of all the relevant packages, see CTAN.
+<para>For a list of all the relevant packages, see CTAN (see <link linkend="CTAN">CTAN</link>).
 </para>
 
 
@@ -6703,27 +7533,28 @@
 because the exclamation point is part of <literal>literal-text</literal>.
 </para>
 <para>The single-character delimiter <replaceable>char</replaceable> surrounds
-<replaceable>literal-text</replaceable> — it must be the same character before and
-after.  No spaces come between <literal>\verb</literal> or <literal>\verb*</literal> and
-<replaceable>char</replaceable>, or between <replaceable>char</replaceable> and <replaceable>literal-text</replaceable>, or between
-<replaceable>literal-text</replaceable> and the second occurrence of <replaceable>char</replaceable> (the synopsis
-shows a space only to distinguish one component from the other).  The
-delimiter must not appear in <replaceable>literal-text</replaceable>. The <replaceable>literal-text</replaceable>
-cannot include a line break.
+<replaceable>literal-text</replaceable>—it must be the same character before and after.
+No spaces come between <literal>\verb</literal> or <literal>\verb*</literal> and <replaceable>char</replaceable>,
+or between <replaceable>char</replaceable> and <replaceable>literal-text</replaceable>, or between
+<replaceable>literal-text</replaceable> and the second occurrence of <replaceable>char</replaceable> (the
+synopsis shows a space only to distinguish one component from the
+other).  The delimiter must not appear in <replaceable>literal-text</replaceable>. The
+<replaceable>literal-text</replaceable> cannot include a line break.
 </para>
 <indexterm role="cp"><primary>visible space</primary></indexterm>
 <para>The <literal>*</literal>-form differs only in that spaces are printed with a visible
 space character.
 </para>
-<para>The output from this will include a character showing the spaces.
+<para>The output from this will include a visible space on both side of word
+‘<literal>with</literal>’:
 </para>
-<screen>The commands's first argument is \verb*!filename with extension! and ...
+<screen>The command's first argument is \verb*!filename with extension! and ...
 </screen>
 <indexterm role="cp"><primary>package, <literal>url</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>url</literal> package</primary></indexterm>
 
 <para>For typesetting Internet addresses, urls, the package <literal>url</literal>
-provides an option that is better than the <literal>\verb</literal> command, since
+is a better option than the <literal>\verb</literal> command, since
 it allows line breaks.
 </para>
 <indexterm role="cp"><primary>package, <literal>listings</literal></primary></indexterm>
@@ -6740,8 +7571,12 @@
 
 <para>You cannot use <literal>\verb</literal> in the argument to a macro, for instance in
 the argument to a <literal>\section</literal>.  It is not a question of <literal>\verb</literal>
-being fragile (see <link linkend="_005cprotect">\protect</link>), instead it just cannot appear there.
-(But the <literal>cprotect</literal> package can help with this.)
+being fragile (see <link linkend="_005cprotect">\protect</link>), instead it just cannot work, as the
+<literal>\verb</literal> command changes the catcode regime before reading its
+argument, and restore it immediately afterward, nevertheless with a
+macro argument the content of the argument has already be converted to a
+token list along the catcode regime in effect when the macro was called.
+However, the <literal>cprotect</literal> package can help with this.
 </para>
 
 </sect2>
@@ -6899,8 +7734,8 @@
 new line in the input will also be a new line in the output.  The
 <literal>\restorecr</literal> command restores normal line-breaking behavior.
 </para>
-<para>This is not the way to show verbatim text or computer code.
-See <link linkend="verbatim">verbatim</link> instead.
+<para>This is not the way to show verbatim text or computer code.  Use
+<literal>verbatim</literal> (see <link linkend="verbatim">verbatim</link>) instead.
 </para>
 <para>With &latex;’s usual defaults, this
 </para>
@@ -7143,7 +7978,7 @@
 </screen>
 <para>When you issue <literal>\linebreak</literal>, the spaces in the line are stretched
 out so that it extends to the right margin.  See <link linkend="_005c_005c">\\</link>
-and <link linkend="_005cnewline">\newline</link> to have the spaces not stretched out.
+and <link linkend="_005cnewline">\newline</link>, to have the spaces not stretched out.
 </para>
 
 
@@ -7183,7 +8018,7 @@
 far ahead as the next page break.  So occasionally you may want to
 influence page breaks while preparing a final version of a document.
 </para>
-<para>See <link linkend="Layout">Layout</link> for more material that is relevant to page breaking.
+<para>See <link linkend="Layout">Layout</link>, for more material that is relevant to page breaking.
 </para>
 
 
@@ -7272,7 +8107,7 @@
 \noindent a new nation, conceived in Liberty, and dedicated to the
 proposition that all men are created equal.
 </screen>
-<para>makes a new page start after ‘<literal>continent,</literal>’ and the cut-off line is
+<para>makes a new page start after ‘<literal>continent</literal>’, and the cut-off line is
 not right justified.  In addition, <literal>\newpage</literal> does not vertically
 stretch out the page, as <literal>\pagebreak</literal> does.
 </para>
@@ -7347,13 +8182,13 @@
 a new nation, conceived in Liberty, and dedicated to the proposition
 that all men are created equal.
 </screen>
-<para>does not give a page break at ‘<literal>continent,</literal>’ but instead at
-‘<literal>nation,</literal>’ since that is where &latex; breaks that line.  In
+<para>does not give a page break at ‘<literal>continent</literal>’, but instead at
+‘<literal>nation</literal>’, since that is where &latex; breaks that line.  In
 addition, with <literal>\pagebreak</literal> the vertical space on the page is
 stretched out where possible so that it extends to the normal bottom
 margin.  This can look strange, and if <literal>\flushbottom</literal> is in effect
 this can cause you to get ‘<literal>Underfull \vbox (badness 10000) has
-occurred while \output is active</literal>’.  See <link linkend="_005cnewpage">\newpage</link> for a command that
+occurred while \output is active</literal>’.  See <link linkend="_005cnewpage">\newpage</link>, for a command that
 does not have these effects.
 </para>
 
@@ -7452,7 +8287,7 @@
 paragraph mode; see <link linkend="Modes">Modes</link>).  There are some workarounds; see
 following sections.
 </para>
-<indexterm role="cp"><primary>Footnotes, in a minipage</primary></indexterm>
+<indexterm role="cp"><primary>footnotes, in a minipage</primary></indexterm>
 <indexterm role="cp"><primary>mpfootnote counter</primary></indexterm>
 <para>In a <literal>minipage</literal> environment the <literal>\footnote</literal> command uses the
 <literal>mpfootnote</literal> counter instead of the <literal>footnote</literal> counter, so
@@ -7549,7 +8384,7 @@
 The optional argument <replaceable>number</replaceable> changes the number of the footnote
 mark.
 </para>
-<para>See <link linkend="_005cfootnotemark">\footnotemark</link> and <link linkend="Footnotes-in-a-table">Footnotes in a table</link> for usage
+<para>See <link linkend="_005cfootnotemark">\footnotemark</link> and <link linkend="Footnotes-in-a-table">Footnotes in a table</link>, for usage
 examples.
 </para>
 
@@ -7712,13 +8547,16 @@
 \renewcommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn</replaceable>}
 \renewcommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>}
 </screen>
-<para>Define or redefine a command.  See also the discussion of
-<literal>\DeclareRobustCommand</literal> in <link linkend="Class-and-package-commands">Class and package commands</link>.
+<para>Define or redefine a command (see also the discussion of
+<literal>\DeclareRobustCommand</literal> in <link linkend="Class-and-package-commands">Class and package commands</link>).
+</para>
 <indexterm role="cp"><primary>starred form, defining new commands</primary></indexterm>
 <indexterm role="cp"><primary>*-form, defining new commands</primary></indexterm>
-The starred form of these two requires that the arguments not contain
-multiple paragraphs of text (in plain &tex; terms that it not be
-<literal>\long</literal>).
+<indexterm role="fn"><primary>\long</primary></indexterm>
+<para>The starred form of these two forbids the arguments from containing
+multiple paragraphs of text (in plain &tex; terms, the commands
+are not <literal>\long</literal>).  With the default form, arguments can be
+multiple paragraphs.
 </para>
 <para>These are the parameters:
 </para>
@@ -7739,8 +8577,8 @@
 </listitem></varlistentry><varlistentry><term><replaceable>optargdefault</replaceable>
 </term><listitem><para>Optional; if this argument is present then the first argument of
 <literal>\<replaceable>cmd</replaceable></literal> is optional, with default value <replaceable>optargdefault</replaceable>
-(which may be the empty string).  If this argument is not present then
-<literal>\<replaceable>cmd</replaceable></literal> does not take an optional argument.
+(which may be the empty string).  If <replaceable>optargsdefault</replaceable> is not present
+then <literal>\<replaceable>cmd</replaceable></literal> does not take an optional argument.
 </para>
 <indexterm role="cp"><primary>positional parameter</primary></indexterm>
 <para>That is, if <literal>\<replaceable>cmd</replaceable></literal> is used with square brackets, as in
@@ -7849,13 +8687,13 @@
 as <literal>\newcommand</literal>.  If a command of this name already exists then
 this definition does nothing.  This is particularly useful in a file
 that may be loaded more than once, such as a style file.
-See <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link> for the description of the arguments.
+See <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>, for the description of the arguments.
 </para>
 <para>This example
 </para>
 <screen>\providecommand{\myaffiliation}{Saint Michael's College}
 \providecommand{\myaffiliation}{Saint Michael's College}
-From \myaffiliation.
+>From \myaffiliation.
 </screen>
 <para>outputs ‘<literal>From Saint Michael's College</literal>’.  Unlike <literal>\newcommand</literal>,
 the repeated use of <literal>\providecommand</literal> does not give an error.
@@ -7894,19 +8732,19 @@
 package or class from accidentally replacing such a command with one of
 their own, because by default the at-sign has catcode 12.
 </para>
-<para>The pair <literal>\makeatletter</literal> and <literal>\makeatother</literal> changes the
-default code and then changes it back.  Use them inside a <filename>.tex</filename>
-file, in the preamble, when you are defining or redefining commands
-named with <literal>@</literal>, by having them surround your definition.  Don’t
-use these inside <filename>.sty</filename> or <filename>.cls</filename> files since the
-<literal>\usepackage</literal> and <literal>\documentclass</literal> commands already arrange
-that the at-sign has the character code of a letter, catcode 11.
+<para>Use the pair <literal>\makeatletter</literal> and <literal>\makeatother</literal> inside a
+<filename>.tex</filename> file, typically in the preamble, when you are defining or
+redefining commands named with <literal>@</literal>, by having them surround your
+definition.  Don’t use these inside <filename>.sty</filename> or <filename>.cls</filename> files
+since the <literal>\usepackage</literal> and <literal>\documentclass</literal> commands already
+arrange that the at-sign has the character code of a letter,
+catcode 11.
 </para>
 <indexterm role="cp"><primary>package, <literal>macros2e</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>macros2e</literal> package</primary></indexterm>
 
 <para>For a comprehensive list of macros with an at-sign in their names see
-<ulink url="http://ctan.org/pkg/macros2e">http://ctan.org/pkg/macros2e</ulink>.
+<ulink url="https://ctan.org/pkg/macros2e">https://ctan.org/pkg/macros2e</ulink>.
 </para>
 <para>In this example the class file has a command
 <literal>\thesis at universityname</literal> that the user wants to change.  These
@@ -7939,27 +8777,33 @@
 </para>
 <para>When defining environments, following this pattern is straightforward
 because <literal>\newenvironment</literal> and <literal>\renewenvironment</literal> allow the
-environment name to contain a star.  For commands the situation is more
-complex.  As in the synopsis above, there will be a user-called command,
-given above as <literal>\mycmd</literal>, which peeks ahead to see if it is followed
-by a star.  For instance, &latex; does not really have a
-<literal>\section*</literal> command; instead, the <literal>\section</literal> command peeks
-ahead.  This command does not accept arguments but instead expands to
-one of two commands that do accept arguments.  In the synopsis these two
-are <literal>\mycmd at nostar</literal> and <literal>\mycmd at star</literal>.  They could take the
-same number of arguments or a different number, or no arguments at all.
-As always, in a &latex; document a command using at-sign <literal>@</literal>
-must be enclosed inside a <literal>\makeatletter ... \makeatother</literal> block
+environment name to contain a star.  So you just have to write
+<literal>\newenvironment{<replaceable>myenv</replaceable>}</literal> or
+<literal>\newenvironment{<replaceable>myenv</replaceable>*}</literal> and continue the definition as
+usual. For commands the situation is more complex as the star not being
+a letter cannot be part of the command name.  As in the synopsis above,
+there will be a user-called command, given above as <literal>\mycmd</literal>, which
+peeks ahead to see if it is followed by a star.  For instance, &latex;
+does not really have a <literal>\section*</literal> command; instead, the
+<literal>\section</literal> command peeks ahead.  This command does not accept
+arguments but instead expands to one of two commands that do accept
+arguments.  In the synopsis these two are <literal>\mycmd at nostar</literal> and
+<literal>\mycmd at star</literal>.  They could take the same number of arguments or a
+different number, or no arguments at all.  As always, in a &latex;
+document a command using an at-sign <literal>@</literal> in its name must be
+enclosed inside a <literal>\makeatletter ... \makeatother</literal> block
 (see <link linkend="_005cmakeatletter-_0026-_005cmakeatother">\makeatletter & \makeatother</link>).
 </para>
 <para>This example of <literal>\@ifstar</literal> defines the command <literal>\ciel</literal> and a
 variant <literal>\ciel*</literal>.  Both have one required argument.  A call to
-<literal>\ciel{night}</literal> will return "starry night sky" while
-<literal>\ciel*{blue}</literal> will return "starry not blue sky".
+<literal>\ciel{blue}</literal> will return "not starry blue sky" while
+<literal>\ciel*{night}</literal> will return "starry night sky".
 </para>
-<screen>\newcommand*{\ciel at unstarred}[1]{starry #1 sky}
-\newcommand*{\ciel at starred}[1]{starry not #1 sky}
+<screen>\makeatletter
+\newcommand*{\ciel at unstarred}[1]{not starry #1 sky}
+\newcommand*{\ciel at starred}[1]{starry #1 sky}
 \newcommand*{\ciel}{\@ifstar{\ciel at starred}{\ciel at unstarred}}
+\makeatother
 </screen>
 <para>In the next example, the starred variant takes a different number of
 arguments than the unstarred one.  With this definition, Agent 007’s
@@ -7972,15 +8816,31 @@
 \newcommand*{\agentsecret}{%
   \@ifstar{\agentsecret at starred}{\agentsecret at unstarred}}
 </screen>
-<para>There are two sometimes more convenient ways to accomplish the work of
-<literal>\@ifstar</literal>.  The <filename>suffix</filename> package allows the construct
-<literal>\newcommand\mycommand{<replaceable>unstarred version</replaceable>}</literal> followed by
-<literal>\WithSuffix\newcommand\mycommand*{<replaceable>starred version</replaceable>}</literal>.  And
-&latex;3 has the <filename>xparse</filename> package that allows this code.
+<para>After a command name, a star is handled similarly to an optional
+argument.  (This differs from environment names in which the star is
+part of the name itself and as such could be in any position.)  Thus,
+it is technically possible to put any number of spaces between the
+command and the star. Thus <literal>\agentsecret*{Bond}</literal> and
+<literal>\agentsecret *<!-- /@w -->{Bond}</literal> are equivalent. However, the
+standard practice is not to insert any such spaces.
 </para>
+<indexterm role="cp"><primary>package, <literal>suffix</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>suffix</literal> package</primary></indexterm>
+
+<indexterm role="cp"><primary>package, <literal>xparse</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>xparse</literal> package</primary></indexterm>
+
+<para>There are two alternative ways to accomplish the work of
+<literal>\@ifstar</literal>.  (1) The <filename>suffix</filename> package allows the
+construct <literal>\newcommand\mycommand{<replaceable>unstarred-variant</replaceable>}</literal>
+followed by
+<literal>\WithSuffix\newcommand\mycommand*{<replaceable>starred-variant</replaceable>}</literal>.
+(2) &latex; provides the <filename>xparse</filename> package, which allows
+this code:
+</para>
 <screen>\NewDocumentCommand\foo{s}{\IfBooleanTF#1
-  {<replaceable>starred version</replaceable>}%
-  {<replaceable>unstarred version</replaceable>}% 
+  {<replaceable>starred-variant</replaceable>}%
+  {<replaceable>unstarred-variant</replaceable>}% 
   }
 </screen>
 
@@ -8493,7 +9353,7 @@
 </screen>
 <para>Both commands cause &latex; to ignore spaces after the end of the
 command up until the first non-space character.  The first is a command
-from Plain &tex;, and the second is &latex;-specific.
+from plain &tex;, and the second is &latex;-specific.
 </para>
 <para>The <literal>ignorespaces</literal> is often used when defining commands via
 <literal>\newcommand</literal>, or <literal>\newenvironment</literal>, or <literal>\def</literal>.  The
@@ -8518,10 +9378,9 @@
 as given, if a title accidentally starts with a space then
 <literal>\fullname</literal> will reproduce that.
 </para>
-<screen>\makeatletter
-\newcommand{\honorific}[1]{\def\@honorific{#1}} % remember title
-\newcommand{\fullname}[1]{\@honorific~#1}       % put title before name
-\makeatother
+<screen>\newcommand{\honorific}[1]{\def\honorific{#1}} % remember title
+\newcommand{\fullname}[1]{\honorific~#1}       % put title before name
+
 \begin{tabular}{|l|}
 \honorific{Mr/Ms}  \fullname{Jones} \\  % no extra space here
 \honorific{ Mr/Ms} \fullname{Jones}     % extra space before title
@@ -8528,11 +9387,11 @@
 \end{tabular}
 </screen>
 <para>To fix this, change to
-<literal>\newcommand{\fullname}[1]{\ignorespaces\@honorific~#1}</literal>.
+<literal>\newcommand{\fullname}[1]{\ignorespaces\honorific~#1}</literal>.
 </para>
 <para>The <literal>\ignorespaces</literal> is also often used in a <literal>\newenvironment</literal>
-at the end of the <replaceable>begin</replaceable> clause, that is, as part of the second
-argument, as in <literal>\begin{newenvironment}{<replaceable>env
+at the end of the <replaceable>begin</replaceable> clause, as in
+<literal>\begin{newenvironment}{<replaceable>env
 name</replaceable>}{... \ignorespaces}{...}</literal>.
 </para>
 <para>To strip spaces off the end of an environment use
@@ -8558,6 +9417,61 @@
 </para>
 
 </sect1>
+<sect1 label="12.13" id="xspace-package">
+<title>xspace package</title>
+
+<indexterm role="fn"><primary>\xspace</primary></indexterm>
+<indexterm role="cp"><primary>spaces, ignore around commands</primary></indexterm>
+<indexterm role="cp"><primary>commands, ignore spaces</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\usepackage{xspace}
+  ...
+\newcommand{...}{...\xspace}
+</screen>
+<para>The <literal>\xspace</literal> macro, when used at the end of a command, adds a
+space unless the command is followed by certain punctuation characters.
+</para>
+<para>After a command name that uses letters (as opposed to single character
+command names using non-letters such as <literal>\$</literal>), &tex; gobbles white
+space.  Thus, in the first sentence below, the output has ‘<literal>Vermont</literal>’
+placed snugly against the period, without any intervening space.
+</para>
+<screen>\newcommand{\VT}{Vermont}
+Our college is in \VT .
+The \VT{} summers are nice.
+</screen>
+<para>But because of the gobbling, the second sentence needs the dummy curly
+braces or else there would be no space separating ‘<literal>Vermont</literal>’ from
+‘<literal>summers</literal>’.  (Many authors instead instead use a backslash-space
+<literal>\ </literal> for this.  See <link linkend="_005c_0028SPACE_0029">\(SPACE)</link>.)
+</para>
+<para>The <filename>xspace</filename> package provides <literal>\xspace</literal>.  It is for writing
+commands which are designed to be used mainly in text.  It inserts a
+space after that command unless what immediately follows is in a list of
+exceptions.  In this example, the dummy braces are not needed.
+</para>
+<screen>\newcommand{\VT}{Vermont\xspace}
+Our college is in \VT .
+\VT summers are nice.
+</screen>
+<para>The default exception list contains the characters <literal>,.'/?;:!~-)</literal>,
+the open curly brace and the backslash-space command discussed above,
+and the commands <literal>\footnote</literal> or <literal>\footnotemark</literal>.  Add to that
+list as with <literal>\xspaceaddexceptions{\myfni \myfnii}</literal> and remove
+from that list as with <literal>\xspaceremoveexception{!}</literal>.
+</para>
+<!-- David Carlisle https://tex.stackexchange.com/a/86620/339 -->
+<para>A comment: many experts prefer not to use <literal>\xspace</literal>.  Putting it in
+a definition means that the command will usually get the spacing right.
+But it isn’t easy to predict when to enter dummy braces because
+<literal>\xspace</literal> will get it wrong, such as when it is followed by another
+command, and so <literal>\xspace</literal> can make editing material harder and more
+error-prone than instead always remembering the dummy braces.
+</para>
+
+</sect1>
 </chapter>
 <chapter label="13" id="Counters">
 <title>Counters</title>
@@ -8756,7 +9670,8 @@
 
 <para>Synopsis:
 </para>
-<screen>\addtocounter{<replaceable>counter</replaceable>}{<replaceable>value</replaceable> </screen>
+<screen>\addtocounter{<replaceable>counter</replaceable>}{<replaceable>value</replaceable>}
+</screen>
 <para>Globally increment <replaceable>counter</replaceable> by the amount specified by the
 <replaceable>value</replaceable> argument, which may be negative.
 </para>
@@ -8804,7 +9719,7 @@
 see <link linkend="_005cnewcounter">\newcounter</link>.)
 </para>
 <para>This command differs from <literal>\refstepcounter</literal> in that this one does
-not influence references — it does not define the current
+not influence references; that is, it does not define the current
 <literal>\ref</literal> value to be the result of <literal>\thecounter</literal>
 (see <link linkend="_005crefstepcounter">\refstepcounter</link>).
 </para>
@@ -8844,14 +9759,20 @@
 <para>A <firstterm>length</firstterm> is a measure of distance.  Many &latex; commands take a
 length as an argument.
 </para>
+<indexterm role="cp"><primary>rigid lengths</primary></indexterm>
+<indexterm role="cp"><primary>rubber lengths</primary></indexterm>
+<indexterm role="cp"><primary>dimen plain &tex;</primary></indexterm>
+<indexterm role="cp"><primary>skip plain &tex;</primary></indexterm>
+<indexterm role="cp"><primary>glue plain &tex;</primary></indexterm>
 <para>Lengths come in two types.  A <firstterm>rigid length</firstterm> such as <literal>10pt</literal>
-does not contain a <literal>plus</literal> or <literal>minus</literal> component.  (Plain &tex;
-calls this a <firstterm>dimen</firstterm>.)  A <firstterm>rubber length</firstterm> (what Plain &tex;
-calls a <firstterm>skip</firstterm>) such as as with <literal>1cm plus0.05cm minus0.01cm</literal>
-can contain either or both of those components.  In that rubber length,
-the <literal>1cm</literal> is the <firstterm>natural length</firstterm> while the other two, the
-<literal>plus</literal> and <literal>minus</literal> components, allow &tex; to stretch or
-shrink the length to optimize placement.
+does not contain a <literal>plus</literal> or <literal>minus</literal> component.  (Plain
+&tex; calls this a <firstterm>dimen</firstterm>.)  A <firstterm>rubber length</firstterm> (what plain
+&tex; calls a <firstterm>skip</firstterm> or <firstterm>glue</firstterm>) such as with <literal>1cm
+plus0.05cm minus0.01cm</literal> can contain either or both of those
+components.  In that rubber length, the <literal>1cm</literal> is the <firstterm>natural
+length</firstterm> while the other two, the <literal>plus</literal> and <literal>minus</literal>
+components, allow &tex; to stretch or shrink the length to optimize
+placement.
 </para>
 <para>The illustrations below use these two commands.
 </para>
@@ -8951,9 +9872,9 @@
 </para>
 <variablelist><varlistentry><term><literal>pt</literal>
 </term><listitem><indexterm role="fn"><primary>pt</primary></indexterm>
-<indexterm role="cp"><primary>Point</primary></indexterm>
-<anchor id="units-of-length-pt"/><para>Point, 1/72.27 inch.  The conversion to metric units, to two decimal
-places, is 1point = 2.85mm = 28.45cm. 
+<indexterm role="cp"><primary>point</primary></indexterm>
+<anchor id="units-of-length-pt"/><para>Point, 1/72.27 inch.  The conversion to metric units
+is 1point = 2.845mm = .2845cm. 
 </para>
 </listitem></varlistentry><varlistentry><term><literal>pc</literal>
 </term><listitem><indexterm role="cp"><primary>pica</primary></indexterm>
@@ -8967,32 +9888,32 @@
 </para>
 </listitem></varlistentry><varlistentry><term><literal>bp</literal>
 </term><listitem><indexterm role="fn"><primary>bp</primary></indexterm>
-<indexterm role="cp"><primary>Big point</primary></indexterm>
+<indexterm role="cp"><primary>big point</primary></indexterm>
 <anchor id="units-of-length-bp"/><para>Big point, 1/72 inch.  This length is the definition of a point in
 PostScript and many desktop publishing systems.
 </para>
 </listitem></varlistentry><varlistentry><term><literal>cm</literal>
-</term><listitem><indexterm role="cp"><primary>Centimeter</primary></indexterm>
+</term><listitem><indexterm role="cp"><primary>centimeter</primary></indexterm>
 <indexterm role="fn"><primary>cm</primary></indexterm>
 <anchor id="units-of-length-cm"/><para>Centimeter
 </para>
 </listitem></varlistentry><varlistentry><term><literal>mm</literal>
-</term><listitem><indexterm role="cp"><primary>Millimeter</primary></indexterm>
+</term><listitem><indexterm role="cp"><primary>millimeter</primary></indexterm>
 <indexterm role="fn"><primary>mm</primary></indexterm>
 <anchor id="units-of-length-mm"/><para>Millimeter
 </para>
 </listitem></varlistentry><varlistentry><term><literal>dd</literal>
-</term><listitem><indexterm role="cp"><primary>Didot point</primary></indexterm>
+</term><listitem><indexterm role="cp"><primary>didot point</primary></indexterm>
 <indexterm role="fn"><primary>dd</primary></indexterm>
 <anchor id="units-of-length-dd"/><para>Didot point, 1.07 pt
 </para>
 </listitem></varlistentry><varlistentry><term><literal>cc</literal>
-</term><listitem><indexterm role="cp"><primary>Cicero</primary></indexterm>
+</term><listitem><indexterm role="cp"><primary>cicero</primary></indexterm>
 <indexterm role="fn"><primary>cc</primary></indexterm>
 <anchor id="units-of-length-cc"/><para>Cicero, 12 dd
 </para>
 </listitem></varlistentry><varlistentry><term><literal>sp</literal>
-</term><listitem><indexterm role="cp"><primary>Scaled point</primary></indexterm>
+</term><listitem><indexterm role="cp"><primary>scaled point</primary></indexterm>
 <indexterm role="fn"><primary>sp</primary></indexterm>
 <anchor id="units-of-length-sp"/><para>Scaled point, 1/65536 pt
 </para>
@@ -9177,6 +10098,153 @@
 </para>
 
 </sect1>
+<sect1 label="14.7" id="_005cstretch">
+<title><literal>\stretch</literal></title>
+
+<indexterm role="fn"><primary>\stretch</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\stretch{<replaceable>number</replaceable>}
+</screen>
+<para>Produces a rubber length with zero natural length and <replaceable>number</replaceable> times
+<literal>\fill</literal> units of stretchability (see <link linkend="Lengths">Lengths</link>).  The
+<replaceable>number</replaceable> can be positive or negative.  This command is robust
+(see <link linkend="_005cprotect">\protect</link>).
+</para>
+<para>It works for both vertical and horizontal spacing.  In this horizontal
+example, &latex; produces three tick marks, and the distance between
+the first and second is half again as long as the distance between the
+second and third.
+</para>
+<screen>\rule{0.4pt}{1ex}\hspace{\stretch{1.5}}%
+  \rule{0.4pt}{1ex}\hspace{\stretch{1}}%
+  \rule{0.4pt}{1ex} 
+</screen>
+<para>In this vertical example, the ‘<literal>We dedicate …</literal>’ will have three
+times as much space under it as above it.
+</para>
+<screen>\newenvironment{dedication}{% in document preamble
+  \clearpage\thispagestyle{empty}% 
+  \vspace*{\stretch{1}} % stretchable space at top 
+  \it
+}{%
+  \vspace{\stretch{3}}  % space at bot is 3x as at top
+  \clearpage
+}
+  ...
+\begin{dedication}  % in document body
+We dedicate this book to our wives.
+\end{dedication}
+</screen>
+
+</sect1>
+<sect1 label="14.8" id="Expressions">
+<title>Expressions</title>
+
+<indexterm role="fn"><primary>expressions</primary></indexterm>
+
+<!-- Much from Joseph Wright's https://tex.stackexchange.com/a/245663/339 -->
+<para>Synopsis, one of:
+</para>
+<screen>\numexpr <replaceable>expression</replaceable> 
+\dimexpr <replaceable>expression</replaceable>
+\glueexpr <replaceable>expression</replaceable>
+\muglue <replaceable>expression</replaceable>
+</screen>
+<para>Any place where you may write an integer, or a &tex; dimen, or &tex;
+glue, or muglue, you can instead write an expression to compute that
+type of quantity.
+</para>
+<para>An example is that <literal>\the\dimexpr\linewidth-4pt\relax</literal> will
+produce as output the length that is four points less than width of a
+line (the only purpose of <literal>\the</literal> is to show the result in the
+document).  Analogously, <literal>\romannumeral\numexpr6+3\relax</literal> will
+produce ‘<literal>ix</literal>’, and <literal>\the\glueexpr 5pt plus 1pt * 2 \relax</literal>
+will produce ‘<literal>10.0pt plus 2.0pt</literal>’.
+</para>
+<para>A convenience here over doing calculations by allocating registers and
+then using <literal>\advance</literal>, etc., is that the evaluation of expressions
+does not involve assignments and can therefore be performed in places
+where assignments are not allowed.  The next example computes the width
+of the <literal>\parbox</literal>.
+</para>
+<screen>\newlength{\offset}\setlength{\offset}{2em}
+\begin{center}
+\parbox{\dimexpr\linewidth-\offset*3}{With malice toward none
+with charity for all with firmness in the right as God gives us to see
+the right let us strive on to finish the work we are in to bind up the
+nation's wounds, to care for him who shall have borne the battle and
+for his widow and his orphan \textasciitilde\ to do all which may
+achieve and cherish a just and lasting peace among ourselves and with
+all nations.  ---Abraham Lincoln, Second Inaugural Address, from the
+memorial}
+\end{center}
+</screen>
+<para>The <replaceable>expression</replaceable> consists of one or more terms of the same type
+(integer, dimension, etc.) that are added or subtracted.  A term that is
+a type of number, dimension, etc., consists of a factor of that type,
+optionally multiplied or divided by factors.  A factor of a type is
+either a quantity of that type or a parenthesized subexpression.  The
+expression produces a result of the given type, so that <literal>\numexpr</literal>
+produces an integer, <literal>\dimexpr</literal> produces a dimension, etc.
+</para>
+<para>In the quotation example above, changing to
+<literal>\dimexpr\linewidth-3*\offset</literal> gives the error <literal>Illegal unit
+of measure (pt inserted)</literal>.  This is because for <literal>\dimexpr</literal> and
+<literal>\glueexpr</literal>, the input consists of a dimension or glue value
+followed by an optional multiplication factor, and not the other way
+around. Thus <literal>\the\dimexpr 1pt*10\relax</literal> is valid and produces
+‘<literal>10.0pt</literal>’, but <literal>\the\dimexpr 10*1pt\relax</literal> gives the
+<literal>Illegal unit</literal> error.
+</para>
+<para>The expressions absorb tokens and carry out appropriate mathematics up
+to a <literal>\relax</literal> (which will be absorbed), or up to the first
+non-valid token.  Thus, <literal>\the\numexpr2+3px</literal> will print
+‘<literal>5px</literal>’, because &latex; reads the <literal>\numexpr2+3</literal>, which is
+made up of numbers, and then finds the letter <literal>p</literal>, which cannot
+be part of a number.  It therefore terminates the expression and
+produces the ‘<literal>5</literal>’, followed by the regular text ‘<literal>px</literal>’.
+</para>
+<para>This termination behavior is useful in comparisons.  In
+<literal>\ifnum\numexpr\parindent*2 < 10pt Yes\else No\fi</literal>, the less than
+sign terminates the expression and the result is ‘<literal>No</literal>’ (in a
+standard &latex; article).
+</para>
+<para>Expressions may use the operators <literal>+</literal>, <literal>-</literal>, <literal>*</literal> and
+<literal>/</literal> along with parentheses for subexpressions, <literal>(...)</literal>.  In
+glue expressions the <literal>plus</literal> and <literal>minus</literal> parts do not need
+parentheses to be affected by a factor. So <literal>\the\glueexpr 5pt plus
+1pt * 2 \relax</literal> results in ‘<literal>10pt plus 2pt</literal>’.
+</para>
+<para>&tex; will coerce other numerical types in the same way as it does when
+doing register assignment. Thus <literal>\the\numexpr\dimexpr
+1pt\relax\relax</literal> will result in ‘<literal>65536</literal>’, which is <literal>1pt</literal>
+converted to scaled points (&tex;’s internal unit) and then coerced
+into an integer.  With a <literal>\glueexpr</literal> here, the stretch and shrink
+would be dropped.  Going the other way, a <literal>\numexpr</literal> inside a
+<literal>\dimexpr</literal> or <literal>\glueexpr</literal> will need appropriate units, as in
+<literal>\the\dimexpr\numexpr 1 + 2\relax pt\relax</literal>, which produces
+‘<literal>3.0pt</literal>’.
+</para>
+<para>The details of the arithmetic: each factor is checked to be in the
+allowed range, numbers must be less than <inlineequation><mathphrase>2^{31}</mathphrase></inlineequation> in absolute
+value, and dimensions or glue components must be less than
+<inlineequation><mathphrase>2^{14}</mathphrase></inlineequation> points, or <literal>mu</literal>, or <literal>fil</literal>, etc.  The
+arithmetic operations are performed individually, except for a scaling
+operation (a multiplication immediately followed by a division) which
+is done as one combined operation with a 64-bit product as
+intermediate value. The result of each operation is again checked to
+be in the allowed range.
+</para>
+<para>Finally, division and scaling take place with rounding (unlike &tex;’s
+<literal>\divide</literal>, which truncates).  Thus
+<literal>\the\dimexpr 5pt*(3/2)\relax</literal> puts ‘<literal>10.0pt</literal>’ in the document,
+because it rounds <literal>3/2</literal> to <literal>2</literal>, while
+<literal>\the\dimexpr 5pt*(4/3)\relax</literal> produces ‘<literal>5.0pt</literal>’.
+</para>
+
+</sect1>
 </chapter>
 <chapter label="15" id="Making-paragraphs">
 <title>Making paragraphs</title>
@@ -9307,7 +10375,7 @@
 commands are robust (see <link linkend="_005cprotect">\protect</link>).
 </para>
 <para>Ordinarily you create a new paragraph by putting in a blank line.
-See <link linkend="_005cpar">\par</link> for the difference between this command and <literal>\par</literal>.  To
+See <link linkend="_005cpar">\par</link>, for the difference between this command and <literal>\par</literal>.  To
 start a paragraph without an indent, or to continue an interrupted
 paragraph, use <literal>\noindent</literal>.
 </para>
@@ -9351,33 +10419,39 @@
 <indexterm role="fn"><primary>\parindent</primary></indexterm>
 <indexterm role="fn"><primary>\parskip</primary></indexterm>
 <indexterm role="cp"><primary>paragraph indentation</primary></indexterm>
+<indexterm role="cp"><primary>horizontal paragraph indentation</primary></indexterm>
 <indexterm role="cp"><primary>vertical space before paragraphs</primary></indexterm>
 
 <para>Synopsis:
 </para>
-<screen>\setlength{\parskip}{<replaceable>horizontal len</replaceable>}
-\setlength{\parinden}{<replaceable>vertical len</replaceable>}
+<screen>\setlength{\parindent}{<replaceable>horizontal len</replaceable>}
+\setlength{\parskip}{<replaceable>vertical len</replaceable>}
 </screen>
-<para>Both are a rubber lengths (see <link linkend="Lengths">Lengths</link>).  They give the indentation
-of ordinary paragraphs, not paragraphs inside minipages
-(see <link linkend="minipage">minipage</link>), and the vertical space between paragraphs.
+<para>Both are rubber lengths (see <link linkend="Lengths">Lengths</link>).  They affect the
+indentation of ordinary paragraphs, not paragraphs inside
+minipages (see <link linkend="minipage">minipage</link>), and the vertical space between
+paragraphs, respectively.
 </para>
-<para>This, put in the preamble,
+<para>For example, if this is put in the preamble:
 </para>
 <screen>\setlength{\parindent}{0em}
 \setlength{\parskip}{1ex}
 </screen>
-<para>arranges that the document will have paragraphs that are not indented,
-but instead are vertically separated by about the height of a lowercase
-‘<literal>x</literal>’.
+<para>The document will have paragraphs that are not indented, but instead
+are vertically separated by about the height of a lowercase ‘<literal>x</literal>’.
 </para>
 <para>In standard &latex; documents, the default value for <literal>\parindent</literal>
 in one-column documents is <literal>15pt</literal> when the default text size is
-<literal>10pt</literal> , <literal>17pt</literal> for <literal>11pt</literal>, and <literal>1.5em</literal> for
-<literal>12pt</literal>.  In two-column documents it is <literal>1em</literal>.  The default
-value for <literal>\parskip</literal> in &latex;’s standard document styles is
-<literal>0pt plus1pt</literal>.
+<literal>10pt</literal>, <literal>17pt</literal> for <literal>11pt</literal>, and <literal>1.5em</literal> for
+<literal>12pt</literal>.  In two-column documents it is <literal>1em</literal>.  (These values
+are set before &latex; calls <literal>\normalfont</literal> so <literal>em</literal> is derived
+from the default font, Computer Modern.  If you use a different font
+then to set <literal>\parindent</literal> in units matching that font, do
+<literal>\AtBeginDocument{\setlength{\parindent}{1em}}</literal>.) 
 </para>
+<para>The default value for <literal>\parskip</literal> in &latex;’s standard document
+styles is <literal>0pt plus1pt</literal>.
+</para>
 
 </sect1>
 <sect1 label="15.4" id="Marginal-notes">
@@ -9423,8 +10497,9 @@
 <para>These parameters affect the formatting of the note:
 </para>
 <variablelist><varlistentry><term><indexterm role="fn"><primary>\marginparpush</primary></indexterm><literal>\marginparpush</literal>
-</term><listitem><anchor id="marginal-notes-marginparpush"/><para>Minimum vertical space between notes; default ‘<literal>7pt</literal>’ for
-‘<literal>12pt</literal>’ documents, ‘<literal>5pt</literal>’ else.
+</term><listitem><anchor id="marginal-notes-marginparpush"/><para>Minimum vertical space between notes; default ‘<literal>7pt</literal>’ for ‘<literal>12pt</literal>’
+documents, ‘<literal>5pt</literal>’ else. See also <link linkend="page-layout-parameters-marginparpush">page layout parameters
+marginparpush</link>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\marginparsep</primary></indexterm><literal>\marginparsep</literal>
 </term><listitem><anchor id="marginal-notes-marginparsep"/><para>Horizontal space between the main text and the note; default
@@ -9568,9 +10643,9 @@
 
 <indexterm role="cp"><primary>superscript</primary></indexterm>
 <indexterm role="cp"><primary>subscript</primary></indexterm>
+<indexterm role="fn"><primary>^ superscript</primary></indexterm>
+<indexterm role="fn"><primary>_ subscript</primary></indexterm>
 <indexterm role="cp"><primary>exponent</primary></indexterm>
-<indexterm role="fn"><primary>_</primary></indexterm>
-<indexterm role="fn"><primary>^</primary></indexterm>
 
 <para>Synopsis (in math mode or display math mode), one of:
 </para>
@@ -9625,7 +10700,7 @@
 subscript something to attach to and keeps it from accidentally
 attaching to a prior symbols.
 </para>
-<para>Using the subscript or superscript command outside of math mode or
+<para>Using the subscript or superscript character outside of math mode or
 display math mode, as in <literal>the expression x^2</literal>, will get you
 the error ‘<literal>Missing $ inserted</literal>’.
 </para>
@@ -9633,7 +10708,7 @@
 <indexterm role="cp"><primary><literal>mhchem</literal> package</primary></indexterm>
 
 <para>A common reason to want subscripts outside of a mathematics mode is to
-typeset chemical formulas.  There are packages for that such as
+typeset chemical formulas.  There are packages for that, such as
 <filename>mhchem</filename>; see CTAN.
 </para>
 
@@ -9645,15 +10720,15 @@
 <indexterm role="cp"><primary>symbols, math</primary></indexterm>
 <indexterm role="cp"><primary>greek letters</primary></indexterm>
 
-<indexterm role="cp"><primary>package, <literal>symbols</literal></primary></indexterm>
-<indexterm role="cp"><primary><literal>symbols</literal> package</primary></indexterm>
+<indexterm role="cp"><primary>package, <literal>comprehensive</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>comprehensive</literal> package</primary></indexterm>
 
 
 <para>&latex; provides almost any mathematical or technical symbol that
-anyone uses.  For example, if you include <literal>$\pi$</literal> in your source,
-you will get the pi symbol &#x03C0;.  See the <filename>Comprehensive
-&latex; Symbol List</filename> at
-<ulink url="https://ctan.org/tex-archive/info/symbols/comprehensive/">https://ctan.org/tex-archive/info/symbols/comprehensive/</ulink>.
+anyone uses. For example, if you include <literal>$\pi$</literal> in your source,
+you will get the pi symbol &#x03C0;. See the “Comprehensive
+&latex; Symbol List” package at
+<ulink url="https://ctan.org/pkg/comprehensive">https://ctan.org/pkg/comprehensive</ulink>.
 </para>
 <para>Here is a list of commonly-used symbols.  It is by no means exhaustive.
 Each symbol is described with a short phrase, and its symbol class,
@@ -9738,13 +10813,13 @@
 (operator).  (Note that the name has only one p.)
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigvee</primary></indexterm><literal>\bigvee</literal>
-</term><listitem><para>&#x22C1; Variable-sized, or n-ary, logical-and (operator).
+</term><listitem><para>&#x22C1; Variable-sized, or n-ary, logical-or (operator).
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigwedge</primary></indexterm><literal>\bigwedge</literal>
-</term><listitem><para>&#x22C0; Variable-sized, or n-ary, logical-or (operator).
+</term><listitem><para>&#x22C0; Variable-sized, or n-ary, logical-and (operator).
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bot</primary></indexterm><literal>\bot</literal>
-</term><listitem><para>&#x22A5; Up tack, bottom, least element of a partially ordered
+</term><listitem><para>&#x22A5;, Up tack, bottom, least element of a partially ordered
 set, or a contradiction (ordinary).  See also <literal>\top</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bowtie</primary></indexterm><literal>\bowtie</literal>
@@ -9779,7 +10854,7 @@
 </term><listitem><para>&#x2663; Club card suit (ordinary).
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\complement</primary></indexterm><literal>\complement</literal>
-</term><listitem><para>&#x2201; Set complement, used as a superscript as in
+</term><listitem><para>&#x2201;, Set complement, used as a superscript as in
 <literal>$S^\complement$</literal> (ordinary).  Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package. Also used:
 <literal>$S^{\mathsf{c}}$</literal> or <literal>$\bar{S}$</literal>.
 </para>
@@ -9947,8 +11022,8 @@
 </term><listitem><para>&#x03BB; Lowercase Greek letter (ordinary).
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\land</primary></indexterm><literal>\land</literal>
-</term><listitem><para>&#x2227; Logical and (binary).  This is a synonym for <literal>\wedge</literal>.
-See also logical or <literal>\lor</literal>.
+</term><listitem><para>&#x2227; Logical and (binary).  Synonym: <literal>\wedge</literal>.
+See also logical or <literal>\lor</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\langle</primary></indexterm><literal>\langle</literal>
 </term><listitem><para>&#x27E8; Left angle, or sequence, bracket (opening).  Similar:
@@ -9971,7 +11046,7 @@
 for <literal>\leq</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\leadsto</primary></indexterm><literal>\leadsto</literal>
-</term><listitem><para>&#x21DD; Squiggly right arrow (relation).  Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package.
+</term><listitem><para>&#x21DD; Squiggly right arrow (relation).
 To get this symbol outside of math mode you can put
 <literal>\newcommand*{\Leadsto}{\ensuremath{\leadsto}}</literal> in the
 preamble and then use <literal>\Leadsto</literal> instead.
@@ -10009,7 +11084,7 @@
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lhd</primary></indexterm><literal>\lhd</literal>
 </term><listitem><para>&#x25C1; Arrowhead, that is, triangle, pointing left (binary).
-Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package. For the normal subgroup symbol you should load
+For the normal subgroup symbol you should load
 <filename>amssymb</filename> and use <literal>\vartriangleleft</literal> (which is a relation
 and so gives better spacing).
 </para>
@@ -10037,15 +11112,16 @@
 double-line right arrow <literal>\Longrightarrow</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lor</primary></indexterm><literal>\lor</literal>
-</term><listitem><para>&#x2228; Logical or (binary).  Synonym: wedge <literal>\wedge</literal>. 
+</term><listitem><para>&#x2228; Logical or (binary).  Synonym: <literal>\vee</literal>.
+See also logical and <literal>\land</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mapsto</primary></indexterm><literal>\mapsto</literal>
-</term><listitem><para>&#x21A6; Single-line left arrow starting with vertical bar (relation).
+</term><listitem><para>&#x21A6; Single-line left arrow starting with vertical bar
+(relation).
 Similar: longer version <literal>\longmapsto</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mho</primary></indexterm><literal>\mho</literal>
 </term><listitem><para>&#x2127; Conductance, half-circle rotated capital omega (ordinary).
-Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mid</primary></indexterm><literal>\mid</literal>
 </term><listitem><para>&#x2223; Single-line vertical bar (relation).  A typical use of
@@ -10155,6 +11231,9 @@
 same glyph but the spacing is different because it is in the class
 ordinary.
 </para>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Phi</primary></indexterm><literal>\Phi</literal>
+</term><listitem><para>&#x03A6; Uppercase Greek letter (ordinary).
+</para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\phi</primary></indexterm><literal>\phi</literal>
 </term><listitem><para>&#x03D5; Lowercase Greek letter (ordinary).  The variant form is
 <literal>\varphi</literal> &#x03C6;.
@@ -10219,11 +11298,11 @@
 this, load the <filename>amsfonts</filename> package.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\restriction</primary></indexterm><literal>\restriction</literal>
-</term><listitem><para>&#x21BE; Restriction of a function (relation). Synonym:
+</term><listitem><para>&#x21BE;, Restriction of a function (relation). Synonym:
 <literal>\upharpoonright</literal>.  Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\revemptyset</primary></indexterm><literal>\revemptyset</literal>
-</term><listitem><para>&#x29B0; Reversed empty set symbol (ordinary).  Related:
+</term><listitem><para>&#x29B0;, Reversed empty set symbol (ordinary).  Related:
 <literal>\varnothing</literal>. Not available in plain &tex;. In &latex; you need to load the <filename>stix</filename> package.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rfloor</primary></indexterm><literal>\rfloor</literal>
@@ -10232,7 +11311,7 @@
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rhd</primary></indexterm><literal>\rhd</literal>
 </term><listitem><para>&#x25C1; Arrowhead, that is, triangle, pointing right (binary).
-Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package. For the normal subgroup symbol you should instead
+For the normal subgroup symbol you should instead
 load <filename>amssymb</filename> and use <literal>\vartriangleright</literal> (which is a
 relation and so gives better spacing).
 </para>
@@ -10305,7 +11384,7 @@
 operator <literal>\bigsqcup</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sqsubset</primary></indexterm><literal>\sqsubset</literal>
-</term><listitem><para>&#x228F; Square subset symbol (relation). Similar:
+</term><listitem><para>&#x228F;, Square subset symbol (relation). Similar:
 subset <literal>\subset</literal>. Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sqsubseteq</primary></indexterm><literal>\sqsubseteq</literal>
@@ -10313,7 +11392,7 @@
 equal to <literal>\subseteq</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sqsupset</primary></indexterm><literal>\sqsupset</literal>
-</term><listitem><para>&#x2290; Square superset symbol (relation). Similar:
+</term><listitem><para>&#x2290;, Square superset symbol (relation). Similar:
 superset <literal>\supset</literal>. Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sqsupseteq</primary></indexterm><literal>\sqsupseteq</literal>
@@ -10395,7 +11474,7 @@
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\unlhd</primary></indexterm><literal>\unlhd</literal>
 </term><listitem><para>&#x22B4; Left-pointing not-filled underlined arrowhead, that is,
-triangle, with a line under (binary). Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package. For the
+triangle, with a line under (binary). For the
 normal subgroup symbol load <filename>amssymb</filename> and
 use <literal>\vartrianglelefteq</literal> (which is a relation and so gives
 better spacing).
@@ -10402,7 +11481,7 @@
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\unrhd</primary></indexterm><literal>\unrhd</literal>
 </term><listitem><para>&#x22B5; Right-pointing not-filled underlined arrowhead, that is,
-triangle, with a line under (binary). Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package. For the
+triangle, with a line under (binary). For the
 normal subgroup symbol load <filename>amssymb</filename> and
 use <literal>\vartrianglerighteq</literal> (which is a relation and so gives
 better spacing).
@@ -10428,7 +11507,7 @@
 arrow <literal>\Updownarrow</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\upharpoonright</primary></indexterm><literal>\upharpoonright</literal>
-</term><listitem><para>&#x21BE; Up harpoon, with barb on right side
+</term><listitem><para>&#x21BE;, Up harpoon, with barb on right side
 (relation). Synonym: <literal>\restriction</literal>.
 Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package.
 </para>
@@ -10450,7 +11529,7 @@
 membership <literal>\in</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\vanothing</primary></indexterm><literal>\vanothing</literal>
-</term><listitem><para>&#x2205; Empty set symbol. Similar: <literal>\emptyset</literal>. Related:
+</term><listitem><para>&#x2205;, Empty set symbol. Similar: <literal>\emptyset</literal>. Related:
 <literal>\revemptyset</literal>. Not available in plain &tex;. In &latex; you need to load the <filename>amssymb</filename> package.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\varphi</primary></indexterm><literal>\varphi</literal>
@@ -10486,39 +11565,16 @@
 operator <literal>\bigvee</literal>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Vert</primary></indexterm><literal>\Vert</literal>
-</term><listitem><para>&#x2016; Vertical double bar (ordinary). Similar: vertical single
-bar <literal>\vert</literal>.
+</term><listitem><para>&#x2016; Vertical double bar (ordinary).  See <link linkend="Delimiters">Delimiters</link>,
+for how to use the <filename>mathtools</filename> package to create flexibly-sized
+norm symbols.
 </para>
-<para>For a norm symbol, you can use the <filename>mathtools</filename> package and put in
-your preamble
-<literal>\DeclarePairedDelimiter\norm{\lVert}{\rVert}</literal>. 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 <literal>$\norm*{M^\perp}$</literal> then the height of the vertical bars
-will match the height of the argument, whereas with
-<literal>\norm{M^\perp}</literal> the bars do not grow with the height of the
-argument but instead are the default height, and <literal>\norm[<replaceable>size
-command</replaceable>]{M^\perp}</literal> also gives bars that do not grow but are set to
-the size given in the <replaceable>size command</replaceable>, e.g., <literal>\Bigg</literal>.
-</para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\vert</primary></indexterm><literal>\vert</literal>
-</term><listitem><para>&#x007C; Single line vertical bar (ordinary). Similar: double-line
-vertical bar <literal>\Vert</literal>. For such that, as in the definition of a 
-set, use <literal>\mid</literal> because it is a relation.  
+</term><listitem><para>&#x007C; Single line vertical bar (ordinary).  For “such
+that”, as in the definition of a set, use <literal>\mid</literal> because it
+is a relation. See <link linkend="Delimiters">Delimiters</link>, for how to use the <filename>mathtools</filename>
+package to create flexibly-sized absolute-value symbols.
 </para>
-<para>For absolute value you can use the <filename>mathtools</filename> package and in your
-preamble put
-<literal>\DeclarePairedDelimiter\abs{\lvert}{\rvert}</literal>. 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 <literal>$\abs*{\frac{22}{7}}$</literal> then the height of the
-vertical bars will match the height of the argument, whereas with
-<literal>\abs{\frac{22}{7}}</literal> the bars do not grow with the height of
-the argument but instead are the default height, and
-<literal>\abs[<replaceable>size command</replaceable>]{\frac{22}{7}}</literal> also gives bars that
-do not grow but are set to the size given in the <replaceable>size command</replaceable>,
-e.g., <literal>\Bigg</literal>.
-</para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\wedge</primary></indexterm><literal>\wedge</literal>
 </term><listitem><para>&#x2227; Logical and (binary).  Synonym: <literal>\land</literal>.  See also
 logical or <literal>\vee</literal>. Similar: variable-sized
@@ -10561,7 +11617,93 @@
 </listitem></varlistentry></variablelist>
 
 
-<sect2 label="16.2.1" id="Blackboard-bold">
+<sect2 label="16.2.1" id="Arrows">
+<title>Arrows</title>
+
+<indexterm role="cp"><primary>arrows</primary></indexterm>
+<indexterm role="cp"><primary>symbols, arrows</primary></indexterm>
+<indexterm role="fn"><primary>math, arrows</primary></indexterm>
+
+<indexterm role="cp"><primary>package, <literal>amsfonts</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>amsfonts</literal> package</primary></indexterm>
+
+<indexterm role="cp"><primary>package, <literal>latexsym</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>latexsym</literal> package</primary></indexterm>
+
+<para>These are the arrows that come with standard &latex;.  The
+<filename>latexsym</filename> and <filename>amsfonts</filename> packages contain many more.
+</para>
+<informaltable><tgroup cols="3"><colspec colwidth="10*"></colspec><colspec colwidth="40*"></colspec><colspec colwidth="50*"></colspec><thead><row><entry><para>Symbol</para></entry><entry><para>Command</para></entry><entry></entry></row></thead><tbody><row><entry><para>&#x021D3; </para></entry><entry><para><literal>\Downarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x02193; </para></entry><entry><para><literal>\downarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x021A9; </para></entry><entry><para><literal>\hookleftarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x021AA; </para></entry><entry><para><literal>\hookrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x2190; </para></entry><entry><para><literal>\leftarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x021D0; </para></entry><entry><para><literal>\Leftarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x021D4; </para></entry><entry><para><literal>\Leftrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x02194; </para></entry><entry><para><literal>\leftrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x027F5; </para></entry><entry><para><literal>\longleftarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x027F8; </para></entry><entry><para><literal>\Longleftarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x027F7; </para></entry><entry><para><literal>\longleftrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x027FA; </para></entry><entry><para><literal>\Longleftrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x027FC; </para></entry><entry><para><literal>\longmapsto</literal> </para></entry><entry></entry></row><row><entry><para>&#x027F9; </para></entry><entry><para><literal>\Longrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x027F6; <!
 /para></entry><entry><para><literal>\longrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x021A6; </para></entry><entry><para><literal>\mapsto</literal> </para></entry><entry></entry></row><row><entry><para>&#x02197; </para></entry><entry><para><literal>\nearrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x02196; </para></entry><entry><para><literal>\nwarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x021D2; </para></entry><entry><para><literal>\Rightarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x02192; </para></entry><entry><para><literal>\rightarrow</literal>, or <literal>\to</literal> </para></entry><entry></entry></row><row><entry><para>&#x02198; </para></entry><entry><para><literal>\searrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x02199; </para></entry><entry><para><literal>\swarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x02191; </para></entry><entry><para><literal>\uparrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x021D1; </para></entry><entry><para><literal>\Uparrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x02195; </para></entry><entry><para><literal>\updownarrow</literal> </para></entry><entry></entry></row><row><entry><para>&#x021D5; </para></entry><entry><para><literal>\Updownarrow</literal> </para></entry><entry></entry></row></tbody></tgroup></informaltable>
+<para>An example of the difference between <literal>\to</literal> and <literal>\mapsto</literal>
+is: <literal>\( f\colon D\to C \) given by \( n\mapsto n^2 \)</literal>.
+</para>
+<indexterm role="cp"><primary>package, <literal>amscd</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>amscd</literal> package</primary></indexterm>
+
+<indexterm role="cp"><primary>package, <literal>tikz-cd</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>tikz-cd</literal> package</primary></indexterm>
+
+<para>For commutative diagrams there are a number of packages, including
+<filename>tikz-cd</filename> and <filename>amscd</filename>.
+</para>
+
+</sect2>
+<sect2 label="16.2.2" id="_005cboldmath-_0026-_005cunboldmath">
+<title><literal>\boldmath</literal> & <literal>\unboldmath</literal></title>
+
+<indexterm role="cp"><primary>boldface mathematics</primary></indexterm>
+<indexterm role="cp"><primary>symbols, boldface</primary></indexterm>
+<indexterm role="fn"><primary>\boldmath</primary></indexterm>
+<indexterm role="fn"><primary>\unboldmath</primary></indexterm>
+
+<para>Synopsis (used in paragraph mode or LR mode):
+</para>
+<screen>\boldmath \( <replaceable>math</replaceable> \)
+</screen>
+<para>or
+</para>
+<screen>\unboldmath \( <replaceable>math</replaceable> \)
+</screen>
+<indexterm role="fn"><primary>\boldmath</primary></indexterm>
+<indexterm role="fn"><primary>\unboldmath</primary></indexterm>
+<para>Declarations to change the letters and symbols in <replaceable>math</replaceable> to be in
+a bold font, or to countermand that and bring back the regular
+(non-bold) default. They must be used when not in math mode or display
+math mode (see <link linkend="Modes">Modes</link>). Both commands are fragile
+(see <link linkend="_005cprotect">\protect</link>).
+</para>
+<para>In this example each <literal>\boldmath</literal> command takes place inside an
+<literal>\mbox</literal>,
+</para>
+<screen>we have $\mbox{\boldmath \( v \)} = 5\cdot\mbox{\boldmath \( u \)$}$
+</screen>
+<para>which means <literal>\boldmath</literal> is only called in a text mode, here LR
+mode, and explains why &latex; must switch to math mode to set <literal>v</literal>
+and <literal>u</literal>.
+</para>
+<para>If you use either command inside math mode, as with <literal>Trouble: \(
+\boldmath x \)</literal>, then you get something like ‘<literal>LaTeX Font Warning:
+Command \boldmath invalid in math mode on input line 11</literal>’ and ‘<literal>LaTeX
+Font Warning: Command \mathversion invalid in math mode on input line
+11</literal>’.
+</para>
+<indexterm role="cp"><primary>package, <literal>bm</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>bm</literal> package</primary></indexterm>
+
+<para>There are many issues with <literal>\boldmath</literal>.  New documents should use
+the <filename>bm</filename> package provided by the &latex; Project team.  A complete
+description is outside the scope of this document (see the full
+documentation on CTAN) but even this small example
+</para>
+<screen>\usepackage{bm}   % in preamble
+...
+we have $\bm{v} = 5\cdot\bm{u}$
+</screen>
+<para>shows that it is an improvement over <literal>\boldmath</literal>.
+</para>
+
+</sect2>
+<sect2 label="16.2.3" id="Blackboard-bold">
 <title>Blackboard bold</title>
 
 <indexterm role="cp"><primary>blackboard bold</primary></indexterm>
@@ -10581,7 +11723,7 @@
 </para>
 <screen>\( \forall n \in \mathbb{N}, n^2 \geq 0 \)
 </screen>
-<para>the <literal>\mathbb{N}</literal> gives blackboard bold symbol &#x2115;
+<para>the <literal>\mathbb{N}</literal> gives blackboard bold symbol &#x2115;,
 representing the natural numbers.
 </para>
 <para>If you use other than an uppercase letter then you do not get an error
@@ -10592,7 +11734,7 @@
 </para>
 
 </sect2>
-<sect2 label="16.2.2" id="Calligraphic">
+<sect2 label="16.2.4" id="Calligraphic">
 <title>Calligraphic</title>
 
 <indexterm role="cp"><primary>calligraphic fonts</primary></indexterm>
@@ -10610,68 +11752,295 @@
 <screen>Let the graph be \( \mathcal{G} \).
 </screen>
 <para>If you use something other than an uppercase letter then you do not get
-an error.  Instead you get unexpected output.  For instance,
-<literal>\mathcal{g}</literal> outputs a close curly brace symbol, while
-<literal>\mathcal{+}</literal> outputs a plus sign.  
+an error but you also do not get math calligraphic output.  For instance,
+<literal>\mathcal{g}</literal> outputs a close curly brace symbol.
 </para>
 
 </sect2>
-<sect2 label="16.2.3" id="_005cboldmath-_0026-_005cunboldmath">
-<title><literal>\boldmath</literal> & <literal>\unboldmath</literal></title>
+<sect2 label="16.2.5" id="Delimiters">
+<title>Delimiters</title>
 
-<indexterm role="cp"><primary>boldface mathematics</primary></indexterm>
-<indexterm role="cp"><primary>symbols, boldface</primary></indexterm>
-<indexterm role="fn"><primary>\boldmath</primary></indexterm>
-<indexterm role="fn"><primary>\unboldmath</primary></indexterm>
+<indexterm role="cp"><primary>delimiters</primary></indexterm>
+<indexterm role="cp"><primary>parentheses</primary></indexterm>
+<indexterm role="cp"><primary>braces</primary></indexterm>
+<indexterm role="cp"><primary>curly braces</primary></indexterm>
+<indexterm role="cp"><primary>brackets</primary></indexterm>
 
-<para>Synopsis (used in paragraph mode or LR mode):
+<para>Delimiters are parentheses, braces, or other characters used to mark
+the start and end of subformulas.  This formula has three sets of
+parentheses delimiting the three subformulas.
 </para>
-<screen>\boldmath \( <replaceable>math</replaceable> \)
+<screen>(z-z_0)^2 = (x-x_0)^2 + (y-y_0)^2
 </screen>
-<para>or
+<para>The delimiters do not need to match, so you can enter <literal>\( [0,1) \)</literal>.
 </para>
-<screen>\unboldmath \( <replaceable>math</replaceable> \)
+<para>Here are the common delimiters:
+</para>
+<informaltable><tgroup cols="4"><colspec colwidth="11*"></colspec><colspec colwidth="20*"></colspec><colspec colwidth="40*"></colspec><colspec colwidth="29*"></colspec><thead><row><entry><para>Delimiter</para></entry><entry><para>Command</para></entry><entry><para>Name   
+</para></entry></row></thead><tbody><row><entry><para>( </para></entry><entry><para><literal>(</literal> </para></entry><entry><para>Left parenthesis
+</para></entry></row><row><entry><para>) </para></entry><entry><para><literal>)</literal> </para></entry><entry><para>Right parenthesis
+</para></entry></row><row><entry><para>\} </para></entry><entry><para><literal>{</literal> or <literal>\lbrace</literal> </para></entry><entry><para>Left brace
+</para></entry></row><row><entry><para>\{ </para></entry><entry><para><literal>}</literal> or <literal>\rbrace</literal> </para></entry><entry><para>Right brace
+</para></entry></row><row><entry><para>[ </para></entry><entry><para><literal>[</literal> or <literal>\lbrack</literal> </para></entry><entry><para>Left bracket
+</para></entry></row><row><entry><para>] </para></entry><entry><para><literal>]</literal> or <literal>\rbrack</literal> </para></entry><entry><para>Right bracket
+</para></entry></row><row><entry><para>&#x230A; </para></entry><entry><para><literal>\lfloor</literal> </para></entry><entry><para>Left floor bracket
+</para></entry></row><row><entry><para>&#x230B; </para></entry><entry><para><literal>\rfloor</literal> </para></entry><entry><para>Right floor bracket
+</para></entry></row><row><entry><para>&#x2308; </para></entry><entry><para><literal>\lceil</literal> </para></entry><entry><para>Left ceiling bracket
+</para></entry></row><row><entry><para>&#x2309; </para></entry><entry><para><literal>\rceil</literal> </para></entry><entry><para>Right ceiling bracket
+</para></entry></row><row><entry><para>&#x27E8; </para></entry><entry><para><literal>\langle</literal> </para></entry><entry><para>Left angle bracket
+</para></entry></row><row><entry><para>&#x27E9; </para></entry><entry><para><literal>\rangle</literal> </para></entry><entry><para>Right angle bracket
+</para></entry></row><row><entry><para>/  </para></entry><entry><para><literal>/</literal> </para></entry><entry><para>Slash, or forward slash
+</para></entry></row><row><entry><para>\ </para></entry><entry><para><literal>\backslash</literal> </para></entry><entry><para>Reverse slash, or backslash
+</para></entry></row><row><entry><para>| </para></entry><entry><para><literal>|</literal> or <literal>\vert</literal> </para></entry><entry><para>Vertical bar
+</para></entry></row><row><entry><para>&#x2016; </para></entry><entry><para><literal>\|</literal> or <literal>\Vert</literal> </para></entry><entry><para>Double vertical bar
+</para></entry></row></tbody></tgroup></informaltable>
+<indexterm role="cp"><primary>package, <literal>mathtools</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>mathtools</literal> package</primary></indexterm>
+
+<para>The <filename>mathtools</filename> package allows you to create commands for paired
+delimiters.  For instance, if you put
+<literal>\DeclarePairedDelimiter\abs{\lvert}{\rvert}</literal> in your preamble
+then you get two commands for single-line vertical bars (they only work
+in math mode).  The starred version, such as
+<literal>\abs*{\frac{22}{7}}</literal>, has the height of the vertical bars
+match the height of the argument.  The unstarred version, such as
+<literal>\abs{\frac{22}{7}}</literal>, has the bars fixed at a default height.
+This version accepts an optional argument, as in <literal>\abs[<replaceable>size
+command</replaceable>]{\frac{22}{7}}</literal>, where the height of the bars is given in
+<replaceable>size command</replaceable>, such as <literal>\Bigg</literal>. Using <literal>\lVert</literal> and
+<literal>\rVert</literal> as the symbols will give you a norm symbol with the same
+behavior.
+</para>
+
+
+<sect3 label="16.2.5.1" id="_005cleft-_0026-_005cright">
+<title><literal>\left</literal> & <literal>\right</literal></title>
+
+<indexterm role="cp"><primary>delimiters, paired</primary></indexterm>
+<indexterm role="cp"><primary>paired delimiters</primary></indexterm>
+<indexterm role="cp"><primary>matching parentheses</primary></indexterm>
+<indexterm role="cp"><primary>matching brackets</primary></indexterm>
+<indexterm role="cp"><primary>null delimiter</primary></indexterm>
+<indexterm role="fn"><primary>\left</primary></indexterm>
+<indexterm role="fn"><primary>\right</primary></indexterm>
+
+<!-- Credit: SE userPhilipp https://tex.stackexchange.com/a/12793 -->
+
+<para>Synopsis:
+</para>
+<screen>\left <replaceable>delimiter1</replaceable> ... \right <replaceable>delimiter2</replaceable>
 </screen>
-<indexterm role="fn"><primary>\boldmath</primary></indexterm>
-<indexterm role="fn"><primary>\unboldmath</primary></indexterm>
-<para>Declarations to change the letters and symbols in <replaceable>math</replaceable> to be in
-a bold font, or to countermand that and bring back the regular
-(non-bold) default. They must be used when not in math mode or display
-math mode (see <link linkend="Modes">Modes</link>). Both commands are fragile
-(see <link linkend="_005cprotect">\protect</link>).
+<para>Make matching parentheses, braces, or other delimiters.  &latex; makes
+the delimiters tall enough to just cover the size of the formula that
+they enclose.
 </para>
-<para>In this example each <literal>\boldmath</literal> command takes place inside an
-<literal>\mbox</literal>,
+<para>This makes a unit vector surrounded by parentheses tall enough to cover
+the entries.
 </para>
-<screen>we have $\mbox{\boldmath \( v \)} = 5\cdot\mbox{\boldmath \( u \)$}$
+<screen>\begin{equation}
+  \left(\begin{array}{c}
+    1   \\
+    0   \\
+  \end{array}\right)
+\end{equation}
 </screen>
-<para>which means <literal>\boldmath</literal> is only called in a text mode, here LR
-mode, and explains why &latex; must switch to math mode to set <literal>v</literal>
-and <literal>u</literal>.
+<para>See <link linkend="Delimiters">Delimiters</link>, for a list of the common delimiters.
 </para>
-<para>If you use either command inside math mode, as with <literal>Trouble: \(
-\boldmath x \)</literal>, then you get something like ‘<literal>LaTeX Font Warning:
-Command \boldmath invalid in math mode on input line 11</literal>’ and ‘<literal>LaTeX
-Font Warning: Command \mathversion invalid in math mode on input line
-11</literal>’.
+<para>Every <literal>\left</literal> must have a matching <literal>\right</literal>.  In the above
+example, leaving out the <literal>\left(</literal> gets the error message
+‘<literal>Extra \right</literal>’.  Leaving out the <literal>\right)</literal> gets ‘<literal>You
+can't use `\eqno' in math mode</literal>’.
 </para>
-<indexterm role="cp"><primary>package, <literal>bm</literal></primary></indexterm>
-<indexterm role="cp"><primary><literal>bm</literal> package</primary></indexterm>
+<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm>
 
-<para>There are many issues with <literal>\boldmath</literal>.  New documents should use
-the <filename>bm</filename> package provided by the &latex; Project team.  A complete
-description is outside the scope of this document (see the full
-documentation on CTAN) but even this small example
+<indexterm role="cp"><primary>package, <literal>mathtools</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>mathtools</literal> package</primary></indexterm>
+
+<para>However, <replaceable>delimiter1</replaceable> and <replaceable>delimiter2</replaceable> need not match.  A common
+case is that you want an unmatched brace, as below. Use a period,
+‘<literal>.</literal>’, as a null delimiter.
 </para>
-<screen>\usepackage{bm}   % in preamble
-...
-we have $\bm{v} = 5\cdot\bm{u}$
+<screen>\begin{equation}
+  f(n)=\left\{\begin{array}{ll}
+                1             &\mbox{--if \(n=0\)} \\
+                f(n-1)+3n^2   &\mbox{--else}       
+       \end{array}\right.
+\end{equation}
 </screen>
-<para>shows that it is an improvement over <literal>\boldmath</literal>.
+<para>Note that to get a curly brace as a delimiter you must prefix it with a
+backslash, <literal>\{</literal>.  (The packages <filename>amsmath</filename> and
+<filename>mathtools</filename> allow you to get the above construct through in a
+<literal>cases</literal> environment.)
 </para>
+<para>The <literal>\left ... \right</literal> pair make a group.  One consequence is that
+the formula enclosed in the <literal>\left ... \right</literal> pair cannot have
+line breaks in the output.  This includes both manual line breaks and
+&latex;-generated automatic ones.  In this example, &latex; breaks the
+equation to make the formula fit the margins.
+</para>
+<screen>Lorem ipsum dolor sit amet
+\( (a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z) \)
+</screen>
+<para>But with <literal>\left</literal> and <literal>\right</literal>
+</para>
+<screen>Lorem ipsum dolor sit amet
+\( \left(a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z\right) \)
+</screen>
+<para>&latex; won’t break the line, causing the formula to extend into the
+margin.
+</para>
+<para>Because <literal>\left ... \right</literal> make a group, all the usual grouping
+rules hold.  Here, the value of <literal>\testlength</literal> set inside the
+equation will be forgotten, and the output is ‘<literal>1.2pt</literal>’.
+</para>
+<screen>\newlength{\testlength} \setlength{\testlength}{1.2pt}
+\begin{equation}
+  \left( a+b=c \setlength{\testlength}{3.4pt} \right)
+  \the\testlength
+\end{equation}
+</screen>
+<para>The <literal>\left ... \right</literal> pair affect the horizontal spacing of the
+enclosed formula, in two ways.  The first is that in <literal>\( \sin(x) =
+\sin\left(x\right) \)</literal> the one after the equals sign has more space
+around the <literal>x</literal>.  That’s because <literal>\left( ... \right)</literal> inserts
+an inner node while <literal>( ... )</literal> inserts an opening node.  The second
+way that the pair affect the horizontal spacing is that because they
+form a group, the enclosed subformula will be typeset at its natural
+width, with no stretching or shrinking to make the line fit better.
+</para>
+<para>&tex; scales the delimiters according to the height and depth of the
+contained formula.  Here &latex; grows the brackets to extend the full
+height of the integral.
+</para>
+<screen>\begin{equation}
+  \left[ \int_{x=r_0}^{\infty} -G\frac{Mm}{r^2}\, dr \right] 
+\end{equation}
+</screen>
+<para>Manual sizing is often better.  For instance, although below the rule
+has no depth, &tex; will create delimiters that extend far below the
+rule.
+</para>
+<screen>\begin{equation}
+  \left( \rule{1pt}{1cm} \right)
+\end{equation}
+</screen>
+<para>&tex; can choose delimiters that are too small, as in <literal>\( \left|
+|x|+|y| \right| \)</literal>.  It can also choose delimiters that are too large,
+as here.
+</para>
+<screen>\begin{equation}
+  \left( \sum_{0\leq i<n} i^k \right)
+\end{equation}
+</screen>
+<para>A third awkward case is when a long displayed formula is on more than
+one line and you must match the sizes of the opening and closing
+delimiter; you can’t use <literal>\left</literal> on the first line and
+<literal>\right</literal> on the last because they must be paired.
+</para>
+<para>To size the delimiters manually, see <link linkend="_005cbigl-_0026-_005cbigr-etc_002e">\bigl & \bigr etc.</link>.
+</para>
 
+</sect3>
+<sect3 label="16.2.5.2" id="_005cbigl-_0026-_005cbigr-etc_002e">
+<title><literal>\bigl</literal>, <literal>\bigr</literal>, etc.</title>
+
+<para>Synopsis, one of:
+</para>
+<screen>\bigl<replaceable>delimiter1</replaceable> ... \bigr<replaceable>delimiter2</replaceable>
+\Bigl<replaceable>delimiter1</replaceable> ... \bigr<replaceable>delimiter2</replaceable>
+\biggl<replaceable>delimiter1</replaceable> ... \biggr<replaceable>delimiter2</replaceable>
+\Biggl<replaceable>delimiter1</replaceable> ... \Biggr<replaceable>delimiter2</replaceable>  
+</screen>
+<para>(as with <literal>\bigl[...\bigr]</literal>; strictly speaking they need not be
+paired, see below), or one of:
+</para>
+<screen>\bigm<replaceable>delimiter</replaceable>
+\Bigm<replaceable>delimiter</replaceable>
+\biggm<replaceable>delimiter</replaceable>
+\Biggm<replaceable>delimiter</replaceable>
+</screen>
+<para>(as with <literal>\bigm|</literal>), or one of:
+</para>
+<screen>\big<replaceable>delimiter</replaceable>
+\Big<replaceable>delimiter</replaceable>
+\bigg<replaceable>delimiter</replaceable>
+\Bigg<replaceable>delimiter</replaceable>
+</screen>
+<para>(as with <literal>\big[</literal>).
+</para>
+<para>Produce manually-sized delimiters.  For delimiters that are
+automatically sized see <link linkend="_005cleft-_0026-_005cright">\left & \right</link>).
+</para>
+<para>This produces slightly larger outer vertical bars.
+</para>
+<screen>  \bigl| |x|+|y| \bigr|
+</screen>
+<para>The commands above are listed in order of increasing size.  You can use
+the smallest size such as <literal>\bigl...\bigr</literal> in a paragraph without
+causing &latex; to spread the lines apart.  The larger sizes are meant
+for displayed equations.
+</para>
+<para>See <link linkend="Delimiters">Delimiters</link>, for a list of the common delimiters.  In the family of
+commands with ‘<literal>l</literal>’ and ‘<literal>r</literal>’, <replaceable>delimiter1</replaceable> and
+<replaceable>delimiter2</replaceable> need not be the same.
+</para>
+<para>The ‘<literal>l</literal>’ and ‘<literal>r</literal>’ commands produce open and close delimiters
+that insert no horizontal space between a preceding atom and the
+delimiter, while the commands without ‘<literal>l</literal>’ and ‘<literal>r</literal>’ insert some
+space (because each delimiter is set as an ordinary variable).  Compare
+these two.
+</para>
+<!-- credit: Martin Heller https://tex.stackexchange.com/a/1234  -->
+<screen>\begin{tabular}{l}
+  \(\displaystyle \sin\biggl(\frac{1}{2}\biggr) \)  \\  % good
+  \(\displaystyle \sin\bigg(\frac{1}{2}\bigg)  \)   \\  % bad
+\end{tabular}
+</screen>
+<para>The traditional typographic treatment is on the first line.  On the
+second line the output will have some extra space between the
+<literal>\sin</literal> and the open parenthesis.
+</para>
+<para>Commands without ‘<literal>l</literal>’ or ‘<literal>r</literal>’ do give correct spacing in
+some circumstances, as with this large vertical line
+</para>
+<screen>\begin{equation}
+  \int_{x=a}^b x^2\,dx = \frac{1}{3} x^3 \Big|_{x=a}^b
+\end{equation}
+</screen>
+<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm>
+
+<para>(many authors would replace <literal>\frac</literal> with the <literal>\tfrac</literal> command
+from the <filename>amsmath</filename> package), and as with this larger slash.
+</para>
+<screen>\begin{equation}
+  \lim_{n\to\infty}\pi(n) \big/ (n/\log n) = 1
+\end{equation}
+</screen>
+<para>Unlike the <literal>\left...\right</literal> pair (see <link linkend="_005cleft-_0026-_005cright">\left & \right</link>), the
+commands here with ‘<literal>l</literal>’ and ‘<literal>r</literal>’ do not make a group.
+Strictly speaking they need not be matched so you can write something
+like this.
+</para>
+<screen>\begin{equation}
+  \Biggl[ \pi/6 ] 
+\end{equation}
+</screen>
+<para>The commands with ‘<literal>m</literal>’ are for relations, which are in the middle of
+formulas, as here.
+</para>
+<screen>\begin{equation}
+  \biggl\{ a\in B \biggm| a=\sum_{0\leq i<n}3i^2+4 \biggr\}
+\end{equation}  
+</screen>
+<!-- xx Add discussion \bigg\mid not being good -->
+<!-- and \bigg| being right; maybe mention of \middle and braket package? -->
+
+
+</sect3>
 </sect2>
-<sect2 label="16.2.4" id="Dots">
+<sect2 label="16.2.6" id="Dots">
 <title>Dots, horizontal or vertical</title>
 
 <indexterm role="cp"><primary>ellipses</primary></indexterm>
@@ -10739,6 +12108,52 @@
 </para>
 
 </sect2>
+<sect2 label="16.2.7" id="Greek-letters">
+<title>Greek letters</title>
+
+<indexterm role="cp"><primary>Greek letters</primary></indexterm>
+
+<para>The upper case versions of these Greek letters are only shown when they
+differ from Roman upper case letters.
+</para>
+<informaltable><tgroup cols="4"><colspec colwidth="10*"></colspec><colspec colwidth="30*"></colspec><colspec colwidth="15*"></colspec><colspec colwidth="45*"></colspec><thead><row><entry><para>Symbol</para></entry><entry><para>Command</para></entry><entry><para>Name</para></entry><entry></entry></row></thead><tbody><row><entry><para>&#x03B1;</para></entry><entry><para><literal>\alpha</literal></para></entry><entry><para>Alpha
+</para></entry></row><row><entry><para>&#x03B2;</para></entry><entry><para><literal>\beta</literal></para></entry><entry><para>Beta
+</para></entry></row><row><entry><para>&#x03B3;, &#x0393;</para></entry><entry><para><literal>\gamma</literal>, <literal>\Gamma</literal></para></entry><entry><para>Gamma
+</para></entry></row><row><entry><para>&#x03B4;, &#x0394;</para></entry><entry><para><literal>\delta</literal>, <literal>\Delta</literal></para></entry><entry><para>Delta
+</para></entry></row><row><entry><para>&#x03B5;, &#x03F5;</para></entry><entry><para><literal>\varepsilon</literal>, <literal>\epsilon</literal></para></entry><entry><para>Epsilon
+</para></entry></row><row><entry><para>&#x03B6;</para></entry><entry><para><literal>\zeta</literal></para></entry><entry><para>Zeta
+</para></entry></row><row><entry><para>&#x03B7;</para></entry><entry><para><literal>\eta</literal></para></entry><entry><para>Eta
+</para></entry></row><row><entry><para>&#x03B8;, &#x03D1;</para></entry><entry><para><literal>\theta</literal>, <literal>\vartheta</literal></para></entry><entry><para>Theta
+</para></entry></row><row><entry><para>&#x03B9;</para></entry><entry><para><literal>\iota</literal></para></entry><entry><para>Iota
+</para></entry></row><row><entry><para>&#x03BA;</para></entry><entry><para><literal>\kappa</literal></para></entry><entry><para>Kappa
+</para></entry></row><row><entry><para>&#x03BB;, &#x039B;</para></entry><entry><para><literal>\lambda</literal>, <literal>\Lambda</literal></para></entry><entry><para>Lambda
+</para></entry></row><row><entry><para>&#x03BC;</para></entry><entry><para><literal>\mu</literal></para></entry><entry><para>Mu
+</para></entry></row><row><entry><para>&#x03BD;</para></entry><entry><para><literal>\nu</literal></para></entry><entry><para>Nu
+</para></entry></row><row><entry><para>&#x03BE;, &#x039E;</para></entry><entry><para><literal>\xi</literal>, <literal>\Xi</literal></para></entry><entry><para>Xi
+</para></entry></row><row><entry><para>&#x03C0;, &#x03A0;</para></entry><entry><para><literal>\pi</literal>, <literal>\Pi</literal></para></entry><entry><para>Pi
+</para></entry></row><row><entry><para>&#x03C1;, &#x03F1;</para></entry><entry><para><literal>\rho</literal>, <literal>\varrho</literal></para></entry><entry><para>Rho
+</para></entry></row><row><entry><para>&#x03C3;, &#x03A3;</para></entry><entry><para><literal>\sigma</literal>, <literal>\Sigma</literal></para></entry><entry><para>Sigma
+</para></entry></row><row><entry><para>&#x03C4;</para></entry><entry><para><literal>\tau</literal></para></entry><entry><para>Tau
+</para></entry></row><row><entry><para>&#x03D5;, &#x03C6;, &#x03A6;</para></entry><entry><para><literal>\phi</literal>, <literal>\varphi</literal>, <literal>\Phi</literal></para></entry><entry><para>Phi
+</para></entry></row><row><entry><para>&#x03C7;</para></entry><entry><para><literal>\chi</literal></para></entry><entry><para>chi
+</para></entry></row><row><entry><para>&#x03C8;, &#x03A8;</para></entry><entry><para><literal>\psi</literal>, <literal>\Psi</literal></para></entry><entry><para>Psi
+</para></entry></row><row><entry><para>&#x03C9;, &#x03A9;</para></entry><entry><para><literal>\omega</literal>, <literal>\Omega</literal></para></entry><entry><para>Omega
+</para></entry></row></tbody></tgroup></informaltable>
+<indexterm role="cp"><primary>package, <literal>unicode-math</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>unicode-math</literal> package</primary></indexterm>
+
+<para>For omicron, if you are using &latex;’s default Computer Modern font
+then enter omicron just as ‘<literal>o</literal>’ or ‘<literal>O</literal>’.  If you like having the
+name or if your font shows a difference then you can use something like
+<literal>\newcommand\omicron{o}</literal>.  The package <filename>unicode-math</filename> has
+<literal>\upomicron</literal> for upright omicron and <literal>\mitomicron</literal> for math
+italic.
+</para>
+<para>While the set membership relation symbol &#x2208; generated by
+<literal>\in</literal> is related to epsilon, it is never used for a variable.
+</para>
+
+</sect2>
 </sect1>
 <sect1 label="16.3" id="Math-functions">
 <title>Math functions</title>
@@ -11009,9 +12424,9 @@
 &latex; ignores the space and in the output the m is next to the x,
 as <inlineequation><mathphrase>y=mx</mathphrase></inlineequation>.
 </para>
-<para>But &latex;’s rules sometimes need tweaking.  For example, in an
+<para>But &latex;’s rules occasionally need tweaking.  For example, in an
 integral the tradition is to put a small extra space between the
-<literal>f(x)</literal> and the <literal>dx</literal>, here done with the <literal>\,</literal> command.
+<literal>f(x)</literal> and the <literal>dx</literal>, here done with the <literal>\,</literal> command:
 </para>
 <screen>\int_0^1 f(x)\,dx
 </screen>
@@ -11025,9 +12440,16 @@
 <variablelist><varlistentry><term><literal>\;</literal>
 </term><listitem><indexterm role="fn"><primary>\;</primary></indexterm>
 <indexterm role="fn"><primary>\thickspace</primary></indexterm>
-<anchor id="spacing-in-math-mode-thickspace"/><para>Synonym: <literal>\thickspace</literal>.  Normally <literal>5.0mu plus 5.0mu</literal>.  Math
-mode only.
+<anchor id="spacing-in-math-mode-thickspace"/><para>Synonym: <literal>\thickspace</literal>.  Normally <literal>5.0mu plus 5.0mu</literal>.
+With <literal>amsmath</literal>, or as of the 2020-10-01 &latex; release, can be
+used in text mode as well as math mode; before that, in math mode only.
 </para>
+</listitem></varlistentry><varlistentry><term><literal>\negthickspace</literal>
+</term><listitem><indexterm role="fn"><primary>\negthickspace</primary></indexterm>
+<para>Normally <literal>-5.0mu plus 2.0mu minus 4.0mu</literal>.
+With <literal>amsmath</literal>, or as of the 2020-10-01 &latex; release, can be
+used in text mode as well as math mode; before that, in math mode only.
+</para>
 </listitem></varlistentry><varlistentry><term><literal>\:</literal>
 </term><term><literal>\></literal>
 </term><listitem><indexterm role="fn"><primary>\:</primary></indexterm>
@@ -11034,8 +12456,15 @@
 <indexterm role="fn"><primary>\></primary></indexterm>
 <indexterm role="fn"><primary>\medspace</primary></indexterm>
 <anchor id="spacing-in-math-mode-medspace"/><para>Synonym: <literal>\medspace</literal>.  Normally <literal>4.0mu plus 2.0mu minus 4.0mu</literal>.
-Math mode only.
+With <literal>amsmath</literal>, or as of the 2020-10-01 &latex; release, can be
+used in text mode as well as math mode; before that, in math mode only.
 </para>
+</listitem></varlistentry><varlistentry><term><literal>\negmedspace</literal>
+</term><listitem><indexterm role="fn"><primary>\negmedspace</primary></indexterm>
+<para>Normally <literal>-4.0mu plus 2.0mu minus 4.0mu</literal>.
+With <literal>amsmath</literal>, or as of the 2020-10-01 &latex; release, can be
+used in text mode as well as math mode; before that, in math mode only.
+</para>
 </listitem></varlistentry><varlistentry><term><literal>\,</literal>
 </term><listitem><indexterm role="fn"><primary>\,</primary></indexterm>
 <indexterm role="fn"><primary>\thinspace</primary></indexterm>
@@ -11057,9 +12486,11 @@
 </term><listitem><indexterm role="fn"><primary>\!</primary></indexterm>
 <indexterm role="fn"><primary>\negthinspace</primary></indexterm>
 <indexterm role="cp"><primary>thin space, negative</primary></indexterm>
-<anchor id="spacing-in-math-mode-negthinspace"/><para>A negative thin space. Normally <literal>-3mu</literal>.  The <literal>\!</literal> command is
-math mode only but the <literal>\negthinspace</literal> command is available for
-text mode (see <link linkend="_005cthinspace-_0026-_005cnegthinspace">\thinspace & \negthinspace</link>).
+<anchor id="spacing-in-math-mode-negthinspace"/><para>A negative thin space. Normally <literal>-3mu</literal>.
+With <literal>amsmath</literal>, or as of the 2020-10-01 &latex; release, can be
+used in text mode as well as math mode; before that, 
+The <literal>\!</literal> command is math mode only but the <literal>\negthinspace</literal>
+command has always worked in text mode (see <link linkend="_005cthinspace-_0026-_005cnegthinspace">\thinspace & \negthinspace</link>).
 </para>
 </listitem></varlistentry><varlistentry><term><literal>\quad</literal>
 </term><listitem><indexterm role="cp"><primary>quad</primary></indexterm>
@@ -11169,24 +12600,32 @@
 </screen>
 <para>The <literal>\phantom</literal> command creates a box with the same height, depth,
 and width as <replaceable>subformula</replaceable>, but empty.  That is, this command causes
-&latex; to typeset the box but not its ink.  The <literal>\vphantom</literal>
-variant also produces an invisible box with the same height and depth as
-<replaceable>subformula</replaceable>, but it has width zero.  And <literal>\hphantom</literal> makes a
-box with the same width as <replaceable>subformula</replaceable> but with height and depth
-zero.
+&latex; to typeset the space but not fill it with the material.  Here
+&latex; will put a box of the right size for the quotation, but empty.
 </para>
-<para>Without the <literal>\vphantom</literal> in this example, the top bars of the two
-square roots would be at different heights.
+<screen>\fbox{\phantom{Conservatism is the fear-filled worship of dead radicals.
+               --- Mark Twain}}
+</screen>
+<para>The <literal>\vphantom</literal> variant produces an invisible box with the same
+vertical size as <replaceable>subformula</replaceable>, the same height and depth, but having
+zero width.  And <literal>\hphantom</literal> makes a box with the same width as
+<replaceable>subformula</replaceable> but with zero height and depth.
 </para>
-<screen>\( \sqrt{\vphantom{a^3}a}\cdot\sqrt{a^3} \)
+<para>In this example, the tower of exponents in the second summand expression
+is so tall that &tex; places this expression further down than its
+default.  Without adjustment, the two summand expressions would be at
+different levels.  The <literal>\vphantom</literal> in the first expression tells
+&tex; to leave as much vertical room as it does for the tower, so the
+two expressions come out at the same level.
+</para>
+<screen>\begin{displaymath}
+    \sum_{j\in\{0,\ldots\, 10\}\vphantom{3^{3^{3^j}}}}
+      \sum_{i\in\{0,\ldots\, 3^{3^{3^j}}\}} i\cdot j
+\end{displaymath}
 </screen>
-<para>The <literal>\vphantom{a^3}</literal> causes the first <literal>\sqrt</literal> to have inside
-it a box of the same height as the second <literal>\sqrt</literal>, so &latex;
-makes the bars align.
+<para>These commands are often used in conjunction with <literal>\smash</literal>.
+See <link linkend="_005csmash">\smash</link>, which includes another example of <literal>\vphantom</literal>.
 </para>
-<para>These commands often are combined with <literal>\smash</literal>.  See <link linkend="_005csmash">\smash</link>
-for another example of the use of <literal>\vphantom</literal>.
-</para>
 <indexterm role="cp"><primary>package, <literal>mathtools</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>mathtools</literal> package</primary></indexterm>
 
@@ -11213,6 +12652,37 @@
 </para>
 
 </sect2>
+<sect2 label="16.6.3" id="_005cmathstrut">
+<title><literal>\mathstrut</literal></title>
+
+<indexterm role="fn"><primary><literal>\mathstrut</literal></primary></indexterm>
+<indexterm role="cp"><primary>spacing, math mode</primary></indexterm>
+<indexterm role="cp"><primary>vertical spacing</primary></indexterm>
+<indexterm role="cp"><primary>math mode, spacing</primary></indexterm>
+<indexterm role="cp"><primary>invisible character</primary></indexterm>
+<indexterm role="cp"><primary>character, invisible</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\mathstrut
+</screen>
+<para>The analogue of <literal>\strut</literal> for mathematics.  See <link linkend="_005cstrut">\strut</link>.
+</para>
+<para>The input <literal>$\sqrt{x} + \sqrt{x^i}$</literal> gives output where the
+second radical is taller than the first.  To add extra vertical space
+without any horizontal space, so that the two have the same height, use
+<literal>$\sqrt{x\mathstrut} + \sqrt{x^i\mathstrut}$</literal>.
+</para>
+<para>The <literal>\mathstrut</literal> command adds the vertical height of an open
+parenthesis, <literal>(</literal>, but no horizontal space.  It is defined as
+<literal>\vphantom{(}</literal>, so see <link linkend="_005cphantom-_0026-_005cvphantom-_0026-_005chphantom">\phantom & \vphantom & \hphantom</link> for
+more.  An advantage over <literal>\strut</literal> is that <literal>\mathstrut</literal> adds no
+depth, which is often the right thing for formulas.  Using the height of
+an open parenthesis is just a convention; for complete control over the
+amount of space, use <literal>\rule</literal> with a width of zero.  See <link linkend="_005crule">\rule</link>.
+</para>
+
+</sect2>
 </sect1>
 <sect1 label="16.7" id="Math-miscellany">
 <title>Math miscellany</title>
@@ -11227,9 +12697,8 @@
 <sect2 label="16.7.1" id="Colon-character-_0026-_005ccolon">
 <title>Colon character <literal>:</literal> & <literal>\colon</literal></title>
 
-<indexterm role="cp"><primary>:</primary></indexterm>
 <indexterm role="cp"><primary>colon character</primary></indexterm>
-<indexterm role="fn"><primary>:</primary></indexterm>
+<indexterm role="fn"><primary>: for math</primary></indexterm>
 <indexterm role="fn"><primary>\colon</primary></indexterm>
 
 <para>Synopsis, one of:
@@ -11299,52 +12768,7 @@
 </para>
 
 </sect2>
-<sect2 label="16.7.4" id="_005cleft-_0026-_005cright">
-<title><literal>\left</literal> & <literal>\right</literal></title>
-
-<indexterm role="cp"><primary>delimiters, paired</primary></indexterm>
-<indexterm role="cp"><primary>paired delimiters</primary></indexterm>
-<indexterm role="cp"><primary>matching parentheses</primary></indexterm>
-<indexterm role="cp"><primary>matching brackets</primary></indexterm>
-<indexterm role="cp"><primary>null delimiter</primary></indexterm>
-<indexterm role="fn"><primary>\left</primary></indexterm>
-<indexterm role="fn"><primary>\right</primary></indexterm>
-
-<para>Synopsis:
-</para>
-<screen>\left <replaceable>delimiter1</replaceable> ... \right <replaceable>delimiter2</replaceable>
-</screen>
-<para>Make matching parentheses, braces, or other delimiters.  The delimiters
-are sized according to the math they enclose.  This makes a unit vector
-surrounded by appropriate-height parentheses.
-</para>
-<screen>\begin{equation}
-  \left(\begin{array}{c}
-    1   \\
-    0   \\
-  \end{array}\right)
-</screen>
-<para>Every <literal>\left</literal> must have a matching <literal>\right</literal>.  Leaving out the
-<literal>\left(</literal> in the above gets ‘<literal>Extra \right</literal>’.  Leaving off the
-<literal>\right)</literal> gets ‘<literal>You can't use `\eqno' in math mode</literal>’.
-</para>
-<para>However, the two delimiters <replaceable>delimiter1</replaceable> and <replaceable>delimiter2</replaceable> need
-not match.  A common case is that you want an unmatched brace, as
-below. Use a period, ‘<literal>.</literal>’, as a null delimiter.
-</para>
-<screen>\begin{equation}
-  f(n)=\left\{\begin{array}{ll}
-                1             &\mbox{--if \(n=0\)} \\
-                f(n-1)+3n^2   &\mbox{--else}       
-       \end{array}\right.
-\end{equation}
-</screen>
-<para>Note that to get a curly brace as a delimiter you must prefix it with a
-backslash, <literal>\{</literal>.
-</para>
-
-</sect2>
-<sect2 label="16.7.5" id="_005csqrt">
+<sect2 label="16.7.4" id="_005csqrt">
 <title><literal>\sqrt</literal></title>
 
 <indexterm role="cp"><primary>square root</primary></indexterm>
@@ -11368,7 +12792,7 @@
 </para>
 
 </sect2>
-<sect2 label="16.7.6" id="_005cstackrel">
+<sect2 label="16.7.5" id="_005cstackrel">
 <title><literal>\stackrel</literal></title>
 
 <indexterm role="cp"><primary>stack math</primary></indexterm>
@@ -11509,7 +12933,7 @@
 </screen>
 <para>Generate a title.  In the standard classes the title appears on a
 separate page, except in the <literal>article</literal> class where it is at the top
-of the first page.  (See <link linkend="Document-class-options">Document class options</link> for information about
+of the first page.  (See <link linkend="Document-class-options">Document class options</link>, for information about
 the <literal>titlepage</literal> document class option.)
 </para>
 <para>This example shows <literal>\maketitle</literal> appearing in its usual place,
@@ -11823,7 +13247,7 @@
   \qquad\includegraphics{mensmile.png}
 \end{center}
 </screen>
-<para>See <link linkend="Spacing-in-math-mode">Spacing in math mode</link> for <literal>\quad</literal> and <literal>\qquad</literal>.  These
+<para>See <link linkend="Spacing-in-math-mode">Spacing in math mode</link>, for <literal>\quad</literal> and <literal>\qquad</literal>.  These
 are lengths from centuries of typesetting and so may be a better choice
 in many circumstances than arbitrary lengths, such as you get with
 <literal>\hspace</literal>.
@@ -12095,7 +13519,7 @@
 space between sentences (or spaces following a question mark,
 exclamation point, comma, or colon) more than the space between words
 that are in the middle of a sentence.  Declaring <literal>\frenchspacing</literal>
-(the command is from Plain &tex;) switches to the tradition that all
+(the command is from plain &tex;) switches to the tradition that all
 spaces are treated equally.
 </para>
 
@@ -12121,7 +13545,9 @@
 
 <indexterm role="cp"><primary>\NEWLINE</primary></indexterm>
 <indexterm role="cp"><primary>\SPACE</primary></indexterm>
+<indexterm role="cp"><primary>\ (backslash-space)</primary></indexterm>
 <indexterm role="cp"><primary>\TAB</primary></indexterm>
+<indexterm role="fn"><primary>\SPACE</primary></indexterm>
 
 <para>This section refers to the command consisting of two characters, a
 backslash followed by a space. Synopsis:
@@ -12156,7 +13582,7 @@
 <literal>\TeX{} is best</literal>, has the advantage of still working if the next
 character is a period.)  The other common use is that it marks a period
 as ending an abbreviation instead of ending a sentence, as in <literal>So
-says Prof.\ Smith</literal> (see <link linkend="_005c_0040">\@</link>).
+says Prof.\ Smith</literal> or <literal>Jones et al.\ (1993)</literal> (see <link linkend="_005c_0040">\@</link>).
 </para>
 <para>Under normal circumstances, <literal>\</literal><keycap>tab</keycap> and <literal>\</literal><keycap>newline</keycap>
 are equivalent to backslash-space, <literal>\ </literal>.
@@ -12172,8 +13598,9 @@
 
 <indexterm role="fn"><primary>~</primary></indexterm>
 <indexterm role="cp"><primary>tie</primary></indexterm>
-<indexterm role="cp"><primary>space, hard</primary></indexterm>
 <indexterm role="cp"><primary>space, unbreakable</primary></indexterm>
+<indexterm role="cp"><primary>hard space</primary></indexterm>
+<indexterm role="cp"><primary>unbreakable space</primary></indexterm>
 <indexterm role="cp"><primary>NBSP</primary></indexterm>
 
 <para>Synopsis:
@@ -12192,17 +13619,22 @@
 <para>In addition, despite the period, &latex; does not use the
 end-of-sentence spacing (see <link linkend="_005c_0040">\@</link>).
 </para>
-<para>Ties prevent the end of line separation of things where that could cause
-confusion. But they also reduce &latex;’s options when it breaks lines
-into paragraphs, so you can use too many. They are also matters of
-taste, sometimes alarmingly dogmatic taste, among readers. Nevertheless,
-here are some usage models, many of them from the &tex;book.
+<para>Ties prevent the end of line separation of things where that could
+cause confusion. They also still allow hyphenation (of either of the
+tied words), so they are generally preferable to putting consecutive
+words in an <literal>\mbox</literal> (see <link linkend="_005cmbox-_0026-_005cmakebox">\mbox & \makebox</link>). 
 </para>
+<para>They are also matters of taste, sometimes alarmingly dogmatic taste,
+among readers. Nevertheless, here are some usage models, many of them
+from <citetitle>The &tex;book</citetitle>.
+</para>
 <itemizedlist><listitem><para>Between an enumerator and its item, such as in references:
 <literal>Chapter~12</literal>, or <literal>Theorem~\ref{th:Wilsons}</literal>, or
-<literal>Figure~\ref{fig:KGraph}</literal>. When cases are enumerated inline:
-<literal>(b)~Show that $f(x)$ is (1)~continuous, and (2)~bounded</literal>.
+<literal>Figure~\ref{fig:KGraph}</literal>.
 </para>
+</listitem><listitem><para>When cases are enumerated inline: <literal>(b)~Show that $f(x)$ is
+(1)~continuous, and (2)~bounded</literal>.
+</para>
 <indexterm role="cp"><primary>package, <literal>siunitx</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>siunitx</literal> package</primary></indexterm>
 
@@ -12209,10 +13641,12 @@
 </listitem><listitem><para>Between a number and its unit: <literal>$745.7.8$~watts</literal> (the
 <filename>siunitx</filename> package has a special facility for this) or
 <literal>144~eggs</literal>. This includes between a month and a date:
-<literal>October~12</literal> or <literal>12~Oct</literal>. In general, in any expressions where
-numbers and abbreviations or symbols are separated by a space:
+<literal>October~12</literal> or <literal>12~Oct</literal>. In general, in any expressions
+where numbers and abbreviations or symbols are separated by a space:
 <literal>AD~565</literal>, or <literal>2:50~pm</literal>, or <literal>Boeing~747</literal>, or
-<literal>268~Plains Road</literal>, or <literal>\$$1.4$~billion</literal>.
+<literal>268~Plains Road</literal>, or <literal>\$$1.4$~billion</literal>. Other common
+choices here are a thin space (see <link linkend="_005cthinspace-_0026-_005cnegthinspace">\thinspace & \negthinspace</link>) and
+no space at all.
 </para>
 </listitem><listitem><para>When mathematical phrases are rendered in words: <literal>equals~$n$</literal>, or
 <literal>less than~$\epsilon$</literal>, or <literal>given~$X$</literal>, or <literal>modulo~$p^e$
@@ -12226,14 +13660,12 @@
 </listitem><listitem><para>Between symbols in series: <literal>$1$,~$2$, or~$3$</literal> or <literal>$1$,~$2$,
 \ldots,~$n$</literal>.
 </para>
-</listitem><listitem><para>Between a person’s forenames and between multiple surnames:
+</listitem><listitem><para>Between a person’s given names and between multiple surnames:
 <literal>Donald~E. Knuth</literal>, or <literal>Luis~I. Trabb~Pardo</literal>, or
-<literal>Charles~XII</literal> (but you must give TeX places to break the line so
-you may do <literal>Charles Louis Xavier~Joseph de~la Vall\'ee~Poussin</literal>).
+<literal>Charles~XII</literal>—but you must give &tex; places to break the line
+so you might do <literal>Charles Louis Xavier~Joseph de~la
+Vall\'ee~Poussin</literal>.
 </para>
-</listitem><listitem><para>Before a dash: <literal>pages 12~--14</literal> or <literal>it is~--- it must be
-said~--- plausible</literal>.
-</para>
 </listitem></itemizedlist>
 
 </sect1>
@@ -12252,23 +13684,29 @@
 <screen>\thinspace
 \negthinspace
 </screen>
-<para>Produce an unbreakable and unstretchable space of 1/6em and
--1/6em.  These are the text mode equivalents of <literal>\,</literal> and
-<literal>\!</literal> (see <link linkend="Spacing-in-math-mode_002f_005cthinspace">Spacing in math mode/\thinspace</link>).  You can use
-<literal>\,</literal> as a synonym for <literal>\thinspace</literal> in text mode.
+<para>These produce unbreakable and unstretchable spaces of 1/6em and
+-1/6em, respectively.  These are the text mode equivalents of
+<literal>\,</literal> and <literal>\!</literal> (see <link linkend="Spacing-in-math-mode_002f_005cthinspace">Spacing in math mode/\thinspace</link>).
 </para>
-<para>The <literal>\negthinspace</literal> command is used in text mode mostly for
-fiddling with spaces.  One common use of <literal>\thinspace</literal> is as the
-space between nested quotes.
+<para>You can use <literal>\,</literal> as a synonym for <literal>\thinspace</literal> in text mode.
 </para>
+<para>One common use of <literal>\thinspace</literal> is as the space between nested
+quotes:
+</para>
 <screen>Killick replied, ``I heard the Captain say, `Ahoy there.'\thinspace''
 </screen>
 <para>Another use is that some style guides call for a <literal>\thinspace</literal>
 between an ellipsis and a sentence ending period (other style guides,
-though, think the three dots are quite enough already).  Still another
-use is between initials, as in <literal>D.\thinspace E.\ Knuth</literal>.
+think the three dots and/or four dots are plenty).  Another
+style-specific use is between initials, as in <literal>D.\thinspace E.\
+Knuth</literal>.
 </para>
-
+<para>&latex; provides a variety of similar spacing commands
+(see <link linkend="Spacing-in-math-mode">Spacing in math mode</link>).  With <literal>amsmath</literal>, or as of the
+2020-10-01 &latex; release, they can be used in text mode as well as
+math mode, including <literal>\!</literal> for <literal>\negthinspace</literal>; before that,
+they were available only in math mode.
+</para>
 </sect1>
 <sect1 label="19.9" id="_005c_002f">
 <title><literal>\/</literal></title>
@@ -12281,10 +13719,11 @@
 <screen><replaceable>before-character</replaceable>\/<replaceable>after-character</replaceable>
 </screen>
 <para>Insert an <firstterm>italic correction</firstterm>, a small space defined by the font
-designer for each character, to avoid the character colliding with
-whatever follows. When you use <literal>\/</literal>, &latex; takes the correction
-from the font metric file, scales it by any scaling that has been
-applied to the font, and then inserts that much horizontal space.
+designer for each character (possibly zero), to avoid the character
+colliding with whatever follows. When you use <literal>\/</literal>, &latex;
+takes the correction from the font metric file, scales it by any
+scaling that has been applied to the font, and then inserts that much
+horizontal space.
 </para>
 <para>Here, were it not for the <literal>\/</literal>, the <replaceable>before-character</replaceable>
 italic f would hit the <replaceable>after-character</replaceable> roman H
@@ -12291,23 +13730,35 @@
 </para>
 <screen>\newcommand{\companylogo}{{\it f}\/H}
 </screen>
-<para>because the italic letter leans far to the right.
+<para>because the italic letter f leans far to the right.
 </para>
 <para>If <replaceable>after-character</replaceable> is a period or comma then don’t insert an
-italic correction since those punctuation symbols have a very small
-height.  However, with semicolons or colons as well as with normal
-letters, the italic correction can help.
+italic correction since those punctuation symbols are so low to the
+baseline already.  However, with semicolons or colons, as well as with
+normal letters, the italic correction can help. It is typically used
+between a switch from italic or slanted fonts to an upright font.
 </para>
-<para>When you use commands such as <literal>\textit</literal> or <literal>\itshape</literal> to
-change fonts, &latex; will automatically insert any needed italic
-correction (see <link linkend="Font-styles">Font styles</link>).
+<para>When you use commands such as <literal>\emph</literal> and <literal>\textit</literal> and
+<literal>\textsl</literal> to change fonts, &latex; automatically inserts the
+italic correction when needed (see <link linkend="Font-styles">Font styles</link>).  However,
+declarations such as <literal>\em</literal> and <literal>\itshape</literal> and
+<literal>\slshape</literal> do not automatically insert italic corrections.
 </para>
-<para>Roman characters can also have an italic correction.  An example is in
-the name <literal>pdf\/\TeX</literal>.
+<para>Upright characters can also have an italic correction.  An example
+where this is needed is the name <literal>pdf\/\TeX</literal>. However, most
+upright characters have a zero italic correction. Some font creators
+do not include italic correction values even for italic fonts.
 </para>
-<para>There is no concept of italic correction in math mode; spacing is done
-in a different way.
+<indexterm role="fn"><primary>\fontdimen1</primary></indexterm>
+<indexterm role="cp"><primary>font dimension, slant</primary></indexterm>
+<para>Technically, &latex; uses another font-specific value, the so-called
+slant parameter (namely <literal>\fontdimen1</literal>), to determine whether to
+possibly insert an italic correction, rather than tying the action to
+particular font commands.
 </para>
+<para>There is no concept of italic correction in math mode; math spacing is
+done in a different way.
+</para>
 
 </sect1>
 <sect1 label="19.10" id="_005chrulefill-_0026-_005cdotfill">
@@ -12566,7 +14017,7 @@
 \vspace{1ex plus 0.5ex}
 The new day dawned cold.
 </screen>
-<para>(See <link linkend="_005cbigskip-_0026-_005cmedskip-_0026-_005csmallskip">\bigskip & \medskip & \smallskip</link> for common inter-paragraph
+<para>(See <link linkend="_005cbigskip-_0026-_005cmedskip-_0026-_005csmallskip">\bigskip & \medskip & \smallskip</link>, for common inter-paragraph
 spaces.)
 </para>
 <para>The <literal>*</literal>-version inserts vertical space that non-discardable.  More
@@ -12676,7 +14127,7 @@
 <para>Now uncomment the second <literal>\addvspace</literal>.  It does not make the gap
 20pt longer; instead the gap is the sum of <literal>\baselineskip</literal>
 and 20pt.  So <literal>\addvspace</literal> in a sense does the opposite of
-its name — it makes sure that multiple vertical spaces do not
+its name—it makes sure that multiple vertical spaces do not
 accumulate, but instead that only the largest one is used.
 </para>
 <para>&latex; uses this command to adjust the vertical space above or below
@@ -12702,6 +14153,9 @@
 <para>At its core, &latex; puts things in boxes and then puts the boxes on a
 page.  So these commands are central.
 </para>
+<indexterm role="cp"><primary>package, <literal>adjustbox</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>adjustbox</literal> package</primary></indexterm>
+
 <para>There are many packages on CTAN that are useful for manipulating boxes.
 One useful adjunct to the commands here is <filename>adjustbox</filename>.
 </para>
@@ -12730,11 +14184,11 @@
 </para>
 <para>Because <literal>text</literal> is not broken into lines, you can use <literal>\mbox</literal>
 to prevent hyphenation.  In this example, &latex; will not hyphenate
-the table name, ‘<literal>T-4</literal>’.
+the tank name, ‘<literal>T-34</literal>’.
 </para>
-<screen>See Table~\mbox{T-4}
+<screen>The soviet tank \mbox{T-34} is a symbol of victory against nazism.
 </screen>
-<para>The first two command versions, <literal>\mbox</literal> and <literal>\makebox</literal>, are
+<para>The first two command synopsis versions, <literal>\mbox</literal> and <literal>\makebox</literal>, are
 roughly equivalent.  They create a box just wide enough to contain the
 <replaceable>text</replaceable>.  (They are like plain &tex;’s <literal>\hbox</literal>.)
 </para>
@@ -12757,7 +14211,7 @@
 </para>
 <screen>\makebox[2\width]{Get a stretcher}
 </screen>
-<para>For the fourth command version the optional argument <replaceable>position</replaceable>
+<para>For the fourth command synopsis version the optional argument <replaceable>position</replaceable>
 gives position of the text within the box. It may take the following
 values:
 </para>
@@ -12791,12 +14245,11 @@
 <indexterm role="cp"><primary>package, <literal>Asymptote</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>Asymptote</literal> package</primary></indexterm>
 
-<para>The right edge of the output ‘<literal>10 points </literal>’ (note the ending space)
-will be just before the ‘<literal>What</literal>’ (note the space after
-‘<literal>points</literal>’).  You can use <literal>\makebox</literal> similarly when making
-graphics, such as in <filename>TikZ</filename> or <filename>Asymptote</filename>, where you put the
-edge of the text at a known location, regardless of the length of that
-text.
+<para>The right edge of the output ‘<literal>10 points </literal>’ (note the ending space
+after ‘<literal>points</literal>’) will be just before the ‘<literal>What</literal>’.  You can use
+<literal>\makebox</literal> similarly when making graphics, such as in <filename>TikZ</filename>
+or <filename>Asymptote</filename>, where you put the edge of the text at a known
+location, regardless of the length of that text.
 </para>
 <para>For boxes with frames see <link linkend="_005cfbox-_0026-_005cframebox">\fbox & \framebox</link>. For colors
 see <link linkend="Colored-boxes">Colored boxes</link>.
@@ -12805,11 +14258,12 @@
 <literal>picture</literal> environment, where the length is given in terms of
 <literal>\unitlength</literal> (see <link linkend="_005cmakebox-_0028picture_0029">\makebox (picture)</link>).
 </para>
-<para>If you put a double-backslash into <replaceable>text</replaceable> then &latex; will not
-give you a new line; for instance <literal>\makebox{abc def \\ ghi}</literal>
-outputs ‘<literal>abc defghi</literal>’ while <literal>\makebox{abc def \par ghi}</literal>
-outputs ‘<literal>abc def ghi</literal>’, but neither go to a second line.  To get
-multiple lines see <link linkend="_005cparbox">\parbox</link> and <link linkend="minipage">minipage</link>.
+<para>As <replaceable>text</replaceable> is typeset in LR mode, neither a double backslash
+<literal>\\</literal> nor <literal>\par</literal> will give you a new line; for instance
+<literal>\makebox{abc def \\ ghi}</literal> outputs ‘<literal>abc defghi</literal>’ while
+<literal>\makebox{abc def \par ghi}</literal> outputs ‘<literal>abc def ghi</literal>’, both on
+a single line.  To get multiple lines see <link linkend="_005cparbox">\parbox</link>
+and <link linkend="minipage">minipage</link>.
 </para>
 
 </sect1>
@@ -12841,7 +14295,7 @@
 <literal>\framebox{...}</literal>, are roughly the same.  As to the third and
 fourth invocations, the optional arguments allow you to specify the box
 width as <replaceable>width</replaceable> and the position of the text inside that box as
-<replaceable>position</replaceable>.  See <link linkend="_005cmbox-_0026-_005cmakebox">\mbox & \makebox</link> for the full description but
+<replaceable>position</replaceable>.  See <link linkend="_005cmbox-_0026-_005cmakebox">\mbox & \makebox</link>, for the full description but
 here is an example creating an empty box that is 1/4in wide.
 </para>
 <screen>\setlength{\fboxsep}{0pt}\framebox[0.25in]{\strut}}
@@ -12884,7 +14338,7 @@
     And if you wish to go anywhere you must run twice as fast as that.
   \end{minipage}}
 </screen>
-<para>See <link linkend="Colored-boxes">Colored boxes</link> for colors other than black and white.
+<para>See <link linkend="Colored-boxes">Colored boxes</link>, for colors other than black and white.
 </para>
 <para>The <literal>picture</literal> environment has a version of this command where the
 units depend on <literal>picture</literal>’s <literal>\unitlength</literal> (see <link linkend="_005cframebox-_0028picture_0029">\framebox
@@ -12933,10 +14387,10 @@
 </para>
 <para>There are three optional arguments, <replaceable>position</replaceable>, <replaceable>height</replaceable>, and
 <replaceable>inner-pos</replaceable>.  The <replaceable>position</replaceable> gives the vertical alignment of the
-<literal>parbox</literal> with respect to the surrounding material.  The possible
+<firstterm>parbox</firstterm> with respect to the surrounding material.  The supported
 values are <literal>c</literal> or <literal>m</literal> to make the vertical center of the
-<literal>parbox</literal> lines up with the center of the adjacent line (this is the
-default), or <literal>t</literal> to match the top line of the <literal>parbox</literal> with
+parbox lines up with the center of the adjacent text line (this is the
+default), or <literal>t</literal> to match the top line of the parbox with
 the baseline of the surrounding material, or <literal>b</literal> to match the
 bottom line.
 </para>
@@ -12965,11 +14419,11 @@
 </screen>
 <para>Raise or lower <replaceable>text</replaceable>. This command is fragile (see <link linkend="_005cprotect">\protect</link>).
 </para>
-<para>This example makes a command for the restriction of a function by
-lowering the vertical bar symbol.
+<para>This example makes a command for denoting the restriction of a function
+by lowering the vertical bar symbol.
 </para>
 <!-- credit: egreg https://tex.stackexchange.com/a/278631/121234 -->
-<screen>\newcommand\restricted[1]{\raisebox{-.5ex}{$|$}_{#1}}
+<screen>\newcommand*\restricted[1]{\raisebox{-.5ex}{$|$}_{#1}}
 $f\restricted{A}$
 </screen>
 <para>The first mandatory argument <replaceable>distance</replaceable> specifies how far to raise
@@ -12991,7 +14445,7 @@
 <para>This will align two graphics on their top (see <link linkend="Graphics">Graphics</link>).
 </para>
 <!-- credit: FAQ https://texfaq.org/FAQ-topgraph -->
-<screen>\usepackage{graphicx} \usepackage{calc}  % in preamble
+<screen>\usepackage{graphicx,calc}  % in preamble
    ...
 \begin{center}
   \raisebox{1ex-\height}{%
@@ -13022,13 +14476,13 @@
 </screen>
 <para>Typeset <replaceable>text</replaceable> just as with <literal>\makebox</literal> (see <link linkend="_005cmbox-_0026-_005cmakebox">\mbox &
 \makebox</link>) except that &latex; does not output it but instead saves it
-in a storage bin named <replaceable>box-cmd</replaceable>.  The bin name <replaceable>box-cmd</replaceable> begins
-with a backslash, <literal>\</literal>.  You must have previously allocated the bin
-<replaceable>box-cmd</replaceable> with <literal>\newsavebox</literal> (see <link linkend="_005cnewsavebox">\newsavebox</link>).The
-<literal>\sbox</literal> command is robust while <literal>\savebox</literal> is fragile
-(see <link linkend="_005cprotect">\protect</link>).
+in a box register referred to by a variable named <replaceable>box-cmd</replaceable>.  The
+variable name <replaceable>box-cmd</replaceable> begins with a backslash, <literal>\</literal>.  You must
+have previously allocated the box register <replaceable>box-cmd</replaceable> with <literal>\newsavebox</literal>
+(see <link linkend="_005cnewsavebox">\newsavebox</link>). The <literal>\sbox</literal> command is robust while
+<literal>\savebox</literal> is fragile (see <link linkend="_005cprotect">\protect</link>).
 </para>
-<para>This creates and uses a bin.
+<para>This creates and uses a box register.
 </para>
 <screen>\newsavebox{\fullname}
 \sbox{\fullname}{John Jacob Jingleheimer Schmidt}
@@ -13035,11 +14489,11 @@
   ...
 \usebox{\fullname}! His name is my name, too!
 Whenever we go out, the people always shout!
-There goes \\usebox{\fullname}!  Ya da da da da da da.
+There goes \usebox{\fullname}!  Ya da da da da da da.
 </screen>
-<para>One advantage of using and reusing a bin over a <literal>\newcommand</literal> is
-efficiency, that &latex; need not repeatedly retypeset the contents.
-See the example below.
+<para>One advantage of using and reusing a box register over a
+<literal>\newcommand</literal> macro variable is efficiency, that &latex; need not
+repeatedly retypeset the contents.  See the example below.
 </para>
 <para>The first two command invocations,
 <literal>\sbox{<replaceable>box-cmd</replaceable>}{<replaceable>text</replaceable>}</literal> and
@@ -13046,20 +14500,20 @@
 <literal>\savebox{<replaceable>box-cmd</replaceable>}{<replaceable>text</replaceable>}</literal>, are roughly equivalent.
 As to the third and fourth, the optional arguments allow you to specify
 the box width as <replaceable>width</replaceable>, and the position of the text inside that
-box as <replaceable>position</replaceable>.  See <link linkend="_005cmbox-_0026-_005cmakebox">\mbox & \makebox</link> for the full
+box as <replaceable>position</replaceable>.  See <link linkend="_005cmbox-_0026-_005cmakebox">\mbox & \makebox</link>, for the full
 description.
 </para>
 <para>In the <literal>\sbox</literal> and <literal>\savebox</literal> commands the <replaceable>text</replaceable> is
 typeset in LR mode so it does not have line breaks (see <link linkend="Modes">Modes</link>).  If
 you use these then &latex; doesn’t give you an error but it ignores
-what you want: if you enter <literal>\sbox{\newbin}{test \\ test}</literal> and
-<literal>\usebox{\newbin}</literal> then you get ‘<literal>testtest</literal>’, while if you
-enter <literal>\sbox{\newbin}{test \par test}</literal> and
-<literal>\usebox{\newbin}</literal> then you get ‘<literal>test test</literal>’, but no error or
+what you want: if you enter <literal>\sbox{\newreg}{test \\ test}</literal> and
+<literal>\usebox{\newreg}</literal> then you get ‘<literal>testtest</literal>’, while if you
+enter <literal>\sbox{\newreg}{test \par test}</literal> and
+<literal>\usebox{\newreg}</literal> then you get ‘<literal>test test</literal>’, but no error or
 warning.  To fix this use a <literal>\parbox</literal> or <literal>minipage</literal> as here.
 </para>
 <!-- credit: egreg https://tex.stackexchange.com/a/41668/121234 -->
-<screen>\savebox{\abin}{%
+<screen>\savebox{\areg}{%
   \begin{minipage}{\linewidth}
     \begin{enumerate}
       \item First item
@@ -13067,15 +14521,15 @@
     \end{enumerate}
   \end{minipage}}
   ...
-\usebox{\abin}
+\usebox{\areg}
 </screen>
-<para>As an example of the efficiency of reusing a bin’s contents, this puts
+<para>As an example of the efficiency of reusing a register’s contents, this puts
 the same picture on each page of the document by putting it in the
 header.  &latex; only typesets it once.
 </para>
 <screen>\usepackage{graphicx}  % all this in the preamble
-\newsavebox{\sealbin}
-\savebox{\sealbin}{%
+\newsavebox{\sealreg}
+\savebox{\sealreg}{%
   \setlength{\unitlength}{1in}%
   \begin{picture}(0,0)%
      \put(1.5,-2.5){%
@@ -13085,13 +14539,13 @@
        \end{tabular}}
   \end{picture}%
 }
-\markright{\usebox{\sealbin}}
+\markright{\usebox{\sealreg}}
 \pagestyle{headings}
 </screen>
 <para>The <literal>picture</literal> environment is good for fine-tuning the placement.
 </para>
-<para>If the bin has not already been defined then you get something like
-‘<literal>Undefined control sequence. <argument> \nobin</literal>’.
+<para>If the register <literal>\noreg</literal> has not already been defined then you get something like
+‘<literal>Undefined control sequence. <argument> \noreg</literal>’.
 </para>
 
 </sect1>
@@ -13106,18 +14560,19 @@
   <replaceable>text</replaceable>
 \end{lrbox}
 </screen>
-<para>The <replaceable>text</replaceable> inside the environment is saved in the bin
-<literal><replaceable>box-cmd</replaceable></literal>.  The <replaceable>box-cmd</replaceable> must begin with a
-backslash. You must create this bin in advance with <literal>\newsavebox</literal>
-(see <link linkend="_005cnewsavebox">\newsavebox</link>).  This is the environment form of the <literal>\sbox</literal>
-and <literal>\savebox</literal> commands, and is equivalent to them. See <link linkend="_005csbox-_0026-_005csavebox">\sbox &
-\savebox</link> for the full information.
+<para>This is the environment form of the <literal>\sbox</literal> and <literal>\savebox</literal>
+commands, and is equivalent to them. for the full description,
+See <link linkend="_005csbox-_0026-_005csavebox">\sbox & \savebox</link>.
 </para>
-<para>In this example the environment is convenient for entering the
-<literal>tabular</literal>.
+<para>The <replaceable>text</replaceable> inside the environment is saved in the box register
+referred to by variable <literal><replaceable>box-cmd</replaceable></literal>.  The variable name
+<replaceable>box-cmd</replaceable> must begin with a backslash, <literal>\</literal>. You must allocate
+this box register in advance with <literal>\newsavebox</literal>
+(see <link linkend="_005cnewsavebox">\newsavebox</link>).  In this example the environment is convenient
+for entering the <literal>tabular</literal>.
 </para>
-<screen>\newsavebox{\jhbin}
-\begin{lrbox}{\jhbin}
+<screen>\newsavebox{\jhreg}
+\begin{lrbox}{\jhreg}
   \begin{tabular}{c}
     \includegraphics[height=1in]{jh.png} \\
     Jim Hef{}feron
@@ -13124,7 +14579,7 @@
   \end{tabular}
 \end{lrbox}    
   ...
-\usebox{\jhbin}
+\usebox{\jhreg}
 </screen>
 
 </sect1>
@@ -13138,11 +14593,11 @@
 </para>
 <screen>\usebox{<replaceable>box-cmd</replaceable>}
 </screen>
-<para>Produce the box most recently saved in the bin <replaceable>box-cmd</replaceable> by the
-commands <literal>\sbox</literal> or <literal>\savebox</literal>, or the <literal>lrbox</literal>
-environment. See <link linkend="_005csbox-_0026-_005csavebox">\sbox & \savebox</link> for more information and examples.
-(Note that <replaceable>box-cmd</replaceable> starts with a backslash.)  This command is
-robust (see <link linkend="_005cprotect">\protect</link>).
+<para>Produce the box most recently saved in the box register <replaceable>box-cmd</replaceable> by
+the commands <literal>\sbox</literal> or <literal>\savebox</literal>, or the <literal>lrbox</literal>
+environment.  For more information and examples, See <link linkend="_005csbox-_0026-_005csavebox">\sbox &
+\savebox</link>.  (Note that the variable name <replaceable>box-cmd</replaceable> starts with a
+backslash, <literal>\</literal>.)  This command is robust (see <link linkend="_005cprotect">\protect</link>).
 </para>
 
 </sect1>
@@ -13365,9 +14820,9 @@
 synopses.
 </para>
 <screen>Colors of \textcolor[rgb]{0.33,0.14,0.47}{Purple} and
-{\color[rgb]{0.72,0.60,0.37} Gold} for the team.
+{\color[rgb]{0.72,0.60,0.37}Gold} for the team.
 </screen>
-<para>The format of <replaceable>color specification </replaceable> depends on the color model
+<para>The format of <replaceable>color specification</replaceable> depends on the color model
 (see <link linkend="Color-models">Color models</link>).  For instance, while <literal>rgb</literal> takes three
 numbers, <literal>gray</literal> takes only one.
 </para>
@@ -13545,7 +15000,7 @@
 <literal>\includegraphics</literal> command).
 </para>
 </listitem></varlistentry><varlistentry><term><literal>draft</literal>
-</term><listitem><para>For each graphic file, it is not shown but instead the file name is
+</term><listitem><para>For each graphic file, it is not shown but instead its file name is
 printed in a box of the correct size.  In order to determine the size,
 the file must be present.
 </para>
@@ -13580,11 +15035,6 @@
 <indexterm role="cp"><primary>graphics</primary></indexterm>
 <indexterm role="cp"><primary>graphics package</primary></indexterm>
 <indexterm role="cp"><primary>configuration, graphics package</primary></indexterm>
-<indexterm role="cp"><primary>EPS files</primary></indexterm>
-<indexterm role="cp"><primary>JPEG files</primary></indexterm>
-<indexterm role="cp"><primary>JPG files</primary></indexterm>
-<indexterm role="cp"><primary>PDF graphic files</primary></indexterm>
-<indexterm role="cp"><primary>PNG files</primary></indexterm>
 
 <para>These commands configure the way &latex; searches the file system for
 the graphic.
@@ -13604,15 +15054,16 @@
 
 <para>Synopsis:
 </para>
-<screen>\graphicspath{<replaceable>list of dir names inside curly brackets</replaceable>}
+<screen>\graphicspath{<replaceable>list of directories inside curly braces</replaceable>}
 </screen>
 <para>Declare a list of directories to search for graphics files.  This allows
 you to later say something like <literal>\includegraphics{lion.png}</literal>
 instead of having to give its path.
 </para>
-<para>&latex; always looks for graphic files first in the current directory.
-The declaration below tells the system to then look in the subdirectory
-<filename>pix</filename>, and then <filename>../pix</filename>.
+<para>&latex; always looks for graphic files first in the current directory
+(and the output directory, if specified; see <link linkend="output-directory">output directory</link>).
+The declaration below tells the system to then look in the
+subdirectory <filename>pix</filename>, and then <filename>../pix</filename>.
 </para>
 <screen>\usepackage{graphicx}   % or graphics; put in preamble
   ...
@@ -13642,7 +15093,7 @@
 \usepackage{lion.png}
 </screen>
 <para>for each of the listed directories, &latex; concatenates it with the
-file name and searches for the result, checking for <filename>pix/lion.png</filename>
+filename and searches for the result, checking for <filename>pix/lion.png</filename>
 and then <filename>../pix/lion.png</filename>.  This algorithm means that the
 <literal>\graphicspath</literal> command does not recursively search subdirectories:
 if you issue <literal>\graphicspath{{a/}}</literal> and the graphic is in
@@ -13688,7 +15139,7 @@
   ...
 \includegraphics{lion}   % will find <filename>lion.png</filename> before <filename>lion.pdf</filename> 
 </screen>
-<para>Because the file name <filename>lion</filename> does not have a period, &latex; uses
+<para>Because the filename <filename>lion</filename> does not have a period, &latex; uses
 the extension list.  For each directory in the graphics path
 (see <link linkend="_005cgraphicspath">\graphicspath</link>), &latex; will try the extensions in the order
 given.  If it does not find such a file after trying all the directories
@@ -13704,8 +15155,13 @@
 your document; the printer driver has a sensible default.  For example,
 the most recent <filename>pdftex.def</filename> has this extension list.
 </para>
-<screen>.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2
+<screen>.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2
 </screen>
+<indexterm role="cp"><primary>package, <literal>grfext</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>grfext</literal> package</primary></indexterm>
+
+<para>To change the order, use the <literal>grfext</literal> package.
+</para>
 <para>You can use this command anywhere in the document.  You can use it more
 than once.  Show its value with
 <literal>\makeatletter\typeout{\Gin at extensions}\makeatother</literal>.
@@ -13743,7 +15199,7 @@
 <variablelist><varlistentry><term><replaceable>extension</replaceable>
 </term><listitem><para>The file extension to which this rule applies. The extension is anything
 after and including the first dot in the filename.  Use the Kleene star,
-<literal>*</literal>, to denote the default behaviour for all undeclared extensions.
+<literal>*</literal>, to denote the default behavior for all undeclared extensions.
 </para>
 </listitem></varlistentry><varlistentry><term><replaceable>type</replaceable>
 </term><listitem><para>The type of file involved.  This type is a string that must be defined
@@ -13773,7 +15229,7 @@
 </para>
 </listitem></varlistentry><varlistentry><term><replaceable>command</replaceable>
 </term><listitem><para>A command that will be applied to the
-file. This is very often left blank. This command must start with a
+file. This is very often left empty. This command must start with a
 single backward quote.  Thus,
 <literal>\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c
 #1}</literal> specifies that any file with the extension <filename>.eps.gz</filename> should
@@ -13853,10 +15309,10 @@
 </para>
 <para>The <literal>\includegraphics{<replaceable>filename</replaceable>}</literal> command decides on the
 type of graphic by splitting <replaceable>filename</replaceable> on the first dot.  You can
-use <replaceable>filename</replaceable> with no dot, as in <literal>\includegraphics{turing}</literal>
-and then &latex; tries a sequence of extensions such as <literal>.png</literal> and
-<literal>.pdf</literal> until it finds a file with that extension
-(see <link linkend="_005cDeclareGraphicsExtensions">\DeclareGraphicsExtensions</link>).
+instead use <replaceable>filename</replaceable> with no dot, as in
+<literal>\includegraphics{turing}</literal>, and then &latex; tries a sequence of
+extensions such as <literal>.png</literal> and <literal>.pdf</literal> until it finds a file
+with that extension (see <link linkend="_005cDeclareGraphicsExtensions">\DeclareGraphicsExtensions</link>).
 </para>
 <para>If your file name contains dots before the extension then you can hide
 them with curly braces, as in
@@ -13865,7 +15321,7 @@
 <literal>ext</literal>; see below.  This and other filename issues are also handled
 with the package <filename>grffile</filename>.
 </para>
-<para>This example puts a graphic in a figure environment so &latex; can
+<para>This example puts a graphic in a <literal>figure</literal> environment so &latex; can
 move it to the next page if fitting it on the current page is awkward
 (see <link linkend="figure">figure</link>).
 </para>
@@ -13931,8 +15387,10 @@
 </para>
 <para>There are many options.  The primary ones are listed first.
 </para>
+<indexterm role="cp"><primary>bounding box</primary></indexterm>
+<indexterm role="cp"><primary>box, bounding</primary></indexterm>
 <para>Note that a graphic is placed by &latex; into a box, which is
-traditionally referred to as its bounding box (distinct from the
+traditionally referred to as its <firstterm>bounding box</firstterm> (distinct from the
 PostScript BoundingBox described below).  The graphic’s printed area may
 go beyond this box, or sit inside this box, but when &latex; makes up a
 page it puts together boxes and this is the box allocated for the
@@ -13944,7 +15402,7 @@
 &tex; dimensions (see <link linkend="Units-of-length">Units of length</link>) and also convenient is
 <literal>\linewidth</literal>, or in a two-column document, <literal>\columnwidth</literal>
 (see <link linkend="Page-layout-parameters">Page layout parameters</link>).  An example is that by using the
-<filename>calc</filename> package you can make the graphic be 1 cm narrow than
+<filename>calc</filename> package you can make the graphic be 1 cm narrower than
 the width of the text with
 <literal>\includegraphics[width=\linewidth-1.0cm]{hefferon.jpg}</literal>.
 </para>
@@ -13957,7 +15415,7 @@
 graphic a quarter of the height of the text area.
 </para>
 </listitem></varlistentry><varlistentry><term><literal>totalheight</literal>
-</term><listitem><anchor id="includegraphics-totalheght"/><para>The graphic will be shown so its bounding box has this height plus
+</term><listitem><anchor id="includegraphics-totalheight"/><para>The graphic will be shown so its bounding box has this height plus
 depth.  This differs from the height if the graphic was rotated. For
 instance, if it has been rotated by -90 then it will have zero height
 but a large depth.
@@ -13976,7 +15434,7 @@
 </listitem></varlistentry><varlistentry><term><literal>scale</literal>
 </term><listitem><para>Factor by which to scale the graphic.  To make a graphic twice its
 nominal size, enter <literal>\includegraphics[scale=2.0]{...}</literal>.  This
-number may be any value; a number between 1 and 0 will shrink the
+number may be any value; a number between 0 and 1 will shrink the
 graphic and a negative number will reflect it.
 </para>
 </listitem></varlistentry><varlistentry><term><literal>angle</literal>
@@ -14005,10 +15463,10 @@
 <variablelist><anchor id="includegraphics-viewport"/><varlistentry><term><literal>viewport</literal>
 </term><listitem><para>Pick out a subregion of the graphic to show.  Takes four arguments,
 separated by spaces and given in &tex; dimensions, as with
-<literal>\includegraphics[.., viewport=0in 0in 1in 0.618in]{...}</literal>.  The
-dimensions default to big points, <literal>bp</literal>.  They are taken
-relative to the origin specified by the bounding box.  See also the
-<literal>trim</literal> option.
+<literal>\includegraphics[.., viewport=0in 0in 1in 0.618in]{...}</literal>.  When
+the unit is omitted, the dimensions default to big
+points, <literal>bp</literal>.  They are taken relative to the origin specified
+by the bounding box.  See also the <literal>trim</literal> option.
 </para>
 <anchor id="includegraphics-trim"/></listitem></varlistentry><varlistentry><term><literal>trim</literal>
 </term><listitem><para>Gives parts of the graphic to not show.  Takes four arguments, separated
@@ -14055,7 +15513,7 @@
 <anchor id="includegraphics-quiet"/></listitem></varlistentry><varlistentry><term><literal>quiet</literal>
 </term><listitem><para>Do not write information to the log.  You can set it with
 <literal>quiet=true</literal> or just specified it with
-<literal>\includegraphics[...,quite,...]{...}</literal>,
+<literal>\includegraphics[...,quiet,...]{...}</literal>,
 </para>
 <anchor id="includegraphics-draft"/></listitem></varlistentry><varlistentry><term><literal>draft</literal>
 </term><listitem><para>If you set it with <literal>draft=true</literal> or just specify it with
@@ -14127,7 +15585,7 @@
 </para>
 <anchor id="includegraphics-command"/></listitem></varlistentry><varlistentry><term><literal>command</literal>
 </term><listitem><para>Specify a command to be applied to this file.  Only use this in
-conjunction with the option <literal>type</literal>.  See <link linkend="Command-line-options">Command line options</link>
+conjunction with the option <literal>type</literal>.  See <link linkend="Command-line-options">Command line options</link>,
 for a discussion of enabling the <literal>\write18</literal> functionality to run
 external commands.
 </para>
@@ -14154,7 +15612,7 @@
 <para>Put <replaceable>material</replaceable> in a box and rotate it <replaceable>angle</replaceable> degrees
 counterclockwise.
 </para>
-<para>This example rotates the table column heads forty five degrees.
+<para>This example rotates the table column heads forty-five degrees.
 </para>
 <screen>\begin{tabular}{ll}
   \rotatebox{45}{Character} &\rotatebox{45}{NATO phonetic}   \\
@@ -14316,7 +15774,8 @@
 <indexterm role="cp"><primary>characters, special</primary></indexterm>
 <para>&latex; sets aside the following characters for special purposes. For
 example, the percent sign <literal>%</literal> is for comments.  They are
-called <firstterm>reserved characters</firstterm> or <firstterm>special characters</firstterm>.
+called <firstterm>reserved characters</firstterm> or <firstterm>special characters</firstterm>. They are
+all discussed elsewhere in this manual.
 </para>
 <screen># $ % & { } _ ~ ^ \ 
 </screen>
@@ -14337,13 +15796,13 @@
 <indexterm role="fn"><primary>\textbackslash</primary></indexterm>
 <para>As to the last three characters, to get a tilde in the text body font
 use <literal>\~{}</literal> (omitting the curly braces would result in the next
-character receiving a tilde accent).  Similarly, to get a get a text
-body font circumflex use <literal>\^{}</literal>.  To get a backslash in the font
-of the text body, enter <literal>\textbackslash{}</literal>.
+character receiving a tilde accent).  Similarly, to get a text body
+font circumflex use <literal>\^{}</literal>.  To get a backslash in the font of
+the text body, enter <literal>\textbackslash{}</literal>.
 </para>
 <para>To produce the reserved characters in a typewriter font use
 <literal>\verb!!</literal> as below (the double backslash <literal>\\</literal> is only
-there to split the lines).
+there to split the lines in the output).
 </para>
 <screen>\begin{center}
   \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \\
@@ -14358,6 +15817,7 @@
 <indexterm role="cp"><primary>uppercase</primary></indexterm>
 <indexterm role="cp"><primary>lowercase</primary></indexterm>
 <indexterm role="cp"><primary>characters, case of</primary></indexterm>
+<indexterm role="cp"><primary>changing case of characters</primary></indexterm>
 
 <para>Synopsis:
 </para>
@@ -14366,13 +15826,13 @@
 \MakeUppercase{<replaceable>text</replaceable>}
 \MakeLowercase{<replaceable>text</replaceable>}
 </screen>
-<para>Change the case of characters.  The &tex; primitives commands
-<literal>\uppercase</literal> and <literal>\lowercase</literal> only work for American
-characters. The &latex; commands <literal>\MakeUppercase</literal> and
-<literal>\MakeLowercase</literal> commands also change characters accessed by
-commands such as <literal>\ae</literal> or <literal>\aa</literal>.  The commands
-<literal>\MakeUppercase</literal> and <literal>\MakeLowercase</literal> are robust but they have
-moving arguments (see <link linkend="_005cprotect">\protect</link>).
+<para>Change the case of characters.  The &tex; primitive commands
+<literal>\uppercase</literal> and <literal>\lowercase</literal> are set up by default to work
+only with the 26 letters a–z and A–Z. The &latex; commands
+<literal>\MakeUppercase</literal> and <literal>\MakeLowercase</literal> commands also change
+characters accessed by commands such as <literal>\ae</literal> or <literal>\aa</literal>.  The
+commands <literal>\MakeUppercase</literal> and <literal>\MakeLowercase</literal> are robust
+but they have moving arguments (see <link linkend="_005cprotect">\protect</link>).
 </para>
 <para>These commands do not change the case of letters used in the name of a
 command within <replaceable>text</replaceable>.  But they do change the case of every other
@@ -14405,11 +15865,24 @@
 </para>
 <indexterm role="cp"><primary>package, <literal>mfirstuc</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>mfirstuc</literal> package</primary></indexterm>
- 
+
 <para>To uppercase only the first letter of words, you can use the package
 <filename>mfirstuc</filename>.
 </para>
+<indexterm role="cp"><primary>package, <literal>expl3</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>expl3</literal> package</primary></indexterm>
 
+<indexterm role="cp"><primary>Wright, Joseph</primary></indexterm>
+<para>Handling all the casing rules specified by Unicode, e.g., for
+non-Latin scripts, is a much bigger job than anything envisioned in
+the original &tex; and &latex;.  It has been implemented in the
+<literal>expl3</literal> package as of 2020. The article “Case changing: From
+&tex; primitives to the Unicode algorithm”, (Joseph Wright,
+<citetitle>TUGboat</citetitle> 41:1,
+<ulink url="https://tug.org/TUGboat/tb41-1/tb127wright-case.pdf">https://tug.org/TUGboat/tb41-1/tb127wright-case.pdf</ulink>), gives a
+good overview of the topic, past and present.
+</para>
+
 </sect1>
 <sect1 label="23.3" id="Symbols-by-font-position">
 <title>Symbols by font position</title>
@@ -14420,13 +15893,14 @@
 
 <para>You can access any character of the current font using its number with
 the <literal>\symbol</literal> command. For example, the visible space character
-used in the <literal>\verb*</literal> command has the code decimal 32, so it can be
-typed as <literal>\symbol{32}</literal>.
+used in the <literal>\verb*</literal> command has the code decimal 32 in the
+standard Computer Modern typewriter font, so it can be typed as
+<literal>\symbol{32}</literal>.
 </para>
 <para>You can also specify numbers in octal (base 8) by using a <literal>'</literal>
-prefix, or hexadecimal (base 16) with a <literal>"</literal> prefix, so the previous
-example could also be written as <literal>\symbol{'40}</literal> or
-<literal>\symbol{"20}</literal>.
+prefix, or hexadecimal (base 16) with a <literal>"</literal> prefix, so the
+visible space at 32 decimal could also be written as
+<literal>\symbol{'40}</literal> or <literal>\symbol{"20}</literal>.
 </para>
 
 </sect1>
@@ -14437,10 +15911,13 @@
 <indexterm role="cp"><primary>symbols, text</primary></indexterm>
 
 <indexterm role="fn"><primary>textcomp package</primary></indexterm>
-<para>&latex; provides commands to generate a number of non-letter symbols in
-running text.  Some of these, especially the more obscure ones, are not
-available in OT1. Unless you are using Xe&latex; or Lua&latex; then
-you may need to load the <literal>textcomp</literal> package.
+<indexterm role="cp"><primary>TS1 encoding</primary></indexterm>
+<para>&latex; provides commands to generate a number of non-letter symbols
+in running text.  Some of these, especially the more obscure ones, are
+not available in OT1.  As of the &latex; February 2020 release, all
+symbols are available by default; before that, it was necessary to use
+the <literal>textcomp</literal> package for some (technically, those in the
+<literal>TS1</literal> font encoding).
 </para>
 <variablelist><varlistentry><term><indexterm role="fn"><primary>\copyright</primary></indexterm><literal>\copyright</literal>
 </term><term><indexterm role="fn"><primary>\textcopyright</primary></indexterm><literal>\textcopyright</literal>
@@ -14560,7 +16037,7 @@
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textbigcircle</primary></indexterm><literal>\textbigcircle</literal>
 </term><listitem><indexterm role="cp"><primary>big circle symbols, in text</primary></indexterm>
 <indexterm role="cp"><primary>circle symbol, big, in text</primary></indexterm>
-<para>&#x25EF; Big circle symbol.
+<para>&#x25EF;, Big circle symbol.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textbraceleft</primary></indexterm><literal>\textbraceleft</literal>
 </term><listitem><indexterm role="cp"><primary>left brace, in text</primary></indexterm>
@@ -14578,7 +16055,7 @@
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textcircled{<replaceable>letter</replaceable>}</primary></indexterm><literal>\textcircled{<replaceable>letter</replaceable>}</literal>
 </term><listitem><indexterm role="cp"><primary>circled letter, in text</primary></indexterm>
-<para>&#x24B6; Circle around <replaceable>letter</replaceable>.
+<para>&#x24B6;, Circle around <replaceable>letter</replaceable>.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textcompwordmark</primary></indexterm><literal>\textcompwordmark</literal>
 </term><term><indexterm role="fn"><primary>\textcapitalcompwordmark</primary></indexterm><literal>\textcapitalcompwordmark</literal>
@@ -14608,13 +16085,14 @@
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textemdash (or <literal>---</literal>)</primary></indexterm><literal>\textemdash (or <literal>---</literal>)</literal>
 </term><listitem><indexterm role="cp"><primary>em-dash</primary></indexterm>
-<para>— Em-dash (used for punctuation, as in
-<literal>The playoffs --- if you are fortunate enough to make the playoffs ---
-is more like a sprint.</literal>).
+<para>— Em-dash.  Used for punctuation, usually similar to commas or
+parentheses, as in ‘<literal>The playoffs---if you're lucky
+enough to make the playoffs---are more like a sprint.</literal>’ Conventions
+for spacing around em-dashes vary widely.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textendash (or <literal>--</literal>)</primary></indexterm><literal>\textendash (or <literal>--</literal>)</literal>
 </term><listitem><indexterm role="cp"><primary>e-dash</primary></indexterm>
-<para>– En-dash (used for ranges, as in <literal>See pages 12--14</literal>).
+<para>– En-dash. Used for ranges, as in ‘<literal>see pages 12--14</literal>’.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\texteuro</primary></indexterm><literal>\texteuro</literal>
 </term><listitem><indexterm role="cp"><primary>euro symbol</primary></indexterm>
@@ -14622,7 +16100,11 @@
 <indexterm role="cp"><primary>package, <literal>eurosym</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>eurosym</literal> package</primary></indexterm>
 
-<para>The Euro symbol: €. For an alternative glyph design, try the
+<para>The Euro currency symbol: €.
+<indexterm role="cp"><primary>package, <literal>eurosym</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>eurosym</literal> package</primary></indexterm>
+</para>
+<para>For an alternative glyph design, try the
 <filename>eurosym</filename> package; also, most fonts nowadays come with their own
 Euro symbol (Unicode U+20AC).
 </para>
@@ -14630,10 +16112,24 @@
 </term><listitem><indexterm role="cp"><primary>exclamation point, upside-down</primary></indexterm>
 <para>¡ Upside down exclamation point.
 </para>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textfiguredash</primary></indexterm><literal>\textfiguredash</literal>
+</term><listitem><indexterm role="cp"><primary>figure dash character</primary></indexterm>
+<para>Dash used between numerals, Unicode U+2012. Defined in the June 2021
+release of &latex;. When used in pdf&tex;, approximated by an
+en-dash; with a Unicode engine, either typesets the glyph if available
+in the current font, or writes the usual “Missing character” warning
+to the log file.
+</para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textgreater</primary></indexterm><literal>\textgreater</literal>
 </term><listitem><indexterm role="cp"><primary>greater than symbol, in text</primary></indexterm>
 <para>> Greater than symbol.
 </para>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\texthorizontalbar</primary></indexterm><literal>\texthorizontalbar</literal>
+</term><listitem><indexterm role="cp"><primary>horizontal bar character</primary></indexterm>
+<para>Horizontal bar character, Unicode U+2015. Defined in the June 2021
+release of &latex;. Behavior as with <literal>\textfiguredash</literal> above;
+the pdf&tex; approximation is an em-dash.
+</para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textless</primary></indexterm><literal>\textless</literal>
 </term><listitem><indexterm role="cp"><primary>less than symbol, in text</primary></indexterm>
 <para>< Less than symbol.
@@ -14641,8 +16137,16 @@
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textleftarrow</primary></indexterm><literal>\textleftarrow</literal>
 </term><listitem><indexterm role="cp"><primary>arrow, left, in text</primary></indexterm>
 <indexterm role="cp"><primary>left arrow, in text</primary></indexterm>
-<para>&#x2190; Left arrow.   
+<para>&#x2190;, Left arrow.   
 </para>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textnonbreakinghyphen</primary></indexterm><literal>\textnonbreakinghyphen</literal>
+</term><listitem><indexterm role="cp"><primary>non-breaking hyphen character</primary></indexterm>
+<indexterm role="cp"><primary>hyphen character, non-breaking</primary></indexterm>
+<para>Non-breaking hyphen character, Unicode U+2011. Defined in the June
+2021 release of &latex;. Behavior as with <literal>\textfiguredash</literal>
+above; the pdf&tex; approximation is a regular ASCII hyphen (with
+breaks disallowed after).
+</para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textordfeminine</primary></indexterm><literal>\textordfeminine</literal>
 </term><term><indexterm role="fn"><primary>\textordmasculine</primary></indexterm><literal>\textordmasculine</literal>
 </term><listitem><indexterm role="cp"><primary>feminine ordinal symbol</primary></indexterm>
@@ -14684,7 +16188,7 @@
 </term><listitem><indexterm role="cp"><primary>quote, single straight</primary></indexterm>
 <indexterm role="cp"><primary>straight single quote</primary></indexterm>
 <indexterm role="cp"><primary>single quote, straight</primary></indexterm>
-<para>&#x0027; Straight single quote.  (From TS1 encoding.)  
+<para>&#x0027;, Straight single quote.  (From TS1 encoding.)  
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textquotestraightbase</primary></indexterm><literal>\textquotestraightbase</literal>
 </term><term><indexterm role="fn"><primary>\textquotestraightdblbase</primary></indexterm><literal>\textquotestraightdblbase</literal>
@@ -14702,12 +16206,12 @@
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textrightarrow</primary></indexterm><literal>\textrightarrow</literal>
 </term><listitem><indexterm role="cp"><primary>arrow, right, in text</primary></indexterm>
 <indexterm role="cp"><primary>right arrow, in text</primary></indexterm>
-<para>&#x2192; Right arrow.  
+<para>&#x2192;, Right arrow.  
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textthreequartersemdash</primary></indexterm><literal>\textthreequartersemdash</literal>
 </term><listitem><indexterm role="cp"><primary>three-quarters em-dash</primary></indexterm>
 <indexterm role="cp"><primary>em-dash, three-quarters</primary></indexterm>
-<para>&#xFE58; “Three-quarters” em-dash, between en-dash and em-dash.
+<para>&#xFE58;, “Three-quarters” em-dash, between en-dash and em-dash.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\texttrademark</primary></indexterm><literal>\texttrademark</literal>
 </term><listitem><indexterm role="cp"><primary>trademark symbol</primary></indexterm>
@@ -14717,7 +16221,7 @@
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\texttwelveudash</primary></indexterm><literal>\texttwelveudash</literal>
 </term><listitem><indexterm role="cp"><primary>two-thirds em-dash</primary></indexterm>
 <indexterm role="cp"><primary>em-dash, two-thirds</primary></indexterm>
-<para>&#xFE58; “Two-thirds” em-dash, between en-dash and em-dash.   
+<para>&#xFE58;, “Two-thirds” em-dash, between en-dash and em-dash.   
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textunderscore</primary></indexterm><literal>\textunderscore</literal>
 </term><listitem><indexterm role="cp"><primary>underscore, in text</primary></indexterm>
@@ -14725,7 +16229,7 @@
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textvisiblespace</primary></indexterm><literal>\textvisiblespace</literal>
 </term><listitem><indexterm role="cp"><primary>visible space symbol, in text</primary></indexterm>
-<para>&#x2423; Visible space symbol.  
+<para>&#x2423;, Visible space symbol.  
 </para>
 </listitem></varlistentry></variablelist>
 
@@ -14744,14 +16248,17 @@
 <indexterm role="cp"><primary><literal>polyglossia</literal> package</primary></indexterm>
 
 <indexterm role="cp"><primary>multilingual support</primary></indexterm>
-<para>&latex; has wide support for many of the world’s scripts and languages,
-through the <literal>babel</literal> package and related support if you are using
-pdf&latex;, or <filename>polyglossia</filename> if you are using Xe&latex; or
-Lua&latex;.  This section does not cover that support. It only lists
-the core &latex; commands for creating accented characters.  The
-<literal>\capital...</literal> commands shown here produce alternative forms for use
-with capital letters.  These are not available with OT1.
+<para>&latex; has wide support for many of the world’s scripts and
+languages, provided through the core <literal>babel</literal> package, which
+supports pdf&latex;, Xe&latex; and Lua&latex;. The
+<filename>polyglossia</filename> package provides similar support with the latter
+two engines.
 </para>
+<para>This section does not cover that support. It only lists the core
+&latex; commands for creating accented characters.  The
+<literal>\capital...</literal>  commands shown here produce alternative forms for
+use with capital letters.  These are not available with OT1.
+</para>
 <para>Below, to make them easier to find, the accents are all illustrated with
 lowercase ‘<literal>o</literal>’.
 </para>
@@ -14896,6 +16403,54 @@
 </para>
 </listitem></varlistentry></variablelist>
 
+
+<sect2 label="23.5.1" id="_005caccent">
+<title><literal>\accent</literal></title>
+<indexterm role="fn"><primary>\accent</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\accent <replaceable>number</replaceable> <replaceable>character</replaceable>
+</screen>
+<para>A &tex; primitive command used to generate accented characters from
+accent marks and letters. The accent mark is selected by <replaceable>number</replaceable>,
+a numeric argument, followed by a space and then a <replaceable>character</replaceable> argument
+constructs the accented character in the current font.
+</para>
+<para>These are accented ‘<literal>e</literal>’ characters.
+</para>
+<screen>\accent18 e
+\accent20 e
+\accent21 e
+\accent22 e
+\accent23 e
+</screen>
+<para>The first is a grave, the second is breve, etc.
+</para>
+<para>The position of the accent is determined by the font designer and so the
+outcome of <literal>\accent</literal> use may differ between fonts. In &latex; it is
+desirable to have glyphs for accented characters rather than building
+them using <literal>\accent</literal>. Using glyphs that already contain the
+accented characters (as in T1 encoding) allows correct hyphenation
+whereas <literal>\accent</literal> disables hyphenation (specifically with OT1 font
+encoding where accented glyphs are absent).
+</para>
+<para>There can be an optional font change between <replaceable>number</replaceable> and
+<replaceable>character</replaceable>.  Note also that this command sets the
+<literal>\spacefactor</literal> to 1000 (see <link linkend="_005cspacefactor">\spacefactor</link>).
+</para>
+<para>An unavoidable characteristic of some Cyrillic letters and
+the majority of accented Cyrillic letters is that they must be
+assembled from multiple elements (accents, modifiers, etc.) while
+<literal>\accent</literal> provides for a single accent mark and a single letter
+combination. There are also cases where accents must appear between
+letters that \accent does not support.  Still other cases exist where
+the letters I and J have dots above their lowercase counterparts that
+conflict with dotted accent marks. The use of <literal>\accent</literal> in these
+cases will not work as it cannot analyze upper/lower case.
+</para>
+
+</sect2>
 </sect1>
 <sect1 label="23.6" id="Additional-Latin-letters">
 <title>Additional Latin letters</title>
@@ -14998,7 +16553,70 @@
 </listitem></varlistentry></variablelist>
 
 </sect1>
-<sect1 label="23.7" id="_005crule">
+<sect1 label="23.7" id="inputenc-package">
+<title><literal>inputenc</literal> package</title>
+
+<indexterm role="fn"><primary>inputenc</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\usepackage[<replaceable>encoding-name</replaceable>]{inputenc}
+</screen>
+<para>Declare the input file’s text encoding to be <replaceable>encoding-name</replaceable>. The
+default, if this package is not loaded, is UTF-8.  Technically,
+specifying the encoding name is optional, but in practice it is not
+useful to omit it.
+</para>
+<indexterm role="cp"><primary>encoding, of input files</primary></indexterm>
+<indexterm role="cp"><primary>character encoding</primary></indexterm>
+<indexterm role="cp"><primary>Unicode</primary></indexterm>
+<para>In a computer file, the characters are stored according to a scheme
+called the <firstterm>encoding</firstterm>.  There are many different encodings.  The
+simplest is ASCII, which supports 95 printable characters, not enough
+for most of the world’s languages. For instance, to typeset the
+a-umlaut character ä in an ASCII-encoded &latex; source file, the
+sequence <literal>\"a</literal> is used. This would make source files for anything
+but English hard to read; even for English, often a more extensive
+encoding is more convenient.
+</para>
+<para>The modern encoding standard, in some ways a union of the others, is
+UTF-8, one of the representations of Unicode. This is the default for
+&latex; since 2018. 
+</para>
+<para>The <literal>inputenc</literal> package is how &latex; knows what encoding is
+used.  For instance, the following command explicitly says that the
+input file is UTF-8 (note the lack of a dash).
+</para>
+<screen>\usepackage[utf8]{inputenc}
+</screen>
+<para>Caution: use <literal>inputenc</literal> only with the pdf&tex; engine
+(see <link linkend="TeX-engines">&tex; engines</link>).  (The Xe&tex; and Lua&tex; engines assume
+that the input file is UTF-8 encoded.)  If you invoke &latex; with
+either the <command>xelatex</command> command or the <command>lualatex</command>
+command, and try to declare a non-UTF-8 encoding with <literal>inputenc</literal>,
+such as <literal>latin1</literal>, then you will get the error <literal>inputenc is
+not designed for xetex or luatex</literal>.
+</para>
+<para>An <literal>inputenc</literal> package error such as <literal>Invalid UTF-8 byte "96</literal>
+means that some of the material in the input file does not follow the
+encoding scheme.  Often these errors come from copying material from a
+document that uses a different encoding than the input file; this one
+is a left single quote from a web page using <literal>latin1</literal> inside a
+&latex; input file that uses UTF-8.  The simplest solution is to
+replace the non-UTF-8 character with its UTF-8 equivalent, or use a
+&latex; equivalent command or character.
+</para>
+<para>In some documents, such as a collection of journal articles from a
+variety of authors, changing the encoding in mid-document may be
+necessary.  Use the command
+<literal>\inputencoding{<replaceable>encoding-name</replaceable>}</literal>.  The most common values
+for <replaceable>encoding-name</replaceable> are: <literal>ascii</literal>, <literal>latin1</literal>,
+<literal>latin2</literal>, <literal>latin3</literal>, <literal>latin4</literal>, <literal>latin5</literal>,
+<literal>latin9</literal>, <literal>latin10</literal>, and <literal>utf8</literal>.
+</para>
+
+</sect1>
+<sect1 label="23.8" id="_005crule">
 <title><literal>\rule</literal></title>
 
 <indexterm role="fn"><primary>\rule</primary></indexterm>
@@ -15012,8 +16630,8 @@
 </para>
 <indexterm role="cp"><primary>Halmos symbol</primary></indexterm>
 <indexterm role="cp"><primary>tombstone</primary></indexterm>
-<para>This produces a rectangular blob, sometimes called a Halmos symbol,
-often used to mark the end of a proof.
+<para>This example produces a rectangular blob, sometimes called a Halmos symbol,
+or just “qed”, often used to mark the end of a proof:
 </para>
 <screen>\newcommand{\qedsymbol}{\rule{0.4em}{2ex}}
 </screen>
@@ -15038,11 +16656,11 @@
 </para>
 <para>A rule that has zero width, or zero thickness, will not show up in the
 output, but can cause &latex; to change the output around it.
-See <link linkend="_005cstrut">\strut</link> for examples.
+See <link linkend="_005cstrut">\strut</link>, for examples.
 </para>
 
 </sect1>
-<sect1 label="23.8" id="_005ctoday">
+<sect1 label="23.9" id="_005ctoday">
 <title><literal>\today</literal></title>
 
 <indexterm role="fn"><primary>\today</primary></indexterm>
@@ -15128,7 +16746,7 @@
 <para>This will bring in material from <filename>pref.tex</filename>, <filename>chap1.tex</filename>,
 <filename>chap2.tex</filename>, <filename>append.tex</filename>, and <filename>bib.tex</filename>.  If you compile
 this file, and then comment out all of the lines inside
-<literal>\includeonly{...}</literal> except for <literal>chap1,</literal> and compile again,
+<literal>\includeonly{...}</literal> except for <literal>chap1</literal>, and compile again,
 then &latex; will only process the material in the first chapter.
 Thus, your output will appear more quickly and be shorter to print.
 However, the advantage of the <literal>\includeonly</literal> command is that
@@ -15136,7 +16754,7 @@
 information from the other parts of the document so these will appear in
 your output correctly.
 </para>
-<para>See <link linkend="Larger-book-template">Larger book template</link> for another example of <literal>\includeonly</literal>.
+<para>See <link linkend="Larger-book-template">Larger book template</link>, for another example of <literal>\includeonly</literal>.
 </para>
 
 
@@ -15164,12 +16782,13 @@
 This will not appear.
 </screen>
 <para>This can be useful for putting documentation or comments at the end of a
-file, or for avoiding junk characters that can be added during mailing.
-It is also useful for debugging: one strategy to localize errors is to
-put <literal>\endinput</literal> halfway through the included file and see if the
-error disappears.  Now, knowing which half contains the error, moving
-<literal>\endinput</literal> to halfway through that area further narrows down the
-location. This process rapidly finds the offending line.
+file, or for avoiding junk characters that can be added if the file is
+transmitted in the body of an email.  It is also useful for debugging:
+one strategy to localize errors is to put <literal>\endinput</literal> halfway
+through the included file and see if the error disappears.  Now, knowing
+which half contains the error, moving <literal>\endinput</literal> to halfway
+through that area further narrows down the location. This process
+rapidly finds the offending line.
 </para>
 <para>After reading <literal>\endinput</literal>, &latex; continues to read to the end of
 the line, so something can follow this command and be read nonetheless.
@@ -15201,11 +16820,13 @@
 <literal>\clearpage</literal> (see <link linkend="_005cclearpage-_0026-_005ccleardoublepage">\clearpage & \cleardoublepage</link>), then it
 inputs the material from <filename><replaceable>filename</replaceable>.tex</filename> into the document,
 and then it does another <literal>\clearpage</literal>.  This command can only
-appear in the document body.  The <literal>\includeonly</literal> command controls
-which files will be read by &latex; under subsequent <literal>\include</literal>
-commands.  Its list of filenames is comma-separated, and it can only
-appear in the preamble.
+appear in the document body. 
 </para>
+<para>The <literal>\includeonly</literal> command controls which files will be read by
+&latex; under subsequent <literal>\include</literal> commands.  Its list of
+filenames is comma-separated. It must appear in the preamble or even
+earlier, e.g., the command line; it can’t appear in the document body.
+</para>
 <para>This example root document, <filename>constitution.tex</filename>, brings in
 three files, <filename>preamble.tex</filename>, <filename>articles.tex</filename>, and
 <filename>amendments.tex</filename>.
@@ -15233,7 +16854,7 @@
 <para>Running &latex; on <filename>constitution.tex</filename> makes the material from the
 three files appear in the document but also generates the auxiliary
 files <filename>preamble.aux</filename>, <filename>articles.aux</filename>, and
-<filename>amendments.tex</filename>. These contain information such as page numbers
+<filename>amendments.aux</filename>. These contain information such as page numbers
 and cross-references (see <link linkend="Cross-references">Cross references</link>).  If you now comment out
 <literal>\includeonly</literal>’s lines with <literal>preamble</literal> and <literal>amendments</literal>
 and run &latex; again then the resulting document shows only the
@@ -15250,7 +16871,7 @@
 <link linkend="_005cinput">\input</link> (which, however, does not retain the auxiliary
 information).
 </para>
-<para>See <link linkend="Larger-book-template">Larger book template</link> for another example using <literal>\include</literal>
+<para>See <link linkend="Larger-book-template">Larger book template</link>, for another example using <literal>\include</literal>
 and <literal>\includeonly</literal>.  That example also uses <literal>\input</literal> for some
 material that will not necessarily start on a new page.
 </para>
@@ -15301,8 +16922,8 @@
 <para>If you <literal>\include</literal> the root file in itself then you first get
 ‘<literal>LaTeX Error: Can be used only in preamble.</literal>’  Later runs get
 ‘<literal>TeX capacity exceeded, sorry [text input levels=15]</literal>’.  To fix
-this, you must remove the inclusion <literal>\include{root}</literal> but also
-delete the file <filename><replaceable>root</replaceable>.aux</filename> and rerun &latex;.
+this, you must remove the inclusion <literal>\include{<replaceable>root</replaceable>}</literal> but
+also delete the file <filename><replaceable>root</replaceable>.aux</filename> and rerun &latex;.
 </para>
 
 </sect1>
@@ -15395,7 +17016,7 @@
 </screen>
 <para>Uncommenting the second line would cause that table to contain chapter
 and section listings but not subsection listings, because the
-<literal>\section</literal> command has level 1.  See <link linkend="Sectioning">Sectioning</link> for level
+<literal>\section</literal> command has level 1.  See <link linkend="Sectioning">Sectioning</link>, for level
 numbers of the sectioning units.  For more on the <literal>tocdepth</literal>
 see <link linkend="Sectioning_002ftocdepth">Sectioning/tocdepth</link>.
 </para>
@@ -15406,7 +17027,7 @@
 <literal>\newpage</literal> command after the <literal>\tableofcontents</literal> command, as
 above.
 </para>
-<para>To make the table of contents &latex; stores the information in an
+<para>To make the table of contents, &latex; stores the information in an
 auxiliary file named <filename><replaceable>root-file</replaceable>.toc</filename> (see <link linkend="Splitting-the-input">Splitting the
 input</link>).  For example, this &latex; file <filename>test.tex</filename>
 </para>
@@ -15417,45 +17038,64 @@
 \subsection{First subsection}
   ...
 </screen>
-<para>writes the following line to <filename>test.toc</filename>.
+<para>writes these lines to <filename>test.toc</filename>.
 </para>
 <screen>\contentsline {section}{\numberline {1}First section}{2}
 \contentsline {subsection}{\numberline {1.1}First subsection}{2}
 </screen>
-<para>The <literal>section</literal> or <literal>subsection</literal> is the sectioning unit.  The
-hook <literal>\numberline</literal> lets you to change how the information appears
-in the table of contents.  Of its two arguments, <literal>1</literal> or <literal>1.1</literal>
-is the sectioning unit number and <literal>First section</literal> or <literal>First
-subsection</literal> is the title.  Finally, <literal>2</literal> is the page number on which
-the sectioning units start.
+<indexterm role="fn"><primary>\contentsline</primary></indexterm>
+<para>Each line contains a single command, <literal>\contentsline</literal>
+(see <link linkend="_005ccontentsline">\contentsline</link>).  The first argument, the <literal>section</literal> or
+<literal>subsection</literal>, is the sectioning unit.  The second argument has two
+components.  The hook <literal>\numberline</literal> determines how the sectioning
+number, <literal>1</literal> or <literal>1.1</literal>, appears in the table of contents
+(see <link linkend="_005cnumberline">\numberline</link>).  The remainder of the second argument of
+<literal>\contentsline</literal>, ‘<literal>First section</literal>’ or ‘<literal>First subsection</literal>’,
+is the sectioning title text.  Finally, the third argument, ‘<literal>2</literal>’, is
+the page number on which this sectioning unit starts.
 </para>
-<para>One consequence of this auxiliary file storage strategy is that to get the
-contents page correct you must run &latex; twice, once to store the
-information and once to get it.  In particular, the first time that you
-run &latex; on a new document, the table of contents page will be empty
-except for its ‘<literal>Contents</literal>’ header.  Just run it again.
+<para>To typeset these lines, the document class provides
+<literal>\l@<replaceable>section-unit</replaceable></literal> commands such as
+<literal>\l at section{<replaceable>text</replaceable>}{<replaceable>pagenumber</replaceable>}</literal> and
+<literal>\l at subsection{<replaceable>text</replaceable>}{<replaceable>pagenumber</replaceable>}</literal>.  These commands
+often use the <literal>\@dottedtocline</literal> command
+(see <link linkend="_005c_0040dottedtocline">\@dottedtocline</link>).
 </para>
+<para>A consequence of &latex;’s strategy of using auxiliary files is that to
+get the correct information in the document you must run &latex; twice,
+once to store the information and the second time to retrieve it.  In
+the ordinary course of writing a document authors run &latex; a number
+of times, but you may notice that the first time that you compile a new
+document, the table of contents page will be empty except for its
+‘<literal>Contents</literal>’ header.  Just run &latex; again.
+</para>
 <para>The commands <literal>\listoffigures</literal> and <literal>\listoftables</literal> produce a
-list of figures and a list of tables.  They work the same way as the
-contents commands; for instance, these work with information stored in
-<filename>.lof</filename> and <filename>.lot</filename> files.
+list of figures and a list of tables.  Their information is stored in
+files with extension <filename>.lof</filename> and <filename>.lot</filename>. They work the same way
+as <literal>\tableofcontents</literal> but the latter is more common, so we use it
+for most examples.
 </para>
-<indexterm role="cp"><primary>package, <literal>babel</literal></primary></indexterm>
-<indexterm role="cp"><primary><literal>babel</literal> package</primary></indexterm>
-
-<indexterm role="cp"><primary>package, <literal>polyglossia</literal></primary></indexterm>
-<indexterm role="cp"><primary><literal>polyglossia</literal> package</primary></indexterm>
-
-<para>To change the header for the table of contents page do something like
-the first line here.
+<para>You can manually add material to the table of contents, the list of
+figures, and the list of tables.  For instance, add a line about a
+section to the table of contents with
+<literal>\addcontentsline{toc}{section}{<replaceable>text</replaceable>}</literal>.
+(see <link linkend="_005caddcontentsline">\addcontentsline</link>).  Add arbitrary material, that is, non-line
+material, with <literal>\addtocontents</literal>, as with the command
+<literal>\addtocontents{lof}{\protect\vspace{2ex}}</literal>, which adds
+vertical space to the list of figures (see <link linkend="_005caddtocontents">\addtocontents</link>).
 </para>
-<screen>\renewcommand{\contentsname}{Table of contents}
-\renewcommand{\listfigurename}{Plots}
-\renewcommand{\listtablename}{Tables}
-</screen>
-<para>Similarly, the other two lines will do the other two.
-Internationalization packages such as <filename>babel</filename> or <filename>polyglossia</filename>
-will change the headers depending on the chosen base language.
+<para>Lines in the table of contents, the list of figures, and the list of
+tables, have four parts.  First is an indent.  Next is a box into which
+sectioning numbers are placed, and then the third box holds the title
+text, such as ‘<literal>First section</literal>’.  Finally there is a box up against
+the right margin, inside of which &latex; puts the page number box.
+For the indent and the width of the number box,
+see <link linkend="_005c_0040dottedtocline">\@dottedtocline</link>.  The right margin box has width
+<literal>\@tocrmarg</literal> and the page number is flush right in that space,
+inside a box of width <literal>\@pnumwidth</literal>.  By default
+<literal>\@tocrmarg</literal> is <literal>2.55em</literal> and <literal>\@pnumwidth</literal> is
+<literal>1.55em</literal>.  Change these as with
+<literal>\renewcommand{\@tocrmarg}{3.5em}</literal>.
 </para>
 <indexterm role="cp"><primary>package, <literal>tocloft</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>tocloft</literal> package</primary></indexterm>
@@ -15464,14 +17104,71 @@
 <indexterm role="cp"><primary><literal>tocbibbind</literal> package</primary></indexterm>
 
 <para>CTAN has many packages for the table of contents and lists of figures
-and tables.  One convenient one for adjusting some aspects of the
-default, such as spacing, is <filename>tocloft</filename>.  And, <filename>tocbibbind</filename>
-will automatically add the bibliography, index, etc. to the table of
-contents.
+and tables (see <link linkend="CTAN">CTAN</link>).  The package <filename>tocloft</filename> is convenient for
+adjusting some aspects of the default such as spacing.  And,
+<filename>tocbibbind</filename> will automatically add the bibliography, index,
+etc. to the table of contents.
 </para>
+<para>To change the header for the table of contents page, do something like
+these commands before you call <literal>\tableofcontents</literal>, etc.
+</para>
+<screen>\renewcommand{\contentsname}{Table of Contents}
+\renewcommand{\listfigurename}{Plots}
+\renewcommand{\listtablename}{Specifications}
+</screen>
+<para><indexterm role="cp"><primary>package, <literal>babel</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>babel</literal> package</primary></indexterm>
+</para>
+<indexterm role="cp"><primary>package, <literal>polyglossia</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>polyglossia</literal> package</primary></indexterm>
 
+<para>Internationalization packages such as <filename>babel</filename> or <filename>polyglossia</filename>
+will change these headers depending on the chosen base language.
+</para>
 
-<sect2 label="25.1.1" id="_005caddcontentsline">
+
+<sect2 label="25.1.1" id="_005c_0040dottedtocline">
+<title><literal>\@dottedtocline</literal></title>
+
+<indexterm role="fn"><primary>\@dottedtocline</primary></indexterm>
+<indexterm role="cp"><primary>table of contents entry, create dotted line</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\@dottedtocline{<replaceable>section-level-num</replaceable>}{<replaceable>indent</replaceable>}{<replaceable>numwidth</replaceable>}{<replaceable>text</replaceable>}{<replaceable>pagenumber</replaceable>}
+</screen>
+<para>Used internally by &latex; to format an entry line in the table of
+contents, list of figures, or list of tables.  Authors do not directly
+enter <literal>\@dottedtocline</literal> commands.
+</para>
+<para>This command is typically used by <literal>\l at section</literal>, <literal>\l at subsection</literal>,
+etc., to format the content lines.  For example, the <filename>article.cls</filename>
+file contains these definitions:
+</para>
+<screen>\newcommand*\l at section{\@dottedtocline{1}{1.5em}{2.3em}}
+\newcommand*\l at subsection{\@dottedtocline{2}{3.8em}{3.2em}}
+\newcommand*\l at subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
+</screen>
+<para>In this example, <literal>\@dottedcline</literal> appears to have been given only
+three arguments.  But tracing the internal code shows that it picks up
+the final <replaceable>text</replaceable> and <replaceable>pagenumber</replaceable> arguments in the synopsis
+from a call to <literal>\contentsline</literal>.
+</para>
+<indexterm role="cp"><primary>leaders, dots in table of contents</primary></indexterm>
+<para>Between the box for the title text of a section and the right margin
+box, these <literal>\@dottedtocline</literal> commands insert <firstterm>leaders</firstterm>, that
+is, evenly-spaced dots.  The dot-to-dot space is given by the command
+<literal>\@dotsep</literal>.  By default it is 4.5 (it is in math units, which
+are <literal>1/18</literal> em.  Change it using <literal>\renewcommand</literal>, as
+in <literal>\renewcommand{\@dotsep}{3.5}</literal>.
+</para>
+<para>In the default book class, &latex; does not use dotted leaders for
+the Part and Chapter table entries, and in the default article class
+it does not use dotted leaders for Section entries.
+</para>
+
+</sect2>
+<sect2 label="25.1.2" id="_005caddcontentsline">
 <title><literal>\addcontentsline</literal></title>
 
 <indexterm role="fn"><primary>\addcontentsline</primary></indexterm>
@@ -15482,9 +17179,7 @@
 <screen>\addcontentsline{<replaceable>ext</replaceable>}{<replaceable>unit</replaceable>}{<replaceable>text</replaceable>}
 </screen>
 <indexterm role="fn"><primary>\contentsline</primary></indexterm>
-<para>Add an entry to the file specified by <replaceable>ext</replaceable>.  Usually <replaceable>ext</replaceable> is
-one of <literal>toc</literal> for the table of contents, <literal>lof</literal> for the list of
-figures, or <literal>lot</literal> for the list of tables.
+<para>Add an entry to the auxiliary file with extension <replaceable>ext</replaceable>.
 </para>
 <para>The following will result in an ‘<literal>Appendices</literal>’ line in the table of
 contents.
@@ -15499,26 +17194,24 @@
 <filename><replaceable>root-name</replaceable>.<replaceable>ext</replaceable></filename>.  It writes that information as the
 text of the command
 <literal>\contentsline{<replaceable>unit</replaceable>}{<replaceable>text</replaceable>}{<replaceable>num</replaceable>}</literal>, where
-<literal><replaceable>num</replaceable></literal> is the current value of counter <literal><replaceable>unit</replaceable></literal>.  The
-most common case is the table of contents and there <replaceable>num</replaceable> is the
-page number of the first page of <replaceable>unit</replaceable>.
+<literal><replaceable>num</replaceable></literal> is the current value of counter <literal><replaceable>unit</replaceable></literal>
+(see <link linkend="_005ccontentsline">\contentsline</link>).  The most common case is the table of contents
+and there <replaceable>num</replaceable> is the page number of the first page of <replaceable>unit</replaceable>.
 </para>
 <para>This command is invoked by the sectioning commands <literal>\chapter</literal>,
 etc., and also by <literal>\caption</literal> inside a float environment.  But it is
-also used by authors.  For example, in a book to have the preface
-unnumbered, you may use the starred <literal>\chapter*</literal>.  But that does not
-put in table of contents information, so you can enter it manually, as
-here.
+also used by authors.  For example, an author writing a book whose style
+is to have an unnumbered preface may use the starred <literal>\chapter*</literal>.
+But that command leaves out table of contents information, which can be
+entered manually, as here.
 </para>
 <screen>\chapter*{Preface}
 \addcontentsline{toc}{chapter}{\protect\numberline{}Preface}
 </screen>
 <para>In the <filename>.toc</filename> file &latex; will put the line <literal>\contentsline
-{chapter}{\numberline {}Preface}{3}</literal>; note the page number
-‘<literal>3</literal>’.
+{chapter}{\numberline {}Preface}{3}</literal>; note that the page number
+‘<literal>3</literal>’ is automatically generated by the system, not entered manually.
 </para>
-<!-- xx how hardwired are these values?  other unit names? -->
-
 <para>All of the arguments for <literal>\addcontentsline</literal> are required.
 </para>
 <variablelist><varlistentry><term><replaceable>ext</replaceable>
@@ -15559,7 +17252,7 @@
 </para>
 
 </sect2>
-<sect2 label="25.1.2" id="_005caddtocontents">
+<sect2 label="25.1.3" id="_005caddtocontents">
 <title><literal>\addtocontents</literal></title>
 
 <indexterm role="fn"><primary>\addtocontents{<replaceable>ext</replaceable>}{<replaceable>text</replaceable>}</primary></indexterm>
@@ -15570,7 +17263,7 @@
 </screen>
 <para>Add <replaceable>text</replaceable>, which may be text or formatting commands, directly to
 the auxiliary file with extension <replaceable>ext</replaceable>.  This is most commonly used
-for the table of contents so that is the discussion here, but this also
+for the table of contents so that is the discussion here, but it also
 applies to the list of figures and list of tables.
 </para>
 <para>This will put some vertical space in the table of contents after the
@@ -15579,6 +17272,24 @@
 <screen>\tableofcontents\newpage
 \addtocontents{toc}{\protect\vspace*{3ex}}
 </screen>
+<para>This puts the word ‘<literal>Page</literal>’, in boldface, above the column of page
+numbers and after the header.
+</para>
+<screen>\tableofcontents
+\addtocontents{toc}{~\hfill\textbf{Page}\par}
+\chapter{...}
+</screen>
+<para>This adds a line announcing work by a new author.
+</para>
+<screen>\addtocontents{toc}{%
+  \protect\vspace{2ex}
+  \textbf{Chapters by N. Other Author}\par}
+</screen>
+<para>The difference between <literal>\addtocontents</literal> and <literal>\addcontentsline</literal>
+is that the latter is strictly for lines, such as with a line giving the
+page number for the start of a new subset of the chapters.  As the above
+examples show, <literal>\addtocontents</literal> is for material such as spacing.
+</para>
 <para>The <literal>\addtocontents</literal> command has two arguments.  Both are
 required.
 </para>
@@ -15605,7 +17316,63 @@
 </para>
 
 </sect2>
-<sect2 label="25.1.3" id="_005cnofiles">
+<sect2 label="25.1.4" id="_005ccontentsline">
+<title><literal>\contentsline</literal></title>
+
+<indexterm role="cp"><primary>table of contents</primary></indexterm>
+<indexterm role="fn"><primary>\contentsline</primary></indexterm>
+<indexterm role="fn"><primary>\tableofcontents</primary></indexterm>
+<indexterm role="fn"><primary>.toc file</primary></indexterm>
+<indexterm role="fn"><primary>\listoffigures</primary></indexterm>
+<indexterm role="fn"><primary>\listoftables</primary></indexterm>
+<indexterm role="fn"><primary>.lof file</primary></indexterm>
+<indexterm role="fn"><primary>.lot file</primary></indexterm>
+<indexterm role="fn"><primary>\l at chapter</primary></indexterm>
+<indexterm role="fn"><primary>\l at section</primary></indexterm>
+<indexterm role="fn"><primary>\l at subsection</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\contentsline{<replaceable>unit</replaceable>}{<replaceable>text</replaceable>}{<replaceable>pagenumber</replaceable>}
+</screen>
+<para>Used internally by &latex; to typeset an entry of the table of
+contents, list of figures, or list of tables (see <link linkend="Table-of-contents-etc_002e">Table of contents
+etc.</link>). Authors do not directly enter <literal>\contentsline</literal> commands.
+</para>
+<para>Usually adding material to these lists is done automatically by the
+commands <literal>\chapter</literal>, <literal>\section</literal>, etc. for the table of
+contents, or by the <literal>\caption</literal> command inside of a <literal>\figure</literal>
+or <literal>\table</literal> environment (see <link linkend="figure">figure</link> and see <link linkend="table">table</link>).  Thus,
+where the base file is <filename>thesis.tex</filename>, and contains the declaration
+<literal>\tableofcontents</literal>, the command <literal>\chapter{Chapter One}</literal>
+produces something like this in the file <filename>thesis.toc</filename>.
+</para>
+<screen>\contentsline {chapter}{\numberline {1}Chapter One}{3}
+</screen>
+<para>If the file contains the declaration <literal>\listoffigures</literal> then a figure
+environment involving <literal>\caption{Test}</literal> will produce
+something like this in <filename>thesis.lof</filename>.
+</para>
+<screen>\contentsline {figure}{\numberline {1.1}{\ignorespaces Test}}{6}
+</screen>
+<para>To manually add material, use
+<literal>\addcontentsline{<replaceable>filetype</replaceable>}{<replaceable>unit</replaceable>}{<replaceable>text</replaceable>}</literal>,
+where <replaceable>filetype</replaceable> is <literal>toc</literal>, <literal>lof</literal>, or <literal>lot</literal>
+(see <link linkend="_005caddcontentsline">\addcontentsline</link>).  
+</para>
+<para>For manipulating how the <literal>\contentline</literal> material is typeset, see
+the <filename>tocloft</filename> package.
+</para>
+<para>Note that the <literal>hyperref</literal> package changes the definition of
+<literal>\contentsline</literal> (and <literal>\addcontentsline</literal>) to add more
+arguments, to make hyperlinks.  This is the source of the error
+<literal>Argument of \contentsline has an extra }</literal>.  Fix this error by
+deleting the <filename>.toc</filename> or <filename>.lof</filename> or <filename>.lot</filename> file, and running
+&latex; again.
+</para>
+
+</sect2>
+<sect2 label="25.1.5" id="_005cnofiles">
 <title><literal>\nofiles</literal></title>
 
 <indexterm role="fn"><primary>\nofiles</primary></indexterm>
@@ -15635,6 +17402,41 @@
 </para>
 
 </sect2>
+<sect2 label="25.1.6" id="_005cnumberline">
+<title><literal>\numberline</literal></title>
+
+<indexterm role="fn"><primary>\numberline</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\numberline{<replaceable>number</replaceable>}
+</screen>
+<para>Typeset its argument flush left in a box.  This is used in a
+<literal>\contentsline</literal> command to typeset the section number
+(see <link linkend="_005ccontentsline">\contentsline</link>).
+</para>
+<para>For example, this line in a <filename>.toc</filename> file causes the <literal>1</literal> to be
+typeset flush left.
+</para>
+<screen>\contentsline {subsection}{\numberline {1.1}Motivation}{2}
+</screen>
+<para>By default, &latex; typesets the section numbers in a box of length
+<literal>\@tempdima</literal>.  That length is set by the commands
+<literal>\l at section</literal>, <literal>\l at subsection</literal>, etc.  Put section numbers
+inside a natural-width box with
+<literal>\renewcommand{\numberline}[1]{#1~}</literal>.
+</para>
+<para>This command is fragile, so you may need to precede it with
+<literal>\protect</literal> (see <link linkend="_005cprotect">\protect</link>).  An example is the use of
+<literal>\protect</literal> in the command
+<literal>\addcontentsline{toc}{section}{\protect\numberline{}Summary}</literal>
+to get the <literal>\numberline</literal> into this command in the <filename>.toc</filename> file:
+<literal>\contentsline {section}{\numberline {}Summary}{6}</literal> (the
+page number ‘<literal>6</literal>’ is automatically added by &latex;;
+see <link linkend="_005caddcontentsline">\addcontentsline</link>).
+</para>
+
+</sect2>
 </sect1>
 <sect1 label="25.2" id="Indexes">
 <title>Indexes</title>
@@ -15678,12 +17480,15 @@
 <indexterm role="cp"><primary>package, <literal>multind</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>multind</literal> package</primary></indexterm>
 
-<para>There are many packages that apply to indexing commands.  The
-<literal>showidx</literal> package causes each index entries to be shown in the
-margin on the page where the entry appears.  This can help in preparing
-the index.  The <literal>multind</literal> package supports multiple indexes.  See
-also the &tex; FAQ entry on this topic,
-<ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind</ulink>.
+<indexterm role="cp"><primary>index, multiple</primary></indexterm>
+<indexterm role="cp"><primary>multiple indexes</primary></indexterm>
+<para>There are many packages in the area of indexing.  The <literal>showidx</literal>
+package causes each index entries to be shown in the margin on the
+page where the entry appears.  This can help in preparing the index.
+The <literal>multind</literal> package, among others, supports multiple indexes.
+See also the &tex; FAQ entry on this topic,
+<ulink url="https://www.texfaq.org/FAQ-multind">https://www.texfaq.org/FAQ-multind</ulink>, and the CTAN topic,
+<ulink url="https://ctan.org/topic/index-multi">https://ctan.org/topic/index-multi</ulink>.
 </para>
 
 
@@ -15746,7 +17551,7 @@
 followed by two subitems, like ‘<literal>program, 50</literal>’ and ‘<literal>results,
 51</literal>’.
 </para>
-<indexterm role="cp"><primary>‘see’ and ‘see also’ index entries</primary></indexterm>
+<indexterm role="cp"><primary>see and see also index entries</primary></indexterm>
 <indexterm role="cp"><primary>index entries, ‘see’ and ‘see also’</primary></indexterm>
 <indexterm role="fn"><primary>\seename</primary></indexterm>
 <indexterm role="fn"><primary>\alsoname</primary></indexterm>
@@ -15901,8 +17706,8 @@
 <para>Traditionally index items are broken into groups, typically a group for
 entries starting with ‘<literal>a</literal>’, etc.  This specifier gives what is
 inserted when a new group begins.  Default: <literal>"\n\n \\indexspace\n"</literal>
-(<literal>\indexspace</literal> is a rubber length with default value <literal>10pt
-plus5pt minus3pt</literal>).
+(<literal>\indexspace</literal> is a command inserting a rubber length, by default
+<literal>10pt plus5pt minus3pt</literal>).
 </para>
 <anchor id="makeindex-letheadflag"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>lethead_flag</primary></indexterm><literal>lethead_flag</literal>
 </term><listitem><para>An integer.  It governs what is inserted for a new group or letter.  If
@@ -15993,15 +17798,19 @@
 <literal>"rnaRA"</literal>.
 </para>
 </listitem></varlistentry></variablelist>
-<indexterm role="fn"><primary>xindy</primary></indexterm>
-<indexterm role="cp"><primary><command>xindy</command> program</primary></indexterm>
+<indexterm role="fn"><primary>xindy program</primary></indexterm>
 <para>There are a number of other programs that do the job
-<command>makeindex</command> does. One is <command>xindy</command>, which does
-internationalization and can process indexes for documents marked up
-using &latex; and a number of other languages. It is highly
-configurable, both in markup terms and in terms of the collating order
-of the text, as described in its documentation.
+<command>makeindex</command> does. One is <command>xindy</command>
+(https://ctan.org/pkg/xindy), which does internationalization and can
+process indexes for documents marked up using &latex; and a number of
+other languages. It is written in Lisp, highly configurable, both in
+markup terms and in terms of the collating order of the text, as
+described in its documentation.
 </para>
+<indexterm role="fn"><primary>xindex program</primary></indexterm>
+<para>A more recent indexing program supporting Unicode is <literal>xindex</literal>,
+written in Lua (<ulink url="https://ctan.org/pkg/xindex">https://ctan.org/pkg/xindex</ulink>).
+</para>
 
 </sect2>
 <sect2 label="25.2.3" id="_005cprintindex">
@@ -16020,7 +17829,7 @@
 <para>To get an index you must first include
 <literal>\usepackage{makeidx}\makeindex</literal> in the document preamble and
 compile the document, then run the system command <command>makeindex</command>,
-and then compile the document again.  See <link linkend="Indexes">Indexes</link> for further
+and then compile the document again.  See <link linkend="Indexes">Indexes</link>, for further
 discussion and an example of the use of <literal>\printindex</literal>.
 </para>
 
@@ -16115,7 +17924,7 @@
 the document.  The settings associated with the label are pairs:
 <literal><replaceable>key</replaceable>=<replaceable>value</replaceable></literal>.
 </para>
-<para>This puts the blackboard bold symbol for the real numbers &#x211D; in the
+<para>This puts the blackboard bold symbol for the real numbers &#x211D;, in the
 glossary.
 </para>
 <screen>\newglossaryentry{R}  
@@ -16528,24 +18337,6 @@
 (see <link linkend="Graphics">Graphics</link>).
 </para>
 
-<!-- I think this is not a user-level command; it is used to keep from breaking -->
-<!-- the page between the closing and the signature -->
-<!-- @node \stopbreaks and \startbreaks -->
-<!-- @section @code{\stopbreaks} and @code{\startbreaks} -->
-
-<!-- @findex \startbreak -->
-<!-- @findex \stopbreaks -->
-
-<!-- @example  -->
-<!-- @code{\stopbreaks} -->
-<!-- text -->
-<!-- @code{\startbreaks} -->
-<!-- @end example -->
-
-<!-- The @code{\stopbreaks} inhibits page breaking.  The @code{\startbreaks} resumes -->
-<!-- normal page breaking. -->
-<!-- -->
-<!-- -->
 </sect1>
 <sect1 label="26.11" id="_005ctelephone">
 <title><literal>\telephone</literal></title>
@@ -16564,15 +18355,143 @@
 
 </sect1>
 </chapter>
-<chapter label="27" id="Terminal-input_002foutput">
-<title>Terminal input/output</title>
+<chapter label="27" id="Input_002foutput">
+<title>Input/output</title>
 
 <indexterm role="cp"><primary>input/output, to terminal</primary></indexterm>
 <indexterm role="cp"><primary>terminal input/output</primary></indexterm>
+<indexterm role="cp"><primary>input/output</primary></indexterm>
 
+<para>&latex; uses the ability to write to a file and later read it back in
+to build document components such as a table of contents or index.  You
+can also read a file that other programs written, or write a file for
+others to read.  You can communicate with users through the terminal.
+And, you can issue instructions for the operating system.
+</para>
 
 
-<sect1 label="27.1" id="_005ctypein">
+<sect1 label="27.1" id="_005copenin-_0026-_005copenout">
+<title><literal>\openin</literal> & <literal>\openout</literal></title>
+
+<indexterm role="fn"><primary>\openin</primary></indexterm>
+<indexterm role="fn"><primary>\openout</primary></indexterm>
+<indexterm role="fn"><primary>\closein</primary></indexterm>
+<indexterm role="fn"><primary>\closeout</primary></indexterm>
+<indexterm role="cp"><primary>file, opening</primary></indexterm>
+<indexterm role="cp"><primary>file, closing</primary></indexterm>
+<indexterm role="cp"><primary>open a file</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\openin <replaceable>number</replaceable>=<replaceable>filename</replaceable>
+</screen>
+<para>or:
+</para>
+<screen>\openout <replaceable>number</replaceable>=<replaceable>filename</replaceable>
+</screen>
+<para>Open a file for reading material, or for writing it.  The <replaceable>number</replaceable>
+must be between 0 and 15, as in <literal>\openin3</literal> (in Lua&latex;
+<replaceable>number</replaceable> can be between 0 and 255).
+</para>
+<para>Here &tex; opens the file <filename>presidents.tex</filename> for reading.
+</para>
+<screen>\newread\presidentsfile
+\openin\presidentsfile=presidents
+\typeout{presidentsfile is \the\presidentsfile}
+\read\presidentsfile to\presidentline
+\typeout{\presidentline}
+</screen> 
+<para>The <literal>\newread</literal> command allocates input stream numbers from 0
+to 15 (there is also a <literal>\newwrite</literal>).  The
+<literal>\presidentsfile</literal> is more memorable but under the hood it is still
+a number; the first <literal>\typeout</literal> gives something like
+‘<literal>presidentsfile is 1</literal>’.  In addition, <literal>\newread</literal> keeps track of
+the allocation so that if you use too many then you get an error like
+‘<literal>! No room for a new \read</literal>’.  The second <literal>\typeout</literal> gives the
+first line of the file, something like ‘<literal>1 Washington, George</literal>’.
+</para>
+<para>Ordinarily &tex; will not try to open the file until the next page
+shipout. To change this, use
+<literal>\immediate\openin <replaceable>number</replaceable>=<replaceable>filename</replaceable></literal> or
+<literal>\immediate\openout <replaceable>number</replaceable>=<replaceable>filename</replaceable></literal>.
+</para>
+<para>Close files with <literal>\closein <replaceable>number</replaceable></literal> and
+<literal>\closeout <replaceable>number</replaceable></literal>.
+</para>
+<para>How &latex; handles filenames varies among distributions, and even can
+vary among versions of a distribution.  If the file does not have an
+extension then &tex; will add a <filename>.tex</filename>.  This creates
+<filename>presidents.tex</filename>, writes one line to it, and closes it.
+</para>
+<screen>\newwrite\presidentsfile
+\openout\presidentsfile=presidents
+\write\presidentsfile{1 Washington, George}
+\closeout\presidentsfile
+</screen>
+<para>But filenames with a period can cause trouble: if &tex; finds a
+<replaceable>filename</replaceable> of <filename>presidents.dat</filename> it could look first for
+<filename>presidents.dat.tex</filename> and later for <filename>presidents.dat</filename>, or it
+could do the opposite.  Your distribution’s documentation should say
+more, and if you find something that works for you then you are good,
+but to ensure complete portability the best thing is to use file names
+containing only the twenty six ASCII letters (not case-sensitive) and
+the ten digits, along with underscore and dash, and in particular with
+no dot or space.
+</para>
+<para>For <literal>\openin</literal>, if &tex; cannot find the file then it does not give
+an error.  It just considers that the stream is not open (test for this
+with <literal>\ifeof</literal>; one recourse is the command
+<literal>\InputIfFileExists</literal>, see <link linkend="Class-and-package-commands">Class and package commands</link>).  If you
+try to use the same number twice, &latex; won’t give you an error.  If
+you try to use a bad number then you get an error message like ‘<literal>!
+Bad number (16).  <to be read again> = l.30 \openin16=test.jh</literal>’.
+</para>
+
+</sect1>
+<sect1 label="27.2" id="_005cread">
+<title><literal>\read</literal></title>
+
+<indexterm role="fn"><primary>\read</primary></indexterm>
+<indexterm role="cp"><primary>file, reading</primary></indexterm>
+<indexterm role="cp"><primary>read a file</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\read <replaceable>number</replaceable> to<replaceable>macro</replaceable>
+</screen>
+<para>Make the command <replaceable>macro</replaceable> contain the next line of input from text
+stream <replaceable>number</replaceable>, as in <literal>\read5 to\data</literal>.
+</para>
+<para>This opens the file <filename>email.tex</filename> for reading, puts the contents of
+the first line into the command <literal>\email</literal>, and then closes the file.
+</para>
+<screen>\newread\recipientfile
+\openin\recipientfile=email
+\read\recipientfile to\email
+\typeout{Email address: \email}
+\closein\recipientfile
+</screen>
+<para>If <replaceable>number</replaceable> is outside the range from 0 to 15 or if no file
+of that number is open, or if the file has ended, then <literal>\read</literal>
+will take input from the terminal (or exit if interaction is not
+allowed, e.g., <literal>\nonstopmode</literal>; see <link linkend="interaction-modes">interaction modes</link>).
+(However, the natural way in &latex; to take input from the terminal
+is <literal>\typein</literal> (see <link linkend="_005ctypein">\typein</link>.)
+</para>
+<para>To read an entire file as additional &latex; source, use
+<literal>\input</literal> (see <link linkend="_005cinput">\input</link>) or <literal>\include</literal> (see <link linkend="_005cinclude-_0026-_005cincludeonly">\include &
+\includeonly</link>).
+</para>
+<indexterm role="cp"><primary>package, <literal>datatool</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>datatool</literal> package</primary></indexterm>
+
+<indexterm role="cp"><primary>mail merges</primary></indexterm>
+<para>A common reason to want to read from a data file is to do mail merges.
+CTAN has a number of packages for that; one is <filename>datatool</filename>.
+</para>
+
+</sect1>
+<sect1 label="27.3" id="_005ctypein">
 <title><literal>\typein</literal></title>
 
 <indexterm role="fn"><primary>\typein</primary></indexterm>
@@ -16603,9 +18522,9 @@
 input file in place of the <literal>\typein</literal> command.
 </para>
 <para>In the second command version the optional argument <literal><replaceable>cmd</replaceable></literal>
-argument must be a command name — it must begin with a backslash, \.
-This command name is then defined or redefined to be the input that you
-typed.  For example, this
+argument must be a command name, that is, it must begin with a
+backslash, \.  This command name is then defined or redefined to be
+the input that you typed.  For example, this
 </para>
 <screen>\typein[\student]{Enter student name:}
 \typeout{Recommendation for \student .}
@@ -16621,7 +18540,7 @@
 </para>
 
 </sect1>
-<sect1 label="27.2" id="_005ctypeout">
+<sect1 label="27.4" id="_005ctypeout">
 <title><literal>\typeout</literal></title>
 
 <indexterm role="fn"><primary>\typeout</primary></indexterm>
@@ -16658,19 +18577,373 @@
 </para>
 
 </sect1>
+<sect1 label="27.5" id="_005cwrite">
+<title><literal>\write</literal></title>
+
+<indexterm role="fn"><primary>\write</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\write <replaceable>number</replaceable>{<replaceable>string</replaceable>}
+</screen>
+<para>Write <replaceable>string</replaceable> to the log file, to the terminal, or to a file
+opened by <literal>\openout</literal>.  For instance, <literal>\write6</literal> writes to text
+stream number 6.
+</para>
+<para>If the following appears in <filename><replaceable>basefile</replaceable>.tex</filename> then it opens
+<filename><replaceable>basefile</replaceable>.jh</filename>, writes ‘<literal>Hello World!</literal>’ and a newline to
+it, and closes that file.
+</para>
+<screen>\newwrite\myfile
+\immediate\openout\myfile=\jobname.jh  % \jobname is root file basename
+...
+\immediate\write\myfile{Hello world!}
+...
+\immediate\closeout\myfile
+</screen>
+<indexterm role="fn"><primary>\newwrite</primary></indexterm>
+<para>The <literal>\newwrite</literal> allocates a stream number, giving it a symbolic
+name to make life easier, so that <literal>stream
+\newwrite\myfile\the\myfile</literal> produces something like ‘<literal>stream 3</literal>’.
+Then <literal>\openout</literal> associates the stream number with the given file
+name.  &tex; ultimately executed <literal>\write3</literal> which puts the string
+in the file.
+</para>
+<indexterm role="cp"><primary>log file, writing to</primary></indexterm>
+<indexterm role="cp"><primary>terminal, writing to</primary></indexterm>
+<indexterm role="cp"><primary><inlineequation><mathphrase>-1</mathphrase></inlineequation>, write stream number</primary></indexterm>
+<para>Typically <replaceable>number</replaceable> is between 0 and 15, because typically
+&latex; authors follow the prior example and the number is allocated
+by the system.  If <replaceable>number</replaceable> is outside the range from 0 to 15 or
+if it is not associated with an open file then &latex; writes
+<replaceable>string</replaceable> to the log file.  If <replaceable>number</replaceable> is positive then in
+addition &latex; writes <replaceable>string</replaceable> to the terminal.
+</para>
+<para>Thus, <literal>test \write-1{Hello World!}</literal> puts ‘<literal>Hello World!</literal>’
+followed by a newline in the log file.  (This is what the <literal>\wlog</literal>
+command does; see <link linkend="_005cwlog">\wlog</link>).  And <literal>\write100{Hello World!}</literal>
+puts the same in the log file but also puts ‘<literal>Hello World!</literal>’
+followed by a newline in the terminal output.  (But 16, 17, and 18 are
+special as <replaceable>number</replaceable>; see below.)
+</para>
+<indexterm role="cp"><primary>Lua&tex;, 256 output streams in</primary></indexterm>
+<para>In Lua&tex;, instead of 16 output streams there are 256
+(see <link linkend="TeX-engines">&tex; engines</link>).
+</para>
+<indexterm role="fn"><primary>\@auxout</primary></indexterm>
+<indexterm role="fn"><primary>\@mainaux</primary></indexterm>
+<para>Use <literal>\write\@auxout{<replaceable>string</replaceable>}</literal> to write to the current
+<filename>.aux</filename> file, which is associated with either the root file or
+with the current include file; and use
+<literal>\write\@mainaux{<replaceable>string</replaceable>}</literal> to write to the main
+<filename>.aux</filename>.  These symbolic names are defined by &latex;.
+</para>
+<!-- credit: David Carlisle https://tex.stackexchange.com/a/115933/121234 -->
+<para>By default &latex; does not write <replaceable>string</replaceable> to the file right
+away.  This is because, for example, you may need <literal>\write</literal> to
+save the current page number, but when &tex; comes across a
+<literal>\write</literal> it typically does not know what the page number is,
+since it has not yet done the page breaking.  So, you use <literal>\write</literal>
+in one of three contexts:
+</para>
+<screen>\immediate\write\@auxout{<replaceable>string</replaceable>}      %1
+\write\@auxout{<replaceable>string</replaceable>}                %2
+\protected at write\@auxout{}{<replaceable>string</replaceable>}    %3
+</screen>
+<orderedlist numeration="arabic"><listitem><indexterm role="cp"><primary>immediate <literal>\write</literal></primary></indexterm>
+<indexterm role="fn"><primary>\immediate\write</primary></indexterm>
+<para>With the first, &latex; writes <replaceable>string</replaceable> to the file immediately.
+Any macros in <replaceable>string</replaceable> are fully expanded (just as in
+<literal>\edef</literal>) so to prevent expansion you must use <literal>\noexpand</literal>,
+<literal>toks</literal>, etc., except that you should use <literal>#</literal> instead of
+<literal>##</literal>).
+</para>
+</listitem><listitem><indexterm role="cp"><primary>delayed <literal>\write</literal></primary></indexterm>
+<indexterm role="cp"><primary>whatsit item</primary></indexterm>
+<indexterm role="fn"><primary>\shipout and expansion</primary></indexterm>
+<para>With the second, <replaceable>string</replaceable> is stored on the current list of things
+(as a &tex; “whatsit” item) and kept until the page is shipped out
+and likewise the macros are unexpanded until <literal>\shipout</literal>. At
+<literal>\shipout</literal>, <replaceable>string</replaceable> is fully expanded.
+</para>
+</listitem><listitem><indexterm role="fn"><primary>\protected at write</primary></indexterm>
+<para>The third, <literal>\protected at write</literal>, is like the second except that
+you can use <literal>\protect</literal> to avoid expansion. The extra first
+argument allows you to locally insert extra definitions to make more
+macros protected or to have some other special definition for the
+write.
+</para></listitem></orderedlist>
+<para>As a simple example of expansion with <literal>\write</literal>, <replaceable>string</replaceable> here
+contains a control sequence <literal>\triplex</literal> which we’ve defined to be
+the text ‘<literal>XYZ</literal>’:
+</para>
+<screen>\newwrite\jhfile
+\openout\jhfile=test.jh
+\newcommand{\triplex}{XYZ}
+\write\jhfile{test \triplex test}
+</screen>
+<para>This results in the file <filename>test.jh</filename> containing the text
+‘<literal>test XYZtest</literal>’ followed by a newline.
+</para>
+<indexterm role="cp"><primary><literal>\write</literal> streams 16, 17, 18</primary></indexterm>
+<para>The cases where <replaceable>number</replaceable> is 16, 17, or 18 are special.  Because of
+<literal>\write</literal>’s behavior when <replaceable>number</replaceable> is outside the range from 0
+to 15 described above, in Plain &tex; <literal>\write16</literal> and
+<literal>\write17</literal> were sometimes used to write to the log file and the
+terminal; however, in &latex;, the natural way to do that is with
+<literal>\typeout</literal> (see <link linkend="_005ctypeout">\typeout</link>).  The <literal>\write18</literal> command is
+even more special; modern &tex; systems use it for giving commands to
+the operating system (see <link linkend="_005cwrite18">\write18</link>).
+</para>
+<indexterm role="cp"><primary>newline, in <literal>\write</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>^^J</literal>, in <literal>\write</literal></primary></indexterm>
+<para>Ordinarily <literal>\write</literal> outputs a single line.  You can include a
+newline with <literal>^^J</literal>.  Thus, this produces two lines in the log
+file:
+</para>
+<screen>\wlog{Parallel lines have a lot in common.^^JBut they never meet.}
+</screen>
+<indexterm role="cp"><primary>package, <literal>answers</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>answers</literal> package</primary></indexterm>
+
+<para>A common case where authors need to write their own file is for
+answers to exercises, or another situation where you want to write
+out verbatim, without expanding the macros.  CTAN has a number of
+packages for this; one is <filename>answers</filename>.
+</para>
+
+
+<sect2 label="27.5.1" id="_005cwrite-and-security">
+<title><literal>\write</literal> and security</title>
+
+<indexterm role="cp"><primary>security and <literal>\write</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>\write</literal> and security</primary></indexterm>
+
+<para>The ability to write files raises security issues. If you compiled a
+downloaded &latex; file and it overwrote your password file then you
+would be justifiably troubled.
+</para>
+<para>Thus, by default &tex; systems only allow you to open files for
+writing that are in the current directory or output directory, if
+specified (see <link linkend="output-directory">output directory</link>), or in a subdirectory of
+those. So, this code
+</para>
+<screen>\newwrite\jhfile
+\openout\jhfile=../test.jh
+</screen>
+<para>gives an error like:
+</para><screen>Not writing to ../test.jh (openout_any = p).
+! I can't write on file `../test.jh'
+</screen>
+<indexterm role="cp"><primary>parent directories, cannot write to</primary></indexterm>
+<para>You can get just such an error when using commands such as
+<literal>\include{../filename}</literal> because &latex; will try to open
+<filename>../filename.aux</filename>.  The simplest solution is to put the included
+files in the same directory as the root file, or in subdirectories.
+</para>
+
+</sect2>
+<sect2 label="27.5.2" id="_005cmessage">
+<title><literal>\message</literal></title>
+
+<indexterm role="fn"><primary>\message</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\message{<replaceable>string</replaceable>}
+</screen>
+<para>Write <replaceable>string</replaceable> to the log file and the terminal.
+</para>
+<para>Typically, &latex; authors use <literal>\typeout</literal> (see <link linkend="_005ctypeout">\typeout</link>). It
+allows you to use <literal>\protect</literal> on any fragile commands in
+<replaceable>string</replaceable> (see <link linkend="_005cprotect">\protect</link>).  But <literal>\typeout</literal> always inserts a
+newline at the end of <replaceable>string</replaceable> while <literal>\message</literal> does not, so
+the latter can be useful.
+</para>
+<para>With this example document body.
+</para>
+<screen>before\message{One Two}\message{Three}\message{Four^^JI}
+\message{declare a thumb war.}After
+</screen>
+<para>under some circumstances (see below) &latex; writes the following to
+both the terminal and the log file.
+</para>
+<screen>One Two Three Four
+I declare a thumb war.
+</screen>
+<para>The <literal>^^J</literal> produces a newline.  Also, in the output document,
+between ‘<literal>before</literal>’ and ‘<literal>After</literal>’ will be a single space (from
+the end of line following ‘<literal>I}</literal>’).
+</para>
+<para>While <literal>\message</literal> allows you more control over formatting, a
+gotcha is that &latex; may mess up that formatting because it inserts
+line breaks depending on what it has already written. Contrast this
+document body, where the ‘<literal>Two</literal>’ has moved, to the one given above.
+</para>
+<screen>before\message{One}\message{Two Three}\message{Four^^JI}
+\message{declare a thumb war.}After
+</screen>
+<para>This can happen: when &latex; is outputting the messages to the
+terminal, now the message with ‘<literal>One</literal>’ is shorter and it fits at the
+end of the output terminal line, and so &latex; breaks the line between
+it and the ‘<literal>Two Three</literal>’.  That line break appears also in the log
+file.  This line break insertion can depend on, for instance, the length
+of the full path names of included files.  So producing finely-formatted
+lines in a way that is portable is hard, likely requiring 
+starting your message at the beginning of a line.
+</para>
+
+</sect2>
+<sect2 label="27.5.3" id="_005cwlog">
+<title><literal>\wlog</literal></title>
+
+<indexterm role="fn"><primary>\wlog</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\wlog{<replaceable>string</replaceable>}
+</screen>
+<para>Write <replaceable>string</replaceable> to the log file.
+</para>
+<screen>\wlog{Did you hear about the mathematician who hates negatives?}
+\wlog{He'll stop at nothing to avoid them.}
+</screen>
+<para>Ordinarily <replaceable>string</replaceable> appears in a single separate line.  Use
+<literal>^^J</literal> to insert a newline.
+</para>
+<screen>\wlog{Helvetica and Times Roman walk into a bar.}
+\wlog{The barman says,^^JWe don't serve your type.}
+</screen>
+
+</sect2>
+<sect2 label="27.5.4" id="_005cwrite18">
+<title><literal>\write18</literal></title>
+
+<indexterm role="fn"><primary>\write18</primary></indexterm>
+<indexterm role="cp"><primary>external commands</primary></indexterm>
+<indexterm role="cp"><primary>commands, run from &latex;</primary></indexterm>
+<indexterm role="cp"><primary>system commands, run from &latex;</primary></indexterm>
+<indexterm role="cp"><primary>shell access</primary></indexterm>
+<!-- Derived from: Joseph Wright: https://tex.stackexchange.com/a/20446/121234 -->
+
+<para>Synopsis:
+</para>
+<screen>\write18{<replaceable>shell_command</replaceable>}
+</screen>
+<para>Issue a command to the operating system shell.  The operating system
+runs the command and &latex;’s execution is blocked until that
+finishes.
+</para>
+<indexterm role="cp"><primary>package, <literal>Asymptote</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>Asymptote</literal> package</primary></indexterm>
+
+<para>This sequence (on Unix)
+</para>
+<screen>\usepackage{graphicx}  % in preamble
+  ...
+\newcommand{\fignum}{1}
+\immediate\write18{cd pix && asy figure\fignum}
+\includegraphics{pix\figure\fignum.pdf}
+</screen>
+<para>will run Asymptote (the <literal>asy</literal> program) on <filename>pix/figure1.asy</filename>,
+so that the document can later read in the resulting graphic
+(see <link linkend="_005cincludegraphics">\includegraphics</link>).  Like any <literal>\write</literal>, here &latex;
+expands macros in <replaceable>shell_command</replaceable> so that <literal>\fignum</literal> is
+replaced by ‘<literal>1</literal>’.
+</para>
+<para>Another example is that you can automatically run Bib&tex; at the start
+of each &latex; run (see <link linkend="Using-BibTeX">Using BibTeX</link>) by including
+<literal>\immediate\write18{bibtex8 \jobname}</literal> as the first line of the
+file.  Note that <literal>\jobname</literal> expands to the basename of the root
+file unless the <literal>--jobname</literal> option is passed on the command line,
+in which case this is the option argument.
+</para>
+<para>You sometimes need to do a multi-step process to get the information
+that you want.  This will insert into the input a list of all PDF files
+in the current directory (but see <filename>texosquery</filename> below):
+</para>
+<screen>\immediate\write18{ls *.pdf > tmp.dat}
+\input{tmp.dat}
+</screen>
+<para>The standard behavior of any <literal>\write</literal> is to wait until a page is
+being shipped out before expanding the macros or writing to the stream
+(see <link linkend="_005cwrite">\write</link>). But sometimes you want it done now.  For this, use
+<literal>\immediate\write18{<replaceable>shell_command</replaceable>}</literal>.
+</para>
+<para>There are obvious security issues with allowing system commands inside
+a &latex; file.  If you download a file off the net and it contains
+commands to delete all your files then you would be unhappy. The
+standard settings in modern distributions turn off full shell
+access. You can turn it on, if you are sure the shell commands are
+safe, by compiling with <literal>latex --enable-write18 <replaceable>filename</replaceable></literal>
+(see <link linkend="Command-line-options">Command line options</link>).  (The <literal>--shell-escape</literal> option is
+a synonym, in &tex; Live.)
+</para>
+<indexterm role="cp"><primary>restricted shell access</primary></indexterm>
+<para>In the place of full shell access, modern distributions by default use
+a restricted version that allows some commands to work, such as those
+that run Metafont to generate missing fonts, even if you do not use
+the <literal>enable-write18</literal> option. By default this list of allowed
+commands is short and features only commands that are under the
+control of the distribution maintainers (see <link linkend="Command-line-options">Command line
+options</link>).
+</para>
+<indexterm role="fn"><primary>/bin/sh, used by <literal>\write18</literal></primary></indexterm>
+<indexterm role="fn"><primary>sh, used by <literal>\write18</literal></primary></indexterm>
+<indexterm role="fn"><primary>cmd.exe, used by <literal>\write18</literal></primary></indexterm>
+<indexterm role="fn"><primary>SHELL, environment variables</primary></indexterm>
+<para>The <replaceable>shell_command</replaceable> text is always passed to <filename>/bin/sh</filename> on
+Unix-like operating systems, and the DOS command interpreter
+<filename>cmd.exe</filename> on Windows. Any different shell set by the user, and
+the <literal>SHELL</literal> environment variable, is ignored.
+</para>
+<indexterm role="cp"><primary>package, <literal>texosquery</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>texosquery</literal> package</primary></indexterm>
+
+<indexterm role="cp"><primary>system information</primary></indexterm>
+<indexterm role="cp"><primary>operating system information</primary></indexterm>
+<indexterm role="cp"><primary>locale information, from system</primary></indexterm>
+<indexterm role="cp"><primary>directory listings, from system</primary></indexterm>
+<para>If what you need is system information, such as the operating system
+name, locale information, or directory contents, take a look at the
+<filename>texosquery</filename> package, which provides a convenient and secure
+interface for this, unlike the above examples using the raw
+<literal>\write18</literal>: <ulink url="https://ctan.org/pkg/texosquery">https://ctan.org/pkg/texosquery</ulink>.
+</para>
+<indexterm role="cp"><primary>package, <literal>shellesc</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>shellesc</literal> package</primary></indexterm>
+
+<indexterm role="fn"><primary>\ShellEscape</primary></indexterm>
+<indexterm role="fn"><primary>\DelayedShellEscape</primary></indexterm>
+<para>&latex; provides a package <literal>shellesc</literal> on top of the primitive
+<literal>\write18</literal> command. Its primary purpose is to provide a command
+<literal>\ShellEscape</literal> which works identically on all &tex; engines;
+Lua&tex; intentionally did not retain <literal>\write18</literal> as a way to
+invoke a shell command, so some engine-specific code is needed. The
+<literal>shellesc</literal> package also provides a command
+<literal>\DelayedShellEscape</literal>, executed at <literal>\output</literal> time, for the
+same reason.
+</para>
+
+</sect2>
+</sect1>
 </chapter>
-<chapter label="28" id="Command-line">
-<title>Command line</title>
+<chapter label="28" id="Command-line-interface">
+<title>Command line interface</title>
 
-<indexterm role="cp"><primary>command line</primary></indexterm>
+<anchor id="Command-line"/><!-- old name -->
+<indexterm role="cp"><primary>command line interface</primary></indexterm>
+<indexterm role="cp"><primary>interface, command line</primary></indexterm>
+<indexterm role="cp"><primary>CLI</primary></indexterm>
 
 <para>Synopsis (from a terminal command line):
 </para>
 <screen>pdflatex <replaceable>options</replaceable> <replaceable>argument</replaceable>
 </screen>
-<para>Run &latex; on <replaceable>argument</replaceable>.  In place of <command>pdflatex</command> you can
-also use <command>xelatex</command>, or <literal>lualatex</literal>, or <literal>dviluatex</literal>, or
-<literal>latex</literal>.
+<para>Run &latex; on <replaceable>argument</replaceable>.  In place of <command>pdflatex</command> you
+can also use (for PDF output) <command>xelatex</command> or <literal>lualatex</literal>, or
+(for DVI output) <literal>latex</literal> or <literal>dvilualatex</literal>, among others
+(see <link linkend="TeX-engines">&tex; engines</link>).
 </para>
 <para>For example, this will run &latex; on the file <filename>thesis.tex</filename>,
 creating the output <filename>thesis.pdf</filename>.
@@ -16678,19 +18951,20 @@
 <screen>pdflatex thesis
 </screen>
 <para><indexterm role="fn"><primary>.tex, default extension</primary></indexterm>
-Note that <filename>.tex</filename> is the default file extension.
+Note that <filename>.tex</filename> is the default file name extension.
 </para>
-<para>pdf&tex; is a development of the original &tex; program, as are
-Xe&tex; and Lua&tex; (see <link linkend="TeX-engines">&tex; engines</link>).  They are completely
-backward compatible.  But the original program had a custom output
-format, DVI, while the newer ones can output directly to PDF.  This
-allows them to take advantage of the extra features in PDF such as
-hyperlinks, support for modern image formats such as JPG and PNG, and
-ubiquitous viewing programs.  In short, if you run <command>pdflatex</command> or
-<command>xelatex</command> or <command>lualatex</command> then you will by default get PDF
-and have access to all its modern features.  If you run <command>latex</command>,
-or <literal>dvilualatex</literal>, then you will get DVI.  The description here
-assumes pdf&latex;.
+<para>pdf&tex; is an extension of the original &tex; program, as are
+Xe&tex; and Lua&tex; (see <link linkend="TeX-engines">&tex; engines</link>).  The first two are
+completely backward compatible and the latter, almost so.  Perhaps the
+most fundamental new feature for all three is that the original &tex;
+output its own DVI format, while the newer ones can output directly to
+PDF.  This allows them to take advantage of the extra features in PDF
+such as hyperlinks, support for modern image formats such as JPG and
+PNG, and ubiquitous viewing programs.  In short, if you run
+<command>pdflatex</command> or <command>xelatex</command> or <command>lualatex</command> then you
+will by default get PDF and have access to all its modern features.
+If you run <command>latex</command>, or <literal>dvilualatex</literal>, then you will get
+DVI.  The description here assumes pdf&latex;.
 </para>
 <para>See <link linkend="Command-line-options">Command line options</link>, for a selection of the most useful
 command line options. As to <replaceable>argument</replaceable>, the usual case is that it
@@ -16702,10 +18976,10 @@
 </para>
 <para>If you gave no arguments or options then <command>pdflatex</command> prompts for
 input from the terminal. You can escape from this by entering
-<literal><control>-D</literal>.
+<userinput>CTRL-D</userinput>.
 </para>
 <para>If &latex; finds an error in your document then by default it stops and
-asks you about it.  See <link linkend="Recovering-from-errors">Recovering from errors</link> for an outline of what
+asks you about it.  See <link linkend="Recovering-from-errors">Recovering from errors</link>, for an outline of what
 to do.
 </para>
 
@@ -16720,9 +18994,12 @@
 command line.
 </para>
 <para>With many implementations you can specify command line options by
-prefixing them with ‘<literal>-</literal>’ or ‘<literal>--</literal>’.  This is the case for
-both &tex; Live (and Mac&tex;) and MiK&tex;.  We will use both
-conventions interchangeably.
+prefixing them with ‘<literal>-</literal>’ or ‘<literal>--</literal>’.  This is the case for both
+&tex; Live (including Mac&tex;) and MiK&tex;.  We will use both
+conventions interchangeably.  If an option takes a value, it can be
+specified either as a separate argument (‘<literal>--foo val</literal>’), or as one
+argument with an ‘<literal>=</literal>’ sign (‘<literal>--foo=val</literal>’), but there can be no
+spaces around the ‘<literal>=</literal>’. We will generally use the ‘<literal>=</literal>’ syntax.
 </para>
 <variablelist><indexterm role="fn"><primary>--version command-line option</primary></indexterm>
 <varlistentry><term><literal>-version</literal>
@@ -16734,18 +19011,22 @@
 </listitem></varlistentry><varlistentry><term><literal>-help</literal>
 </term><listitem><para>Give a brief usage message that is useful as a prompt and exit.
 </para>
-<indexterm role="fn"><primary>--interaction command-line option</primary></indexterm>
+<anchor id="interaction-modes"/><indexterm role="fn"><primary>--interaction command-line option</primary></indexterm>
 </listitem></varlistentry><varlistentry><term><literal>-interaction=<replaceable>mode</replaceable></literal>
-</term><listitem><para>&tex; compiles a document in one of four interaction modes:
+</term><listitem><indexterm role="cp"><primary>batchmode</primary></indexterm>
+<indexterm role="cp"><primary>scrollmode</primary></indexterm>
+<indexterm role="cp"><primary>errorstopmode</primary></indexterm>
+<indexterm role="cp"><primary>nonstopmode</primary></indexterm>
+<para>&tex; compiles a document in one of four interaction modes:
 <literal>batchmode</literal>, <literal>nonstopmode</literal>, <literal>scrollmode</literal>,
-<literal>errorstopmode</literal>. In <firstterm>errorstop mode</firstterm> (the default), &tex;
-stops at each error and asks for user intervention. In <firstterm>batch
-mode</firstterm> it prints nothing on the terminal, errors are scrolled as if the
-user hit <literal><return></literal> at every error, and missing files cause the
-job to abort. In <firstterm>nonstop mode</firstterm>, diagnostic message appear on the
-terminal but as in batch mode there is no user interaction. In
-<firstterm>scroll mode</firstterm>, &tex; only stops for missing files or keyboard
-input.
+<literal>errorstopmode</literal>. In <firstterm>errorstopmode</firstterm> (the default), &tex;
+stops at each error and asks for user intervention. In <firstterm>batchmode</firstterm>
+it prints nothing on the terminal, errors are scrolled as if the user
+hit <userinput>RETURN</userinput> at every error, and missing files cause the job to
+abort. In <firstterm>nonstopmode</firstterm>, diagnostic message appear on the terminal
+but as in batch mode there is no user interaction. In
+<firstterm>scrollmode</firstterm>, &tex; stops for missing files or keyboard
+input, but nothing else.
 </para>
 <para>For instance, starting &latex; with this command line
 </para>
@@ -16753,55 +19034,55 @@
 </screen>
 <para>eliminates most terminal output.
 </para>
+<indexterm role="cp"><primary>jobname</primary></indexterm>
+<indexterm role="cp"><primary>filename for current job</primary></indexterm>
 <indexterm role="fn"><primary>--jobname command-line option</primary></indexterm>
 </listitem></varlistentry><varlistentry><term><literal>-jobname=<replaceable>string</replaceable></literal>
-</term><listitem><para>Set the value of &tex;’s <literal>jobname</literal> to the string.  The log file
+</term><listitem><para>Set the value of &tex;’s <firstterm>jobname</firstterm> to the string.  The log file
 and output file will then be named <filename><replaceable>string</replaceable>.log</filename> and
-<filename><replaceable>string</replaceable>.pdf</filename>.
+<filename><replaceable>string</replaceable>.pdf</filename>.  see <link linkend="Jobname">Jobname</link>.
 </para>
-<para>When you run <literal><command>pdflatex</command> <replaceable>options</replaceable> <replaceable>argument</replaceable></literal>, if
-<replaceable>argument</replaceable> does not start with a backslash then &tex; considers it
-the name of a file to input. Otherwise it waits for the first
-<literal>\input</literal> instruction and the name of the input file will be the job
-name. This is used to name the log file the output file.  The
-<literal>jobname</literal> option overrides that process and directly specifies the
-name.  See <link linkend="Command-line-input">Command line input</link> for an example of its use.
-</para>
+<anchor id="output-directory"/><indexterm role="cp"><primary>output directory for all external files</primary></indexterm>
 <indexterm role="fn"><primary>--output-directory command-line option</primary></indexterm>
 </listitem></varlistentry><varlistentry><term><literal>-output-directory=<replaceable>directory</replaceable></literal>
 </term><listitem><para>Write files in the directory <replaceable>directory</replaceable>.  It must already exist.
+This applies to all external files created by &tex; or &latex;, such
+as the <filename>.log</filename> file for the run, the <filename>.aux</filename>, <filename>.toc</filename>,
+etc., files created by &latex;, as well as the main <filename>.pdf</filename> or
+<filename>.dvi</filename> output file itself.
 </para>
+<para>When specified, the output directory <replaceable>directory</replaceable> is also
+automatically checked first for any file that it is input, so that the
+external files can be read back in, if desired. The true current
+directory (in which &latex; was run) remains unchanged, and is also
+checked for input files.
+</para>
+<indexterm role="cp"><primary>shell escape</primary></indexterm>
+<indexterm role="cp"><primary><literal>\write18</literal>, enabling</primary></indexterm>
+<indexterm role="fn"><primary>--enable-write18 command-line option</primary></indexterm>
+<indexterm role="fn"><primary>--disable-write18 command-line option</primary></indexterm>
 <indexterm role="fn"><primary>--shell-escape command-line option</primary></indexterm>
 <indexterm role="fn"><primary>--no-shell-escape command-line option</primary></indexterm>
-<indexterm role="fn"><primary>--enable-write18 command-line option</primary></indexterm>
-<indexterm role="fn"><primary>--disable-write18 command-line option</primary></indexterm>
-</listitem></varlistentry><varlistentry><term><literal>--shell-escape</literal>
+</listitem></varlistentry><varlistentry><term><literal>--enable-write18</literal>
+</term><term><literal>--disable-write18</literal>
+</term><term><literal>--shell-escape</literal>
 </term><term><literal>--no-shell-escape</literal>
-</term><term><literal>--enable-write18</literal>
-</term><term><literal>--disable-write18</literal>
-</term><listitem><para>Enable or disable <literal>\write18{<replaceable>shell command</replaceable>}</literal>.  The first two
-options are for with &tex; Live or Mac&tex; while the second two are
-for MiK&tex;.
+</term><listitem><para>Enable or disable <literal>\write18{<replaceable>shell_command</replaceable>}</literal>
+(see <link linkend="_005cwrite18">\write18</link>).  The first two options are supported by both
+&tex; Live and MiK&tex;, while the second two are synonyms supported
+by &tex; Live.
 </para>
-<indexterm role="cp"><primary>package, <literal>sagetex</literal></primary></indexterm>
-<indexterm role="cp"><primary><literal>sagetex</literal> package</primary></indexterm>
-
-<para>Sometimes you want to run external system commands from inside a
-&latex; file. For instance the package <filename>sagetex</filename> allows you to
-have the mathematics software system <emphasis>Sage</emphasis> do calculations or draw
-graphs and then incorporate that output in your document.  For this
-&tex; provides the <literal>\write18</literal> command.
+<para>Enabling this functionality has major security implications, since it
+allows a &latex; file to run any command whatsoever.  Thus, by
+default, unrestricted <literal>\write18</literal> is not allowed.  (The default
+for &tex; Live, Mac&tex;, and MiK&tex; is to allow the execution of
+a limited number of &tex;-related programs, which they distribute.)
 </para>
-<para>But with this functionality enabled, security issues could happen if you
-compiled a &latex; file from the Internet.  By default <literal>\write18</literal>
-is disabled.  (More precisely, by default &tex; Live, Mac&tex;, and
-MiK&tex; only allow the execution of a limited number of &tex;-related
-programs, which they distribute.)
+<para>For example, if you invoke &latex; with the option
+<literal>no-shell-escape</literal>, and in your document you call
+<literal>\write18{ls -l}</literal>, then you do not get an error but the log
+file says ‘<literal>runsystem(ls -l)...disabled</literal>’.
 </para>
-<para>If you invoke &latex; with the option <literal>no-shell-escape</literal>, and in
-your document you call <literal>\write18{ls -l}</literal>, then you do not get an
-error but the log file says ‘<literal>runsystem(ls -l)...disabled</literal>’.
-</para>
 <indexterm role="fn"><primary>--halt-on-error command-line option</primary></indexterm>
 </listitem></varlistentry><varlistentry><term><literal>-halt-on-error</literal>
 </term><listitem><para>Stop processing at the first error.
@@ -16820,17 +19101,19 @@
 
 <indexterm role="cp"><primary>input, on command line</primary></indexterm>
 
-<para>As part of the command line invocation <literal>pdflatex <replaceable>options</replaceable>
-<replaceable>argument</replaceable></literal> you can specify arbitrary &latex; input by starting
-<replaceable>argument</replaceable> with a backslash. This allows you to do some special
-effects.
+<para>As part of the command line invocation
 </para>
+<screen><replaceable>latex-engine</replaceable> <replaceable>options</replaceable> <replaceable>argument</replaceable>
+</screen>
+<para>you can specify arbitrary &latex; input by starting
+<replaceable>argument</replaceable> with a backslash. (All the engines support this.) This
+allows you to do some special effects.
+</para>
 <indexterm role="cp"><primary>package, <literal>hyperref</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>hyperref</literal> package</primary></indexterm>
-
-<para>For example, this file (which uses the <filename>hyperref</filename> package for
-hyperlinks) can produce two kinds of output, one for paper and one for a
-PDF.
+<para>For example, this file (which uses the
+<filename>hyperref</filename> package for hyperlinks) can produce two kinds of
+output, one to be read on physical paper and one to be read online.
 </para>
 <screen>\ifdefined\paperversion        % in preamble
 \newcommand{\urlcolor}{black}
@@ -16844,11 +19127,16 @@
 </screen>
 <para>Compiling this document <filename>book.tex</filename> with the command line
 <literal>pdflatex book</literal> will give the ‘<literal>CTAN</literal>’ link in blue.  But
-compiling it with <literal>pdflatex "\def\paperversion{}\input book.tex"</literal>
-has the link in black.  (Note the use of double quotes to prevent
-interpretation of the symbols by the command line shell; your system may
-do this differently.)
+compiling it with
 </para>
+<screen>pdflatex "\def\paperversion{}\input book.tex"
+</screen>
+<para>has the link in black.  We use double quotes to prevent
+interpretation of the symbols by the command line shell. (This
+usually works on both Unix and Windows systems, but there are many
+peculiarities to shell quoting, so read your system documentation if
+need be.)
+</para>
 <para>In a similar way, from the single file <filename>main.tex</filename> you can compile
 two different versions.
 </para>
@@ -16857,22 +19145,107 @@
 pdflatex -jobname=teachers "\def\teachers{}\input{main}"
 </screen>
 <para>The <literal>jobname</literal> option is there because otherwise both files would be
-called <filename>main.pdf</filename> and the second would overwrite the first.
+called <filename>main.pdf</filename> and the second would overwrite the first. (See
+the next section.)
 </para>
-<para>A final example.  This loads the package <filename>graphicx</filename> with the option
-<literal>draft</literal>
+<para>In this example, we pass the <literal>draft</literal> option to the
+<filename>graphicx</filename> package:
 </para>
+<screen>pdflatex "\PassOptionsToPackage{draft}{graphicx}\input{aa.tex}"
+</screen>
+<para>so the graphic files are read for their bounding box size information
+but replaced in the PDF by a box with same size and that contains only
+the file name, which speeds up compilation time and saves printer ink.
+</para>
+
+</sect1>
+<sect1 label="28.3" id="Jobname">
+<title>Jobname</title>
+
+<indexterm role="fn"><primary><literal>\jobname</literal></primary></indexterm>
+<indexterm role="cp"><primary>jobname</primary></indexterm>
+<indexterm role="cp"><primary>document root name</primary></indexterm>
+<indexterm role="cp"><primary>name of document root</primary></indexterm>
+
+<para>Running &latex; creates a number of files, including the main PDF (or
+DVI) output but also including others.  These files are named with the
+so-called <firstterm>jobname</firstterm>.  The most common case is also the simplest,
+where for instance the command <literal>pdflatex thesis</literal> creates
+<literal>thesis.pdf</literal> and also <literal>thesis.log</literal> and <literal>thesis.aux</literal>.
+Here the job name is <literal>thesis</literal>.
+</para>
+<para>In general, &latex; is invoked as <literal><replaceable>latex-engine</replaceable>
+<replaceable>options</replaceable> <replaceable>argument</replaceable></literal>, where <replaceable>latex-engine</replaceable> is
+<command>pdflatex</command>, <command>lualatex</command>, etc. (see <link linkend="TeX-engines">&tex; engines</link>).
+If <replaceable>argument</replaceable> does not start with a backslash, as is the case
+above with <literal>thesis</literal>, then &tex; considers it to be the name of
+the file to input as the main document.  The name of that root file,
+without the <filename>.tex</filename> extension, is the jobname.  If <replaceable>argument</replaceable>
+does start with a backslash, or if &tex; is in interactive mode, then
+it waits for the first <literal>\input</literal> command, and the jobname is the
+argument to <literal>\input</literal>.
+</para>
+<para>There are two more possibilities for the jobname.  It can be directly
+specified with the <literal>-jobname</literal> option, as in <literal>pdflatex
+-jobname=myname</literal> (see <link linkend="Command-line-input">Command line input</link> for a real example).
+</para>
+<indexterm role="fn"><primary>texput, jobname default</primary></indexterm>
+<indexterm role="cp"><primary>fallback jobname</primary></indexterm>
+<para>The final possibility is <filename>texput</filename>, which is the final fallback
+default if no other name is available to &tex;.  For example, if no
+<literal>-jobname</literal> option was specified, and the compilation stops before
+there is any output, then the log file will be named
+<filename>texput.log</filename>. 
+</para>
+<indexterm role="fn"><primary>\documentclass, and <literal>texput</literal> jobname</primary></indexterm>
+<indexterm role="fn"><primary>\RequirePackage, and <literal>texput</literal> jobname</primary></indexterm>
+<para>A special case of this is that in &latex; versions of (approximately)
+2020 or later, the jobname is also <filename>texput</filename> if the first
+<literal>\input</literal> occurs as a result of being called by either
+<literal>\documentclass</literal> or <literal>\RequirePackage</literal>.  So this will produce
+a file named <filename>texput.pdf</filename>:
+</para>
+<screen>pdflatex "\documentclass{minimal}\begin{document}Hello!\end{document}"
+</screen>
+<para>However, this special case only applies to those two commands.  Thus, with
+</para>
 <!-- credit Herbert Voss: https://tex.stackexchange.com/a/17236/121234 -->
-<screen>pdflatex -jobname=aa "\RequirePackage[draft]{graphicx}\input{aa.tex}"
+<screen>pdflatex "\documentclass{article}\usepackage{lipsum}\input{thesis}"
 </screen>
-<para>so the graphic files are read for their size information but not
-incorporated into the PDF.  (The <literal>jobname</literal> option is there because
-otherwise the output file would be <filename>graphicx.pdf</filename>, as
-<literal>\RequirePackage</literal> does an <literal>\input</literal> of its own.)
+<para>the output file is <filename>lipsum.pdf</filename>, as <literal>\usepackage</literal> calls
+<literal>\input</literal>.
 </para>
+<indexterm role="fn"><primary>\jobname</primary></indexterm>
+<para>Within the document, the macro <literal>\jobname</literal> expands to the jobname.
+(When you run &latex; on a file whose name contains spaces, the string
+returned by <literal>\jobname</literal> contains matching start and end quotes.)
+In the expansion of that macro, all characters are of
+catcode 12 (other) except that spaces are category 10,
+including letters that are normally catcode 11.
+</para>
+<indexterm role="fn"><primary>\IfBeginWith* macro from <filename>xstring</filename></primary></indexterm>
+<indexterm role="cp"><primary>package, <literal>xstring</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>xstring</literal> package</primary></indexterm>
 
+<para>Because of this catcode situation, using the jobname in a conditional
+can become complicated. One solution is to use the macro
+<literal>\IfBeginWith</literal> from the <filename>xstring</filename> package in its star
+variant, which is insensitive to catcode. For example, in the
+following text the footnote “Including Respublica Bananensis
+Francorum.” is only present if the task name starts with
+<filename>my-doc</filename>.
+</para>
+<screen>If a democracy is just a regime where citizens vote then
+all banana republics \IfBeginWith*{\jobname}{my-doc}%
+{\footnote{Including Respublica Bananensis Francorum.}}{} are
+democracies.
+</screen>
+<para>Manipulating the value of <literal>\jobname</literal> inside of a document does not
+change the name of the output file or the log file.
+</para>
+
 </sect1>
-<sect1 label="28.3" id="Recovering-from-errors">
+<sect1 label="28.4" id="Recovering-from-errors">
 <title>Recovering from errors</title>
 
 <para>If &latex; finds an error in your document then it gives you an error
@@ -16889,8 +19262,8 @@
            {} problem is a million dollar one.
 ? 
 </screen>
-<para>The simplest thing is to enter ‘<literal>x</literal>’ and <literal><return></literal> and fix the
-typo.  You could instead enter ‘<literal>?</literal>’ and <literal><return></literal> to see other
+<para>The simplest thing is to enter <userinput>x</userinput> and <userinput>RETURN</userinput> and fix the
+typo.  You could instead enter <userinput>?</userinput> and <userinput>RETURN</userinput> to see other
 options.
 </para>
 <indexterm role="cp"><primary>‘<literal>*</literal>’ prompt</primary></indexterm>
@@ -16899,9 +19272,10 @@
 <para>There are two other error scenarios.  The first is that you forgot to
 include the <literal>\end{document}</literal> or misspelled it.  In this case
 &latex; gives you a ‘<literal>*</literal>’ prompt.  You can get back to the command
-line by typing <literal>\stop</literal> and <literal><return></literal>.
+line by typing <userinput>\stop</userinput> and <userinput>RETURN</userinput>; this command does its
+best to exit &latex; immediately, whatever state it may be in.
 </para>
-<para>The last scenario is that you mistyped the file name.  For instance,
+<para>The last scenario is that you mistyped the filename.  For instance,
 instead of <literal>pdflatex test</literal> you might type <literal>pdflatex tste</literal>.
 </para>
 <screen>! I can't find file `tste'.
@@ -16910,8 +19284,8 @@
 (Press Enter to retry, or Control-D to exit)
 Please type another input file name:
 </screen>
-<para>The simplest thing is to enter <literal><Control></literal> and ‘<literal>d</literal>’ (holding
-them down at the same time), and then retype the correct command line.
+<para>The simplest thing is to enter <userinput>CTRL d</userinput> (holding the Control and d
+keys down at the same time), and then retype the correct command line.
 </para>
 
 </sect1>
@@ -16922,9 +19296,9 @@
 <indexterm role="cp"><primary>document templates</primary></indexterm>
 <indexterm role="cp"><primary>templates, document</primary></indexterm>
 
-<para>Although not reference material, perhaps these document templates will
+<para>Although illustrative material, perhaps these document templates will
 be useful.  Additional template resources are listed at
-<ulink url="http://tug.org/interest.html#latextemplates">http://tug.org/interest.html#latextemplates</ulink>.
+<ulink url="https://tug.org/interest.html#latextemplates">https://tug.org/interest.html#latextemplates</ulink>.
 </para>
 
 
@@ -16933,7 +19307,10 @@
 
 <indexterm role="cp"><primary><literal>beamer</literal> template and class</primary></indexterm>
 <indexterm role="cp"><primary>template, <literal>beamer</literal></primary></indexterm>
+<indexterm role="cp"><primary>package, <literal>beamer</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>beamer</literal> package</primary></indexterm>
 
+
 <para>The <literal>beamer</literal> class creates presentation slides.  It has a vast
 array of features, but here is a basic template:
 </para>
@@ -16941,7 +19318,7 @@
 
 \title{Beamer Class template}
 \author{Alex Author}
-\date{July 31, 2007}
+\date{July 31, 2020}
 
 \begin{document}
 
@@ -16959,8 +19336,7 @@
 
 \end{document}
 </screen>
-<para>One web resource for this:
-<ulink url="http://robjhyndman.com/hyndsight/beamer/">http://robjhyndman.com/hyndsight/beamer/</ulink>.
+<para>The Beamer package on CTAN: <ulink url="https://ctan.org/pkg/beamer">https://ctan.org/pkg/beamer</ulink>.
 </para>
 
 </sect1>
@@ -16967,8 +19343,10 @@
 <sect1 label="A.2" id="article-template">
 <title><literal>article</literal> template</title>
 
-<indexterm role="cp"><primary>template, <literal>article</literal></primary></indexterm>
+<indexterm role="cp"><primary>template (simple), <literal>article</literal></primary></indexterm>
 
+<para>A simple template for an article.
+</para>
 <screen>\documentclass{article}
 \title{Article Class Template}
 \author{Alex Author}
@@ -16984,6 +19362,7 @@
 
 \section{Second section}
 Some more text.
+
 \end{document}
 </screen>
 
@@ -16993,8 +19372,8 @@
 
 <indexterm role="cp"><primary>template, <literal>book</literal></primary></indexterm>
 
-<para>This is a straightforward template for a book.  See See <link linkend="Larger-book-template">Larger book
-template</link> for a more elaborate one.
+<para>This is a straightforward template for a book.  See <link linkend="Larger-book-template">Larger book
+template</link>, for a more elaborate one.
 </para>
 <screen>\documentclass{book}
 \title{Book Class Template}
@@ -17011,6 +19390,7 @@
 
 \section{A subtopic}
 The end.
+
 \end{document}
 </screen>
 
@@ -17020,19 +19400,22 @@
 
 <indexterm role="cp"><primary>template, <literal>book</literal></primary></indexterm>
 
-<para>This is a more elaborate template for a book.  It has
-<literal>\frontmatter</literal>, <literal>\mainmatter</literal>, and <literal>\backmatter</literal> to
-control the typography of the three main areas of a book
-(see <link linkend="_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter">\frontmatter & \mainmatter & \backmatter</link>).  The book has a
-bibliography and an index.
+<para>This is a somewhat elaborate template for a book.  See <link linkend="book-template">book template</link>,
+for a simpler one.
 </para>
-<para>Notable is that it uses <literal>\include</literal> and <literal>\includeonly</literal>
+<para>This template uses <literal>\frontmatter</literal>, <literal>\mainmatter</literal>, and
+<literal>\backmatter</literal> to control the typography of the three main areas
+of a book (see <link linkend="_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter">\frontmatter & \mainmatter & \backmatter</link>).  The
+book has a bibliography and an index.
+</para>
+<para>Also notable is that it uses <literal>\include</literal> and <literal>\includeonly</literal>
 (see <link linkend="Splitting-the-input">Splitting the input</link>).  While you are working on a chapter you
 can comment out all the other chapter entries from the argument to
-<literal>\includeonly</literal>.  That will speed up compilation without losing any
-information such as cross-references.  (Material that does not need to
-come on a new page is brought in with <literal>\input</literal> instead of
-<literal>\include</literal>.  You don’t get the cross-reference benefit this way.)
+<literal>\includeonly</literal>.  That will speed up compilation without losing
+any information such as cross-references.  (Material that does not
+need to come on a new page is brought in with <literal>\input</literal> instead of
+<literal>\include</literal>.  You don’t get the cross-reference benefit with
+<literal>\input</literal>.)
 </para>
 <screen>\documentclass[titlepage]{book}
 \usepackage{makeidx}\makeindex
@@ -17041,11 +19424,12 @@
 \author{Alex Author}
 
 \includeonly{%
-  frontcover,
+% frontcover,
   preface,
   chap1,
-  ...
+% appenA,
   }
+
 \begin{document}
 \frontmatter
 \include{frontcover}
@@ -17053,12 +19437,14 @@
 \maketitle \input{dedication} \input{copyright}
 \tableofcontents
 \include{preface}
+
 \mainmatter
 \include{chap1}
 ...
 \appendix
-\include{appena}
+\include{appenA}
 ...
+
 \backmatter
 \bibliographystyle{apalike}
 \addcontentsline{toc}{chapter}{Bibliography}
@@ -17065,103 +19451,12 @@
 \bibliography
 \addcontentsline{toc}{chapter}{Index}
 \printindex
+
 \include{backcover}
 \end{document}
 </screen>
 
 </sect1>
-<sect1 label="A.5" id="tugboat-template">
-<title><literal>tugboat</literal> template</title>
-
-<indexterm role="cp"><primary>template, TUGboat</primary></indexterm>
-<indexterm role="cp"><primary>TUGboat template</primary></indexterm>
-<indexterm role="cp"><primary><literal>ltugboat</literal> class</primary></indexterm>
-
-<para><citetitle>TUGboat</citetitle> is the journal of the &tex; Users Group,
-<ulink url="http://tug.org/TUGboat">http://tug.org/TUGboat</ulink>.
-</para>
-<screen>\documentclass{ltugboat}
-
-\usepackage{graphicx}
-\usepackage{ifpdf}
-\ifpdf
-\usepackage[breaklinks,hidelinks]{hyperref}
-\else
-\usepackage{url}
-\fi
-
-%%% Start of metadata %%%
-
-\title{Example \TUB\ article}
-
-% repeat info for each author.
-\author{First Last}
-\address{Street Address \\ Town, Postal \\ Country}
-\netaddress{user (at) example dot org}
-\personalURL{http://example.org/~user/}
-
-%%% End of metadata %%%
-
-\begin{document}
-
-\maketitle
-
-\begin{abstract}
-This is an example article for \TUB{}.
-Please write an abstract.
-\end{abstract}
-
-\section{Introduction}
-
-This is an example article for \TUB, linked from
-\url{http://tug.org/TUGboat/location.html}.
-
-We recommend the \texttt{graphicx} package for image inclusions, and the
-\texttt{hyperref} package if active urls are desired (in the \acro{PDF}
-output).  Nowadays \TUB\ is produced using \acro{PDF} files exclusively.
-
-The \texttt{ltugboat} class provides these abbreviations (and many more):
-% verbatim blocks are often better in \small
-\begin{verbatim}[\small]
-\AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW
-\BibTeX \CTAN \DTD \HTML
-\ISBN \ISSN \LaTeXe
-\mf \MFB
-\plain \POBox \PS
-\SGML \TANGLE \TB \TP
-\TUB \TUG \tug
-\UNIX \XeT \WEB \WEAVE
-
-\, \bull \Dash \dash \hyph
-
-\acro{FRED} -> {\small[er] fred}  % please use!
-\cs{fred}   -> \fred
-\meta{fred} -> <fred>
-\nth{n}     -> 1st, 2nd, ...
-\sfrac{3/4} -> 3/4
-\booktitle{Book of Fred}
-\end{verbatim}
-
-For references to other \TUB\ issue, please use the format
-\textsl{volno:issno}, e.g., ``\TUB\ 32:1'' for our \nth{100} issue.
-
-This file is just a template.  The \TUB\ style documentation is the
-\texttt{ltubguid} document at \url{http://ctan.org/pkg/tugboat}.  (For
-\CTAN\ references, where sensible we recommend that form of url, using
-\texttt{/pkg/}; or, if you need to refer to a specific file location,
-\texttt{http://mirror.ctan.org/\textsl{path}}.)
-
-Email \verb|tugboat at tug.org| if problems or questions.
-
-\bibliographystyle{plain}  % we recommend the plain bibliography style
-\nocite{book-minimal}      % just making the bibliography non-empty
-\bibliography{xampl}       % xampl.bib comes with BibTeX
-
-\makesignature
-\end{document}
-</screen>
-
-</sect1>
 </appendix>
 <chapter label="" id="Index">
 <title>Index</title>

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.html	2021-07-24 20:46:11 UTC (rev 60037)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.html	2021-07-24 20:46:37 UTC (rev 60038)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- This document is an unofficial reference manual for LaTeX, a
-document preparation system, version of October 2018.
+document preparation system, version of July 2021.
 
 This manual was originally translated from LATEX.HLP v1.0a in the
 VMS Help Library.  The pre-translation version was written by
@@ -18,7 +18,7 @@
 text was directly copied.)
 
 Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013,
-2014, 2015, 2016, 2017, 2018 Karl Berry.
+2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Karl Berry.
 
 Copyright 1988, 1994, 2007 Stephen Gilmore.
 
@@ -36,13 +36,13 @@
 
 Permission is granted to copy and distribute translations of this manual
 into another language, under the above conditions for modified versions. -->
-<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>LaTeX2e unofficial reference manual (October 2018)</title>
+<title>LaTeX2e unofficial reference manual (July 2021)</title>
 
-<meta name="description" content="LaTeX2e unofficial reference manual (October 2018)">
-<meta name="keywords" content="LaTeX2e unofficial reference manual (October 2018)">
+<meta name="description" content="LaTeX2e unofficial reference manual (July 2021)">
+<meta name="keywords" content="LaTeX2e unofficial reference manual (July 2021)">
 <meta name="resource-type" content="document">
 <meta name="distribution" content="global">
 <meta name="Generator" content="makeinfo">
@@ -49,37 +49,24 @@
 <link href="#Top" rel="start" title="Top">
 <link href="#Index" rel="index" title="Index">
 <link href="#SEC_Contents" rel="contents" title="Table of Contents">
-<link href="http://tug.org/texinfohtml/" rel="up" title="(dir)">
+<link href="https://tug.org/texinfohtml/" rel="up" title="(dir)">
 <style type="text/css">
 <!--
-/* $Id: latex2e.css 690 2018-09-15 15:20:19Z jimhefferon $
+/* $Id: latex2e.css 935 2021-07-23 17:48:15Z jimhefferon $
    Minor css for latexrefman. Public domain.
    Originally written by Jim Hefferon and Karl Berry, 2018. */
 
-/* So you can style for yourself */
- at import url("/css/latexreflocal.css");
 
-
-
 a.summary-letter {text-decoration: none}
 blockquote.indentedblock {margin-right: 0em}
-blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
-blockquote.smallquotation {font-size: smaller}
 div.display {margin-left: 3.2em}
 div.example {margin-left: 3.2em}
 div.lisp {margin-left: 3.2em}
-div.smalldisplay {margin-left: 3.2em}
-div.smallexample {margin-left: 3.2em}
-div.smalllisp {margin-left: 3.2em}
 kbd {font-style: oblique}
 pre.display {font-family: inherit}
 pre.format {font-family: inherit}
 pre.menu-comment {font-family: serif}
 pre.menu-preformatted {font-family: serif}
-pre.smalldisplay {font-family: inherit; font-size: smaller}
-pre.smallexample {font-size: smaller}
-pre.smallformat {font-family: inherit; font-size: smaller}
-pre.smalllisp {font-size: smaller}
 span.nolinebreak {white-space: nowrap}
 span.roman {font-family: initial; font-weight: normal}
 span.sansserif {font-family: sans-serif; font-weight: normal}
@@ -101,6 +88,9 @@
 /* We put a link to our own home page at the bottom. */
 div.referenceinfo {font-size:small;}
 
+/* So you can style for yourself */
+ at import url("/css/latexreflocal.css");
+
 -->
 </style>
 
@@ -108,8 +98,7 @@
 </head>
 
 <body lang="en">
-<h1 class="settitle" align="center">LaTeX2e unofficial reference manual (October 2018)</h1>
-        
+<h1 class="settitle" align="center">LaTeX2e unofficial reference manual (July 2021)</h1>
 
 
 
@@ -117,429 +106,495 @@
 
 
 
+<div class='intro'> <p>This is an unofficial reference manual for
+LaTeX.  See below for the <a href='#SEC_Overview'>Table of Contents</a>. 
+If you want a tutorial then please instead visit <a
+href="https://www.learnlatex.org/"><code>learnlatex.org</code></a> or <a
+href='https://ctan.org/topic/tut-latex'>this list</a>.</p>
 
-<a name="SEC_Overview"></a>
+<p>This manual has two versions.  One has <a
+href="https://latexref.xyz/">separate web pages for each section or
+subsection</a>.  It's also available as a <a
+href="https://latexref.xyz/dev/latex2e.html">single web page</a> and
+as a <a href="https://latexref.xyz/dev/latex2e.pdf">pdf</a>.</p>
+
+<p> This document is not official.  It has not been reviewed by the
+LaTeX maintainers.  Our goal is to cover all (non-private) LaTeX
+commands.  Your comments and contributions, including bug reports, are
+very welcome.  See <a href='https://latexref.xyz/dev/'>our project
+page</a> for more, including <a
+href='https://latexref.xyz/dev/#license'>license information</a> and
+information on how you can
+<a href='https://latexref.xyz/dev/writing.html'>contribute to this manual</a>
+as well as
+<a href='https://latexref.xyz/dev/mirroring.html'>mirror it</a>.</p>
+<!-- End of opening header -->
+
+
+<span id="SEC_Overview"></span>
 <h2 class="shortcontents-heading">Short Table of Contents</h2>
 
 <div class="shortcontents">
 <ul class="no-bullet">
-<li><a name="stoc-About-this-document-1" href="#toc-About-this-document-1">1 About this document</a></li>
-<li><a name="stoc-Overview-of-LaTeX" href="#toc-Overview-of-LaTeX">2 Overview of LaTeX</a></li>
-<li><a name="stoc-Document-classes-1" href="#toc-Document-classes-1">3 Document classes</a></li>
-<li><a name="stoc-Fonts-1" href="#toc-Fonts-1">4 Fonts</a></li>
-<li><a name="stoc-Layout-1" href="#toc-Layout-1">5 Layout</a></li>
-<li><a name="stoc-Sectioning-1" href="#toc-Sectioning-1">6 Sectioning</a></li>
-<li><a name="stoc-Cross-references-1" href="#toc-Cross-references-1">7 Cross references</a></li>
-<li><a name="stoc-Environments-1" href="#toc-Environments-1">8 Environments</a></li>
-<li><a name="stoc-Line-breaking-1" href="#toc-Line-breaking-1">9 Line breaking</a></li>
-<li><a name="stoc-Page-breaking-1" href="#toc-Page-breaking-1">10 Page breaking</a></li>
-<li><a name="stoc-Footnotes-1" href="#toc-Footnotes-1">11 Footnotes</a></li>
-<li><a name="stoc-Definitions-1" href="#toc-Definitions-1">12 Definitions</a></li>
-<li><a name="stoc-Counters-1" href="#toc-Counters-1">13 Counters</a></li>
-<li><a name="stoc-Lengths-1" href="#toc-Lengths-1">14 Lengths</a></li>
-<li><a name="stoc-Making-paragraphs-1" href="#toc-Making-paragraphs-1">15 Making paragraphs</a></li>
-<li><a name="stoc-Math-formulas-1" href="#toc-Math-formulas-1">16 Math formulas</a></li>
-<li><a name="stoc-Modes-1" href="#toc-Modes-1">17 Modes</a></li>
-<li><a name="stoc-Page-styles-1" href="#toc-Page-styles-1">18 Page styles</a></li>
-<li><a name="stoc-Spaces-1" href="#toc-Spaces-1">19 Spaces</a></li>
-<li><a name="stoc-Boxes-1" href="#toc-Boxes-1">20 Boxes</a></li>
-<li><a name="stoc-Color-1" href="#toc-Color-1">21 Color</a></li>
-<li><a name="stoc-Graphics-1" href="#toc-Graphics-1">22 Graphics</a></li>
-<li><a name="stoc-Special-insertions-1" href="#toc-Special-insertions-1">23 Special insertions</a></li>
-<li><a name="stoc-Splitting-the-input-1" href="#toc-Splitting-the-input-1">24 Splitting the input</a></li>
-<li><a name="stoc-Front_002fback-matter-1" href="#toc-Front_002fback-matter-1">25 Front/back matter</a></li>
-<li><a name="stoc-Letters-1" href="#toc-Letters-1">26 Letters</a></li>
-<li><a name="stoc-Terminal-input_002foutput-1" href="#toc-Terminal-input_002foutput-1">27 Terminal input/output</a></li>
-<li><a name="stoc-Command-line-1" href="#toc-Command-line-1">28 Command line</a></li>
-<li><a name="stoc-Document-templates-1" href="#toc-Document-templates-1">Appendix A Document templates</a></li>
-<li><a name="stoc-Index-1" href="#toc-Index-1">Index</a></li>
+<li><a id="stoc-About-this-document-1" href="#toc-About-this-document-1">1 About this document</a></li>
+<li><a id="stoc-Overview-of-LaTeX" href="#toc-Overview-of-LaTeX">2 Overview of LaTeX</a></li>
+<li><a id="stoc-Document-classes-1" href="#toc-Document-classes-1">3 Document classes</a></li>
+<li><a id="stoc-Fonts-1" href="#toc-Fonts-1">4 Fonts</a></li>
+<li><a id="stoc-Layout-1" href="#toc-Layout-1">5 Layout</a></li>
+<li><a id="stoc-Sectioning-1" href="#toc-Sectioning-1">6 Sectioning</a></li>
+<li><a id="stoc-Cross-references-1" href="#toc-Cross-references-1">7 Cross references</a></li>
+<li><a id="stoc-Environments-1" href="#toc-Environments-1">8 Environments</a></li>
+<li><a id="stoc-Line-breaking-1" href="#toc-Line-breaking-1">9 Line breaking</a></li>
+<li><a id="stoc-Page-breaking-1" href="#toc-Page-breaking-1">10 Page breaking</a></li>
+<li><a id="stoc-Footnotes-1" href="#toc-Footnotes-1">11 Footnotes</a></li>
+<li><a id="stoc-Definitions-1" href="#toc-Definitions-1">12 Definitions</a></li>
+<li><a id="stoc-Counters-1" href="#toc-Counters-1">13 Counters</a></li>
+<li><a id="stoc-Lengths-1" href="#toc-Lengths-1">14 Lengths</a></li>
+<li><a id="stoc-Making-paragraphs-1" href="#toc-Making-paragraphs-1">15 Making paragraphs</a></li>
+<li><a id="stoc-Math-formulas-1" href="#toc-Math-formulas-1">16 Math formulas</a></li>
+<li><a id="stoc-Modes-1" href="#toc-Modes-1">17 Modes</a></li>
+<li><a id="stoc-Page-styles-1" href="#toc-Page-styles-1">18 Page styles</a></li>
+<li><a id="stoc-Spaces-1" href="#toc-Spaces-1">19 Spaces</a></li>
+<li><a id="stoc-Boxes-1" href="#toc-Boxes-1">20 Boxes</a></li>
+<li><a id="stoc-Color-1" href="#toc-Color-1">21 Color</a></li>
+<li><a id="stoc-Graphics-1" href="#toc-Graphics-1">22 Graphics</a></li>
+<li><a id="stoc-Special-insertions-1" href="#toc-Special-insertions-1">23 Special insertions</a></li>
+<li><a id="stoc-Splitting-the-input-1" href="#toc-Splitting-the-input-1">24 Splitting the input</a></li>
+<li><a id="stoc-Front_002fback-matter-1" href="#toc-Front_002fback-matter-1">25 Front/back matter</a></li>
+<li><a id="stoc-Letters-1" href="#toc-Letters-1">26 Letters</a></li>
+<li><a id="stoc-Input_002foutput-1" href="#toc-Input_002foutput-1">27 Input/output</a></li>
+<li><a id="stoc-Command-line-interface-1" href="#toc-Command-line-interface-1">28 Command line interface</a></li>
+<li><a id="stoc-Document-templates-1" href="#toc-Document-templates-1">Appendix A Document templates</a></li>
+<li><a id="stoc-Index-1" href="#toc-Index-1" rel="index">Index</a></li>
 </ul>
 </div>
 
-<a name="SEC_Contents"></a>
+<span id="SEC_Contents"></span>
 <h2 class="contents-heading">Table of Contents</h2>
 
 <div class="contents">
 
 <ul class="no-bullet">
-  <li><a name="toc-About-this-document-1" href="#About-this-document">1 About this document</a></li>
-  <li><a name="toc-Overview-of-LaTeX" href="#Overview">2 Overview of LaTeX</a>
+  <li><a id="toc-About-this-document-1" href="#About-this-document">1 About this document</a></li>
+  <li><a id="toc-Overview-of-LaTeX" href="#Overview">2 Overview of LaTeX</a>
   <ul class="no-bullet">
-    <li><a name="toc-Starting-and-ending-1" href="#Starting-and-ending">2.1 Starting and ending</a></li>
-    <li><a name="toc-Output-files-1" href="#Output-files">2.2 Output files</a></li>
-    <li><a name="toc-TeX-engines-1" href="#TeX-engines">2.3 TeX engines</a></li>
-    <li><a name="toc-LaTeX-command-syntax-1" href="#LaTeX-command-syntax">2.4 LaTeX command syntax</a></li>
-    <li><a name="toc-Environment-1" href="#Environment">2.5 Environment</a></li>
-    <li><a name="toc-CTAN_003a-the-Comprehensive-TeX-Archive-Network" href="#CTAN">2.6 CTAN: the Comprehensive TeX Archive Network</a></li>
+    <li><a id="toc-Starting-and-ending-1" href="#Starting-and-ending">2.1 Starting and ending</a></li>
+    <li><a id="toc-Output-files-1" href="#Output-files">2.2 Output files</a></li>
+    <li><a id="toc-TeX-engines-1" href="#TeX-engines">2.3 TeX engines</a></li>
+    <li><a id="toc-LaTeX-command-syntax-1" href="#LaTeX-command-syntax">2.4 LaTeX command syntax</a></li>
+    <li><a id="toc-Environment-1" href="#Environment">2.5 Environment</a></li>
+    <li><a id="toc-CTAN_003a-The-Comprehensive-TeX-Archive-Network" href="#CTAN">2.6 CTAN: The Comprehensive TeX Archive Network</a></li>
   </ul></li>
-  <li><a name="toc-Document-classes-1" href="#Document-classes">3 Document classes</a>
+  <li><a id="toc-Document-classes-1" href="#Document-classes">3 Document classes</a>
   <ul class="no-bullet">
-    <li><a name="toc-Document-class-options-1" href="#Document-class-options">3.1 Document class options</a></li>
-    <li><a name="toc-Additional-packages-1" href="#Additional-packages">3.2 Additional packages</a></li>
-    <li><a name="toc-Class-and-package-construction-1" href="#Class-and-package-construction">3.3 Class and package construction</a>
+    <li><a id="toc-Document-class-options-1" href="#Document-class-options">3.1 Document class options</a></li>
+    <li><a id="toc-Additional-packages-1" href="#Additional-packages">3.2 Additional packages</a></li>
+    <li><a id="toc-Class-and-package-construction-1" href="#Class-and-package-construction">3.3 Class and package construction</a>
     <ul class="no-bullet">
-      <li><a name="toc-Class-and-package-structure-1" href="#Class-and-package-structure">3.3.1 Class and package structure</a></li>
-      <li><a name="toc-Class-and-package-commands-1" href="#Class-and-package-commands">3.3.2 Class and package commands</a></li>
+      <li><a id="toc-Class-and-package-structure-1" href="#Class-and-package-structure">3.3.1 Class and package structure</a></li>
+      <li><a id="toc-Class-and-package-commands-1" href="#Class-and-package-commands">3.3.2 Class and package commands</a></li>
     </ul></li>
   </ul></li>
-  <li><a name="toc-Fonts-1" href="#Fonts">4 Fonts</a>
+  <li><a id="toc-Fonts-1" href="#Fonts">4 Fonts</a>
   <ul class="no-bullet">
-    <li><a name="toc-Font-styles-1" href="#Font-styles">4.1 Font styles</a></li>
-    <li><a name="toc-Font-sizes-1" href="#Font-sizes">4.2 Font sizes</a></li>
-    <li><a name="toc-Low_002dlevel-font-commands-1" href="#Low_002dlevel-font-commands">4.3 Low-level font commands</a></li>
+    <li><a id="toc-fontenc-package-1" href="#fontenc-package">4.1 <code>fontenc</code> package</a>
+    <ul class="no-bullet">
+      <li><a id="toc-_005cDeclareFontEncoding-1" href="#g_t_005cDeclareFontEncoding">4.1.1 <code>\DeclareFontEncoding</code></a></li>
+      <li><a id="toc-_005cDeclareTextAccent-1" href="#g_t_005cDeclareTextAccent">4.1.2 <code>\DeclareTextAccent</code></a></li>
+      <li><a id="toc-_005cDeclareTextAccentDefault-1" href="#g_t_005cDeclareTextAccentDefault">4.1.3 <code>\DeclareTextAccentDefault</code></a></li>
+      <li><a id="toc-_005cDeclareTextCommand-_0026-_005cProvideTextCommand-1" href="#g_t_005cDeclareTextCommand-_0026-_005cProvideTextCommand">4.1.4 <code>\DeclareTextCommand</code> & <code>\ProvideTextCommand</code></a></li>
+      <li><a id="toc-_005cDeclareTextCommandDefault-_0026-_005cProvideTextCommandDefault-" href="#g_t_005cDeclareTextCommandDefault-_0026-_005cProvideTextCommandDefault">4.1.5 <code>\DeclareTextCommandDefault</code> & <code>\ProvideTextCommandDefault </code></a></li>
+      <li><a id="toc-_005cDeclareTextComposite-1" href="#g_t_005cDeclareTextComposite">4.1.6 <code>\DeclareTextComposite</code></a></li>
+      <li><a id="toc-_005cDeclareTextCompositeCommand-1" href="#g_t_005cDeclareTextCompositeCommand">4.1.7 <code>\DeclareTextCompositeCommand</code></a></li>
+      <li><a id="toc-_005cDeclareTextSymbol-1" href="#g_t_005cDeclareTextSymbol">4.1.8 <code>\DeclareTextSymbol</code></a></li>
+      <li><a id="toc-_005cDeclareTextSymbolDefault-1" href="#g_t_005cDeclareTextSymbolDefault">4.1.9 <code>\DeclareTextSymbolDefault</code></a></li>
+      <li><a id="toc-_005cLastDeclaredEncoding-1" href="#g_t_005cLastDeclaredEncoding">4.1.10 <code>\LastDeclaredEncoding</code></a></li>
+      <li><a id="toc-_005cUseTextSymbol-_0026-_005cUseTextAccent-1" href="#g_t_005cUseTextSymbol-_0026-_005cUseTextAccent">4.1.11 <code>\UseTextSymbol</code> & <code>\UseTextAccent</code></a></li>
+    </ul></li>
+    <li><a id="toc-Font-styles-1" href="#Font-styles">4.2 Font styles</a></li>
+    <li><a id="toc-Font-sizes-1" href="#Font-sizes">4.3 Font sizes</a></li>
+    <li><a id="toc-Low_002dlevel-font-commands-1" href="#Low_002dlevel-font-commands">4.4 Low-level font commands</a></li>
   </ul></li>
-  <li><a name="toc-Layout-1" href="#Layout">5 Layout</a>
+  <li><a id="toc-Layout-1" href="#Layout">5 Layout</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005conecolumn-1" href="#g_t_005conecolumn">5.1 <code>\onecolumn</code></a></li>
-    <li><a name="toc-_005ctwocolumn-1" href="#g_t_005ctwocolumn">5.2 <code>\twocolumn</code></a></li>
-    <li><a name="toc-_005cflushbottom-1" href="#g_t_005cflushbottom">5.3 <code>\flushbottom</code></a></li>
-    <li><a name="toc-_005craggedbottom-1" href="#g_t_005craggedbottom">5.4 <code>\raggedbottom</code></a></li>
-    <li><a name="toc-Page-layout-parameters-1" href="#Page-layout-parameters">5.5 Page layout parameters</a></li>
-    <li><a name="toc-Floats-1" href="#Floats">5.6 Floats</a></li>
+    <li><a id="toc-_005conecolumn-1" href="#g_t_005conecolumn">5.1 <code>\onecolumn</code></a></li>
+    <li><a id="toc-_005ctwocolumn-1" href="#g_t_005ctwocolumn">5.2 <code>\twocolumn</code></a></li>
+    <li><a id="toc-_005cflushbottom-1" href="#g_t_005cflushbottom">5.3 <code>\flushbottom</code></a></li>
+    <li><a id="toc-_005craggedbottom-1" href="#g_t_005craggedbottom">5.4 <code>\raggedbottom</code></a></li>
+    <li><a id="toc-Page-layout-parameters-1" href="#Page-layout-parameters">5.5 Page layout parameters</a></li>
+    <li><a id="toc-_005cbaselineskip-_0026-_005cbaselinestretch-1" href="#g_t_005cbaselineskip-_0026-_005cbaselinestretch">5.6 <code>\baselineskip</code> & <code>\baselinestretch</code></a></li>
+    <li><a id="toc-Floats-1" href="#Floats">5.7 Floats</a></li>
   </ul></li>
-  <li><a name="toc-Sectioning-1" href="#Sectioning">6 Sectioning</a>
+  <li><a id="toc-Sectioning-1" href="#Sectioning">6 Sectioning</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005cpart-1" href="#g_t_005cpart">6.1 <code>\part</code></a></li>
-    <li><a name="toc-_005cchapter-1" href="#g_t_005cchapter">6.2 <code>\chapter</code></a></li>
-    <li><a name="toc-_005csection-1" href="#g_t_005csection">6.3 <code>\section</code></a></li>
-    <li><a name="toc-_005csubsection-1" href="#g_t_005csubsection">6.4 <code>\subsection</code></a></li>
-    <li><a name="toc-_005csubsubsection_002c-_005cparagraph_002c-_005csubparagraph" href="#g_t_005csubsubsection-_0026-_005cparagraph-_0026-_005csubparagraph">6.5 <code>\subsubsection</code>, <code>\paragraph</code>, <code>\subparagraph</code></a></li>
-    <li><a name="toc-_005cappendix-1" href="#g_t_005cappendix">6.6 <code>\appendix</code></a></li>
-    <li><a name="toc-_005cfrontmatter_002c-_005cmainmatter_002c-_005cbackmatter" href="#g_t_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter">6.7 <code>\frontmatter</code>, <code>\mainmatter</code>, <code>\backmatter</code></a></li>
-    <li><a name="toc-_005c_0040startsection-1" href="#g_t_005c_0040startsection">6.8 <code>\@startsection</code></a></li>
+    <li><a id="toc-_005cpart-1" href="#g_t_005cpart">6.1 <code>\part</code></a></li>
+    <li><a id="toc-_005cchapter-1" href="#g_t_005cchapter">6.2 <code>\chapter</code></a></li>
+    <li><a id="toc-_005csection-1" href="#g_t_005csection">6.3 <code>\section</code></a></li>
+    <li><a id="toc-_005csubsection-1" href="#g_t_005csubsection">6.4 <code>\subsection</code></a></li>
+    <li><a id="toc-_005csubsubsection_002c-_005cparagraph_002c-_005csubparagraph" href="#g_t_005csubsubsection-_0026-_005cparagraph-_0026-_005csubparagraph">6.5 <code>\subsubsection</code>, <code>\paragraph</code>, <code>\subparagraph</code></a></li>
+    <li><a id="toc-_005cappendix-1" href="#g_t_005cappendix">6.6 <code>\appendix</code></a></li>
+    <li><a id="toc-_005cfrontmatter_002c-_005cmainmatter_002c-_005cbackmatter" href="#g_t_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter">6.7 <code>\frontmatter</code>, <code>\mainmatter</code>, <code>\backmatter</code></a></li>
+    <li><a id="toc-_005c_0040startsection_002c-typesetting-sectional-unit-headings" href="#g_t_005c_0040startsection">6.8 <code>\@startsection</code>, typesetting sectional unit headings</a></li>
   </ul></li>
-  <li><a name="toc-Cross-references-1" href="#Cross-references">7 Cross references</a>
+  <li><a id="toc-Cross-references-1" href="#Cross-references">7 Cross references</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005clabel-1" href="#g_t_005clabel">7.1 <code>\label</code></a></li>
-    <li><a name="toc-_005cpageref-1" href="#g_t_005cpageref">7.2 <code>\pageref</code></a></li>
-    <li><a name="toc-_005cref-1" href="#g_t_005cref">7.3 <code>\ref</code></a></li>
+    <li><a id="toc-_005clabel-1" href="#g_t_005clabel">7.1 <code>\label</code></a></li>
+    <li><a id="toc-_005cpageref-1" href="#g_t_005cpageref">7.2 <code>\pageref</code></a></li>
+    <li><a id="toc-_005cref-1" href="#g_t_005cref">7.3 <code>\ref</code></a></li>
+    <li><a id="toc-xr-package-1" href="#xr-package">7.4 <code>xr</code> package</a></li>
   </ul></li>
-  <li><a name="toc-Environments-1" href="#Environments">8 Environments</a>
+  <li><a id="toc-Environments-1" href="#Environments">8 Environments</a>
   <ul class="no-bullet">
-    <li><a name="toc-abstract-1" href="#abstract">8.1 <code>abstract</code></a></li>
-    <li><a name="toc-array-1" href="#array">8.2 <code>array</code></a></li>
-    <li><a name="toc-center-1" href="#center">8.3 <code>center</code></a>
+    <li><a id="toc-abstract-1" href="#abstract">8.1 <code>abstract</code></a></li>
+    <li><a id="toc-array-1" href="#array">8.2 <code>array</code></a></li>
+    <li><a id="toc-center-1" href="#center">8.3 <code>center</code></a>
     <ul class="no-bullet">
-      <li><a name="toc-_005ccentering-1" href="#g_t_005ccentering">8.3.1 <code>\centering</code></a></li>
+      <li><a id="toc-_005ccentering-1" href="#g_t_005ccentering">8.3.1 <code>\centering</code></a></li>
     </ul></li>
-    <li><a name="toc-description-1" href="#description">8.4 <code>description</code></a></li>
-    <li><a name="toc-displaymath-1" href="#displaymath">8.5 <code>displaymath</code></a></li>
-    <li><a name="toc-document-1" href="#document">8.6 <code>document</code></a>
+    <li><a id="toc-description-1" href="#description">8.4 <code>description</code></a></li>
+    <li><a id="toc-displaymath-1" href="#displaymath">8.5 <code>displaymath</code></a></li>
+    <li><a id="toc-document-1" href="#document">8.6 <code>document</code></a>
     <ul class="no-bullet">
-      <li><a name="toc-_005cAtBeginDocument-1" href="#g_t_005cAtBeginDocument">8.6.1 <code>\AtBeginDocument</code></a></li>
-      <li><a name="toc-_005cAtEndDocument-1" href="#g_t_005cAtEndDocument">8.6.2 <code>\AtEndDocument</code></a></li>
+      <li><a id="toc-_005cAtBeginDocument-1" href="#g_t_005cAtBeginDocument">8.6.1 <code>\AtBeginDocument</code></a></li>
+      <li><a id="toc-_005cAtEndDocument-1" href="#g_t_005cAtEndDocument">8.6.2 <code>\AtEndDocument</code></a></li>
     </ul></li>
-    <li><a name="toc-enumerate-1" href="#enumerate">8.7 <code>enumerate</code></a></li>
-    <li><a name="toc-eqnarray-1" href="#eqnarray">8.8 <code>eqnarray</code></a></li>
-    <li><a name="toc-equation-1" href="#equation">8.9 <code>equation</code></a></li>
-    <li><a name="toc-figure-1" href="#figure">8.10 <code>figure</code></a></li>
-    <li><a name="toc-filecontents_003a-Write-an-external-file" href="#filecontents">8.11 <code>filecontents</code>: Write an external file</a></li>
-    <li><a name="toc-flushleft-1" href="#flushleft">8.12 <code>flushleft</code></a>
+    <li><a id="toc-enumerate-1" href="#enumerate">8.7 <code>enumerate</code></a></li>
+    <li><a id="toc-eqnarray-1" href="#eqnarray">8.8 <code>eqnarray</code></a></li>
+    <li><a id="toc-equation-1" href="#equation">8.9 <code>equation</code></a></li>
+    <li><a id="toc-figure-1" href="#figure">8.10 <code>figure</code></a></li>
+    <li><a id="toc-filecontents-1" href="#filecontents">8.11 <code>filecontents</code></a></li>
+    <li><a id="toc-flushleft-1" href="#flushleft">8.12 <code>flushleft</code></a>
     <ul class="no-bullet">
-      <li><a name="toc-_005craggedright-1" href="#g_t_005craggedright">8.12.1 <code>\raggedright</code></a></li>
+      <li><a id="toc-_005craggedright-1" href="#g_t_005craggedright">8.12.1 <code>\raggedright</code></a></li>
     </ul></li>
-    <li><a name="toc-flushright-1" href="#flushright">8.13 <code>flushright</code></a>
+    <li><a id="toc-flushright-1" href="#flushright">8.13 <code>flushright</code></a>
     <ul class="no-bullet">
-      <li><a name="toc-_005craggedleft-1" href="#g_t_005craggedleft">8.13.1 <code>\raggedleft</code></a></li>
+      <li><a id="toc-_005craggedleft-1" href="#g_t_005craggedleft">8.13.1 <code>\raggedleft</code></a></li>
     </ul></li>
-    <li><a name="toc-itemize-1" href="#itemize">8.14 <code>itemize</code></a></li>
-    <li><a name="toc-letter-environment_003a-writing-letters" href="#letter">8.15 <code>letter</code> environment: writing letters</a></li>
-    <li><a name="toc-list-1" href="#list">8.16 <code>list</code></a>
+    <li><a id="toc-itemize-1" href="#itemize">8.14 <code>itemize</code></a></li>
+    <li><a id="toc-letter-environment_003a-writing-letters" href="#letter">8.15 <code>letter</code> environment: writing letters</a></li>
+    <li><a id="toc-list-1" href="#list">8.16 <code>list</code></a>
     <ul class="no-bullet">
-      <li><a name="toc-_005citem_003a-An-entry-in-a-list" href="#g_t_005citem">8.16.1 <code>\item</code>: An entry in a list</a></li>
-      <li><a name="toc-trivlist_003a-A-restricted-form-of-list" href="#trivlist">8.16.2 <code>trivlist</code>: A restricted form of <code>list</code></a></li>
+      <li><a id="toc-_005citem_003a-An-entry-in-a-list" href="#g_t_005citem">8.16.1 <code>\item</code>: An entry in a list</a></li>
+      <li><a id="toc-trivlist_003a-A-restricted-form-of-list" href="#trivlist">8.16.2 <code>trivlist</code>: A restricted form of <code>list</code></a></li>
     </ul></li>
-    <li><a name="toc-math-1" href="#math">8.17 <code>math</code></a></li>
-    <li><a name="toc-minipage-1" href="#minipage">8.18 <code>minipage</code></a></li>
-    <li><a name="toc-picture-1" href="#picture">8.19 <code>picture</code></a>
+    <li><a id="toc-math-1" href="#math">8.17 <code>math</code></a></li>
+    <li><a id="toc-minipage-1" href="#minipage">8.18 <code>minipage</code></a></li>
+    <li><a id="toc-picture-1" href="#picture">8.19 <code>picture</code></a>
     <ul class="no-bullet">
-      <li><a name="toc-_005cput-1" href="#g_t_005cput">8.19.1 <code>\put</code></a></li>
-      <li><a name="toc-_005cmultiput-1" href="#g_t_005cmultiput">8.19.2 <code>\multiput</code></a></li>
-      <li><a name="toc-_005cqbezier-1" href="#g_t_005cqbezier">8.19.3 <code>\qbezier</code></a></li>
-      <li><a name="toc-_005cgraphpaper-1" href="#g_t_005cgraphpaper">8.19.4 <code>\graphpaper</code></a></li>
-      <li><a name="toc-_005cline-1" href="#g_t_005cline">8.19.5 <code>\line</code></a></li>
-      <li><a name="toc-_005clinethickness-1" href="#g_t_005clinethickness">8.19.6 <code>\linethickness</code></a></li>
-      <li><a name="toc-_005cthinlines-1" href="#g_t_005cthinlines">8.19.7 <code>\thinlines</code></a></li>
-      <li><a name="toc-_005cthicklines-1" href="#g_t_005cthicklines">8.19.8 <code>\thicklines</code></a></li>
-      <li><a name="toc-_005ccircle-1" href="#g_t_005ccircle">8.19.9 <code>\circle</code></a></li>
-      <li><a name="toc-_005coval-1" href="#g_t_005coval">8.19.10 <code>\oval</code></a></li>
-      <li><a name="toc-_005cshortstack-1" href="#g_t_005cshortstack">8.19.11 <code>\shortstack</code></a></li>
-      <li><a name="toc-_005cvector-1" href="#g_t_005cvector">8.19.12 <code>\vector</code></a></li>
-      <li><a name="toc-_005cmakebox-_0028picture_0029-1" href="#g_t_005cmakebox-_0028picture_0029">8.19.13 <code>\makebox</code> (picture)</a></li>
-      <li><a name="toc-_005cframebox-_0028picture_0029-1" href="#g_t_005cframebox-_0028picture_0029">8.19.14 <code>\framebox</code> (picture)</a></li>
-      <li><a name="toc-_005cframe-1" href="#g_t_005cframe">8.19.15 <code>\frame</code></a></li>
-      <li><a name="toc-_005cdashbox-1" href="#g_t_005cdashbox">8.19.16 <code>\dashbox</code></a></li>
+      <li><a id="toc-_005cput-1" href="#g_t_005cput">8.19.1 <code>\put</code></a></li>
+      <li><a id="toc-_005cmultiput-1" href="#g_t_005cmultiput">8.19.2 <code>\multiput</code></a></li>
+      <li><a id="toc-_005cqbezier-1" href="#g_t_005cqbezier">8.19.3 <code>\qbezier</code></a></li>
+      <li><a id="toc-_005cgraphpaper-1" href="#g_t_005cgraphpaper">8.19.4 <code>\graphpaper</code></a></li>
+      <li><a id="toc-_005cline-1" href="#g_t_005cline">8.19.5 <code>\line</code></a></li>
+      <li><a id="toc-_005clinethickness-1" href="#g_t_005clinethickness">8.19.6 <code>\linethickness</code></a></li>
+      <li><a id="toc-_005cthinlines-1" href="#g_t_005cthinlines">8.19.7 <code>\thinlines</code></a></li>
+      <li><a id="toc-_005cthicklines-1" href="#g_t_005cthicklines">8.19.8 <code>\thicklines</code></a></li>
+      <li><a id="toc-_005ccircle-1" href="#g_t_005ccircle">8.19.9 <code>\circle</code></a></li>
+      <li><a id="toc-_005coval-1" href="#g_t_005coval">8.19.10 <code>\oval</code></a></li>
+      <li><a id="toc-_005cshortstack-1" href="#g_t_005cshortstack">8.19.11 <code>\shortstack</code></a></li>
+      <li><a id="toc-_005cvector-1" href="#g_t_005cvector">8.19.12 <code>\vector</code></a></li>
+      <li><a id="toc-_005cmakebox-_0028picture_0029-1" href="#g_t_005cmakebox-_0028picture_0029">8.19.13 <code>\makebox</code> (picture)</a></li>
+      <li><a id="toc-_005cframebox-_0028picture_0029-1" href="#g_t_005cframebox-_0028picture_0029">8.19.14 <code>\framebox</code> (picture)</a></li>
+      <li><a id="toc-_005cframe-1" href="#g_t_005cframe">8.19.15 <code>\frame</code></a></li>
+      <li><a id="toc-_005cdashbox-1" href="#g_t_005cdashbox">8.19.16 <code>\dashbox</code></a></li>
     </ul></li>
-    <li><a name="toc-quotation-_0026-quote-1" href="#quotation-_0026-quote">8.20 <code>quotation</code> & <code>quote</code></a></li>
-    <li><a name="toc-tabbing-1" href="#tabbing">8.21 <code>tabbing</code></a></li>
-    <li><a name="toc-table-1" href="#table">8.22 <code>table</code></a></li>
-    <li><a name="toc-tabular-1" href="#tabular">8.23 <code>tabular</code></a>
+    <li><a id="toc-quotation-_0026-quote-1" href="#quotation-_0026-quote">8.20 <code>quotation</code> & <code>quote</code></a></li>
+    <li><a id="toc-tabbing-1" href="#tabbing">8.21 <code>tabbing</code></a></li>
+    <li><a id="toc-table-1" href="#table">8.22 <code>table</code></a></li>
+    <li><a id="toc-tabular-1" href="#tabular">8.23 <code>tabular</code></a>
     <ul class="no-bullet">
-      <li><a name="toc-_005cmulticolumn-1" href="#g_t_005cmulticolumn">8.23.1 <code>\multicolumn</code></a></li>
-      <li><a name="toc-_005cvline-1" href="#g_t_005cvline">8.23.2 <code>\vline</code></a></li>
-      <li><a name="toc-_005ccline-1" href="#g_t_005ccline">8.23.3 <code>\cline</code></a></li>
-      <li><a name="toc-_005chline-1" href="#g_t_005chline">8.23.4 <code>\hline</code></a></li>
+      <li><a id="toc-_005cmulticolumn-1" href="#g_t_005cmulticolumn">8.23.1 <code>\multicolumn</code></a></li>
+      <li><a id="toc-_005cvline-1" href="#g_t_005cvline">8.23.2 <code>\vline</code></a></li>
+      <li><a id="toc-_005ccline-1" href="#g_t_005ccline">8.23.3 <code>\cline</code></a></li>
+      <li><a id="toc-_005chline-1" href="#g_t_005chline">8.23.4 <code>\hline</code></a></li>
     </ul></li>
-    <li><a name="toc-thebibliography-1" href="#thebibliography">8.24 <code>thebibliography</code></a>
+    <li><a id="toc-thebibliography-1" href="#thebibliography">8.24 <code>thebibliography</code></a>
     <ul class="no-bullet">
-      <li><a name="toc-_005cbibitem-1" href="#g_t_005cbibitem">8.24.1 <code>\bibitem</code></a></li>
-      <li><a name="toc-_005ccite-1" href="#g_t_005ccite">8.24.2 <code>\cite</code></a></li>
-      <li><a name="toc-_005cnocite-1" href="#g_t_005cnocite">8.24.3 <code>\nocite</code></a></li>
-      <li><a name="toc-Using-BibTeX-1" href="#Using-BibTeX">8.24.4 Using BibTeX</a></li>
+      <li><a id="toc-_005cbibitem-1" href="#g_t_005cbibitem">8.24.1 <code>\bibitem</code></a></li>
+      <li><a id="toc-_005ccite-1" href="#g_t_005ccite">8.24.2 <code>\cite</code></a></li>
+      <li><a id="toc-_005cnocite-1" href="#g_t_005cnocite">8.24.3 <code>\nocite</code></a></li>
+      <li><a id="toc-Using-BibTeX-1" href="#Using-BibTeX">8.24.4 Using BibTeX</a></li>
     </ul></li>
-    <li><a name="toc-theorem-1" href="#theorem">8.25 <code>theorem</code></a></li>
-    <li><a name="toc-titlepage-1" href="#titlepage">8.26 <code>titlepage</code></a></li>
-    <li><a name="toc-verbatim-1" href="#verbatim">8.27 <code>verbatim</code></a>
+    <li><a id="toc-theorem-1" href="#theorem">8.25 <code>theorem</code></a></li>
+    <li><a id="toc-titlepage-1" href="#titlepage">8.26 <code>titlepage</code></a></li>
+    <li><a id="toc-verbatim-1" href="#verbatim">8.27 <code>verbatim</code></a>
     <ul class="no-bullet">
-      <li><a name="toc-_005cverb-1" href="#g_t_005cverb">8.27.1 <code>\verb</code></a></li>
+      <li><a id="toc-_005cverb-1" href="#g_t_005cverb">8.27.1 <code>\verb</code></a></li>
     </ul></li>
-    <li><a name="toc-verse-1" href="#verse">8.28 <code>verse</code></a></li>
+    <li><a id="toc-verse-1" href="#verse">8.28 <code>verse</code></a></li>
   </ul></li>
-  <li><a name="toc-Line-breaking-1" href="#Line-breaking">9 Line breaking</a>
+  <li><a id="toc-Line-breaking-1" href="#Line-breaking">9 Line breaking</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005c_005c-1" href="#g_t_005c_005c">9.1 <code>\\</code></a></li>
-    <li><a name="toc-_005cobeycr-_0026-_005crestorecr-1" href="#g_t_005cobeycr-_0026-_005crestorecr">9.2 <code>\obeycr</code> & <code>\restorecr</code></a></li>
-    <li><a name="toc-_005cnewline-1" href="#g_t_005cnewline">9.3 <code>\newline</code></a></li>
-    <li><a name="toc-_005c_002d-_0028discretionary-hyphen_0029" href="#g_t_005c_002d-_0028hyphenation_0029">9.4 <code>\-</code> (discretionary hyphen)</a></li>
-    <li><a name="toc-_005cdiscretionary-_0028generalized-hyphenation-point_0029" href="#g_t_005cdiscretionary">9.5 <code>\discretionary</code> (generalized hyphenation point)</a></li>
-    <li><a name="toc-_005cfussy-_0026-_005csloppy-1" href="#g_t_005cfussy-_0026-_005csloppy">9.6 <code>\fussy</code> & <code>\sloppy</code></a>
+    <li><a id="toc-_005c_005c-1" href="#g_t_005c_005c">9.1 <code>\\</code></a></li>
+    <li><a id="toc-_005cobeycr-_0026-_005crestorecr-1" href="#g_t_005cobeycr-_0026-_005crestorecr">9.2 <code>\obeycr</code> & <code>\restorecr</code></a></li>
+    <li><a id="toc-_005cnewline-1" href="#g_t_005cnewline">9.3 <code>\newline</code></a></li>
+    <li><a id="toc-_005c_002d-_0028discretionary-hyphen_0029" href="#g_t_005c_002d-_0028hyphenation_0029">9.4 <code>\-</code> (discretionary hyphen)</a></li>
+    <li><a id="toc-_005cdiscretionary-_0028generalized-hyphenation-point_0029" href="#g_t_005cdiscretionary">9.5 <code>\discretionary</code> (generalized hyphenation point)</a></li>
+    <li><a id="toc-_005cfussy-_0026-_005csloppy-1" href="#g_t_005cfussy-_0026-_005csloppy">9.6 <code>\fussy</code> & <code>\sloppy</code></a>
     <ul class="no-bullet">
-      <li><a name="toc-sloppypar-1" href="#sloppypar">9.6.1 <code>sloppypar</code></a></li>
+      <li><a id="toc-sloppypar-1" href="#sloppypar">9.6.1 <code>sloppypar</code></a></li>
     </ul></li>
-    <li><a name="toc-_005chyphenation-1" href="#g_t_005chyphenation">9.7 <code>\hyphenation</code></a></li>
-    <li><a name="toc-_005clinebreak-_0026-_005cnolinebreak-1" href="#g_t_005clinebreak-_0026-_005cnolinebreak">9.8 <code>\linebreak</code> & <code>\nolinebreak</code></a></li>
+    <li><a id="toc-_005chyphenation-1" href="#g_t_005chyphenation">9.7 <code>\hyphenation</code></a></li>
+    <li><a id="toc-_005clinebreak-_0026-_005cnolinebreak-1" href="#g_t_005clinebreak-_0026-_005cnolinebreak">9.8 <code>\linebreak</code> & <code>\nolinebreak</code></a></li>
   </ul></li>
-  <li><a name="toc-Page-breaking-1" href="#Page-breaking">10 Page breaking</a>
+  <li><a id="toc-Page-breaking-1" href="#Page-breaking">10 Page breaking</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005cclearpage-_0026-_005ccleardoublepage-1" href="#g_t_005cclearpage-_0026-_005ccleardoublepage">10.1 <code>\clearpage</code> & <code>\cleardoublepage</code></a></li>
-    <li><a name="toc-_005cnewpage-1" href="#g_t_005cnewpage">10.2 <code>\newpage</code></a></li>
-    <li><a name="toc-_005cenlargethispage-1" href="#g_t_005cenlargethispage">10.3 <code>\enlargethispage</code></a></li>
-    <li><a name="toc-_005cpagebreak-_0026-_005cnopagebreak-1" href="#g_t_005cpagebreak-_0026-_005cnopagebreak">10.4 <code>\pagebreak</code> & <code>\nopagebreak</code></a></li>
+    <li><a id="toc-_005cclearpage-_0026-_005ccleardoublepage-1" href="#g_t_005cclearpage-_0026-_005ccleardoublepage">10.1 <code>\clearpage</code> & <code>\cleardoublepage</code></a></li>
+    <li><a id="toc-_005cnewpage-1" href="#g_t_005cnewpage">10.2 <code>\newpage</code></a></li>
+    <li><a id="toc-_005cenlargethispage-1" href="#g_t_005cenlargethispage">10.3 <code>\enlargethispage</code></a></li>
+    <li><a id="toc-_005cpagebreak-_0026-_005cnopagebreak-1" href="#g_t_005cpagebreak-_0026-_005cnopagebreak">10.4 <code>\pagebreak</code> & <code>\nopagebreak</code></a></li>
   </ul></li>
-  <li><a name="toc-Footnotes-1" href="#Footnotes">11 Footnotes</a>
+  <li><a id="toc-Footnotes-1" href="#Footnotes">11 Footnotes</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005cfootnote-1" href="#g_t_005cfootnote">11.1 <code>\footnote</code></a></li>
-    <li><a name="toc-_005cfootnotemark-1" href="#g_t_005cfootnotemark">11.2 <code>\footnotemark</code></a></li>
-    <li><a name="toc-_005cfootnotetext-1" href="#g_t_005cfootnotetext">11.3 <code>\footnotetext</code></a></li>
-    <li><a name="toc-Footnotes-in-section-headings-1" href="#Footnotes-in-section-headings">11.4 Footnotes in section headings</a></li>
-    <li><a name="toc-Footnotes-in-a-table-1" href="#Footnotes-in-a-table">11.5 Footnotes in a table</a></li>
-    <li><a name="toc-Footnotes-of-footnotes-1" href="#Footnotes-of-footnotes">11.6 Footnotes of footnotes</a></li>
+    <li><a id="toc-_005cfootnote-1" href="#g_t_005cfootnote">11.1 <code>\footnote</code></a></li>
+    <li><a id="toc-_005cfootnotemark-1" href="#g_t_005cfootnotemark">11.2 <code>\footnotemark</code></a></li>
+    <li><a id="toc-_005cfootnotetext-1" href="#g_t_005cfootnotetext">11.3 <code>\footnotetext</code></a></li>
+    <li><a id="toc-Footnotes-in-section-headings-1" href="#Footnotes-in-section-headings">11.4 Footnotes in section headings</a></li>
+    <li><a id="toc-Footnotes-in-a-table-1" href="#Footnotes-in-a-table">11.5 Footnotes in a table</a></li>
+    <li><a id="toc-Footnotes-of-footnotes-1" href="#Footnotes-of-footnotes">11.6 Footnotes of footnotes</a></li>
   </ul></li>
-  <li><a name="toc-Definitions-1" href="#Definitions">12 Definitions</a>
+  <li><a id="toc-Definitions-1" href="#Definitions">12 Definitions</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005cnewcommand-_0026-_005crenewcommand-1" href="#g_t_005cnewcommand-_0026-_005crenewcommand">12.1 <code>\newcommand</code> & <code>\renewcommand</code></a></li>
-    <li><a name="toc-_005cprovidecommand-1" href="#g_t_005cprovidecommand">12.2 <code>\providecommand</code></a></li>
-    <li><a name="toc-_005cmakeatletter-_0026-_005cmakeatother-1" href="#g_t_005cmakeatletter-_0026-_005cmakeatother">12.3 <code>\makeatletter</code> & <code>\makeatother</code></a></li>
-    <li><a name="toc-_005c_0040ifstar-1" href="#g_t_005c_0040ifstar">12.4 <code>\@ifstar</code></a></li>
-    <li><a name="toc-_005cnewcounter_003a-Allocating-a-counter" href="#g_t_005cnewcounter">12.5 <code>\newcounter</code>: Allocating a counter</a></li>
-    <li><a name="toc-_005cnewlength-1" href="#g_t_005cnewlength">12.6 <code>\newlength</code></a></li>
-    <li><a name="toc-_005cnewsavebox-1" href="#g_t_005cnewsavebox">12.7 <code>\newsavebox</code></a></li>
-    <li><a name="toc-_005cnewenvironment-_0026-_005crenewenvironment-1" href="#g_t_005cnewenvironment-_0026-_005crenewenvironment">12.8 <code>\newenvironment</code> & <code>\renewenvironment</code></a></li>
-    <li><a name="toc-_005cnewtheorem-1" href="#g_t_005cnewtheorem">12.9 <code>\newtheorem</code></a></li>
-    <li><a name="toc-_005cnewfont-1" href="#g_t_005cnewfont">12.10 <code>\newfont</code></a></li>
-    <li><a name="toc-_005cprotect-1" href="#g_t_005cprotect">12.11 <code>\protect</code></a></li>
-    <li><a name="toc-_005cignorespaces-_0026-_005cignorespacesafterend-1" href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend">12.12 <code>\ignorespaces & \ignorespacesafterend</code></a></li>
+    <li><a id="toc-_005cnewcommand-_0026-_005crenewcommand-1" href="#g_t_005cnewcommand-_0026-_005crenewcommand">12.1 <code>\newcommand</code> & <code>\renewcommand</code></a></li>
+    <li><a id="toc-_005cprovidecommand-1" href="#g_t_005cprovidecommand">12.2 <code>\providecommand</code></a></li>
+    <li><a id="toc-_005cmakeatletter-_0026-_005cmakeatother-1" href="#g_t_005cmakeatletter-_0026-_005cmakeatother">12.3 <code>\makeatletter</code> & <code>\makeatother</code></a></li>
+    <li><a id="toc-_005c_0040ifstar-1" href="#g_t_005c_0040ifstar">12.4 <code>\@ifstar</code></a></li>
+    <li><a id="toc-_005cnewcounter_003a-Allocating-a-counter" href="#g_t_005cnewcounter">12.5 <code>\newcounter</code>: Allocating a counter</a></li>
+    <li><a id="toc-_005cnewlength-1" href="#g_t_005cnewlength">12.6 <code>\newlength</code></a></li>
+    <li><a id="toc-_005cnewsavebox-1" href="#g_t_005cnewsavebox">12.7 <code>\newsavebox</code></a></li>
+    <li><a id="toc-_005cnewenvironment-_0026-_005crenewenvironment-1" href="#g_t_005cnewenvironment-_0026-_005crenewenvironment">12.8 <code>\newenvironment</code> & <code>\renewenvironment</code></a></li>
+    <li><a id="toc-_005cnewtheorem-1" href="#g_t_005cnewtheorem">12.9 <code>\newtheorem</code></a></li>
+    <li><a id="toc-_005cnewfont-1" href="#g_t_005cnewfont">12.10 <code>\newfont</code></a></li>
+    <li><a id="toc-_005cprotect-1" href="#g_t_005cprotect">12.11 <code>\protect</code></a></li>
+    <li><a id="toc-_005cignorespaces-_0026-_005cignorespacesafterend-1" href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend">12.12 <code>\ignorespaces & \ignorespacesafterend</code></a></li>
+    <li><a id="toc-xspace-package-1" href="#xspace-package">12.13 xspace package</a></li>
   </ul></li>
-  <li><a name="toc-Counters-1" href="#Counters">13 Counters</a>
+  <li><a id="toc-Counters-1" href="#Counters">13 Counters</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol_003a-Printing-counters" href="#g_t_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">13.1 <code>\alph \Alph \arabic \roman \Roman \fnsymbol</code>: Printing counters</a></li>
-    <li><a name="toc-_005cusecounter-1" href="#g_t_005cusecounter">13.2 <code>\usecounter</code></a></li>
-    <li><a name="toc-_005cvalue-1" href="#g_t_005cvalue">13.3 <code>\value</code></a></li>
-    <li><a name="toc-_005csetcounter-1" href="#g_t_005csetcounter">13.4 <code>\setcounter</code></a></li>
-    <li><a name="toc-_005caddtocounter-1" href="#g_t_005caddtocounter">13.5 <code>\addtocounter</code></a></li>
-    <li><a name="toc-_005crefstepcounter-1" href="#g_t_005crefstepcounter">13.6 <code>\refstepcounter</code></a></li>
-    <li><a name="toc-_005cstepcounter-1" href="#g_t_005cstepcounter">13.7 <code>\stepcounter</code></a></li>
-    <li><a name="toc-_005cday-_0026-_005cmonth-_0026-_005cyear-1" href="#g_t_005cday-_0026-_005cmonth-_0026-_005cyear">13.8 <code>\day</code> & <code>\month</code> & <code>\year</code></a></li>
+    <li><a id="toc-_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol_003a-Printing-counters" href="#g_t_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">13.1 <code>\alph \Alph \arabic \roman \Roman \fnsymbol</code>: Printing counters</a></li>
+    <li><a id="toc-_005cusecounter-1" href="#g_t_005cusecounter">13.2 <code>\usecounter</code></a></li>
+    <li><a id="toc-_005cvalue-1" href="#g_t_005cvalue">13.3 <code>\value</code></a></li>
+    <li><a id="toc-_005csetcounter-1" href="#g_t_005csetcounter">13.4 <code>\setcounter</code></a></li>
+    <li><a id="toc-_005caddtocounter-1" href="#g_t_005caddtocounter">13.5 <code>\addtocounter</code></a></li>
+    <li><a id="toc-_005crefstepcounter-1" href="#g_t_005crefstepcounter">13.6 <code>\refstepcounter</code></a></li>
+    <li><a id="toc-_005cstepcounter-1" href="#g_t_005cstepcounter">13.7 <code>\stepcounter</code></a></li>
+    <li><a id="toc-_005cday-_0026-_005cmonth-_0026-_005cyear-1" href="#g_t_005cday-_0026-_005cmonth-_0026-_005cyear">13.8 <code>\day</code> & <code>\month</code> & <code>\year</code></a></li>
   </ul></li>
-  <li><a name="toc-Lengths-1" href="#Lengths">14 Lengths</a>
+  <li><a id="toc-Lengths-1" href="#Lengths">14 Lengths</a>
   <ul class="no-bullet">
-    <li><a name="toc-Units-of-length-1" href="#Units-of-length">14.1 Units of length</a></li>
-    <li><a name="toc-_005csetlength-1" href="#g_t_005csetlength">14.2 <code>\setlength</code></a></li>
-    <li><a name="toc-_005caddtolength-1" href="#g_t_005caddtolength">14.3 <code>\addtolength</code></a></li>
-    <li><a name="toc-_005csettodepth-1" href="#g_t_005csettodepth">14.4 <code>\settodepth</code></a></li>
-    <li><a name="toc-_005csettoheight-1" href="#g_t_005csettoheight">14.5 <code>\settoheight</code></a></li>
-    <li><a name="toc-_005csettowidth-1" href="#g_t_005csettowidth">14.6 <code>\settowidth</code></a></li>
+    <li><a id="toc-Units-of-length-1" href="#Units-of-length">14.1 Units of length</a></li>
+    <li><a id="toc-_005csetlength-1" href="#g_t_005csetlength">14.2 <code>\setlength</code></a></li>
+    <li><a id="toc-_005caddtolength-1" href="#g_t_005caddtolength">14.3 <code>\addtolength</code></a></li>
+    <li><a id="toc-_005csettodepth-1" href="#g_t_005csettodepth">14.4 <code>\settodepth</code></a></li>
+    <li><a id="toc-_005csettoheight-1" href="#g_t_005csettoheight">14.5 <code>\settoheight</code></a></li>
+    <li><a id="toc-_005csettowidth-1" href="#g_t_005csettowidth">14.6 <code>\settowidth</code></a></li>
+    <li><a id="toc-_005cstretch-1" href="#g_t_005cstretch">14.7 <code>\stretch</code></a></li>
+    <li><a id="toc-Expressions-1" href="#Expressions">14.8 Expressions</a></li>
   </ul></li>
-  <li><a name="toc-Making-paragraphs-1" href="#Making-paragraphs">15 Making paragraphs</a>
+  <li><a id="toc-Making-paragraphs-1" href="#Making-paragraphs">15 Making paragraphs</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005cpar-1" href="#g_t_005cpar">15.1 <code>\par</code></a></li>
-    <li><a name="toc-_005cindent-_0026-_005cnoindent-1" href="#g_t_005cindent-_0026-_005cnoindent">15.2 <code>\indent</code> & <code>\noindent</code></a></li>
-    <li><a name="toc-_005cparindent-_0026-_005cparskip-1" href="#g_t_005cparindent-_0026-_005cparskip">15.3 <code>\parindent</code> & <code>\parskip</code></a></li>
-    <li><a name="toc-Marginal-notes-1" href="#Marginal-notes">15.4 Marginal notes</a></li>
+    <li><a id="toc-_005cpar-1" href="#g_t_005cpar">15.1 <code>\par</code></a></li>
+    <li><a id="toc-_005cindent-_0026-_005cnoindent-1" href="#g_t_005cindent-_0026-_005cnoindent">15.2 <code>\indent</code> & <code>\noindent</code></a></li>
+    <li><a id="toc-_005cparindent-_0026-_005cparskip-1" href="#g_t_005cparindent-_0026-_005cparskip">15.3 <code>\parindent</code> & <code>\parskip</code></a></li>
+    <li><a id="toc-Marginal-notes-1" href="#Marginal-notes">15.4 Marginal notes</a></li>
   </ul></li>
-  <li><a name="toc-Math-formulas-1" href="#Math-formulas">16 Math formulas</a>
+  <li><a id="toc-Math-formulas-1" href="#Math-formulas">16 Math formulas</a>
   <ul class="no-bullet">
-    <li><a name="toc-Subscripts-_0026-superscripts-1" href="#Subscripts-_0026-superscripts">16.1 Subscripts & superscripts</a></li>
-    <li><a name="toc-Math-symbols-1" href="#Math-symbols">16.2 Math symbols</a>
+    <li><a id="toc-Subscripts-_0026-superscripts-1" href="#Subscripts-_0026-superscripts">16.1 Subscripts & superscripts</a></li>
+    <li><a id="toc-Math-symbols-1" href="#Math-symbols">16.2 Math symbols</a>
     <ul class="no-bullet">
-      <li><a name="toc-Blackboard-bold-1" href="#Blackboard-bold">16.2.1 Blackboard bold</a></li>
-      <li><a name="toc-Calligraphic-1" href="#Calligraphic">16.2.2 Calligraphic</a></li>
-      <li><a name="toc-_005cboldmath-_0026-_005cunboldmath-1" href="#g_t_005cboldmath-_0026-_005cunboldmath">16.2.3 <code>\boldmath</code> & <code>\unboldmath</code></a></li>
-      <li><a name="toc-Dots_002c-horizontal-or-vertical" href="#Dots">16.2.4 Dots, horizontal or vertical</a></li>
+      <li><a id="toc-Arrows-1" href="#Arrows">16.2.1 Arrows</a></li>
+      <li><a id="toc-_005cboldmath-_0026-_005cunboldmath-1" href="#g_t_005cboldmath-_0026-_005cunboldmath">16.2.2 <code>\boldmath</code> & <code>\unboldmath</code></a></li>
+      <li><a id="toc-Blackboard-bold-1" href="#Blackboard-bold">16.2.3 Blackboard bold</a></li>
+      <li><a id="toc-Calligraphic-1" href="#Calligraphic">16.2.4 Calligraphic</a></li>
+      <li><a id="toc-Delimiters-1" href="#Delimiters">16.2.5 Delimiters</a>
+      <ul class="no-bullet">
+        <li><a id="toc-_005cleft-_0026-_005cright-1" href="#g_t_005cleft-_0026-_005cright">16.2.5.1 <code>\left</code> & <code>\right</code></a></li>
+        <li><a id="toc-_005cbigl_002c-_005cbigr_002c-etc_002e" href="#g_t_005cbigl-_0026-_005cbigr-etc_002e">16.2.5.2 <code>\bigl</code>, <code>\bigr</code>, etc.</a></li>
+      </ul></li>
+      <li><a id="toc-Dots_002c-horizontal-or-vertical" href="#Dots">16.2.6 Dots, horizontal or vertical</a></li>
+      <li><a id="toc-Greek-letters-1" href="#Greek-letters">16.2.7 Greek letters</a></li>
     </ul></li>
-    <li><a name="toc-Math-functions-1" href="#Math-functions">16.3 Math functions</a></li>
-    <li><a name="toc-Math-accents-1" href="#Math-accents">16.4 Math accents</a></li>
-    <li><a name="toc-Over_002d-and-Underlining-1" href="#Over_002d-and-Underlining">16.5 Over- and Underlining</a></li>
-    <li><a name="toc-Spacing-in-math-mode-1" href="#Spacing-in-math-mode">16.6 Spacing in math mode</a>
+    <li><a id="toc-Math-functions-1" href="#Math-functions">16.3 Math functions</a></li>
+    <li><a id="toc-Math-accents-1" href="#Math-accents">16.4 Math accents</a></li>
+    <li><a id="toc-Over_002d-and-Underlining-1" href="#Over_002d-and-Underlining">16.5 Over- and Underlining</a></li>
+    <li><a id="toc-Spacing-in-math-mode-1" href="#Spacing-in-math-mode">16.6 Spacing in math mode</a>
     <ul class="no-bullet">
-      <li><a name="toc-_005csmash-1" href="#g_t_005csmash">16.6.1 <code>\smash</code></a></li>
-      <li><a name="toc-_005cphantom-_0026-_005cvphantom-_0026-_005chphantom-1" href="#g_t_005cphantom-_0026-_005cvphantom-_0026-_005chphantom">16.6.2 <code>\phantom</code> & <code>\vphantom</code> & <code>\hphantom</code></a></li>
+      <li><a id="toc-_005csmash-1" href="#g_t_005csmash">16.6.1 <code>\smash</code></a></li>
+      <li><a id="toc-_005cphantom-_0026-_005cvphantom-_0026-_005chphantom-1" href="#g_t_005cphantom-_0026-_005cvphantom-_0026-_005chphantom">16.6.2 <code>\phantom</code> & <code>\vphantom</code> & <code>\hphantom</code></a></li>
+      <li><a id="toc-_005cmathstrut-1" href="#g_t_005cmathstrut">16.6.3 <code>\mathstrut</code></a></li>
     </ul></li>
-    <li><a name="toc-Math-miscellany-1" href="#Math-miscellany">16.7 Math miscellany</a>
+    <li><a id="toc-Math-miscellany-1" href="#Math-miscellany">16.7 Math miscellany</a>
     <ul class="no-bullet">
-      <li><a name="toc-Colon-character-_003a-_0026-_005ccolon" href="#Colon-character-_0026-_005ccolon">16.7.1 Colon character <code>:</code> & <code>\colon</code></a></li>
-      <li><a name="toc-_005c_002a-1" href="#g_t_005c_002a">16.7.2 <code>\*</code></a></li>
-      <li><a name="toc-_005cfrac-1" href="#g_t_005cfrac">16.7.3 <code>\frac</code></a></li>
-      <li><a name="toc-_005cleft-_0026-_005cright-1" href="#g_t_005cleft-_0026-_005cright">16.7.4 <code>\left</code> & <code>\right</code></a></li>
-      <li><a name="toc-_005csqrt-1" href="#g_t_005csqrt">16.7.5 <code>\sqrt</code></a></li>
-      <li><a name="toc-_005cstackrel-1" href="#g_t_005cstackrel">16.7.6 <code>\stackrel</code></a></li>
+      <li><a id="toc-Colon-character-_003a-_0026-_005ccolon" href="#Colon-character-_0026-_005ccolon">16.7.1 Colon character <code>:</code> & <code>\colon</code></a></li>
+      <li><a id="toc-_005c_002a-1" href="#g_t_005c_002a">16.7.2 <code>\*</code></a></li>
+      <li><a id="toc-_005cfrac-1" href="#g_t_005cfrac">16.7.3 <code>\frac</code></a></li>
+      <li><a id="toc-_005csqrt-1" href="#g_t_005csqrt">16.7.4 <code>\sqrt</code></a></li>
+      <li><a id="toc-_005cstackrel-1" href="#g_t_005cstackrel">16.7.5 <code>\stackrel</code></a></li>
     </ul></li>
   </ul></li>
-  <li><a name="toc-Modes-1" href="#Modes">17 Modes</a>
+  <li><a id="toc-Modes-1" href="#Modes">17 Modes</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005censuremath-1" href="#g_t_005censuremath">17.1 <code>\ensuremath</code></a></li>
+    <li><a id="toc-_005censuremath-1" href="#g_t_005censuremath">17.1 <code>\ensuremath</code></a></li>
   </ul></li>
-  <li><a name="toc-Page-styles-1" href="#Page-styles">18 Page styles</a>
+  <li><a id="toc-Page-styles-1" href="#Page-styles">18 Page styles</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005cmaketitle-1" href="#g_t_005cmaketitle">18.1 <code>\maketitle</code></a></li>
-    <li><a name="toc-_005cpagenumbering-1" href="#g_t_005cpagenumbering">18.2 <code>\pagenumbering</code></a></li>
-    <li><a name="toc-_005cpagestyle-1" href="#g_t_005cpagestyle">18.3 <code>\pagestyle</code></a></li>
-    <li><a name="toc-_005cthispagestyle-1" href="#g_t_005cthispagestyle">18.4 <code>\thispagestyle</code></a></li>
+    <li><a id="toc-_005cmaketitle-1" href="#g_t_005cmaketitle">18.1 <code>\maketitle</code></a></li>
+    <li><a id="toc-_005cpagenumbering-1" href="#g_t_005cpagenumbering">18.2 <code>\pagenumbering</code></a></li>
+    <li><a id="toc-_005cpagestyle-1" href="#g_t_005cpagestyle">18.3 <code>\pagestyle</code></a></li>
+    <li><a id="toc-_005cthispagestyle-1" href="#g_t_005cthispagestyle">18.4 <code>\thispagestyle</code></a></li>
   </ul></li>
-  <li><a name="toc-Spaces-1" href="#Spaces">19 Spaces</a>
+  <li><a id="toc-Spaces-1" href="#Spaces">19 Spaces</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005censpace-_0026-_005cquad-_0026-_005cqquad-1" href="#g_t_005censpace-_0026-_005cquad-_0026-_005cqquad">19.1 <code>\enspace</code> & <code>\quad</code> & <code>\qquad</code></a></li>
-    <li><a name="toc-_005chspace-1" href="#g_t_005chspace">19.2 <code>\hspace</code></a></li>
-    <li><a name="toc-_005chfill-1" href="#g_t_005chfill">19.3 <code>\hfill</code></a></li>
-    <li><a name="toc-_005chss-1" href="#g_t_005chss">19.4 <code>\hss</code></a></li>
-    <li><a name="toc-_005cspacefactor-1" href="#g_t_005cspacefactor">19.5 <code>\spacefactor</code></a>
+    <li><a id="toc-_005censpace-_0026-_005cquad-_0026-_005cqquad-1" href="#g_t_005censpace-_0026-_005cquad-_0026-_005cqquad">19.1 <code>\enspace</code> & <code>\quad</code> & <code>\qquad</code></a></li>
+    <li><a id="toc-_005chspace-1" href="#g_t_005chspace">19.2 <code>\hspace</code></a></li>
+    <li><a id="toc-_005chfill-1" href="#g_t_005chfill">19.3 <code>\hfill</code></a></li>
+    <li><a id="toc-_005chss-1" href="#g_t_005chss">19.4 <code>\hss</code></a></li>
+    <li><a id="toc-_005cspacefactor-1" href="#g_t_005cspacefactor">19.5 <code>\spacefactor</code></a>
     <ul class="no-bullet">
-      <li><a name="toc-_005c_0040-1" href="#g_t_005c_0040">19.5.1 <code>\@</code></a></li>
-      <li><a name="toc-_005cfrenchspacing-1" href="#g_t_005cfrenchspacing">19.5.2 <code>\frenchspacing</code></a></li>
-      <li><a name="toc-_005cnormalsfcodes-1" href="#g_t_005cnormalsfcodes">19.5.3 <code>\normalsfcodes</code></a></li>
+      <li><a id="toc-_005c_0040-1" href="#g_t_005c_0040">19.5.1 <code>\@</code></a></li>
+      <li><a id="toc-_005cfrenchspacing-1" href="#g_t_005cfrenchspacing">19.5.2 <code>\frenchspacing</code></a></li>
+      <li><a id="toc-_005cnormalsfcodes-1" href="#g_t_005cnormalsfcodes">19.5.3 <code>\normalsfcodes</code></a></li>
     </ul></li>
-    <li><a name="toc-Backslash_002dspace_002c-_005c-" href="#g_t_005c_0028SPACE_0029">19.6 Backslash-space, <code>\ </code></a></li>
-    <li><a name="toc-_007e-1" href="#g_t_007e">19.7 <code>~</code></a></li>
-    <li><a name="toc-_005cthinspace-_0026-_005cnegthinspace-1" href="#g_t_005cthinspace-_0026-_005cnegthinspace">19.8 <code>\thinspace</code> & <code>\negthinspace</code></a></li>
-    <li><a name="toc-_005c_002f-1" href="#g_t_005c_002f">19.9 <code>\/</code></a></li>
-    <li><a name="toc-_005chrulefill-_0026-_005cdotfill-1" href="#g_t_005chrulefill-_0026-_005cdotfill">19.10 <code>\hrulefill</code> & <code>\dotfill</code></a></li>
-    <li><a name="toc-_005cbigskip-_0026-_005cmedskip-_0026-_005csmallskip-1" href="#g_t_005cbigskip-_0026-_005cmedskip-_0026-_005csmallskip">19.11 <code>\bigskip</code> & <code>\medskip</code> & <code>\smallskip</code></a></li>
-    <li><a name="toc-_005cbigbreak-_0026-_005cmedbreak-_0026-_005csmallbreak-1" href="#g_t_005cbigbreak-_0026-_005cmedbreak-_0026-_005csmallbreak">19.12 <code>\bigbreak</code> & <code>\medbreak</code> & <code>\smallbreak</code></a></li>
-    <li><a name="toc-_005cstrut-1" href="#g_t_005cstrut">19.13 <code>\strut</code></a></li>
-    <li><a name="toc-_005cvspace-1" href="#g_t_005cvspace">19.14 <code>\vspace</code></a></li>
-    <li><a name="toc-_005cvfill-1" href="#g_t_005cvfill">19.15 <code>\vfill</code></a></li>
-    <li><a name="toc-_005caddvspace-1" href="#g_t_005caddvspace">19.16 <code>\addvspace</code></a></li>
+    <li><a id="toc-Backslash_002dspace_002c-_005c-" href="#g_t_005c_0028SPACE_0029">19.6 Backslash-space, <code>\ </code></a></li>
+    <li><a id="toc-_007e-1" href="#g_t_007e">19.7 <code>~</code></a></li>
+    <li><a id="toc-_005cthinspace-_0026-_005cnegthinspace-1" href="#g_t_005cthinspace-_0026-_005cnegthinspace">19.8 <code>\thinspace</code> & <code>\negthinspace</code></a></li>
+    <li><a id="toc-_005c_002f-1" href="#g_t_005c_002f">19.9 <code>\/</code></a></li>
+    <li><a id="toc-_005chrulefill-_0026-_005cdotfill-1" href="#g_t_005chrulefill-_0026-_005cdotfill">19.10 <code>\hrulefill</code> & <code>\dotfill</code></a></li>
+    <li><a id="toc-_005cbigskip-_0026-_005cmedskip-_0026-_005csmallskip-1" href="#g_t_005cbigskip-_0026-_005cmedskip-_0026-_005csmallskip">19.11 <code>\bigskip</code> & <code>\medskip</code> & <code>\smallskip</code></a></li>
+    <li><a id="toc-_005cbigbreak-_0026-_005cmedbreak-_0026-_005csmallbreak-1" href="#g_t_005cbigbreak-_0026-_005cmedbreak-_0026-_005csmallbreak">19.12 <code>\bigbreak</code> & <code>\medbreak</code> & <code>\smallbreak</code></a></li>
+    <li><a id="toc-_005cstrut-1" href="#g_t_005cstrut">19.13 <code>\strut</code></a></li>
+    <li><a id="toc-_005cvspace-1" href="#g_t_005cvspace">19.14 <code>\vspace</code></a></li>
+    <li><a id="toc-_005cvfill-1" href="#g_t_005cvfill">19.15 <code>\vfill</code></a></li>
+    <li><a id="toc-_005caddvspace-1" href="#g_t_005caddvspace">19.16 <code>\addvspace</code></a></li>
   </ul></li>
-  <li><a name="toc-Boxes-1" href="#Boxes">20 Boxes</a>
+  <li><a id="toc-Boxes-1" href="#Boxes">20 Boxes</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005cmbox-_0026-_005cmakebox-1" href="#g_t_005cmbox-_0026-_005cmakebox">20.1 <code>\mbox</code> & <code>\makebox</code></a></li>
-    <li><a name="toc-_005cfbox-_0026-_005cframebox-1" href="#g_t_005cfbox-_0026-_005cframebox">20.2 <code>\fbox</code> & <code>\framebox</code></a></li>
-    <li><a name="toc-_005cparbox-1" href="#g_t_005cparbox">20.3 <code>\parbox</code></a></li>
-    <li><a name="toc-_005craisebox-1" href="#g_t_005craisebox">20.4 <code>\raisebox</code></a></li>
-    <li><a name="toc-_005csbox-_0026-_005csavebox-1" href="#g_t_005csbox-_0026-_005csavebox">20.5 <code>\sbox</code> & <code>\savebox</code></a></li>
-    <li><a name="toc-lrbox-1" href="#lrbox">20.6 <code>lrbox</code></a></li>
-    <li><a name="toc-_005cusebox-1" href="#g_t_005cusebox">20.7 <code>\usebox</code></a></li>
+    <li><a id="toc-_005cmbox-_0026-_005cmakebox-1" href="#g_t_005cmbox-_0026-_005cmakebox">20.1 <code>\mbox</code> & <code>\makebox</code></a></li>
+    <li><a id="toc-_005cfbox-_0026-_005cframebox-1" href="#g_t_005cfbox-_0026-_005cframebox">20.2 <code>\fbox</code> & <code>\framebox</code></a></li>
+    <li><a id="toc-_005cparbox-1" href="#g_t_005cparbox">20.3 <code>\parbox</code></a></li>
+    <li><a id="toc-_005craisebox-1" href="#g_t_005craisebox">20.4 <code>\raisebox</code></a></li>
+    <li><a id="toc-_005csbox-_0026-_005csavebox-1" href="#g_t_005csbox-_0026-_005csavebox">20.5 <code>\sbox</code> & <code>\savebox</code></a></li>
+    <li><a id="toc-lrbox-1" href="#lrbox">20.6 <code>lrbox</code></a></li>
+    <li><a id="toc-_005cusebox-1" href="#g_t_005cusebox">20.7 <code>\usebox</code></a></li>
   </ul></li>
-  <li><a name="toc-Color-1" href="#Color">21 Color</a>
+  <li><a id="toc-Color-1" href="#Color">21 Color</a>
   <ul class="no-bullet">
-    <li><a name="toc-color-package-options" href="#Color-package-options">21.1 <code>color</code> package options</a></li>
-    <li><a name="toc-Color-models-1" href="#Color-models">21.2 Color models</a></li>
-    <li><a name="toc-Commands-for-color-1" href="#Commands-for-color">21.3 Commands for color</a>
+    <li><a id="toc-color-package-options" href="#Color-package-options">21.1 <code>color</code> package options</a></li>
+    <li><a id="toc-Color-models-1" href="#Color-models">21.2 Color models</a></li>
+    <li><a id="toc-Commands-for-color-1" href="#Commands-for-color">21.3 Commands for color</a>
     <ul class="no-bullet">
-      <li><a name="toc-Define-colors-1" href="#Define-colors">21.3.1 Define colors</a></li>
-      <li><a name="toc-Colored-text-1" href="#Colored-text">21.3.2 Colored text</a></li>
-      <li><a name="toc-Colored-boxes-1" href="#Colored-boxes">21.3.3 Colored boxes</a></li>
-      <li><a name="toc-Colored-pages-1" href="#Colored-pages">21.3.4 Colored pages</a></li>
+      <li><a id="toc-Define-colors-1" href="#Define-colors">21.3.1 Define colors</a></li>
+      <li><a id="toc-Colored-text-1" href="#Colored-text">21.3.2 Colored text</a></li>
+      <li><a id="toc-Colored-boxes-1" href="#Colored-boxes">21.3.3 Colored boxes</a></li>
+      <li><a id="toc-Colored-pages-1" href="#Colored-pages">21.3.4 Colored pages</a></li>
     </ul></li>
   </ul></li>
-  <li><a name="toc-Graphics-1" href="#Graphics">22 Graphics</a>
+  <li><a id="toc-Graphics-1" href="#Graphics">22 Graphics</a>
   <ul class="no-bullet">
-    <li><a name="toc-graphics-package-options" href="#Graphics-package-options">22.1 <code>graphics</code> package options</a></li>
-    <li><a name="toc-graphics-package-configuration" href="#Graphics-package-configuration">22.2 <code>graphics</code> package configuration</a>
+    <li><a id="toc-graphics-package-options" href="#Graphics-package-options">22.1 <code>graphics</code> package options</a></li>
+    <li><a id="toc-graphics-package-configuration" href="#Graphics-package-configuration">22.2 <code>graphics</code> package configuration</a>
     <ul class="no-bullet">
-      <li><a name="toc-_005cgraphicspath-1" href="#g_t_005cgraphicspath">22.2.1 <code>\graphicspath</code></a></li>
-      <li><a name="toc-_005cDeclareGraphicsExtensions-1" href="#g_t_005cDeclareGraphicsExtensions">22.2.2 <code>\DeclareGraphicsExtensions</code></a></li>
-      <li><a name="toc-_005cDeclareGraphicsRule-1" href="#g_t_005cDeclareGraphicsRule">22.2.3 <code>\DeclareGraphicsRule</code></a></li>
+      <li><a id="toc-_005cgraphicspath-1" href="#g_t_005cgraphicspath">22.2.1 <code>\graphicspath</code></a></li>
+      <li><a id="toc-_005cDeclareGraphicsExtensions-1" href="#g_t_005cDeclareGraphicsExtensions">22.2.2 <code>\DeclareGraphicsExtensions</code></a></li>
+      <li><a id="toc-_005cDeclareGraphicsRule-1" href="#g_t_005cDeclareGraphicsRule">22.2.3 <code>\DeclareGraphicsRule</code></a></li>
     </ul></li>
-    <li><a name="toc-Commands-for-graphics-1" href="#Commands-for-graphics">22.3 Commands for graphics</a>
+    <li><a id="toc-Commands-for-graphics-1" href="#Commands-for-graphics">22.3 Commands for graphics</a>
     <ul class="no-bullet">
-      <li><a name="toc-_005cincludegraphics-1" href="#g_t_005cincludegraphics">22.3.1 <code>\includegraphics</code></a></li>
-      <li><a name="toc-_005crotatebox-1" href="#g_t_005crotatebox">22.3.2 <code>\rotatebox</code></a></li>
-      <li><a name="toc-_005cscalebox-1" href="#g_t_005cscalebox">22.3.3 <code>\scalebox</code></a></li>
-      <li><a name="toc-_005cresizebox-1" href="#g_t_005cresizebox">22.3.4 <code>\resizebox</code></a></li>
+      <li><a id="toc-_005cincludegraphics-1" href="#g_t_005cincludegraphics">22.3.1 <code>\includegraphics</code></a></li>
+      <li><a id="toc-_005crotatebox-1" href="#g_t_005crotatebox">22.3.2 <code>\rotatebox</code></a></li>
+      <li><a id="toc-_005cscalebox-1" href="#g_t_005cscalebox">22.3.3 <code>\scalebox</code></a></li>
+      <li><a id="toc-_005cresizebox-1" href="#g_t_005cresizebox">22.3.4 <code>\resizebox</code></a></li>
     </ul></li>
   </ul></li>
-  <li><a name="toc-Special-insertions-1" href="#Special-insertions">23 Special insertions</a>
+  <li><a id="toc-Special-insertions-1" href="#Special-insertions">23 Special insertions</a>
   <ul class="no-bullet">
-    <li><a name="toc-Reserved-characters-1" href="#Reserved-characters">23.1 Reserved characters</a></li>
-    <li><a name="toc-Upper-and-lower-case-1" href="#Upper-and-lower-case">23.2 Upper and lower case</a></li>
-    <li><a name="toc-Symbols-by-font-position-1" href="#Symbols-by-font-position">23.3 Symbols by font position</a></li>
-    <li><a name="toc-Text-symbols-1" href="#Text-symbols">23.4 Text symbols</a></li>
-    <li><a name="toc-Accents-1" href="#Accents">23.5 Accents</a></li>
-    <li><a name="toc-Additional-Latin-letters-1" href="#Additional-Latin-letters">23.6 Additional Latin letters</a></li>
-    <li><a name="toc-_005crule-1" href="#g_t_005crule">23.7 <code>\rule</code></a></li>
-    <li><a name="toc-_005ctoday-1" href="#g_t_005ctoday">23.8 <code>\today</code></a></li>
+    <li><a id="toc-Reserved-characters-1" href="#Reserved-characters">23.1 Reserved characters</a></li>
+    <li><a id="toc-Upper-and-lower-case-1" href="#Upper-and-lower-case">23.2 Upper and lower case</a></li>
+    <li><a id="toc-Symbols-by-font-position-1" href="#Symbols-by-font-position">23.3 Symbols by font position</a></li>
+    <li><a id="toc-Text-symbols-1" href="#Text-symbols">23.4 Text symbols</a></li>
+    <li><a id="toc-Accents-1" href="#Accents">23.5 Accents</a>
+    <ul class="no-bullet">
+      <li><a id="toc-_005caccent-1" href="#g_t_005caccent">23.5.1 <code>\accent</code></a></li>
+    </ul></li>
+    <li><a id="toc-Additional-Latin-letters-1" href="#Additional-Latin-letters">23.6 Additional Latin letters</a></li>
+    <li><a id="toc-inputenc-package-1" href="#inputenc-package">23.7 <code>inputenc</code> package</a></li>
+    <li><a id="toc-_005crule-1" href="#g_t_005crule">23.8 <code>\rule</code></a></li>
+    <li><a id="toc-_005ctoday-1" href="#g_t_005ctoday">23.9 <code>\today</code></a></li>
   </ul></li>
-  <li><a name="toc-Splitting-the-input-1" href="#Splitting-the-input">24 Splitting the input</a>
+  <li><a id="toc-Splitting-the-input-1" href="#Splitting-the-input">24 Splitting the input</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005cendinput-1" href="#g_t_005cendinput">24.1 <code>\endinput</code></a></li>
-    <li><a name="toc-_005cinclude-_0026-_005cincludeonly-1" href="#g_t_005cinclude-_0026-_005cincludeonly">24.2 <code>\include</code> & <code>\includeonly</code></a></li>
-    <li><a name="toc-_005cinput-1" href="#g_t_005cinput">24.3 <code>\input</code></a></li>
+    <li><a id="toc-_005cendinput-1" href="#g_t_005cendinput">24.1 <code>\endinput</code></a></li>
+    <li><a id="toc-_005cinclude-_0026-_005cincludeonly-1" href="#g_t_005cinclude-_0026-_005cincludeonly">24.2 <code>\include</code> & <code>\includeonly</code></a></li>
+    <li><a id="toc-_005cinput-1" href="#g_t_005cinput">24.3 <code>\input</code></a></li>
   </ul></li>
-  <li><a name="toc-Front_002fback-matter-1" href="#Front_002fback-matter">25 Front/back matter</a>
+  <li><a id="toc-Front_002fback-matter-1" href="#Front_002fback-matter">25 Front/back matter</a>
   <ul class="no-bullet">
-    <li><a name="toc-Table-of-contents-etc_002e-1" href="#Table-of-contents-etc_002e">25.1 Table of contents etc.</a>
+    <li><a id="toc-Table-of-contents-etc_002e-1" href="#Table-of-contents-etc_002e">25.1 Table of contents etc.</a>
     <ul class="no-bullet">
-      <li><a name="toc-_005caddcontentsline-1" href="#g_t_005caddcontentsline">25.1.1 <code>\addcontentsline</code></a></li>
-      <li><a name="toc-_005caddtocontents-1" href="#g_t_005caddtocontents">25.1.2 <code>\addtocontents</code></a></li>
-      <li><a name="toc-_005cnofiles-1" href="#g_t_005cnofiles">25.1.3 <code>\nofiles</code></a></li>
+      <li><a id="toc-_005c_0040dottedtocline-1" href="#g_t_005c_0040dottedtocline">25.1.1 <code>\@dottedtocline</code></a></li>
+      <li><a id="toc-_005caddcontentsline-1" href="#g_t_005caddcontentsline">25.1.2 <code>\addcontentsline</code></a></li>
+      <li><a id="toc-_005caddtocontents-1" href="#g_t_005caddtocontents">25.1.3 <code>\addtocontents</code></a></li>
+      <li><a id="toc-_005ccontentsline-1" href="#g_t_005ccontentsline">25.1.4 <code>\contentsline</code></a></li>
+      <li><a id="toc-_005cnofiles-1" href="#g_t_005cnofiles">25.1.5 <code>\nofiles</code></a></li>
+      <li><a id="toc-_005cnumberline-1" href="#g_t_005cnumberline">25.1.6 <code>\numberline</code></a></li>
     </ul></li>
-    <li><a name="toc-Indexes-1" href="#Indexes">25.2 Indexes</a>
+    <li><a id="toc-Indexes-1" href="#Indexes">25.2 Indexes</a>
     <ul class="no-bullet">
-      <li><a name="toc-_005cindex-1" href="#g_t_005cindex">25.2.1 <code>\index</code></a></li>
-      <li><a name="toc-makeindex-1" href="#makeindex">25.2.2 <code>makeindex</code></a></li>
-      <li><a name="toc-_005cprintindex-1" href="#g_t_005cprintindex">25.2.3 <code>\printindex</code></a></li>
+      <li><a id="toc-_005cindex-1" href="#g_t_005cindex">25.2.1 <code>\index</code></a></li>
+      <li><a id="toc-makeindex-1" href="#makeindex">25.2.2 <code>makeindex</code></a></li>
+      <li><a id="toc-_005cprintindex-1" href="#g_t_005cprintindex">25.2.3 <code>\printindex</code></a></li>
     </ul></li>
-    <li><a name="toc-Glossaries-1" href="#Glossaries">25.3 Glossaries</a>
+    <li><a id="toc-Glossaries-1" href="#Glossaries">25.3 Glossaries</a>
     <ul class="no-bullet">
-      <li><a name="toc-_005cnewglossaryentry-1" href="#g_t_005cnewglossaryentry">25.3.1 <code>\newglossaryentry</code></a></li>
-      <li><a name="toc-_005cgls-1" href="#g_t_005cgls">25.3.2 <code>\gls</code></a></li>
+      <li><a id="toc-_005cnewglossaryentry-1" href="#g_t_005cnewglossaryentry">25.3.1 <code>\newglossaryentry</code></a></li>
+      <li><a id="toc-_005cgls-1" href="#g_t_005cgls">25.3.2 <code>\gls</code></a></li>
     </ul></li>
   </ul></li>
-  <li><a name="toc-Letters-1" href="#Letters">26 Letters</a>
+  <li><a id="toc-Letters-1" href="#Letters">26 Letters</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005caddress-1" href="#g_t_005caddress">26.1 <code>\address</code></a></li>
-    <li><a name="toc-_005ccc-1" href="#g_t_005ccc">26.2 <code>\cc</code></a></li>
-    <li><a name="toc-_005cclosing-1" href="#g_t_005cclosing">26.3 <code>\closing</code></a></li>
-    <li><a name="toc-_005cencl-1" href="#g_t_005cencl">26.4 <code>\encl</code></a></li>
-    <li><a name="toc-_005clocation-1" href="#g_t_005clocation">26.5 <code>\location</code></a></li>
-    <li><a name="toc-_005cmakelabels-1" href="#g_t_005cmakelabels">26.6 <code>\makelabels</code></a></li>
-    <li><a name="toc-_005cname-1" href="#g_t_005cname">26.7 <code>\name</code></a></li>
-    <li><a name="toc-_005copening-1" href="#g_t_005copening">26.8 <code>\opening</code></a></li>
-    <li><a name="toc-_005cps-1" href="#g_t_005cps">26.9 <code>\ps</code></a></li>
-    <li><a name="toc-_005csignature-1" href="#g_t_005csignature">26.10 <code>\signature</code></a></li>
-    <li><a name="toc-_005ctelephone-1" href="#g_t_005ctelephone">26.11 <code>\telephone</code></a></li>
+    <li><a id="toc-_005caddress-1" href="#g_t_005caddress">26.1 <code>\address</code></a></li>
+    <li><a id="toc-_005ccc-1" href="#g_t_005ccc">26.2 <code>\cc</code></a></li>
+    <li><a id="toc-_005cclosing-1" href="#g_t_005cclosing">26.3 <code>\closing</code></a></li>
+    <li><a id="toc-_005cencl-1" href="#g_t_005cencl">26.4 <code>\encl</code></a></li>
+    <li><a id="toc-_005clocation-1" href="#g_t_005clocation">26.5 <code>\location</code></a></li>
+    <li><a id="toc-_005cmakelabels-1" href="#g_t_005cmakelabels">26.6 <code>\makelabels</code></a></li>
+    <li><a id="toc-_005cname-1" href="#g_t_005cname">26.7 <code>\name</code></a></li>
+    <li><a id="toc-_005copening-1" href="#g_t_005copening">26.8 <code>\opening</code></a></li>
+    <li><a id="toc-_005cps-1" href="#g_t_005cps">26.9 <code>\ps</code></a></li>
+    <li><a id="toc-_005csignature-1" href="#g_t_005csignature">26.10 <code>\signature</code></a></li>
+    <li><a id="toc-_005ctelephone-1" href="#g_t_005ctelephone">26.11 <code>\telephone</code></a></li>
   </ul></li>
-  <li><a name="toc-Terminal-input_002foutput-1" href="#Terminal-input_002foutput">27 Terminal input/output</a>
+  <li><a id="toc-Input_002foutput-1" href="#Input_002foutput">27 Input/output</a>
   <ul class="no-bullet">
-    <li><a name="toc-_005ctypein-1" href="#g_t_005ctypein">27.1 <code>\typein</code></a></li>
-    <li><a name="toc-_005ctypeout-1" href="#g_t_005ctypeout">27.2 <code>\typeout</code></a></li>
+    <li><a id="toc-_005copenin-_0026-_005copenout-1" href="#g_t_005copenin-_0026-_005copenout">27.1 <code>\openin</code> & <code>\openout</code></a></li>
+    <li><a id="toc-_005cread-1" href="#g_t_005cread">27.2 <code>\read</code></a></li>
+    <li><a id="toc-_005ctypein-1" href="#g_t_005ctypein">27.3 <code>\typein</code></a></li>
+    <li><a id="toc-_005ctypeout-1" href="#g_t_005ctypeout">27.4 <code>\typeout</code></a></li>
+    <li><a id="toc-_005cwrite-1" href="#g_t_005cwrite">27.5 <code>\write</code></a>
+    <ul class="no-bullet">
+      <li><a id="toc-_005cwrite-and-security-1" href="#g_t_005cwrite-and-security">27.5.1 <code>\write</code> and security</a></li>
+      <li><a id="toc-_005cmessage-1" href="#g_t_005cmessage">27.5.2 <code>\message</code></a></li>
+      <li><a id="toc-_005cwlog-1" href="#g_t_005cwlog">27.5.3 <code>\wlog</code></a></li>
+      <li><a id="toc-_005cwrite18-1" href="#g_t_005cwrite18">27.5.4 <code>\write18</code></a></li>
+    </ul></li>
   </ul></li>
-  <li><a name="toc-Command-line-1" href="#Command-line">28 Command line</a>
+  <li><a id="toc-Command-line-interface-1" href="#Command-line-interface">28 Command line interface</a>
   <ul class="no-bullet">
-    <li><a name="toc-Command-line-options-1" href="#Command-line-options">28.1 Command line options</a></li>
-    <li><a name="toc-Command-line-input-1" href="#Command-line-input">28.2 Command line input</a></li>
-    <li><a name="toc-Recovering-from-errors-1" href="#Recovering-from-errors">28.3 Recovering from errors</a></li>
+    <li><a id="toc-Command-line-options-1" href="#Command-line-options">28.1 Command line options</a></li>
+    <li><a id="toc-Command-line-input-1" href="#Command-line-input">28.2 Command line input</a></li>
+    <li><a id="toc-Jobname-1" href="#Jobname">28.3 Jobname</a></li>
+    <li><a id="toc-Recovering-from-errors-1" href="#Recovering-from-errors">28.4 Recovering from errors</a></li>
   </ul></li>
-  <li><a name="toc-Document-templates-1" href="#Document-templates">Appendix A Document templates</a>
+  <li><a id="toc-Document-templates-1" href="#Document-templates">Appendix A Document templates</a>
   <ul class="no-bullet">
-    <li><a name="toc-beamer-template-1" href="#beamer-template">A.1 <code>beamer</code> template</a></li>
-    <li><a name="toc-article-template-1" href="#article-template">A.2 <code>article</code> template</a></li>
-    <li><a name="toc-book-template-1" href="#book-template">A.3 <code>book</code> template</a></li>
-    <li><a name="toc-Larger-book-template-1" href="#Larger-book-template">A.4 Larger <code>book</code> template</a></li>
-    <li><a name="toc-tugboat-template-1" href="#tugboat-template">A.5 <code>tugboat</code> template</a></li>
+    <li><a id="toc-beamer-template-1" href="#beamer-template">A.1 <code>beamer</code> template</a></li>
+    <li><a id="toc-article-template-1" href="#article-template">A.2 <code>article</code> template</a></li>
+    <li><a id="toc-book-template-1" href="#book-template">A.3 <code>book</code> template</a></li>
+    <li><a id="toc-Larger-book-template-1" href="#Larger-book-template">A.4 Larger <code>book</code> template</a></li>
   </ul></li>
-  <li><a name="toc-Index-1" href="#Index">Index</a></li>
+  <li><a id="toc-Index-1" href="#Index" rel="index">Index</a></li>
 </ul>
 </div>
 
@@ -546,151 +601,135 @@
 
 
 
-<a name="Top"></a>
-<div class="header">
+<span id="Top"></span><div class="header">
 <p>
-Next: <a href="#About-this-document" accesskey="n" rel="next">About this document</a>, Up: <a href="http://tug.org/texinfohtml/" accesskey="u" rel="up">(dir)</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#About-this-document" accesskey="n" rel="next">About this document</a>, Up: <a href="https://tug.org/texinfohtml/" accesskey="u" rel="up">(dir)</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<a name="LaTeX2e_003a-An-unofficial-reference-manual"></a>
-<h1 class="top">LaTeX2e: An unofficial reference manual</h1>
+<span id="LaTeX2e_003a-An-unofficial-reference-manual"></span><h1 class="top">LaTeX2e: An unofficial reference manual</h1>
 
 <p>This document is an unofficial reference manual (version of
-October 2018) for LaTeX2e, a document preparation system.
+July 2021) for LaTeX2e, a document preparation system.
 </p>
 <table class="menu" border="0" cellspacing="0">
-<tr><td align="left" valign="top">• <a href="#About-this-document" accesskey="1">About this document</a>:</td><td>  </td><td align="left" valign="top">Bug reporting, etc.
+<tr><td align="left" valign="top">• <a href="#About-this-document" accesskey="1">About this document</a></td><td>  </td><td align="left" valign="top">Bug reporting, etc.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Overview" accesskey="2">Overview</a>:</td><td>  </td><td align="left" valign="top">What is LaTeX?
+<tr><td align="left" valign="top">• <a href="#Overview" accesskey="2">Overview</a></td><td>  </td><td align="left" valign="top">What is LaTeX?
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Document-classes" accesskey="3">Document classes</a>:</td><td>  </td><td align="left" valign="top">Some of the various classes available.
+<tr><td align="left" valign="top">• <a href="#Document-classes" accesskey="3">Document classes</a></td><td>  </td><td align="left" valign="top">Some of the various classes available.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Fonts" accesskey="4">Fonts</a>:</td><td>  </td><td align="left" valign="top">Italic, bold, typewriter, etc.
+<tr><td align="left" valign="top">• <a href="#Fonts" accesskey="4">Fonts</a></td><td>  </td><td align="left" valign="top">Italic, bold, typewriter, etc.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Layout" accesskey="5">Layout</a>:</td><td>  </td><td align="left" valign="top">Controlling the page layout.
+<tr><td align="left" valign="top">• <a href="#Layout" accesskey="5">Layout</a></td><td>  </td><td align="left" valign="top">Controlling the page layout.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Sectioning" accesskey="6">Sectioning</a>:</td><td>  </td><td align="left" valign="top">Parts, Chapters, Sections, etc.
+<tr><td align="left" valign="top">• <a href="#Sectioning" accesskey="6">Sectioning</a></td><td>  </td><td align="left" valign="top">Parts, Chapters, Sections, etc.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Cross-references" accesskey="7">Cross references</a>:</td><td>  </td><td align="left" valign="top">Automatic referencing.
+<tr><td align="left" valign="top">• <a href="#Cross-references" accesskey="7">Cross references</a></td><td>  </td><td align="left" valign="top">Automatic referencing.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Environments" accesskey="8">Environments</a>:</td><td>  </td><td align="left" valign="top">Such as enumerate & itemize.
+<tr><td align="left" valign="top">• <a href="#Environments" accesskey="8">Environments</a></td><td>  </td><td align="left" valign="top">Such as enumerate & itemize.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Line-breaking" accesskey="9">Line breaking</a>:</td><td>  </td><td align="left" valign="top">Influencing line breaks.
+<tr><td align="left" valign="top">• <a href="#Line-breaking" accesskey="9">Line breaking</a></td><td>  </td><td align="left" valign="top">Influencing line breaks.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Page-breaking">Page breaking</a>:</td><td>  </td><td align="left" valign="top">Influencing page breaks.
+<tr><td align="left" valign="top">• <a href="#Page-breaking">Page breaking</a></td><td>  </td><td align="left" valign="top">Influencing page breaks.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Footnotes">Footnotes</a>:</td><td>  </td><td align="left" valign="top">How to produce footnotes.
+<tr><td align="left" valign="top">• <a href="#Footnotes">Footnotes</a></td><td>  </td><td align="left" valign="top">How to produce footnotes.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Definitions">Definitions</a>:</td><td>  </td><td align="left" valign="top">Define your own commands, etc.
+<tr><td align="left" valign="top">• <a href="#Definitions">Definitions</a></td><td>  </td><td align="left" valign="top">Define your own commands, etc.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Counters">Counters</a>:</td><td>  </td><td align="left" valign="top">Internal counters used by LaTeX.
+<tr><td align="left" valign="top">• <a href="#Counters">Counters</a></td><td>  </td><td align="left" valign="top">Internal counters used by LaTeX.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Lengths">Lengths</a>:</td><td>  </td><td align="left" valign="top">The length commands.
+<tr><td align="left" valign="top">• <a href="#Lengths">Lengths</a></td><td>  </td><td align="left" valign="top">The length commands.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Making-paragraphs">Making paragraphs</a>:</td><td>  </td><td align="left" valign="top">Paragraph commands.
+<tr><td align="left" valign="top">• <a href="#Making-paragraphs">Making paragraphs</a></td><td>  </td><td align="left" valign="top">Paragraph commands.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Math-formulas">Math formulas</a>:</td><td>  </td><td align="left" valign="top">How to create mathematical formulas.
+<tr><td align="left" valign="top">• <a href="#Math-formulas">Math formulas</a></td><td>  </td><td align="left" valign="top">How to create mathematical formulas.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Modes">Modes</a>:</td><td>  </td><td align="left" valign="top">Paragraph, Math or LR modes.
+<tr><td align="left" valign="top">• <a href="#Modes">Modes</a></td><td>  </td><td align="left" valign="top">Paragraph, Math or LR modes.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Page-styles">Page styles</a>:</td><td>  </td><td align="left" valign="top">Various styles of page layout.
+<tr><td align="left" valign="top">• <a href="#Page-styles">Page styles</a></td><td>  </td><td align="left" valign="top">Various styles of page layout.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Spaces">Spaces</a>:</td><td>  </td><td align="left" valign="top">Horizontal and vertical space.
+<tr><td align="left" valign="top">• <a href="#Spaces">Spaces</a></td><td>  </td><td align="left" valign="top">Horizontal and vertical space.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Boxes">Boxes</a>:</td><td>  </td><td align="left" valign="top">Making boxes.
+<tr><td align="left" valign="top">• <a href="#Boxes">Boxes</a></td><td>  </td><td align="left" valign="top">Making boxes.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Color">Color</a>:</td><td>  </td><td align="left" valign="top">Defining and using colors.
+<tr><td align="left" valign="top">• <a href="#Color">Color</a></td><td>  </td><td align="left" valign="top">Defining and using colors.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Graphics">Graphics</a>:</td><td>  </td><td align="left" valign="top">Importing graphics from outside LaTeX.
+<tr><td align="left" valign="top">• <a href="#Graphics">Graphics</a></td><td>  </td><td align="left" valign="top">Importing graphics from outside LaTeX.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Special-insertions">Special insertions</a>:</td><td>  </td><td align="left" valign="top">Inserting reserved and special characters.
+<tr><td align="left" valign="top">• <a href="#Special-insertions">Special insertions</a></td><td>  </td><td align="left" valign="top">Inserting reserved and special characters.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Splitting-the-input">Splitting the input</a>:</td><td>  </td><td align="left" valign="top">Dealing with big files by splitting.
+<tr><td align="left" valign="top">• <a href="#Splitting-the-input">Splitting the input</a></td><td>  </td><td align="left" valign="top">Dealing with big files by splitting.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Front_002fback-matter">Front/back matter</a>:</td><td>  </td><td align="left" valign="top">Tables of contents, glossaries, indexes.
+<tr><td align="left" valign="top">• <a href="#Front_002fback-matter">Front/back matter</a></td><td>  </td><td align="left" valign="top">Tables of contents, glossaries, indexes.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Letters">Letters</a>:</td><td>  </td><td align="left" valign="top">The <code>letter</code> class.
+<tr><td align="left" valign="top">• <a href="#Letters">Letters</a></td><td>  </td><td align="left" valign="top">The <code>letter</code> class.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Terminal-input_002foutput">Terminal input/output</a>:</td><td>  </td><td align="left" valign="top">User interaction.
+<tr><td align="left" valign="top">• <a href="#Input_002foutput">Input/output</a></td><td>  </td><td align="left" valign="top">User interaction.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Command-line">Command line</a>:</td><td>  </td><td align="left" valign="top">System-independent command-line behavior.
+<tr><td align="left" valign="top">• <a href="#Command-line-interface">Command line interface</a></td><td>  </td><td align="left" valign="top">Common command-line options.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Document-templates">Document templates</a>:</td><td>  </td><td align="left" valign="top">Starter templates for various document classes.
+<tr><td align="left" valign="top">• <a href="#Document-templates">Document templates</a></td><td>  </td><td align="left" valign="top">Starter templates for various document classes.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Index">Index</a>:</td><td>  </td><td align="left" valign="top">General index.
+<tr><td align="left" valign="top">• <a href="#Index" rel="index">Index</a></td><td>  </td><td align="left" valign="top">General index.
 </td></tr>
 </table>
 
-
 <hr>
-<a name="About-this-document"></a>
-<div class="header">
+<span id="About-this-document"></span><div class="header">
 <p>
 Next: <a href="#Overview" accesskey="n" rel="next">Overview</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Top</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<a name="About-this-document-1"></a>
-<h2 class="chapter">1 About this document</h2>
+<span id="About-this-document-1"></span><h2 class="chapter">1 About this document</h2>
 
-<a name="index-home-page-for-manual"></a>
+<span id="index-home-page-for-manual"></span>
 <p>This is an unofficial reference manual for the LaTeX2e document
 preparation system, which is a macro package for the TeX
 typesetting program (see <a href="#Overview">Overview</a>).
 </p>
-<p>This document’s home page is <a href="https://puszcza.gnu.org.ua/software/latexrefman">https://puszcza.gnu.org.ua/software/latexrefman</a>.  There
-you can get the sources, subscribe to the mailing list or read its
-archives, see other infrastructure, and get the current output in
-various formats.  In particular, the output comes in two web formats.
-Probably the most convenient one, shown at <a href="http://latexref.xyz/">http://latexref.xyz/</a>,
-has pages for each topic and so is good for a quick lookup; see also the
-note there about easy-to-remember links.  The other, shown at
-<a href="http://svn.gnu.org.ua/viewvc/latexrefman/trunk/latex2e.html?view=co">http://svn.gnu.org.ua/viewvc/latexrefman/trunk/latex2e.html?view=co</a>,
-has all the information on single page.
+<p>This document’s home page is <a href="https://latexref.xyz">https://latexref.xyz</a>; it has
+separate web pages for each topic.  Alternatively.
+<a href="https://latexref.xyz/dev/latex2e.html">https://latexref.xyz/dev/latex2e.html</a> has the entire document on
+a single page.  For other output formats, the sources, and plenty more
+information, see <a href="https://latexref.xyz/dev/">https://latexref.xyz/dev/</a>.
 </p>
-<a name="index-LaTeX-vs_002e-LaTeX2e"></a>
+<span id="index-LaTeX-vs_002e-LaTeX2e"></span>
 <p>In this document, we will mostly just use ‘LaTeX’ rather than
 ‘LaTeX2e’, since the previous version of LaTeX (2.09) was
 frozen decades ago.
 </p>
-<a name="index-unofficial-nature-of-this-manual"></a>
-<a name="index-LaTeX-Project-team"></a>
-<a name="index-latexrefman_0040tug_002eorg-email-address"></a>
-<p>LaTeX is currently maintained by a group of volunteers
-(<a href="http://latex-project.org">http://latex-project.org</a>).  The official documentation written by
-the LaTeX project is available from their web site.  This document is
-completely unofficial and has not been reviewed by the LaTeX
-maintainers.  
-<a name="index-bug-reporting"></a>
-<a name="index-reporting-bugs"></a>
+<span id="index-unofficial-nature-of-this-manual"></span>
+<span id="index-LaTeX-Project-team"></span>
+<span id="index-latexrefman_0040tug_002eorg-email-address"></span>
+<p>LaTeX is maintained by a group of volunteers
+(<a href="https://latex-project.org">https://latex-project.org</a>).  The official documentation written
+by the LaTeX project is available from their web site.  The present
+document is completely unofficial and has not been written or reviewed
+by the LaTeX maintainers.
+<span id="index-bug-reporting"></span>
+<span id="index-reporting-bugs"></span>
 Do not send bug reports or anything else about this document to them.
 Instead, please send all comments to <a href="mailto:latexrefman at tug.org">latexrefman at tug.org</a>.
 </p>
-<p>This document is a reference.  There is a vast array of other sources
-of information about LaTeX, at all levels.  Here are a few
-introductions.
+<p>This document is a reference, not a tutorial.  There is a vast array
+of other information available about LaTeX, at all levels.  Here
+are a few introductions.
 </p>
 <dl compact="compact">
-<dt><a href="http://ctan.org/pkg/latex-doc-ptr">http://ctan.org/pkg/latex-doc-ptr</a></dt>
-<dd><a name="index-latex_002ddoc_002dptr-document"></a>
+<dt><a href="https://ctan.org/pkg/latex-doc-ptr">https://ctan.org/pkg/latex-doc-ptr</a></dt>
+<dd><span id="index-latex_002ddoc_002dptr-document"></span>
 <p>Two pages of recommended references to LaTeX documentation.
 </p>
 </dd>
-<dt><a href="http://ctan.org/pkg/first-latex-doc">http://ctan.org/pkg/first-latex-doc</a></dt>
-<dd><a name="index-first_002dlatex_002ddoc-document"></a>
+<dt><a href="https://ctan.org/pkg/first-latex-doc">https://ctan.org/pkg/first-latex-doc</a></dt>
+<dd><span id="index-first_002dlatex_002ddoc-document"></span>
 <p>Writing your first document, with a bit of both text and math.
 </p>
 </dd>
-<dt><a href="http://ctan.org/pkg/usrguide">http://ctan.org/pkg/usrguide</a></dt>
-<dd><a name="index-usrguide-official-documentation"></a>
-<p>The guide for document authors that is maintained as part of LaTeX.
-Many other guides by many other people are also available, independent
-of LaTeX itself; one such is the next item:
+<dt><a href="https://ctan.org/pkg/lshort">https://ctan.org/pkg/lshort</a></dt>
+<dd><span id="index-lshort-document"></span>
+<p>A longer introduction to LaTeX, translated to many languages.
 </p>
 </dd>
-<dt><a href="http://ctan.org/pkg/lshort">http://ctan.org/pkg/lshort</a></dt>
-<dd><a name="index-lshort-document"></a>
-<p>A short introduction to LaTeX, translated to many languages.
-</p>
-</dd>
-<dt><a href="http://tug.org/begin.html">http://tug.org/begin.html</a></dt>
+<dt><a href="https://tug.org/begin.html">https://tug.org/begin.html</a></dt>
 <dd><p>Introduction to the TeX system, including LaTeX, with further
 references.
 </p>
@@ -699,40 +738,42 @@
 
 
 <hr>
-<a name="Overview"></a>
-<div class="header">
+<span id="Overview"></span><div class="header">
 <p>
 Next: <a href="#Document-classes" accesskey="n" rel="next">Document classes</a>, Previous: <a href="#About-this-document" accesskey="p" rel="prev">About this document</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<a name="Overview-of-LaTeX"></a>
-<h2 class="chapter">2 Overview of LaTeX</h2>
+<span id="Overview-of-LaTeX"></span><h2 class="chapter">2 Overview of LaTeX</h2>
 
-<a name="index-overview-of-LaTeX"></a>
-<a name="index-basics-of-LaTeX"></a>
-<a name="index-Knuth_002c-Donald-E_002e"></a>
-<a name="index-Lamport_002c-Leslie"></a>
-<a name="index-LaTeX-overview"></a>
+<span id="index-overview-of-LaTeX"></span>
+<span id="index-basics-of-LaTeX"></span>
+<span id="index-Knuth_002c-Donald-E_002e"></span>
+<span id="index-Lamport_002c-Leslie"></span>
+<span id="index-LaTeX-overview"></span>
 
 <p>LaTeX is a system for typesetting documents.  It was originally
-created by Leslie Lamport and is now maintained by a group of volunteers
-(<a href="http://latex-project.org">http://latex-project.org</a>).  It is widely used, particularly for
-complex and technical documents, such as those involving mathematics.
+created by Leslie Lamport in 1984, but has been maintained by a group
+of volunteers for many years now (<a href="https://latex-project.org">https://latex-project.org</a>).
+It is widely used, particularly but not exclusively for mathematical
+and technical documents.
 </p>
-<a name="index-macro-package_002c-LaTeX-as"></a>
-<p>A LaTeX user writes an input file containing text along with
-interspersed commands, for instance commands describing how the text
-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 <em>macro package</em> for the
-TeX engine).  The user produces the output document by giving that
-input file to the TeX engine.
+<span id="index-UTF_002d8_002c-default-LaTeX-input-encoding"></span>
+<p>A LaTeX user writes an input file containing text to be typeset
+along with interspersed commands. The default encoding for the text is
+UTF-8 (as of 2018). The commands specify, for example, how the text
+should be formatted. 
 </p>
+<p>LaTeX is implemented as a set of related so-called “macros” which
+use Donald E. Knuth’s TeX typesetting program or one of its
+derivatives, collectively known as “engines”. Thus, the user
+produces output, typically PDF, by giving the input file to a TeX
+engine. (The following sections describe all this in more detail.)
+</p>
 <p>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
+the input document is marked up, that is, to mean the set of commands
 available to a LaTeX user.
 </p>
-<a name="index-Lamport-TeX"></a>
-<a name="index-pronunciation"></a>
+<span id="index-Lamport-TeX"></span>
+<span id="index-pronunciation"></span>
 <p>The name LaTeX is short for “Lamport TeX”.  It is pronounced
 LAH-teck or LAY-teck, or sometimes LAY-tecks.  Inside a document,
 produce the logo with <code>\LaTeX</code>.  Where use of the logo is not
@@ -739,33 +780,31 @@
 sensible, such as in plain text, write it as ‘<samp>LaTeX</samp>’.
 </p>
 <table class="menu" border="0" cellspacing="0">
-<tr><td align="left" valign="top">• <a href="#Starting-and-ending" accesskey="1">Starting and ending</a>:</td><td>  </td><td align="left" valign="top">The standard beginning and end of a document.
+<tr><td align="left" valign="top">• <a href="#Starting-and-ending" accesskey="1">Starting and ending</a></td><td>  </td><td align="left" valign="top">The standard beginning and end of a document.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Output-files" accesskey="2">Output files</a>:</td><td>  </td><td align="left" valign="top">Files produced.
+<tr><td align="left" valign="top">• <a href="#Output-files" accesskey="2">Output files</a></td><td>  </td><td align="left" valign="top">Files produced.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#TeX-engines" accesskey="3">TeX engines</a>:</td><td>  </td><td align="left" valign="top">Programs that can compile TeX and  LaTeX.
+<tr><td align="left" valign="top">• <a href="#TeX-engines" accesskey="3">TeX engines</a></td><td>  </td><td align="left" valign="top">Programs that can compile TeX and LaTeX.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#LaTeX-command-syntax" accesskey="4">LaTeX command syntax</a>:</td><td>  </td><td align="left" valign="top">General syntax of LaTeX commands.
+<tr><td align="left" valign="top">• <a href="#LaTeX-command-syntax" accesskey="4">LaTeX command syntax</a></td><td>  </td><td align="left" valign="top">General syntax of LaTeX commands.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Environment" accesskey="5">Environment</a>:</td><td>  </td><td align="left" valign="top">Area of the source giving distinct behavior.
+<tr><td align="left" valign="top">• <a href="#Environment" accesskey="5">Environment</a></td><td>  </td><td align="left" valign="top">An area of the source with distinct behavior.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#CTAN" accesskey="6">CTAN</a>:</td><td>  </td><td align="left" valign="top">Our repository.
+<tr><td align="left" valign="top">• <a href="#CTAN" accesskey="6">CTAN</a></td><td>  </td><td align="left" valign="top">Our repository.
 </td></tr>
 </table>
 
 
 <hr>
-<a name="Starting-and-ending"></a>
-<div class="header">
+<span id="Starting-and-ending"></span><div class="header">
 <p>
 Next: <a href="#Output-files" accesskey="n" rel="next">Output files</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<a name="Starting-and-ending-1"></a>
-<h3 class="section">2.1 Starting and ending</h3>
+<span id="Starting-and-ending-1"></span><h3 class="section">2.1 Starting and ending</h3>
 
-<a name="Starting-_0026-ending"></a><a name="index-starting-and-ending"></a>
-<a name="index-ending-and-starting"></a>
-<a name="index-hello_002c-world"></a>
+<span id="Starting-_0026-ending"></span><span id="index-starting-and-ending"></span>
+<span id="index-ending-and-starting"></span>
+<span id="index-hello_002c-world"></span>
 
 <p>LaTeX files have a simple global structure, with a standard beginning
 and ending.  This is a small example.
@@ -780,19 +819,19 @@
 <p>Every LaTeX document has a <code>\begin{document}</code> line and an
 <code>\end{document}</code> line.
 </p>
-<a name="index-document-class_002c-defined"></a>
+<span id="index-document-class_002c-defined"></span>
 <p>Here, the ‘<samp>article</samp>’ is the <em>document class</em>.  It is implemented
 in a file <samp>article.cls</samp>.  You can use any document class on your
 system.  A few document classes are defined by LaTeX itself, and vast
 array of others are widely available.  See <a href="#Document-classes">Document classes</a>.
 </p>
-<a name="index-preamble_002c-defined"></a>
+<span id="index-preamble_002c-defined"></span>
 <p>You can include other LaTeX commands between the
 <code>\documentclass</code> and the <code>\begin{document}</code> commands.
 This area is called the <em>preamble</em>.
 </p>
 <p>The <code>\begin{document}</code>, <code>\end{document}</code> pair defines an
-<a name="index-environment"></a>
+<span id="index-environment"></span>
 <em>environment</em>; the ‘<samp>document</samp>’ environment (and no others) is
 required in all LaTeX documents (see <a href="#document">document</a>).  LaTeX make
 available to you many environments that are documented here
@@ -804,13 +843,11 @@
 </p>
 
 <hr>
-<a name="Output-files"></a>
-<div class="header">
+<span id="Output-files"></span><div class="header">
 <p>
 Next: <a href="#TeX-engines" accesskey="n" rel="next">TeX engines</a>, Previous: <a href="#Starting-and-ending" accesskey="p" rel="prev">Starting and ending</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<a name="Output-files-1"></a>
-<h3 class="section">2.2 Output files</h3>
+<span id="Output-files-1"></span><h3 class="section">2.2 Output files</h3>
 
 <p>LaTeX produces a main output file and at least two auxiliary files.
 The main output file’s name ends in either <samp>.dvi</samp> or <samp>.pdf</samp>.
@@ -817,13 +854,13 @@
 </p>
 <dl compact="compact">
 <dt><code>.dvi</code></dt>
-<dd><a name="index-_002edvi-file"></a>
-<a name="index-latex-command"></a>
-<a name="index-xdvi-command"></a>
-<a name="index-dvips-command"></a>
-<a name="index-dvipdfmx-command"></a>
-<a name="index-dvitype-command"></a>
-<a name="output-files-dvi"></a><p>If LaTeX is invoked with the system command <code>latex</code> then it
+<dd><span id="index-_002edvi-file"></span>
+<span id="index-latex-command"></span>
+<span id="index-xdvi-command"></span>
+<span id="index-dvips-command"></span>
+<span id="index-dvipdfmx-command"></span>
+<span id="index-dvitype-command"></span>
+<span id="output-files-dvi"></span><p>If LaTeX is invoked with the system command <code>latex</code> then it
 produces a DeVice Independent file, with extension <samp>.dvi</samp>.  You
 can view this file with a command such as <code>xdvi</code>, or convert
 it to a PostScript <code>.ps</code> file with <code>dvips</code> or to a
@@ -830,14 +867,14 @@
 Portable Document Format <code>.pdf</code> file with <code>dvipdfmx</code>.
 The contents of the file can be dumped in human-readable form with
 <code>dvitype</code>.  A vast array of other DVI utility programs are
-available (<a href="http://mirror.ctan.org/dviware">http://mirror.ctan.org/dviware</a>).
+available (<a href="https://mirror.ctan.org/dviware">https://mirror.ctan.org/dviware</a>).
 </p>
 </dd>
 <dt><code>.pdf</code></dt>
-<dd><a name="index-_002epdf-file"></a>
-<a name="index-pdfTeX"></a>
-<a name="index-pdflatex-command"></a>
-<a name="output-files-pdf"></a><p>If LaTeX is invoked via the system command <code>pdflatex</code>,
+<dd><span id="index-_002epdf-file"></span>
+<span id="index-pdfTeX"></span>
+<span id="index-pdflatex-command"></span>
+<span id="output-files-pdf"></span><p>If LaTeX is invoked via the system command <code>pdflatex</code>,
 among other commands (see <a href="#TeX-engines">TeX engines</a>), then the main output is
 a Portable Document Format (PDF) file.  Typically this is a
 self-contained file, with all fonts and images included.
@@ -845,25 +882,25 @@
 </dd>
 </dl>
 
-<p>LaTeX also produces at least two additional files.
+<p>LaTeX always produces at least two additional files.
 </p>
 <dl compact="compact">
 <dt><code>.log</code></dt>
-<dd><a name="index-transcript-file"></a>
-<a name="index-log-file"></a>
-<a name="index-_002elog-file"></a>
-<a name="output-files-log"></a><p>This transcript file contains summary information such as a list of
+<dd><span id="index-transcript-file"></span>
+<span id="index-log-file"></span>
+<span id="index-_002elog-file"></span>
+<span id="output-files-log"></span><p>This transcript file contains summary information such as a list of
 loaded packages.  It also includes diagnostic messages and perhaps
 additional information for any errors.
 </p>
 </dd>
 <dt><code>.aux</code></dt>
-<dd><a name="index-auxiliary-file"></a>
-<a name="index-_002eaux-file"></a>
-<a name="index-cross-references_002c-resolving"></a>
-<a name="index-forward-references_002c-resolving"></a>
-<a name="index-references_002c-resolving-forward"></a>
-<a name="output-files-aux"></a><p>Auxiliary information is used by LaTeX for things such as
+<dd><span id="index-auxiliary-file"></span>
+<span id="index-_002eaux-file"></span>
+<span id="index-cross-references_002c-resolving"></span>
+<span id="index-forward-references_002c-resolving"></span>
+<span id="index-references_002c-resolving-forward"></span>
+<span id="output-files-aux"></span><p>Auxiliary information is used by LaTeX for things such as
 cross references.  For example, the first time that LaTeX finds a
 forward reference—a cross reference to something that has not yet
 appeared in the source—it will appear in the output as a doubled
@@ -877,13 +914,13 @@
 </dd>
 </dl>
 
-<a name="index-_002elof-file"></a>
-<a name="index-list-of-figures-file"></a>
-<a name="index-_002elot-file"></a>
-<a name="index-list-of-tables-file"></a>
-<a name="index-_002etoc-file"></a>
-<a name="index-table-of-contents-file"></a>
-<a name="index-contents-file"></a>
+<span id="index-_002elof-file"></span>
+<span id="index-list-of-figures-file"></span>
+<span id="index-_002elot-file"></span>
+<span id="index-list-of-tables-file"></span>
+<span id="index-_002etoc-file"></span>
+<span id="index-table-of-contents-file"></span>
+<span id="index-contents-file"></span>
 <p>LaTeX may produce yet more files, characterized by the filename
 ending.  These include a <code>.lof</code> file that is used to make a list of
 figures, a <code>.lot</code> file used to make a list of tables, and a
@@ -892,39 +929,49 @@
 </p>
 
 <hr>
-<a name="TeX-engines"></a>
-<div class="header">
+<span id="TeX-engines"></span><div class="header">
 <p>
 Next: <a href="#LaTeX-command-syntax" accesskey="n" rel="next">LaTeX command syntax</a>, Previous: <a href="#Output-files" accesskey="p" rel="prev">Output files</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<a name="TeX-engines-1"></a>
-<h3 class="section">2.3 TeX engines</h3>
+<span id="TeX-engines-1"></span><h3 class="section">2.3 TeX engines</h3>
 
-<a name="index-engines_002c-TeX"></a>
-<a name="index-implementations-of-TeX"></a>
-<a name="index-UTF_002d8"></a>
-<a name="index-Unicode-input_002c-native"></a>
-<a name="index-TrueType-fonts"></a>
-<a name="index-OpenType-fonts"></a>
+<span id="index-engines_002c-TeX"></span>
+<span id="index-implementations-of-TeX"></span>
+<span id="index-UTF_002d8_002c-engine-support-for"></span>
+<span id="index-Unicode-input_002c-native"></span>
+<span id="index-TrueType-fonts"></span>
+<span id="index-OpenType-fonts"></span>
 
-<p>LaTeX is defined to be a set of commands that are run by a TeX
-implementation (see <a href="#Overview">Overview</a>).  This section gives a terse
-overview of the main programs (see also <a href="#Command-line">Command line</a>).
+<span id="index-TeX-format-_0028_002efmt_0029-files"></span>
+<span id="index-LaTeX-format-_0028_002efmt_0029-files"></span>
+<span id="index-format-files_002c-TeX"></span>
+<span id="index-_002efmt-file"></span>
+<p>LaTeX is a large set of commands that is executed by a TeX
+program (see <a href="#Overview">Overview</a>). Such a set of commands is called a
+<em>format</em>, and is embodied in a binary <code>.fmt</code> file, which can
+be read much more quickly than the corresponding TeX source.
 </p>
+<p>This section gives a terse overview of the TeX programs that are
+commonly available (see also <a href="#Command-line-interface">Command line interface</a>).
+</p>
 <dl compact="compact">
-<dt><code>latex</code></dt>
-<dt><code>pdflatex</code></dt>
-<dd><a name="index-pdfTeX-engine"></a>
-<a name="index-etex-command"></a>
-<a name="index-e_002dTeX"></a>
-<a name="tex-engines-latex"></a><p>In TeX Live (<a href="http://tug.org/texlive">http://tug.org/texlive</a>), if LaTeX is invoked
+<dt><code>latex</code>
+<span id="index-latex"></span>
+</dt>
+<dt><code>pdflatex</code>
+<span id="index-pdflatex"></span>
+</dt>
+<dd><span id="index-etex-command"></span>
+<span id="index-pdfTeX-engine"></span>
+<span id="index-e_002dTeX"></span>
+<span id="tex-engines-latex"></span><p>In TeX Live (<a href="https://tug.org/texlive">https://tug.org/texlive</a>), if LaTeX is invoked
 via either the system command <code>latex</code> or <code>pdflatex</code>,
-then the pdfTeX engine is run (<a href="http://ctan.org/pkg/pdftex">http://ctan.org/pkg/pdftex</a>).
+then the pdfTeX engine is run (<a href="https://ctan.org/pkg/pdftex">https://ctan.org/pkg/pdftex</a>).
 When invoked as <code>latex</code>, the main output is a <samp>.dvi</samp>
 file; as <code>pdflatex</code>, the main output is a <samp>.pdf</samp> file.
 </p>
 <p>pdfTeX incorporates the e-TeX extensions to Knuth’s original
-program (<a href="http://ctan.org/pkg/etex">http://ctan.org/pkg/etex</a>), including additional
+program (<a href="https://ctan.org/pkg/etex">https://ctan.org/pkg/etex</a>), 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 system
 command <code>etex</code>, but this is plain TeX (and produces
@@ -935,26 +982,27 @@
 assumed to be available in LaTeX.
 </p>
 </dd>
-<dt><code>lualatex</code></dt>
-<dd><a name="index-lualatex-command"></a>
-<a name="index-LuaTeX"></a>
-<a name="tex-engines-lualatex"></a><p>If LaTeX is invoked via the system command <code>lualatex</code>, the
-LuaTeX engine is run (<a href="http://ctan.org/pkg/luatex">http://ctan.org/pkg/luatex</a>).  This
+<dt><code>lualatex</code>
+<span id="index-lualatex"></span>
+</dt>
+<dd><span id="index-LuaTeX"></span>
+<span id="tex-engines-lualatex"></span><p>If LaTeX is invoked via the system command <code>lualatex</code>, the
+LuaTeX engine is run (<a href="https://ctan.org/pkg/luatex">https://ctan.org/pkg/luatex</a>).  This
 program allows code written in the scripting language Lua
 (<a href="http://luatex.org">http://luatex.org</a>) to interact with TeX’s typesetting.
 LuaTeX handles UTF-8 Unicode input natively, can handle OpenType
 and TrueType fonts, and produces a <samp>.pdf</samp> file by default.
-There is also <code>dvilualatex</code> to produce a <samp>.dvi</samp> file,
-but this is rarely used.
+There is also <code>dvilualatex</code> to produce a <samp>.dvi</samp> file.
 </p>
 </dd>
-<dt><code>xelatex</code></dt>
-<dd><a name="index-xelatex-command"></a>
-<a name="index-XeTeX"></a>
-<a name="index-_002exdv-file"></a>
-<a name="index-xdvipdfmx"></a>
-<a name="tex-engines-xelatex"></a><p>If LaTeX is invoked with the system command <code>xelatex</code>, the
-XeTeX engine is run (<a href="http://tug.org/xetex">http://tug.org/xetex</a>).  Like LuaTeX,
+<dt><code>xelatex</code>
+<span id="index-xelatex"></span>
+</dt>
+<dd><span id="index-XeTeX"></span>
+<span id="index-_002exdv-file"></span>
+<span id="index-xdvipdfmx"></span>
+<span id="tex-engines-xelatex"></span><p>If LaTeX is invoked with the system command <code>xelatex</code>, the
+XeTeX engine is run (<a href="https://tug.org/xetex">https://tug.org/xetex</a>).  Like LuaTeX,
 XeTeX natively supports UTF-8 Unicode and TrueType and OpenType
 fonts, though the implementation is completely different, mainly using
 external libraries instead of internal code.  XeTeX produces a
@@ -966,26 +1014,78 @@
 useful for debugging.
 </p>
 </dd>
+<dt><code>platex</code>
+<span id="index-platex"></span>
+</dt>
+<dt><code>uplatex</code>
+<span id="index-uplatex"></span>
+</dt>
+<dd><p>These commands provide significant additional support for Japanese and
+other languages; the <code>u</code> variant supports Unicode.  See
+<a href="https://ctan.org/pkg/ptex">https://ctan.org/pkg/ptex</a> and <a href="https://ctan.org/pkg/uptex">https://ctan.org/pkg/uptex</a>.
+</p></dd>
 </dl>
 
-<p>Other variants of LaTeX and TeX exist, e.g., to provide
-additional support for Japanese and other languages ([u]pTeX,
-<a href="http://ctan.org/pkg/ptex">http://ctan.org/pkg/ptex</a>, <a href="http://ctan.org/pkg/uptex">http://ctan.org/pkg/uptex</a>).
+<p>As of 2019, there is a companion <code>-dev</code> command and format for
+all of the above:
 </p>
+<dl compact="compact">
+<dt><code>dvilualatex-dev</code>
+<span id="index-dvilualatex_002ddev"></span>
+</dt>
+<dt><code>latex-dev</code>
+<span id="index-latex_002ddev"></span>
+</dt>
+<dt><code>lualatex-dev</code>
+<span id="index-lualatex_002ddev"></span>
+</dt>
+<dt><code>pdflatex-dev</code>
+<span id="index-pdflatex_002ddev"></span>
+</dt>
+<dt><code>platex-dev</code>
+<span id="index-platex_002ddev"></span>
+</dt>
+<dt><code>uplatex-dev</code>
+<span id="index-uplatex_002ddev"></span>
+</dt>
+<dt><code>xelatex-dev</code>
+<span id="index-xelatex_002ddev"></span>
+</dt>
+<dd><span id="index-release-candidates"></span>
+<span id="index-prerelease-testing"></span>
+<p>These are candidates for an upcoming LaTeX release. The main
+purpose is to find and address compatibility problems before an
+official release.
+</p>
+<p>These <code>-dev</code> formats make it easy for anyone to help test
+documents and code: you can run, say, <code>pdflatex-dev</code> instead of
+<code>pdflatex</code>, without changing anything else in your environment.
+Indeed, it is easiest and most helpful to always run the <code>-dev</code>
+versions instead of bothering to switch back and forth. During quiet
+times after a release, the commands will be equivalent.
+</p>
+<p>These are not daily snapshots or untested development code. They
+undergo the same extensive regression testing by the LaTeX team
+before being released.
+</p>
+<p>For more information, see “The LaTeX release workflow and the
+LaTeX <code>dev</code> formats” by Frank Mittelbach, <cite>TUGboat</cite> 40:2,
+<a href="https://tug.org/TUGboat/tb40-2/tb125mitt-dev.pdf">https://tug.org/TUGboat/tb40-2/tb125mitt-dev.pdf</a>.
+</p>
+</dd>
+</dl>
 
 <hr>
-<a name="LaTeX-command-syntax"></a>
-<div class="header">
+<span id="LaTeX-command-syntax"></span><div class="header">
 <p>
 Next: <a href="#Environment" accesskey="n" rel="next">Environment</a>, Previous: <a href="#TeX-engines" accesskey="p" rel="prev">TeX engines</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<a name="LaTeX-command-syntax-1"></a>
-<h3 class="section">2.4 LaTeX command syntax</h3>

@@ Diff output truncated at 1234567 characters. @@


More information about the tex-live-commits mailing list.